Re: Trinary Version Signaling for softfork

Re: Trinary Version Signaling for softfork
2021-06-30  9:17 ` eric
  
From: Prayank @ 2021-06-27 12:01 UTC (permalink / raw)
  To: eric;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 1410 bytes --]

Hello Eric,
I have few questions:

> Without majority hash power support, activation simply means you are off on a chain split. 

So majority hash power not following the consensus rules can result in chain split? Why would majority of miners decide to mine a chain that nobody wants to use? What are different things possible in this case based on game theory? 

> And activation without majority hash power certainly does not “ensure” this.

Do miners and mining pools participate in discussions before signaling for a soft fork begins? Can they still mine something else post activation even if signaling readiness for soft fork? 

> If one wants to enforce a soft fork (or otherwise censor) this is accomplished by mining (or paying others to do so). Anyone can mine, so everyone gets a say. Mining is trading capital now for more later. If enough people want to do that, they can enforce a soft fork. It’s time Bitcoiners stop thinking of miners as other people. Anyone can mine, and that’s your vote.

Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?

Is soft fork signaling same as voting?

According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy + fees) for their work. Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.


-- 
 Prayank

[-- Attachment #2: Type: text/html, Size: 2075 bytes --]

 permalink raw reply	[|nested]
2021-06-27 12:01 [bitcoin-dev] Trinary Version Signaling for softfork Prayank

  2021-06-30 11:33   ` Zac Greenwood
  2021-06-30 12:12   ` Prayank
  
From: eric @ 2021-06-30  9:17 UTC (permalink / raw)
  To: 'Prayank';  'Bitcoin Dev'

[-- Attachment #1: Type: text/plain, Size: 4513 bytes --]

Hi Prayank,

 

> So majority hash power not following the consensus rules can result in chain split?

 

Any two people on different rules implies a chain split. That’s presumably why rule changes are called forks. There is no actual concept of “the rules” just one set of rules or another.

 

> Why would majority of miners decide to mine a chain that nobody wants to use?

 

I don’t presume to know why people prefer one thing over another, or what people want to use, nor does economics.

 

> What are different things possible in this case based on game theory?

 

I’ve seen no actual demonstration of the relevance of game theory to Bitcoin. People throw the words around quite a bit, but I can’t give you an answer because I have found no evidence of a valid game theoretic model applicable to Bitcoin. It’s not a game, it’s a market.

 

> Do miners and mining pools participate in discussions before signaling for a soft fork begins?

 

Who knows, I don’t get invited to round table meetings.

 

> Can they still mine something else post activation even if signaling readiness for soft fork? 

 

A person can mine whatever they want. Signaling does not compel a miner to enforce. Each block mined is anonymous. But each miner seeing the signals of others, unless they are coordinating, would presumably assume that others will enforce.

 

> Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?

 

A node (software) doesn’t enforce anything. Merchants enforce consensus rules when they reject trading for something that they don’t consider money. Every time two people trade both party validates what they receive (not what they trade away). Those receiving Bitcoin are economically relevant and their power is a function of how much they are doing so.

 

Miners censor, which is inconsequential unless enforced. Majority miners can enforce censorship by simply not building on any non-censoring blocks. This is what soft fork enforcement is.

 

> Is soft fork signaling same as voting?

 

I don’t see that it needs a label apart from signaling. There are many kinds of voting. It would be hard to equate signaling with any of them. It’s a public signal that the miner who mined a given block miner intends to censor, that’s all.

 

> According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy + fees) for their work.

 

Miners mine a chain, which ever one they want. There are many. They earn the block reward.

 

> Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.

 

What people consider it is inconsequential. It has clearly defined behavior.

 

e

 

From: Prayank <prayank@tutanota•de> 
Sent: Sunday, June 27, 2021 5:01 AM
To: eric@voskuil•org
Cc: Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Trinary Version Signaling for softfork

 

Hello Eric,

 

I have few questions:

 

> Without majority hash power support, activation simply means you are off on a chain split. 

 

So majority hash power not following the consensus rules can result in chain split? Why would majority of miners decide to mine a chain that nobody wants to use? What are different things possible in this case based on game theory? 

 

> And activation without majority hash power certainly does not “ensure” this.

 

Do miners and mining pools participate in discussions before signaling for a soft fork begins? Can they still mine something else post activation even if signaling readiness for soft fork? 

 

> If one wants to enforce a soft fork (or otherwise censor) this is accomplished by mining (or paying others to do so). Anyone can mine, so everyone gets a say. Mining is trading capital now for more later. If enough people want to do that, they can enforce a soft fork. It’s time Bitcoiners stop thinking of miners as other people. Anyone can mine, and that’s your vote.

 

Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?

 

Is soft fork signaling same as voting?

 

According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy + fees) for their work. Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.

 

 

-- 

Prayank


[-- Attachment #2: Type: text/html, Size: 8517 bytes --]

 permalink raw reply	[|nested]
2021-06-30  9:17 ` eric

  2021-06-30 12:03     ` Eric Voskuil
  2021-06-30 12:12   ` Prayank
  
