public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: ZmnSCPxj <ZmnSCPxj@protonmail•com>
To: Keagan McClelland <keagan.mcclelland@gmail•com>,
	Bitcoin Protocol Discussion
	<bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] Towards a means of measuring user support for Soft Forks
Date: Thu, 28 Apr 2022 05:26:48 +0000	[thread overview]
Message-ID: <xfv5DvQbY3cevWF_T2N_hu74Hz8k58z-u6eiBodcmRWQkL3od0CSJdmA788kPSv1PjXhby9ntoP_mFMoWfW1gGFykMBehaGC1Ge7nusenJ4=@protonmail.com> (raw)
In-Reply-To: <CALeFGL3oV2c8cioak1-CfDxNp93wz1qwasYETTgkAY+C31Mbxw@mail.gmail.com>

Good morning Keagan, et al,



> I think there are a few questions surrounding the issue of soft fork activation. Perhaps it warrants zooming out beyond even what my proposal aims to solve. In my mind the most important questions surrounding this process are:
>
> 1. In an ideal world, assuming we could, with perfect certainty, know anything we wanted about the preferences of the user base, what would be the threshold for saying "this consensus change is ready for activation"?
>     1a. Does that threshold change based on the nature of the consensus change (new script type/opcode vs. block size reduction vs. blacklisting UTXOs)?
>     1b. Do different constituencies (end users, wallets, exchanges, coinjoin coordinators, layer2 protocols, miners) have a desired minimum or maximum representation in this "threshold"?

Ideally, in a consensus system, 100% should be the threshold.
After all, the intent of the design of Bitcoin is that everyone should be able to use it, and the objection of even 0.01%, who would actively refuse a change, implies that set would not be able to use Bitcoin.
i.e. "consensus means 'everyone agrees'"

Against this position, the real world smashes our ideals.
Zooming out, the number of Bitcoin users in the globe is far less than 100%, and there are people who would object to the use of Bitcoin entirely.
This implies that the position "consensus means 'everyone agrees'" would imply that Bitcoin should be shut down, as it cannot help users who oppose it.
Obviously, the continued use of Bitcoin, by us and others, is not in perfect agreement with this position.

Let us reconsider the result of the blocksize debate.
A group of former-Bitcoin-users forked themselves off the Bitcoin blockchain.
But in effect: the opposers to SegWit were simply outright *evicted* from the set of people who are in 'everyone', in the "consensus means 'everyone agrees'" sense.
(That some of them changed their mind later is immaterial --- their acceptance back into the Bitcoin community is conditional on them accepting the current Bitcoin rules.)

So obviously there is *some* threshold, that is not 100%, that we would deem gives us "acceptable losses".
So: what is the "acceptable loss"?

--

