Return-Path: Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 969E4C002D for ; Mon, 17 Oct 2022 19:10:33 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 494EE60A6C for ; Mon, 17 Oct 2022 19:10:33 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 494EE60A6C Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=Xeh8Yy0a 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_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LczCxMC9ZyjU for ; Mon, 17 Oct 2022 19:10:31 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 7E1F66063B Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) by smtp3.osuosl.org (Postfix) with ESMTPS id 7E1F66063B for ; Mon, 17 Oct 2022 19:10:31 +0000 (UTC) Received: by mail-yb1-xb2c.google.com with SMTP id e62so14407230yba.6 for ; Mon, 17 Oct 2022 12:10:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=TDEKJyPRFQDIujt/ozBSSvZBFtBgrKKSzbJ/Pe1pDmU=; b=Xeh8Yy0aCMJBCa+oAO2z+x4wQRAXk7kspaej4X1Y7ETV0WdIRo/HpddCMRZ3xIH6BX B7NiPo0//ce/ZXY7a8DLDXgt0bI98VGuwquGqV2vaPbe1WSYm5C+Xg5n4rdz5DRgpFJV eBUYzf35tu46gnIXCUATRtJCXnS4jan5qONA5u4vWjGS2rYzd47VqbYNsPD4d2ytu33q UJkCt3oiqhyGG0I3+GWdtqrxqN7QHQtyC5NV20qwCYgiZoGaDCTEg1k0GjxLYi1jQ9QE S/4BpsC33m+5EaeQLsdlMg07B/+UN+QgkGg1sMLK9huMkdUwUqtCHngNdacyrQ7TGZ6k xdwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=TDEKJyPRFQDIujt/ozBSSvZBFtBgrKKSzbJ/Pe1pDmU=; b=KSZzcm8syM01JfQF5GB9/LtTqziSE7GZxqgSVr8nIArKhg+VvN2YRjcvHovGIO+Tmt 1DSV8wxfa1n8d0S1/92MyvSVPhdlmN0PqvJd9ZuVlh+oJFIzE1cQu+gnT30t598BwVqE 9wP8OhQA6ESpxJT4PD0p8B/5+DXBfkqx9LouY07c9A/WuuvGLzO07E4HtUCJqcymjvjT tAiye4cNCwlewDq+i31OcXEtcMT8ZDb6uJfCa4hTUWtcB9Owx5HIpPfU156XG3b52p// i7WOo62B0gotPB6IZYJ5Ojp4hVNdlnw976gKwpN33lpOA98iyXsAgG2q8QILAkR2IqxZ jsCw== X-Gm-Message-State: ACrzQf3DF4Y1dyVYqC+tyzegsBEhzs7raNBeRCVN+cwSvamdTEK/iKjQ B4R8H1WsQPxQs3ZTMgsfRerzebeVkO9ADLl40+atTT28 X-Google-Smtp-Source: AMsMyM4GG8T3L50hgXpKEnAMT3xUEDiw3go8WlL9yAm6dfeR7u3N6p/k5cdRP4YYwbanHmI5rs+N5AavPufvQNIgPD4= X-Received: by 2002:a25:b11:0:b0:6bc:ea1a:6fe2 with SMTP id 17-20020a250b11000000b006bcea1a6fe2mr11029865ybl.255.1666033830132; Mon, 17 Oct 2022 12:10:30 -0700 (PDT) MIME-Version: 1.0 References: <903a46d95473714a7e11e33310fe9f56@yancy.lol> In-Reply-To: <903a46d95473714a7e11e33310fe9f56@yancy.lol> From: Jeremy Rubin Date: Mon, 17 Oct 2022 15:10:18 -0400 Message-ID: To: email@yancy.lol Content-Type: multipart/alternative; boundary="000000000000a103fc05eb3fba46" Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] Does Bitcoin require or have an honest majority or a rational one? (re rbf) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Oct 2022 19:10:33 -0000 --000000000000a103fc05eb3fba46 Content-Type: text/plain; charset="UTF-8" Building on the most work chain is perhaps not rational in many normal circumstances that can come up today under the stated reference strategy: 1) Take highest paying transactions that fit 2) Mine on tips E.g., suppose: Block N: Fees = 10, reward = 1 Mempool: Fees = 2 Mining block N+1 with the mempool leads to reward 2+1 = 3, reorging leads to reward of up to 10 + 1 + c, (c < 2, where c is the extra transactions that fit). Assume instead your reward is 8, leaving 3+c on the table. If you assume all other miners are tip miners, and there are two conflicting tips, they should pick the one with the more profit for them, which is the new one you made as a non-tip miner since you "shared" some fee. You aren't particularly more likely to remine block N or N+1, before someone builds on it, as opposed to deeper reorgs (which require larger incentive). However, as many have pointed out, perhaps not following the simple "honest tip mining" strategy is bad for bitcoin, so maybe we should expect it not to happen often? Or other strategies to emerge around selecting transactions so that the next M blocks have a similar fee profile, as opposed to picking greedily for the next block. -- @JeremyRubin On Sun, Oct 16, 2022 at 3:03 PM wrote: > The proof-of-work also solves the problem of determining > representation in majority decision > making. If the majority were based on one-IP-address-one-vote, it > could be subverted by anyone > able to allocate many IPs. Proof-of-work is essentially > one-CPU-one-vote. The majority > decision is represented by the longest chain, which has the greatest > proof-of-work effort invested > in it. If a majority of CPU power is controlled by honest nodes, the > honest chain will grow the > fastest and outpace any competing chains. To modify a past block, an > attacker would have to > redo the proof-of-work of the block and all blocks after it and then > catch up with and surpass the > work of the honest nodes. We will show later that the probability of a > slower attacker catching up > diminishes exponentially as subsequent blocks are added. > > > It's interesting that Nash Equilibrium isn't mentioned here. Since each > miner has the option to either contribute to the longest chain or not, even > if the miners know what strategy the other miners will use, they still > wouldn't change their decision to contribute to the majority. > > > For example, if I run a shop that takes rain checks, but I sell an > item to a higher bidder who didn't have a hold on the item, that is > not honest, but it may be selfish profit maximizing. > > > It would be honest if the store policy said ahead of time they are allowed > to sell rain checks for more in such an occurrence. Although this is a > good example of the difference between honest and rational. I think this > means it's not a Nash Equilibrium if we needed to rely on the store owner > to be honest. > > > Satoshi said an honest majority is required for the chain to be > extended. Honest is not really defined though. Honesty, in my > definition, is that you follow a pre specified rule, rational or not. > > > My take is that "rational" is probably a better word than honest. In > terms of a Nash Equilibrium, each participant is simply trying to maximize > their outcome and honesty doesn't matter (only that participants are > rational). > > > It seems a lot of the RBF controversy is that Protocol developers have > aspired to make the honest behavior also be the rational behavior. > This is maybe a good idea because, in theory, if the honest behavior > is rational then we can make a weaker assumption of selfishness > maximizing a parameter. > > > I'm curious, can RBF can be described by a Nash Equilibrium? If yes, then > it also shouldn't matter if participants are honest? > > > Overall, it might be nice to more tightly document what bitcoins > assumptions are in practice and what those assumptions do in terms of > properties of Bitcoin, as well as pathways to weakening the > assumptions without compromising the behaviors users expect the > network to have. An "extended white paper" if you will. > > > White paper 1.1 :D > > > A last reflection is that Bitcoin is specified with an honest majority > assumption, but also has a rational dishonest minority assumption over > both endogenous (rewards) and exogenous (electricity) costs. Satoshi > did not suggest, at least as I read it, that Bitcoin works with an > rational majority assumption. (If anyone thinks these three are > similar properties you can make some trivial counterexamples) > > > My take is the opposite unless I'm missing something. Participants are > always incentivized to choose the rational solution (Not to waste > electricity on a minority chain). > > Cheers, > -Yancy > > On 2022-10-16 19:35, Jeremy Rubin via bitcoin-dev wrote: > > The Bitcoin white paper says: > > The proof-of-work also solves the problem of determining > representation in majority decision > making. If the majority were based on one-IP-address-one-vote, it > could be subverted by anyone > able to allocate many IPs. Proof-of-work is essentially > one-CPU-one-vote. The majority > decision is represented by the longest chain, which has the greatest > proof-of-work effort invested > in it. If a majority of CPU power is controlled by honest nodes, the > honest chain will grow the > fastest and outpace any competing chains. To modify a past block, an > attacker would have to > redo the proof-of-work of the block and all blocks after it and then > catch up with and surpass the > work of the honest nodes. We will show later that the probability of a > slower attacker catching up > diminishes exponentially as subsequent blocks are added. > > This, Satoshi (who doesn't really matter anyways I guess?) claimed > that for Bitcoin to function properly you need a majority honest > nodes. > > There are multiple behaviors one can describe as honest, and > economically rational or optimizing is not necessarily rational. > > For example, if I run a shop that takes rain checks, but I sell an > item to a higher bidder who didn't have a hold on the item, that is > not honest, but it may be selfish profit maximizing. > > Satoshi said an honest majority is required for the chain to be > extended. Honest is not really defined though. Honesty, in my > definition, is that you follow a pre specified rule, rational or not. > > It seems a lot of the RBF controversy is that Protocol developers have > aspired to make the honest behavior also be the rational behavior. > This is maybe a good idea because, in theory, if the honest behavior > is rational then we can make a weaker assumption of selfishness > maximizing a parameter. > > However, Satoshi did not particularly bound what aspects of honesty > are important for the network, because there isn't a spec defining > exactly what is honest or not. And also as soon as people are honest, > you can rely on that assumption for good effect. > > And sometimes, defining an honest behavior can be creating a higher > utility system because most people are "law abiding citizens" who > might not be short term rational. For example, one might expect that > miners would be interested in making sure lightning closes are > "accurate" because increasing the utility of lightning is good for > Bitcoin, even if it is irrational. > > It seems that the NoRBF crowd want to rely on an honest majority > assumption where the honest behavior is not doing replacement if not > requested. This is really not much different than trying to close > lightning channels "the right way". > > However, where it may be different, is that even in the presence of > honest majority, the safety of 0conf isn't assured given the potential > of race conditions in the mempool. Therefore it's not clear to me that > 0conf working well is something you can drive from the Honest Majority > Assumption (where honest includes first seen). > > Overall, it might be nice to more tightly document what bitcoins > assumptions are in practice and what those assumptions do in terms of > properties of Bitcoin, as well as pathways to weakening the > assumptions without compromising the behaviors users expect the > network to have. An "extended white paper" if you will. > > It's somewhat clear to me that we shouldn't weaken assumptions that > only seem local to one subsystem of Bitcoin if they end up > destabilizing another system. In particular, things that decrease > "transaction utility" for end users decrease the demand for > transactions which hurts the fee market's longer term viability, even > if we feel good about making an honest policy assumption into a self > interested policy assumption. > > A last reflection is that Bitcoin is specified with an honest majority > assumption, but also has a rational dishonest minority assumption over > both endogenous (rewards) and exogenous (electricity) costs. Satoshi > did not suggest, at least as I read it, that Bitcoin works with an > rational majority assumption. (If anyone thinks these three are > similar properties you can make some trivial counterexamples) > > Cheers, > > Jeremy > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > --000000000000a103fc05eb3fba46 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Building on the most work= chain is perhaps not rational in many normal circumstances that can come u= p today under the stated reference strategy:

1) Take highest paying t= ransactions that fit
2) Mine on tips<= /div>

E.g., suppose:

Block N: Fees =3D 10, reward =3D 1

Mempool= : Fees =3D 2

Mining block N+1 with the mempool leads to reward 2+1 = =3D 3, reorging leads to reward of up to 10=C2=A0+ 1=C2=A0+ c, (c < 2, w= here c is the extra transactions that fit). Assume instead your reward is 8= , leaving 3+c on the table.

If you assume all other miners are tip mi= ners, and there are two conflicting tips, they should pick the one with the= more profit for them, which is the new one you made as a non-tip miner sin= ce you "shared" some fee.
<= br>
You aren't particularly more = likely to remine block N or N+1, before someone builds on it, as opposed to= deeper reorgs (which require larger incentive).


However, as many have pointed out, perhaps not follo= wing the simple "honest tip mining" strategy is bad for bitcoin, = so maybe we should expect it not to happen often? Or other strategies to em= erge around selecting transactions so that the next M blocks have a similar= fee profile, as opposed to picking greedily for the next block.


=

On Sun, O= ct 16, 2022 at 3:03 PM <email@yancy.lol> wrote:
The proof-of-wo= rk also solves the problem of determining
representation in majority dec= ision
making. If the majority were based on one-IP-address-one-vote, it=
could be subverted by anyone
able to allocate many IPs. Proof-of-wo= rk is essentially
one-CPU-one-vote. The majority
decision is represe= nted by the longest chain, which has the greatest
proof-of-work effort i= nvested
in it. If a majority of CPU power is controlled by honest nodes= , the
honest chain will grow the
fastest and outpace any competing c= hains. To modify a past block, an
attacker would have to
redo the pr= oof-of-work of the block and all blocks after it and then
catch up with = and surpass the
work of the honest nodes. We will show later that the p= robability of a
slower attacker catching up
diminishes exponentially= as subsequent blocks are added.
=C2=A0
It's intere= sting that Nash Equilibrium isn't mentioned here.=C2=A0 Since each mine= r has the option to either contribute to the longest chain or not, even if = the miners know what strategy the other miners will use, they still wouldn&= #39;t change their decision to contribute to the majority.
=C2=A0
For example, if= I run a shop that takes rain checks, but I sell an
item to a higher bid= der who didn't have a hold on the item, that is
not honest, but it m= ay be selfish profit maximizing.
=C2=A0
It would be hon= est if the store policy said ahead of time they are allowed to sell rain ch= ecks for more in such an occurrence.=C2=A0 Although this is a good example = of the difference between honest and rational.=C2=A0 I think this means it&= #39;s not a Nash Equilibrium if we needed to rely on the store owner to be = honest.
=C2=A0
Satoshi said an= honest majority is required for the chain to be
extended. Honest is not= really defined though. Honesty, in my
definition, is that you follow a = pre specified rule, rational or not.
=C2=A0
My take is that= "rational" is probably a better word than honest.=C2=A0 In terms= of a Nash Equilibrium, each participant is simply trying to maximize their= outcome and honesty doesn't matter (only that participants are rationa= l).
=C2=A0
It seems a lot = of the RBF controversy is that Protocol developers have
aspired to make = the honest behavior also be the rational behavior.
This is maybe a good = idea because, in theory, if the honest behavior
is rational then we can = make a weaker assumption of selfishness
maximizing a parameter.
=C2=A0
I'm curious= , can RBF can be described by a Nash Equilibrium?=C2=A0 If yes, then it als= o shouldn't matter if participants are honest?
=C2=A0
Overall, it mig= ht be nice to more tightly document what bitcoins
assumptions are in pra= ctice and what those assumptions do in terms of
properties of Bitcoin, a= s well as pathways to weakening the
assumptions without compromising the= behaviors users expect the
network to have.=C2=A0 An "extended whi= te paper" if you will.
=C2=A0
White paper 1.1= :D
=C2=A0
A last reflecti= on is that Bitcoin is specified with an honest majority
assumption, but = also has a rational dishonest minority assumption over
both endogenous (= rewards) and exogenous (electricity) costs. Satoshi
did not suggest, at = least as I read it, that Bitcoin works with an
rational majority assumpt= ion. (If anyone thinks these three are
similar properties you can make s= ome trivial counterexamples)
=C2=A0
My take is the = opposite unless I'm missing something.=C2=A0 Participants are always in= centivized to choose the rational solution (Not to waste electricity on a m= inority chain).
=C2=A0
Cheers,
-Yancy

