Subject: Re: [bitcoin-dev] Inquiry: Transaction Tiering

From: Martin Stolze <[email-masked]>
Date: Mon, 27 Mar 2017 22:11:38 +0100

> [...] we don't need to implement any kind of special bloated transaction that is only mine-able by some explicit set of miners...  No fork or compatibility problems are necessary, can be completely implemented as an added feature.

Yes, absolutely. It would still be helpful if it is somewhat
standardized on the Client level.

> Re: "Miners": I don't really like calling them "transaction processors" because in bitcoin, every synchronizing node that verifies signatures is a transaction processor.

I agree and I really appreciate the explanation! Transaction Processor
is not optimal, I brought up BSA: Block Space Authority before to
slice the pie in terms of it legitimate power structure instead of its
functionality. I maintain that this is better for higher level
discourse. Maybe something like "Consensus Space Sovereign" would be
more suitable.

> What sets them apart from full relay nodes is they create "blocks", which are "ledger change candidates" that included transactions and proof-of-work (PoW: deterministic diffusion puzzle solutions).

Functionally, a node can moderate the network in the following way:
1. Relay transactions (mempool) and the global memory (blockchain)
2. Construct block headers (PoW: deterministic diffusion puzzle
solutions) and write to the global memory (create "blocks", which are
"ledger change candidates")
3. Read, verify and accept changes to the global memory

> Given the above definition of a "block", I would be happy calling them "Block Producers"... which does not imply that they do all of the necessary "transaction processing": that all users should be fine with running Electrum wallets or even SPV clients.  They produce blocks, but its still up to other users in the network to do "transaction processing": decide for themselves if they want to accept particular blocks.

"Block Generator" (ala Satoshi) may be better but let's look at the
power structure analog to the functionality:
1. Authority to propose a change
2. Authority to approve a change
3. Authority to reject a change

This can easily be understood in current political terms. In Spain a:
1. Citizen can propose to engage in a business (voice)
2. (Special) Citizen (the King) can disapprove of the business (sovereign)
3. Citizen can leave Spain (exit)

Likewise, citizens can engage with the sovereign in order to change
some regulation, say average transaction tax. The question is simply
what legitimate authority a node has. We can map that quite neatly
onto the terminology of 'Politics'.

That does also away with naive 51% attack scenarios and the like. They
are akin to aliens invading earth. Surely it is not impossible that
aliens invade and in Bitcoin land, it is currently conceivable, but
most conflicts are not brought about by a single devilish aggressor
but a special interest group that wants to concentrate benefits and
diffuse costs.
- Transaction Tiering could be a great basis for decentralized negotiations.

Regards
Martin