More philosphically: the [Aumann Agreement Theorem](https://en.wikipedia.org/wiki/Aumann%27s_agreement_theorem) can be bastardized to: "if two people are perfectly rational and start from the same information, they *will* agree".

If humans were perfectly rational and the information was complete and accurately available beforehand, we could abduct a single convenient human being, feed them the information, and ask them what they think, and simply follow that.
It would be pointless to abduct a second human, since it would just agree with the first (as per the Aumann Agreement Theorem), and abducting humans is not easy or cheap.

If humans were perfectly rational and all information was complete, then there would be no need for "representation", you just input "this is my goal" and "this is the info" and get out "aye" or "nay", and whoever you gave those inputs to would not matter, because everyone would agree on the same conclusion.

All democracy/voting and consensus, stem from the real-world flaws of this simple theorem.

1.  No human is perfectly rational in the sense required by the Aumann Agreement Theorem.
2.  Information may be ambiguous or lacking.
3.  Humans do not want to reveal their *actual* goals and sub-goals, because their competitors may be able to block them if the competitors knew what their goals/sub-goals were.

Democracy, and the use of some kind of high "threshold" in a "consensus" (ha, ha) system, depend on the following assumptions to "fix" the flaws of the Aumann Agreement Theorem:

1.  With a large sample of humans, the flaws in rationality (hopefully, ha, ha) cancel out, and if we ask them *Really Nicely* they may make an effort to be a little nearer to the ideal perfect rationality.
2.  With a large sample of humans, the incompleteness and obscureness of the necessary information may now become available in aggregate (hopefully, ha, ha), which it might not be individually.
3.  With a large sample of humans, hopefully those with similar goals get to aggregate their goals, and thus we can get the most good (achieved goals) for the greatest number.

Unfortunately, democracy itself (and therefore, any "consensus" ha ha system that uses a high threshold, which is just a more restricted kind of democracy that overfavors the status quo) has these flaws in the above assumptions:

1.  Humans belong to a single species with pretty much a single brain design ("foolish humans!"), thus flaws in their rationality tend to correlate, so aggregation will *increase* the error, not decrease it.
2.  Humans have limited brain space ("puny humans!") which they often assign to more important things, like whether Johnny Depp is the victim or not, and thus the information needed to make a good decision on inconsequential things, like Bitcoin (the future of money and hopefully a key to more prosperity for our civilization), may still not be available.
3.  Human goals and sub-goals may be so disparate and incompatible that the result is instead an unfocused, scattered mess.

In conclusion, what we need to do is to eliminate these humans and hand over control of the world to an AI from outside of space and time.

Unfortunately, we do not have access to such an AI, and instead must make do with mere humans.


But in principle, *everything* other than "just ask some random human and do what they think is good" are simply attempts to work around the known issues of real-world application of the Aumann Agreement Theorem.
Instead of increasingly-complicated solutions, could we attack the issues directly so we can settle for the simplest (but known flawed due to the issues with direct application of the Aumann Agreement Theorem) solution?

1.  Can we improve the thinking of typical humans discussing this topic?
2.  Can we gather all the relevant information?
    - This seems easiest to tackle.
3.  Can we actually have the goals of all humans discussing this topic all laid out, *accurately*?
    - This may be impossible, given that human brains are not introspective enough to understand their own sub-conscious goals.


Of note is that the reason why "democracy works" (and also that "consensus ha ha works", given that we have already done eviction of some set of users before in order to maintain "consensus") is that widespread agreement on some topic, among more-rational-than-irrational humans, is evidence that a *purely rational* computational entity would decide the same thing.
That is, we assume that the minority whose view is rejected is either irrational, uninformed, or malicious (i.e. has goals incompatible with the rest) and therefore that if we evict them, the remainder achieves Aumann Agreement and the majority view is in fact, rational, well-informed, and goal-maximizing.



Regards,
ZmnSCPxj


  reply	other threads:[~2022-04-28  5:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-26 19:37 Keagan McClelland
2022-04-26 20:39 ` Bryan Bishop
2022-04-27  3:04   ` Billy Tetrud
2022-04-27 14:01     ` Chris Riley
2022-04-27 14:28       ` Erik Aronesty
2022-04-27 16:17         ` Billy Tetrud
2022-04-27 20:13           ` Erik Aronesty
2022-04-28  5:18             ` Billy Tetrud
2022-04-28 16:09               ` Billy Tetrud
2022-04-28 16:35                 ` Billy Tetrud
2022-04-30  6:14                   ` ZmnSCPxj
2022-05-01 22:41                     ` Billy Tetrud
2022-04-27 15:27 ` Ryan Grant
2022-04-27 17:22 ` micaroni
2022-04-27 18:32   ` Keagan McClelland
2022-04-28  5:26     ` ZmnSCPxj [this message]
2022-04-28  8:03     ` micaroni
2022-04-27 17:54 ` Jeremy Rubin
2022-04-28  0:16 ` Nadav Ivgi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='xfv5DvQbY3cevWF_T2N_hu74Hz8k58z-u6eiBodcmRWQkL3od0CSJdmA788kPSv1PjXhby9ntoP_mFMoWfW1gGFykMBehaGC1Ge7nusenJ4=@protonmail.com' \
    --to=zmnscpxj@protonmail$(echo .)com \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    --cc=keagan.mcclelland@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox