Return-Path: <zachgrw@gmail.com> Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id DA342C000E for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 30 Jun 2021 11:33:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id CF44F402A6 for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 30 Jun 2021 11:33:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.098 X-Spam-Level: X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YaFjRb-7HOdr for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 30 Jun 2021 11:33:50 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 Received: from mail-io1-xd31.google.com (mail-io1-xd31.google.com [IPv6:2607:f8b0:4864:20::d31]) by smtp2.osuosl.org (Postfix) with ESMTPS id 707FB40288 for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 30 Jun 2021 11:33:50 +0000 (UTC) Received: by mail-io1-xd31.google.com with SMTP id h2so2681363iob.11 for <bitcoin-dev@lists.linuxfoundation.org>; Wed, 30 Jun 2021 04:33:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zoqgF+39g+aGGYYsD+NNOH/c4czarPibCD4pYYet5u8=; b=cIB8G2tg/ob7ss9vF2Yu8ck8wrT67kfqXdvuA9voeIdvaRWSZsKZYBeb4I9O1Bw3Qx E+aV3xfySiBG5SNvuqHAmav3S8l3riGjzAaghU9XXewUGpczre8B5k5rkRflTWY9BkDl gCigJXV/2l7KklXgqmsIcFA+120dg0DPNVEdp7u00AjmPFFdF+IzDV4j+DGBoCXyt5sY 4TBbqS7cG4b4YSMdLmnkrFkn98I8LQld76wLXVghdLud17iQEu29hq27dTrS5sUms3x9 00xafbu/KL5XtT5zHQbBzplPc9CsSCHXqy1SOrJKf17jKRGA3jEbutCHc8iU1wXUiYDj RSJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zoqgF+39g+aGGYYsD+NNOH/c4czarPibCD4pYYet5u8=; b=AUVMyazKcrYrpwQDXJ2KH84LLT+JgmouvKMAzKntyXUCQtApAQbWYcUa72K4y+FPLh 9E5izoIGDwEcWqbli17T3jJi0BHvakQHVcFSlNIvKu4gFiRTl7ew/pl2Hcc5JQreWDe5 I6f34RBEg6ktj9KnjKKa1ZWnoBz7pv2ChWvzpVjgXA6qqNNC6B8He4/vD1N4Y1drmy5r pX20J0hAfh3ywx1CFORCswaNwv14YULtGh/EKTOTEXZKC3I4dnSPrioTTm8xZyu41aTM SZqgTMn3isjnGYijMkQKSogLAaITTLxdyhfDIqk/N/bRjUKKMa47Lh8YjE6mdO4ryHkh yA1Q== X-Gm-Message-State: AOAM532qb8fnGYYqXmKvvusn4AaeQWKjbpWxTsL1J9/urB/C1bh0xU3L 8KiuXh1KD/KPTcz3Yk2Ldr6T8bfq+VA5CHtOjHARQ6qJ X-Google-Smtp-Source: ABdhPJzdJ8Rb7ZGLfJj52TNShkjN0cWvKKJKFAJMNsyGbVIOETenrLSx7HymXcSg9Kcwz3XPbFjGGUoTonQOClrIgI0= X-Received: by 2002:a05:6638:3896:: with SMTP id b22mr8523270jav.37.1625052829556; Wed, 30 Jun 2021 04:33:49 -0700 (PDT) MIME-Version: 1.0 References: <MdCL7jI--3-2@tutanota.de> <026701d76d90$b4095e30$1c1c1a90$@voskuil.org> In-Reply-To: <026701d76d90$b4095e30$1c1c1a90$@voskuil.org> From: Zac Greenwood <zachgrw@gmail.com> Date: Wed, 30 Jun 2021 13:33:38 +0200 Message-ID: <CAJ4-pEBcKJPNAKNQ-i4gBNFUuFFPYfxyWuzWHpZwO_kCp0wFQA@mail.gmail.com> To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>, eric@voskuil.org Content-Type: multipart/alternative; boundary="000000000000a5a08d05c5fa1870" X-Mailman-Approved-At: Wed, 30 Jun 2021 12:44:40 +0000 Cc: Prayank <prayank@tutanota.de> Subject: Re: [bitcoin-dev] Trinary Version Signaling for softfork X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Wed, 30 Jun 2021 11:33:52 -0000 --000000000000a5a08d05c5fa1870 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Eric, > A node (software) doesn=E2=80=99t enforce anything. Merchants enforce con= sensus rules =E2=80=A6 by running a node which they believe to enforce the rules of Bitc= oin. 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=E2=80=99s p= resumably > why rule changes are called forks. There is no actual concept of =E2=80= =9Cthe > rules=E2=80=9D just one set of rules or another. > > > > > Why would majority of miners decide to mine a chain that nobody wants t= o > use? > > > > I don=E2=80=99t 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=E2=80=99ve seen no actual demonstration of the relevance of game theory= to > Bitcoin. People throw the words around quite a bit, but I can=E2=80=99t g= ive you an > answer because I have found no evidence of a valid game theoretic model > applicable to Bitcoin. It=E2=80=99s not a game, it=E2=80=99s a market. > > > > > Do miners and mining pools participate in discussions before signaling > for a soft fork begins? > > > > Who knows, I don=E2=80=99t 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 t= o > 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=E2=80=99t enforce anything. Merchants enforce con= sensus > rules when they reject trading for something that they don=E2=80=99t cons= ider > 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=E2=80=99t 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=E2=80=99s a public signal that the miner who mined a given block miner= intends > to censor, that=E2=80=99s 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 of= f > 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 base= d > on game theory? > > > > > And activation without majority hash power certainly does not =E2=80=9C= ensure=E2=80=9D > this. > > > > Do miners and mining pools participate in discussions before signaling fo= r > a soft fork begins? Can they still mine something else post activation ev= en > 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=E2=80=99s= time > Bitcoiners stop thinking of miners as other people. Anyone can mine, and > that=E2=80=99s 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 > --000000000000a5a08d05c5fa1870 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto">Hi Eric,</div><div dir=3D"auto"><br></div><div dir=3D"aut= o"><span style=3D"border-color:rgb(0,0,0);color:rgb(0,0,0)">> A node (so= ftware) doesn=E2=80=99t enforce anything. Merchants enforce consensus rules= </span><br></div><div dir=3D"auto"><span style=3D"border-color:rgb(0,0,0);c= olor:rgb(0,0,0)"><br></span></div><div style=3D"background-color:rgba(0,0,0= ,0)!important;border-color:rgb(255,255,255)!important;color:rgb(255,255,255= )!important" dir=3D"auto"><font style=3D"border-color:rgb(0,0,0);color:rgb(= 0,0,0)">=E2=80=A6 by running a node which they believe to enforce the rules= of Bitcoin.</font></div><div dir=3D"auto"><span style=3D"border-color:rgb(= 0,0,0);color:rgb(0,0,0)"><br></span></div><div style=3D"background-color:rg= ba(0,0,0,0)!important;border-color:rgb(255,255,255)!important;color:rgb(255= ,255,255)!important" dir=3D"auto"><font style=3D"border-color:rgb(0,0,0);co= lor:rgb(0,0,0)">A node definitely enforces consensus rules and defines what= is Bitcoin. I am quite disturbed that</font><span style=3D"border-color:rg= b(0,0,0);color:rgb(0,0,0)">=C2=A0this is even being debated here.</span></d= iv><div dir=3D"auto"><span style=3D"border-color:rgb(0,0,0);color:rgb(0,0,0= )"><br></span></div><div dir=3D"auto"><span style=3D"border-color:rgb(0,0,0= );color:rgb(0,0,0)">Zac</span></div><div dir=3D"auto"><br></div><div><br><d= iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, 30 J= un 2021 at 11:17, Eric Voskuil via bitcoin-dev <<a href=3D"mailto:bitcoi= n-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>&= gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0= px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex= ;border-left-color:rgb(204,204,204)"><div lang=3D"EN-US" link=3D"#0563C1" v= link=3D"#954F72" style=3D"word-wrap:break-word"><div class=3D"m_47319466642= 80896658WordSection1"><p class=3D"MsoNormal">Hi Prayank,<u></u><u></u></p><= p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">> S= o majority hash power not following the consensus rules can result in chain= split?<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p = class=3D"MsoNormal">Any two people on different rules implies a chain split= . That=E2=80=99s presumably why rule changes are called forks. There is no = actual concept of =E2=80=9Cthe rules=E2=80=9D just one set of rules or anot= her.<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p cla= ss=3D"MsoNormal">> Why would majority of miners decide to mine a chain t= hat nobody wants to use?<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2= =A0<u></u></p><p class=3D"MsoNormal">I don=E2=80=99t presume to know why pe= ople prefer one thing over another, or what people want to use, nor does ec= onomics.<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p= class=3D"MsoNormal">> What are different things possible in this case b= ased on game theory?<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<= u></u></p><p class=3D"MsoNormal">I=E2=80=99ve seen no actual demonstration = of the relevance of game theory to Bitcoin. People throw the words around q= uite a bit, but I can=E2=80=99t give you an answer because I have found no = evidence of a valid game theoretic model applicable to Bitcoin. It=E2=80=99= s not a game, it=E2=80=99s a market.<u></u><u></u></p><p class=3D"MsoNormal= "><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">> Do miners and mining = pools participate in discussions before signaling for a soft fork begins?<u= ></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"= MsoNormal">Who knows, I don=E2=80=99t get invited to round table meetings.<= u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D= "MsoNormal">> Can they still mine something else post activation even if= signaling readiness for soft fork?=C2=A0<u></u><u></u></p><p class=3D"MsoN= ormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">A person can mine wha= tever they want. Signaling does not compel a miner to enforce. Each block m= ined is anonymous. But each miner seeing the signals of others, unless they= are coordinating, would presumably assume that others will enforce.<u></u>= <u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNo= rmal">> Who enforces consensus rules technically in Bitcoin? Full nodes = or Miners?<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>= <p class=3D"MsoNormal">A node (software) doesn=E2=80=99t enforce anything. = Merchants enforce consensus rules when they reject trading for something th= at they don=E2=80=99t consider money. Every time two people trade both part= y validates what they receive (not what they trade away). Those receiving B= itcoin are economically relevant and their power is a function of how much = they are doing so.<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u>= </u></p><p class=3D"MsoNormal">Miners censor, which is inconsequential unle= ss enforced. Majority miners can enforce censorship by simply not building = on any non-censoring blocks. This is what soft fork enforcement is.<u></u><= u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNor= mal">> Is soft fork signaling same as voting?<u></u><u></u></p><p class= =3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">I don=E2=80= =99t see that it needs a label apart from signaling. There are many kinds o= f voting. It would be hard to equate signaling with any of them. It=E2=80= =99s a public signal that the miner who mined a given block miner intends t= o censor, that=E2=80=99s all.<u></u><u></u></p><p class=3D"MsoNormal"><u></= u>=C2=A0<u></u></p><p class=3D"MsoNormal">> According to my understandin= g, miners follow the consensus rules enforced by full nodes and get (subsid= y + fees) for their work.<u></u><u></u></p><p class=3D"MsoNormal"><u></u>= =C2=A0<u></u></p><p class=3D"MsoNormal">Miners mine a chain, which ever one= they want. There are many. They earn the block reward.<u></u><u></u></p><p= class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoNormal">> Si= gnaling is not voting although lot of people consider it voting including s= ome mining pools and exchanges.<u></u><u></u></p><p class=3D"MsoNormal"><u>= </u>=C2=A0<u></u></p><p class=3D"MsoNormal">What people consider it is inco= nsequential. It has clearly defined behavior.</p></div></div><div lang=3D"E= N-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:break-word"><di= v class=3D"m_4731946664280896658WordSection1"><p class=3D"MsoNormal"><u></u= ><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><p class=3D"MsoN= ormal">e<u></u><u></u></p><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p><d= iv><div style=3D"border-style:solid none none;border-top-width:1pt;padding:= 3pt 0in 0in;border-top-color:rgb(225,225,225)"><p class=3D"MsoNormal"><b>Fr= om:</b> Prayank <<a href=3D"mailto:prayank@tutanota.de" target=3D"_blank= ">prayank@tutanota.de</a>> <br><b>Sent:</b> Sunday, June 27, 2021 5:01 A= M<br><b>To:</b> <a href=3D"mailto:eric@voskuil.org" target=3D"_blank">eric@= voskuil.org</a><br><b>Cc:</b> Bitcoin Dev <<a href=3D"mailto:bitcoin-dev= @lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists.linuxfounda= tion.org</a>><br><b>Subject:</b> Re: [bitcoin-dev] Trinary Version Signa= ling for softfork<u></u><u></u></p></div></div><p class=3D"MsoNormal"><u></= u>=C2=A0<u></u></p><div><p class=3D"MsoNormal">Hello Eric,<u></u><u></u></p= ></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p cl= ass=3D"MsoNormal">I have few questions:<u></u><u></u></p></div><div><p clas= s=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoNormal">&= gt;=C2=A0Without majority hash power support, activation simply means you a= re off on a chain split. <u></u><u></u></p></div><div><p class=3D"MsoNormal= "><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoNormal">So majority has= h power not following the consensus rules can result in chain split? Why wo= uld majority of miners decide to mine a chain that nobody wants to use? Wha= t are different things possible in this case based on game theory?=C2=A0<u>= </u><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></= div><div><p class=3D"MsoNormal">>=C2=A0And activation without majority h= ash power certainly does not =E2=80=9Censure=E2=80=9D this.<u></u><u></u></= p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p c= lass=3D"MsoNormal">Do miners and mining pools participate in discussions be= fore signaling for a soft fork begins? Can they still mine something else p= ost activation even if signaling readiness for soft fork?=C2=A0<u></u><u></= u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div>= <p class=3D"MsoNormal">>=C2=A0If one wants to enforce a soft fork (or ot= herwise 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=E2=80=99s time Bitcoiners stop thinking of miners as other people. Any= one can mine, and that=E2=80=99s your vote.<u></u><u></u></p></div><div><p = class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoNorma= l">Who enforces consensus rules technically in Bitcoin? Full nodes or Miner= s?<u></u><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u><= /p></div><div><p class=3D"MsoNormal">Is soft fork signaling same as voting?= <u></u><u></u></p></div><div><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p= ></div><div><p class=3D"MsoNormal">According to my understanding, miners fo= llow the consensus rules enforced by full nodes and get (subsidy + fees) fo= r their work. Signaling is not voting although lot of people consider it vo= ting including some mining pools and exchanges.<u></u><u></u></p></div><div= ><p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoN= ormal"><u></u>=C2=A0<u></u></p></div><div><p class=3D"MsoNormal">-- <u></u>= <u></u></p></div><div><p class=3D"MsoNormal">Prayank<u></u><u></u></p></div= ></div></div>_______________________________________________<br> bitcoin-dev mailing list<br> <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">= bitcoin-dev@lists.linuxfoundation.org</a><br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" = rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org/mail= man/listinfo/bitcoin-dev</a><br> </blockquote></div></div> --000000000000a5a08d05c5fa1870--