Good morning all,

I will attempt to restart my thinking from initial principles regarding my 
proposed "Bitcoin Classified Ads Network".

Nodes behave this way:

* Nodes in this network gossip advertisements.
* These advertisements refer to a UTXO that must be unspent at the chain tip 
considered by each node, else they would be rejected.
* The referred UTXO must contain a commitment to the text of the advertisement, 
else the advertisement is rejected.
* Nodes have a maximum limit on the total size of all advertisements they 
retain and propagate to new nodes, or gossip to their peers.
  This is a deliberate design decision.
* If nodes exceed the above limit, they will sort advertisements according to a 
value-rate, the value of the UTXO divided by the storage size of the 
advertisement, and prune advertisements with low value-rate until they are 
within the limit again.
* Once the backing UTXO is spent, the advertisement is removed by nodes that 
follow that chaintip.
* As the name ***Classified Ads*** suggests, each advertisement also indicates 
a "class" in which they belong to.

Then, from the above, we derive how a seller might behave.

* Sellers will attempt to put the minimum possible value into a UTXO committing 
to an advertisement, to reduce the opportunity cost of using the value 
elsewhere.
* Thus the rent of the advertisement in this case is paid to joinmarket makers 
and LN forwarding nodes, as the value used in a UTXO backing an advertisement 
is not useable in joinmarket/LN.
* Sellers remain in full control of their advertising UTXO, and can spend it at 
any time.
* Sellers may spend part of the UTXO and put the remaining funds into a change 
address that is a new advertising UTXO, and re-transmit the advertisement, this 
time pointing to the new change UTXO.
* However, if the remaining change becomes too low, then its value-rate may 
drop below the lowest value-rate that BCAN nodes will retain in their 
(deliberately limited) storage, thus also deleting their advertisement from the 
BCAN.
* Presumably, the reason for advertising at all, is that the seller considers 
the cost of advertising to be less than the expected gain of actually selling 
their product.
* Thus, even if the seller has the ability to spend the UTXO at any time, they 
run the risk of spending too much and thus removing their advertisement from 
the BCAN, and losing the expected gain of having the advertisement exist on the 
BCAN.
* A utility-maximizing seller would therefore not spend a minimal-value UTXO 
backing the advertisement until it has gained the advantage of actually selling 
the product, even if it has the option to do so: it is a forced move.
* The cost of keeping the minimal-value UTXO unspent is the opportunity cost in 
that the value may have been used in joinmarket or LN instead.
* The minimum value will largely be dependent on how much the BCAN is used; 
more sellers advertising over BCAN will increase the minimum value.
* If the minimum value that is viable to keep its advertisement alive goes 
higher, then the opportunity cost of the seller using the same value elsewhere 
might exceed the expected gain from selling the product.
  However, this is expected of *any* advertising scheme: if the gains from 
selling is too small to justify the advertisement price, advertising does not 
happen; this is expected utility-maximizing behavior.
* If competitors of the seller exist and the BCAN node storage is already 
filled, competitors can increase the minimum value of a UTXO that can keep an 
advertisement alive on BCAN by simply adding more of their advertisements to 
BCAN.
* Thus we expect that, once the BCAN node storage is at or near the maximum 
value, the minimum value of a UTXO that can back an advertisement will approach 
the expected gain from selling the product.

Thus the system of simply committing UTXOs to particular advertisement texts 
seems sufficient to extract value from a seller wishing to advertise.
The purpose of this extraction of value is to ensure that spam does not 
overload the BCAN.

Let us now consider some kind of specialization, where a HODLer specializes in 
owning UTXOs, while an advertiser specializes in trading products that need 
advertising of some kind.

* We assume that the specialization means that the HODLer cannot feasibly make 
and sell products on its own, while the advertiser cannot own and control UTXOs 
of the minimum value needed to keep their advertisement alive on the BCAN.
* We assume that the specialization means that the advertiser can make and sell 
products for cheaper than the HODLer can, while the HODLer can own and control 
(and secure) UTXOs of the minimum value needed for advertisements to be kept 
alive, for cheaper than the advertiser can.

Then:

* A HODLer may offer to provide a UTXO locked by a 2-of-2 with a commitment to 
an advertisement of the advertiser's choosing, in exchange for rent of the 
value, plus an unbreakable promise to return the rented UTXO value back to the 
HODLer (represented by a `nLockTime` pre-signed transaction that returns the 
2-of-2 back to the HODLer control).
* The HODLer is effectively lending the UTXO out to the advertiser, for the 
time frame agreed upon by the advertiser.
* The rent at which the HODLer lends out the UTXO must be between the 
opportunity cost of instead securely utilizing the UTXO in LN or joinmarket, 
and the expected gain the advertiser expects from having its product advertised.
  * The HODLer is assumed to have the ability to secure the UTXO and retain all 
data it needs to recover the UTXO; this is part of the assumption that the 
HODLer specializes in such.
  * The advertiser is assumed to have positive gains from creating, 
advertising, and selling its product; this is part of the assumption that the 
advertiser specializes in such.
* The HODLer and advertiser can agree to refund part of the rent, if the 
advertiser signs a transaction that immediately returns control of the value to 
the HODLer, before the agreed `nLockTime`.
* The above constructions can be done in current Bitcoin.
* However, the same constructions could be done with a covenant as proposed by 
Tamas, possibly with reduced communication/coordination costs between the 
advertiser and HODLer.

Now, there remains the question as to whether users will actually patronize the 
BCAN instead of existing advertising systems.

* We assume that privacy is valuable to users.
* We assume that users of BCAN will run BCAN nodes.
  This leaks them as users of BCAN, a small loss of privacy.

Then:

* Users can look for advertisements of specific classes by simply querying 
their own BCAN node.
  This does not leak privacy ata all as long as the communication channel of 
the user with their own BCAN node is private.
  * Compare this to alternatives, which involve some entity observing the 
behavior of users and thus invading their privacy.
* Advertisers that misclassify their advertisements will be unable to reach 
their target audience.
* Utility-maximizing advertisers will correctly indicate the class of their 
advertisements, as otherwise they would be paying the advertising cost without 
gaining the benefit of the advertisement.


Regards,
ZmnSCPxj
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to