On 2022-10-= 16 19:35, Jeremy Rubin via bitcoin-dev wrote:
The Bi= tcoin white paper says:

The proof-of-work also solves the problem o= f determining
representation in majority decision
making. If the maj= ority were based on one-IP-address-one-vote, it
could be subverted by an= yone
able to allocate many IPs. Proof-of-work is essentially
one-CPU= -one-vote. The majority
decision is represented by the longest chain, w= hich has the greatest
proof-of-work effort invested
in it. If a majo= rity of CPU power is controlled by honest nodes, the
honest chain will g= row the
fastest and outpace any competing chains. To modify a past bloc= k, an
attacker would have to
redo the proof-of-work of the block and= all blocks after it and then
catch up with and surpass the
work of = the honest nodes. We will show later that the probability of a
slower at= tacker catching up
diminishes exponentially as subsequent blocks are ad= ded.

This, Satoshi (who doesn't really matter anyways I guess?) = claimed
that for Bitcoin to function properly you need a majority honest=
nodes.

There are multiple behaviors one can describe as honest,= and
economically rational or optimizing is not necessarily rational.
For example, if I run a shop that takes rain checks, but I sell an
= item to a higher bidder who didn't have a hold on the item, that is
= not honest, but it may be selfish profit maximizing.

Satoshi said an= honest majority is required for the chain to be
extended. Honest is not= really defined though. Honesty, in my
definition, is that you follow a = pre specified rule, rational or not.

It seems a lot of the RBF contr= oversy is that Protocol developers have
aspired to make the honest behav= ior also be the rational behavior.
This is maybe a good idea because, in= theory, if the honest behavior
is rational then we can make a weaker as= sumption of selfishness
maximizing a parameter.

However, Satoshi = did not particularly bound what aspects of honesty
are important for the= network, because there isn't a spec defining
exactly what is honest= or not. And also as soon as people are honest,
you can rely on that ass= umption for good effect.

And sometimes, defining an honest behavior = can be creating a higher
utility system because most people are "la= w abiding citizens" who
might not be short term rational. For examp= le, one might expect that
miners would be interested in making sure ligh= tning closes are
"accurate" because increasing the utility of = lightning is good for
Bitcoin, even if it is irrational.

It seems= that the NoRBF crowd want to rely on an honest majority
assumption wher= e the honest behavior is not doing replacement if not
requested. This is= really not much different than trying to close
lightning channels "= ;the right way".

However, where it may be different, is that ev= en in the presence of
honest majority, the safety of 0conf isn't ass= ured given the potential
of race conditions in the mempool. Therefore it= 's not clear to me that
0conf working well is something you can driv= e from the Honest Majority
Assumption (where honest includes first seen)= .

Overall, it might be nice to more tightly document what bitcoinsassumptions are in practice and what those assumptions do in terms of
= properties of Bitcoin, as well as pathways to weakening the
assumptions = without compromising the behaviors users expect the
network to have.=C2= =A0 An "extended white paper" if you will.

=C2=A0It's = somewhat clear to me that we shouldn't weaken assumptions that
only = seem local to one subsystem of Bitcoin if they end up
destabilizing anot= her system. In particular, things that decrease
"transaction utilit= y" for end users decrease the demand for
transactions which hurts t= he fee market's longer term viability, even
if we feel good about ma= king an honest policy assumption into a self
interested policy assumptio= n.

A last reflection is that Bitcoin is specified with an honest maj= ority
assumption, but also has a rational dishonest minority assumption = over
both endogenous (rewards) and exogenous (electricity) costs. Satosh= i
did not suggest, at least as I read it, that Bitcoin works with an
= rational majority assumption. (If anyone thinks these three are
similar = properties you can make some trivial counterexamples)

Cheers,
Jeremy
_______________________________________________
bitcoin-dev m= ailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/li= stinfo/bitcoin-dev
--000000000000a103fc05eb3fba46--