On Sat, Mar 25, 2017 at 10:30 PM, praxeology_guy
<[email-masked]> wrote:
> Martin:
>
> Re: Miners not relaying unconfirmed txs...  I was saying that this was a
> good thing from your perspective in wanting to give users the choice on
> which miners would get to confirm the tx.  So then like we don't need to
> implement any kind of special bloated transaction that is only mine-able by
> some explicit set of miners...  No fork or compatibility problems are
> necessary, can be completely implemented as an added feature.
>
> Re: "Miners": I don't really like calling them "transaction processors"
> because in bitcoin, every synchronizing node that verifies signatures is a
> transaction processor.  What sets them apart from full relay nodes is they
> create "blocks", which are "ledger change candidates" that included
> transactions and proof-of-work (PoW: deterministic diffusion puzzle
> solutions).  They help create confidence that transactions in blocks will
> never by double spent by requiring that double spending would need lots of
> economic resources for someone else to re-perform the PoW.
>
> Given the above definition of a "block", I would be happy calling them
> "Block Producers"... which does not imply that they do all of the necessary
> "transaction processing": that all users should be fine with running
> Electrum wallets or even SPV clients.  They produce blocks, but its still up
> to other users in the network to do "transaction processing": decide for
> themselves if they want to accept particular blocks.
>
> Cheers,
> Praxeology Guy
>
> -------- Original Message --------
> Subject: Re: [bitcoin-dev] Inquiry: Transaction Tiering
> Local Time: March 25, 2017 12:15 PM
> UTC Time: March 25, 2017 5:15 PM
> From: [email-masked]
> To: praxeology_guy <[email-masked]>
> [email-masked]
>
> Thanks, those are valid concerns.
>
>> Potentially miners could create their own private communication
>> channel/listening port for submitting transactions that they would not relay
>> to other miners/the public node relay network.
> That is the idea. Transaction Processors could source transactions
> from the public mempool as well their proprietary mempool(s).
>
>> Miners would be incentivized to not relay higher fee transactions, because
>> they would want to keep them to themselves for higher profits.
> Not so, a user may want to incentivise a specific Transaction
> Processor or many. A user can detect this behavior and withdraw his
> future business if he notices that his transaction is not included in
> a block despite there being transactions with lower fees included.
> Remember, the transaction can be advertised to different mempools and
> a Transaction Processor could lose this business to a competitor who
> processes the next block if he holds it back.
>
> Best Regards
> Martin
>
> PS: It seems not too late to get rid of misleading terms like "miner".
> Block rewards (infrastructure subsidies) will be neglectable for
> future generations and the analogy is exceedingly poor.
>
> On Sat, Mar 25, 2017 at 4:42 AM, praxeology_guy
> <[email-masked]> wrote:
>> Potentially miners could create their own private communication
>> channel/listening port for submitting transactions that they would not
>> relay
>> to other miners/the public node relay network. Users could then chose who
>> they want to relay to. Miners would be incentivized to not relay higher
>> fee
>> transactions, because they would want to keep them to themselves for
>> higher
>> profits.
>>
>> Cheers,
>> Praxeology Guy
>>
>>
>> -------- Original Message --------
>> Subject: Re: [bitcoin-dev] Inquiry: Transaction Tiering
>> Local Time: March 22, 2017 12:48 PM
>> UTC Time: March 22, 2017 5:48 PM
>> From: [email-masked]
>> To: [email-masked]
>>
>> Hi Tim,
>> After writing this I figured that it was probably not evident at first
>> sight as the concept may be quite novel. The physical location of the
>> "miner" is indeed irrelevant, I am referring to the digital location.
>> Bitcoins blockchain is a digital location or better digital "space".
>> As far as I am concerned the authority lies with whoever governs this
>> particular block space. A "miner" can, or can not, include my
>> transaction.
>>
>> To make this more understandable:
>>
>> Abu Bakr al-Baghdadi can extend his caliphate into Bitcoins block
>> space and rule sovereign(!) over a given block. If he processes my
>> transaction my fee goes directly into the coffers of his organization.
>> The same goes for the Queen of England or the Emperor of China. My
>> interest is not necessarily aligned with each specific authority, yet
>> as you point out, I can only not use Bitcoin.
>> Alternatively, however, I can very well sign my transaction and send
>> it to an authority of my choosing to be included into the ledger, say
>> BitFurry. - This is what I describe in option 1.
>>
>> In order to protect my interest I do need to choose, maybe not today,
>> but eventually.
>>
>> I also think that people do care who processes transactions and a lot
>> of bickering could be spared if we could choose.
>>
>> If we assume a perfectly competitive market with 3 authorities that
>> govern the block space equally, the marginal cost of 1/3 of the block
>> space is the same for each, however, the marginal revenue absent of
>> block rewards is dependent on fees.
>> If people are willing to pay only a zero fee to a specific authority
>> while a fee greater than zero to the others it's clear that one would
>> be less competitive.
>>
>> Let us assume the fees are 10% of the revenue and the cost is 95 we
>> have currently the following situation:
>>
>> A: Cost=95; Revenue=100; Profit=5
>> B: Cost=95; Revenue=100; Profit=5
>> C: Cost=95; Revenue=100; Profit=5
>>
>> With transaction tiering, the outcome could be different!
>>
>> A: Cost=95; Revenue=90; Loss=5 // BSA that does not respect user interest.
>> B: Cost=95; Revenue=105; Profit=10
>> C: Cost=95; Revenue=105; Profit=10
>>
>> This could motivate transaction processors to behave in accordance
>> with user interest, or am I missing something?
>>
>> Best Regards,
>> Martin
>>
>>> From: Tim Ruffing <[email-masked]>
>>> To: [email-masked]
>>> Cc:
>>> Bcc:
>>> Date: Tue, 21 Mar 2017 16:18:26 +0100
>>> Subject: Re: [bitcoin-dev] Inquiry: Transaction Tiering
>>> (I'm not a lawyer...)
>>>
>>> I'm not sure if I can make sense of your email.
>>>
>>> On Mon, 2017-03-20 at 20:12 +0000, Martin Stolze via bitcoin-dev wrote:
>>>> As a participant in the economy in general and of Bitcoin in
>>>> particular, I desire an ability to decide where I transact. The
>>>> current state of Bitcoin does not allow me to choose my place of
>>>> business. As a consequence, I try to learn what would be the best way
>>>> to conduct my business in good faith. [2]
>>>
>>> Ignoring the rest, I don't think that the physical location /
>>> jurisdiction of the miner has any legal implications for law applicable
>>> to the relationship between sender and receiver of a payment.
>>>
>>> This is not particular to Bitcoin. We're both in Germany (I guess).
>>> Assume we have a contract without specific agreements and I pay you in
>>> Icelandic kronur via PayPal (in Luxembourg) and my HTTPS requests to
>>> PayPal went via Australia and the US. Then German law applies to our
>>> contract, nothing in the middle can change that.
>>>
>>> Also ignoring possible security implications, there is just no need for
>>> a mechanism that enables users to select miners. I claim that almost
>>> nobody cares who will mine a transaction, because it makes no technical
>>> difference. If you don't want a specific miner to mine your
>>> transaction, then don't use Bitcoin.
>>>
>>> Tim
>> _______________________________________________
>> bitcoin-dev mailing list
>> [email-masked]
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>
>
>