From: Zac Greenwood @ 2021-06-30 11:33 UTC (permalink / raw)
  To: Bitcoin Protocol Discussion, eric;  Prayank

[-- Attachment #1: Type: text/plain, Size: 5402 bytes --]

Hi Eric,

> A node (software) doesn’t enforce anything. Merchants enforce consensus
rules

… by running a node which they believe to enforce the rules of Bitcoin.

A node definitely enforces consensus rules and defines what is Bitcoin. I
am quite disturbed that this is even being debated here.

Zac


On Wed, 30 Jun 2021 at 11:17, Eric Voskuil via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> Hi Prayank,
>
>
>
> > So majority hash power not following the consensus rules can result in
> chain split?
>
>
>
> Any two people on different rules implies a chain split. That’s presumably
> why rule changes are called forks. There is no actual concept of “the
> rules” just one set of rules or another.
>
>
>
> > Why would majority of miners decide to mine a chain that nobody wants to
> use?
>
>
>
> I don’t presume to know why people prefer one thing over another, or what
> people want to use, nor does economics.
>
>
>
> > What are different things possible in this case based on game theory?
>
>
>
> I’ve seen no actual demonstration of the relevance of game theory to
> Bitcoin. People throw the words around quite a bit, but I can’t give you an
> answer because I have found no evidence of a valid game theoretic model
> applicable to Bitcoin. It’s not a game, it’s a market.
>
>
>
> > Do miners and mining pools participate in discussions before signaling
> for a soft fork begins?
>
>
>
> Who knows, I don’t get invited to round table meetings.
>
>
>
> > Can they still mine something else post activation even if signaling
> readiness for soft fork?
>
>
>
> A person can mine whatever they want. Signaling does not compel a miner to
> enforce. Each block mined is anonymous. But each miner seeing the signals
> of others, unless they are coordinating, would presumably assume that
> others will enforce.
>
>
>
> > Who enforces consensus rules technically in Bitcoin? Full nodes or
> Miners?
>
>
>
> A node (software) doesn’t enforce anything. Merchants enforce consensus
> rules when they reject trading for something that they don’t consider
> money. Every time two people trade both party validates what they receive
> (not what they trade away). Those receiving Bitcoin are economically
> relevant and their power is a function of how much they are doing so.
>
>
>
> Miners censor, which is inconsequential unless enforced. Majority miners
> can enforce censorship by simply not building on any non-censoring blocks.
> This is what soft fork enforcement is.
>
>
>
> > Is soft fork signaling same as voting?
>
>
>
> I don’t see that it needs a label apart from signaling. There are many
> kinds of voting. It would be hard to equate signaling with any of them.
> It’s a public signal that the miner who mined a given block miner intends
> to censor, that’s all.
>
>
>
> > According to my understanding, miners follow the consensus rules
> enforced by full nodes and get (subsidy + fees) for their work.
>
>
>
> Miners mine a chain, which ever one they want. There are many. They earn
> the block reward.
>
>
>
> > Signaling is not voting although lot of people consider it voting
> including some mining pools and exchanges.
>
>
>
> What people consider it is inconsequential. It has clearly defined
> behavior.
>
>
>
> e
>
>
>
> *From:* Prayank <prayank@tutanota•de>
> *Sent:* Sunday, June 27, 2021 5:01 AM
> *To:* eric@voskuil•org
> *Cc:* Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
> *Subject:* Re: [bitcoin-dev] Trinary Version Signaling for softfork
>
>
>
> Hello Eric,
>
>
>
> I have few questions:
>
>
>
> > Without majority hash power support, activation simply means you are off
> on a chain split.
>
>
>
> So majority hash power not following the consensus rules can result in
> chain split? Why would majority of miners decide to mine a chain that
> nobody wants to use? What are different things possible in this case based
> on game theory?
>
>
>
> > And activation without majority hash power certainly does not “ensure”
> this.
>
>
>
> Do miners and mining pools participate in discussions before signaling for
> a soft fork begins? Can they still mine something else post activation even
> if signaling readiness for soft fork?
>
>
>
> > If one wants to enforce a soft fork (or otherwise censor) this is
> accomplished by mining (or paying others to do so). Anyone can mine, so
> everyone gets a say. Mining is trading capital now for more later. If
> enough people want to do that, they can enforce a soft fork. It’s time
> Bitcoiners stop thinking of miners as other people. Anyone can mine, and
> that’s your vote.
>
>
>
> Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?
>
>
>
> Is soft fork signaling same as voting?
>
>
>
> According to my understanding, miners follow the consensus rules enforced
> by full nodes and get (subsidy + fees) for their work. Signaling is not
> voting although lot of people consider it voting including some mining
> pools and exchanges.
>
>
>
>
>
> --
>
> Prayank
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

[-- Attachment #2: Type: text/html, Size: 9960 bytes --]

 permalink raw reply	[|nested]
2021-06-30 11:33   ` Zac Greenwood

  2021-06-30 12:44       ` Zac Greenwood
  
From: Eric Voskuil @ 2021-06-30 12:03 UTC (permalink / raw)
  To: Zac Greenwood;  Prayank, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 844 bytes --]

A million nodes saying a transaction is invalid does nothing to enforce that knowledge.

An economic node is a person who refuses to accept invalid money. A node only informs this decision, it cannot enforce it. That’s up to people.

And clearly if one is not actually accepting bitcoin for anything at the time, he is not enforcing anything.

The idea of a non-economic node is well established, nothing new here.

e

> On Jun 30, 2021, at 04:33, Zac Greenwood <zachgrw@gmail•com> wrote:
> 
> ﻿
> Hi Eric,
> 
> > A node (software) doesn’t enforce anything. Merchants enforce consensus rules
> 
> … by running a node which they believe to enforce the rules of Bitcoin.
> 
> A node definitely enforces consensus rules and defines what is Bitcoin. I am quite disturbed that this is even being debated here.
> 
> Zac

[-- Attachment #2: Type: text/html, Size: 2200 bytes --]

 permalink raw reply	[|nested]
2021-06-30  9:17 ` eric
  2021-06-30 11:33   ` Zac Greenwood

  
From: Prayank @ 2021-06-30 12:12 UTC (permalink / raw)
  To: Eric;  'Bitcoin Dev'

[-- Attachment #1: Type: text/plain, Size: 7196 bytes --]

> I’ve seen no actual demonstration of the relevance of game theory to Bitcoin. People throw the words around quite a bit, but I can’t give you an answer because I have found no evidence of a valid game theoretic model applicable to Bitcoin. It’s not a game, it’s a market.

Agree its difficult to predict and include all the possible things that may happen. Two articles I had read in past that explained few things based on game theory:

https://jimmysong.medium.com/uasf-bip148-scenarios-and-game-theory-9530336d953e

https://jimmysong.medium.com/segwit2x-game-theory-scenarios-part-1-7f863904a72

> Who knows, I don’t get invited to round table meetings.

My question was related to discussions on mailing list, IRC channels, Reddit, Twitter, GitHub etc. Not sure if everyone does but few had no issues with Taproot before signaling according to https://web.archive.org/web/20210316221837/https://taprootactivation.com/

> Every time two people trade both party validates what they receive (not what they trade away). Those receiving Bitcoin are economically relevant and their power is a function of how much they are doing so.

Agree. Running and 'using' the node for economic activity can be considered enforcing consensus rules.

> Majority miners can enforce censorship by simply not building on any non-censoring blocks. This is what soft fork enforcement is.

I am not sure about this. 

> I don’t see that it needs a label apart from signaling. There are many kinds of voting. It would be hard to equate signaling with any of them. It’s a public signal that the miner who mined a given block miner intends to censor, that’s all.

Signaling can be done for many things. In this case I think miners are signaling 'readiness'.  Pieter Wuille had answered a related question on SE: https://bitcoin.stackexchange.com/questions/97043/is-there-an-active-list-of-bips-currently-open-for-voting/

Since this is misunderstood or misinterpreted by many, I had even requested Hampus Sjöberg to mention this in https://taproot.watch/ : https://github.com/hsjoberg/fork-explorer/issues/57


-- 
 Prayank


Jun 30, 2021, 14:47 by eric@voskuil•org:

>
> Hi Prayank,
>
>
>  
>
>
> > So majority hash power not following the consensus rules can result in chain split?
>
>
>  
>
>
> Any two people on different rules implies a chain split. That’s presumably why rule changes are called forks. There is no actual concept of “the rules” just one set of rules or another.
>
>
>  
>
>
> > Why would majority of miners decide to mine a chain that nobody wants to use?
>
>
>  
>
>
> I don’t presume to know why people prefer one thing over another, or what people want to use, nor does economics.
>
>
>  
>
>
> > What are different things possible in this case based on game theory?
>
>
>  
>
>
> I’ve seen no actual demonstration of the relevance of game theory to Bitcoin. People throw the words around quite a bit, but I can’t give you an answer because I have found no evidence of a valid game theoretic model applicable to Bitcoin. It’s not a game, it’s a market.
>
>
>  
>
>
> > Do miners and mining pools participate in discussions before signaling for a soft fork begins?
>
>
>  
>
>
> Who knows, I don’t get invited to round table meetings.
>
>
>  
>
>
> > Can they still mine something else post activation even if signaling readiness for soft fork? 
>
>
>  
>
>
> A person can mine whatever they want. Signaling does not compel a miner to enforce. Each block mined is anonymous. But each miner seeing the signals of others, unless they are coordinating, would presumably assume that others will enforce.
>
>
>  
>
>
> > Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?
>
>
>  
>
>
> A node (software) doesn’t enforce anything. Merchants enforce consensus rules when they reject trading for something that they don’t consider money. Every time two people trade both party validates what they receive (not what they trade away). Those receiving Bitcoin are economically relevant and their power is a function of how much they are doing so.
>
>
>  
>
>
> Miners censor, which is inconsequential unless enforced. Majority miners can enforce censorship by simply not building on any non-censoring blocks. This is what soft fork enforcement is.
>
>
>  
>
>
> > Is soft fork signaling same as voting?
>
>
>  
>
>
> I don’t see that it needs a label apart from signaling. There are many kinds of voting. It would be hard to equate signaling with any of them. It’s a public signal that the miner who mined a given block miner intends to censor, that’s all.
>
>
>  
>
>
> > According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy + fees) for their work.
>
>
>  
>
>
> Miners mine a chain, which ever one they want. There are many. They earn the block reward.
>
>
>  
>
>
> > Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.
>
>
>  
>
>
> What people consider it is inconsequential. It has clearly defined behavior.
>
>
>  
>
>
> e
>
>
>  
>
>
>
>
> From:>  Prayank <prayank@tutanota•de> 
> Sent:>  Sunday, June 27, 2021 5:01 AM
> To:>  eric@voskuil•org
> Cc:>  Bitcoin Dev <bitcoin-dev@lists•linuxfoundation.org>
> Subject:>  Re: [bitcoin-dev] Trinary Version Signaling for softfork
>
>
>
>
>  
>
>
> Hello Eric,
>
>
>  
>
>
> I have few questions:
>
>
>  
>
>
> > Without majority hash power support, activation simply means you are off on a chain split.
>
>
>  
>
>
> So majority hash power not following the consensus rules can result in chain split? Why would majority of miners decide to mine a chain that nobody wants to use? What are different things possible in this case based on game theory? 
>
>
>  
>
>
> > And activation without majority hash power certainly does not “ensure” this.
>
>
>  
>
>
> Do miners and mining pools participate in discussions before signaling for a soft fork begins? Can they still mine something else post activation even if signaling readiness for soft fork? 
>
>
>  
>
>
> > If one wants to enforce a soft fork (or otherwise censor) this is accomplished by mining (or paying others to do so). Anyone can mine, so everyone gets a say. Mining is trading capital now for more later. If enough people want to do that, they can enforce a soft fork. It’s time Bitcoiners stop thinking of miners as other people. Anyone can mine, and that’s your vote.
>
>
>  
>
>
> Who enforces consensus rules technically in Bitcoin? Full nodes or Miners?
>
>
>  
>
>
> Is soft fork signaling same as voting?
>
>
>  
>
>
> According to my understanding, miners follow the consensus rules enforced by full nodes and get (subsidy + fees) for their work. Signaling is not voting although lot of people consider it voting including some mining pools and exchanges.
>
>
>  
>
>
>  
>
>
> --
>
>
> Prayank
>
>


[-- Attachment #2: Type: text/html, Size: 10282 bytes --]

 permalink raw reply	[|nested]
2021-06-30 12:03     ` Eric Voskuil

  2021-06-30 18:11         ` Eric Voskuil
  
From: Zac Greenwood @ 2021-06-30 12:44 UTC (permalink / raw)
  To: Eric Voskuil;  Prayank, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 1326 bytes --]

Eric,

> A million nodes saying a transaction is invalid does nothing to enforce
that knowledge

It does. Nodes disregard invalid transactions and invalid blocks as if they
never existed. It is not possible for any party to transact bitcoin in a
way that violates the set of rules enforced by the network of
consensus-compatible nodes that we call Bitcoin.

Zac


On Wed, Jun 30, 2021 at 2:03 PM Eric Voskuil <eric@voskuil•org> wrote:

> A million nodes saying a transaction is invalid does nothing to enforce
> that knowledge.
>
> An economic node is a person who refuses to accept invalid money. A node
> only informs this decision, it cannot enforce it. That’s up to people.
>
> And clearly if one is not actually accepting bitcoin for anything at the
> time, he is not enforcing anything.
>
> The idea of a non-economic node is well established, nothing new here.
>
> e
>
> On Jun 30, 2021, at 04:33, Zac Greenwood <zachgrw@gmail•com> wrote:
>
> ﻿
> Hi Eric,
>
> > A node (software) doesn’t enforce anything. Merchants enforce consensus
> rules
>
> … by running a node which they believe to enforce the rules of Bitcoin.
>
> A node definitely enforces consensus rules and defines what is Bitcoin. I
> am quite disturbed that this is even being debated here.
>
> Zac
>
>

[-- Attachment #2: Type: text/html, Size: 2907 bytes --]

 permalink raw reply	[|nested]
2021-06-30 12:44       ` Zac Greenwood

  
From: Eric Voskuil @ 2021-06-30 18:11 UTC (permalink / raw)
  To: Zac Greenwood;  Prayank, Bitcoin Protocol Discussion

[-- Attachment #1: Type: text/plain, Size: 2451 bytes --]



> On Jun 30, 2021, at 05:45, Zac Greenwood <zachgrw@gmail•com> wrote:
> 
> ﻿
> Eric,
> 
> > A million nodes saying a transaction is invalid does nothing to enforce that knowledge
> 
> It does. Nodes disregard invalid transactions and invalid blocks as if they never existed. It is not possible for any party to transact bitcoin in a way that violates the set of rules enforced by the network of consensus-compatible nodes that we call Bitcoin.

When Fincen walks into Coinbase and every other exchange (and white market business in the country), and tells them to change a rule or they are taking the CEO out in hancuffs for money laundering, I’m pretty sure that their node with not be able to prevent it.

Enforcement is always people. We use the term node as a metaphorical term for people who use the node to avoid taking bad money. Like those machines that test paper money, they offer no resistance themselves.

A node in a closet checking transactions, unconnected to any human actually rejecting the money in trade, offers no resistance to anything. It can be forked off without any consequence whatsoever. 

This subject was discussed here during the BCH split. People were setting up nodes on cloud services, to boost numbers. These non-economic nodes were of course of no consequence, which was not a matter of debate. I’m explaining to you why that is.

The network ignores non-economic nodes as if they never existed.

> Zac
> 
> 
>> On Wed, Jun 30, 2021 at 2:03 PM Eric Voskuil <eric@voskuil•org> wrote:
>> A million nodes saying a transaction is invalid does nothing to enforce that knowledge.
>> 
>> An economic node is a person who refuses to accept invalid money. A node only informs this decision, it cannot enforce it. That’s up to people.
>> 
>> And clearly if one is not actually accepting bitcoin for anything at the time, he is not enforcing anything.
>> 
>> The idea of a non-economic node is well established, nothing new here.
>> 
>> e
>> 
>>>> On Jun 30, 2021, at 04:33, Zac Greenwood <zachgrw@gmail•com> wrote:
>>>> 
>>> ﻿
>>> Hi Eric,
>>> 
>>> > A node (software) doesn’t enforce anything. Merchants enforce consensus rules
>>> 
>>> … by running a node which they believe to enforce the rules of Bitcoin.
>>> 
>>> A node definitely enforces consensus rules and defines what is Bitcoin. I am quite disturbed that this is even being debated here.
>>> 
>>> Zac

[-- Attachment #2: Type: text/html, Size: 4452 bytes --]

 permalink raw reply	[|nested]