Subject: Re: [bitcoin-dev] Towards a means of measuring user support for Soft Forks

From: Billy Tetrud <[email-masked]>
Date: Thu, 28 Apr 2022 00:18:06 -0500

@Felipe
> the consensus should follow the current line: discussions and tests
carried out by experts. We all know that the most important devs have the
most weight in discussions. And that's how it should be

We have up til this point been miraculously lucky that the vast majority of
prominent bitcoin developers are in relative alignment on the big picture
philosophy and have all seemed to be honest and open in general. However,
we cannot rely on this era of philosopher kings to continue. Relying on
experts in this way is an enormous attack vector. It should not be the
"most important" devs who carry the most weight, but weight should be
carried by the logic of what is being said. The speaker should ideally not
matter in consensus building. So I agree with Keagan's implication that
this is not how bitcoin should govern itself. We should move away from
appeals to authority towards something more amorphous and difficult to
control.

@Jeremy
> if there were a way to sign with a NUMS point for ring signature purposes

Do you have any link you could point to about NUMS points? I assume this
would be a way to aggregate coin-weighted signals in a way that helps hide
who signaled in what direction?

> if NUMS points are common these ring signatures protocols might not be
too useful for collecting signals

I'm curious: why is it better if its less common? I'm used to privacy
properties increasing as the privacy technique used becomes more common.

@Erik
> it doesn't address the "what about people who don't know there's a vote
going on"
> how nonexperts can "have a say" when they simply don't understand the
relevant issues.

I think a useful way to think about this is in terms of preferences and
representation, rather than in the terms of coming to the best technical
solution. The fact of the matter is that value is subjective and therefore
there is no "best" technical solution all the time. Sometimes the
preferences of stakeholders must be weighed and a compromise come to.
Hopefully most of these kinds of compromises can happen in the free market
on upper layers. But certainly some of them happen on the consensus layer.

An expert with deep knowledge can deeply understand a design or change well
enough to come to a full opinion about it according to their preferences.
But even other experts might not have read enough about a thing, or just
don't have time to delve deeply into that particular aspect. They'll have
to rely partly on their ability to make a determination from partial
knowledge and their ability to evaluate the trustworthiness and skill of
those who have deeper knowledge than them. Nonexperts and non-technical
people have to rely on those kinds of things even more so. Many people only
have social signals to rely on. What do the people they trust say?

I believe that the truth gets out eventually. Those who have deep knowledge
will eventually convince those who don't, tho that may take a long time to
play out. As annoying as the twitterati is, I think we should get used to
needing to give their opinions a bit of weight in terms of measuring
consensus. Of course, we shouldn't be making technical decisions based on
what nontechnical people want or think, however, what we should do is make
sure that we are explaining the changes we propose to make clearly enough
that a certainly level of comfort diffuses into the social circles of
people who care about bitcoin but don't understand it at a technical enough
level to participate in technical decision making. At a certain point, if
not enough people are comfortable with a change, the change shouldn't be
made yet until enough people are convinced its probably safe and probably
good. Think of the large set of non-technical people to be a glue that
connects together otherwise unconnected pockets of wisdom.

Doing things this way would almost certainly lead to slower development.
But development of the consensus layer slowing over time should be what we
all expect, and I daresay what we should all want eventually.

> it will just be a poll of "people who pay attention to the dev list and
maybe some irc rooms"

Maybe. But if there were mechanisms for broader consensus measuring,
perhaps more would pay attention. Perhaps some way to affect change would
lead more to have discussions and participate.

Even if its a small group at first, I think it would be very useful
information to see both who explicitly supports something, who explicitly
is against something, and also who is paying attention but neutral (maybe
even actively signaling as "neutral').

> unless there's a great ux around the tooling my guess is that it won't
garner a lot of meaningful data:

I agree. Tooling would be very important here.

On Wed, Apr 27, 2022 at 3:13 PM Erik Aronesty <[email-masked]> wrote:

>
>>
>> Have you taken a look at my proposal
>> <https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-March/020146.html>?
>> The proposal is, to be clear, *not* "voting" but rather polling that isn't
>> programmatically connected to activation. The intention is for people
>> (developers) to look at the polling results and make an educated analysis
>> of it as far as how it should contribute to consensus gathering.
>>
>
> it's cool, and i agree it's somewhat censorship resistant
>
>
>> Let's say everyone who participates in polling broadcasts it along the
>> bitcoin network (a separate network would probably be better, so as to not
>> interfere with normal bitcoin, but I digress),
>>
>
> right, anyone can then publish a json file with polling aggregates at a
> certain block height and anyone can quickly check to see if they are lying
> or missing data
>
>
>> Similar structures could be added to any script configuration to allow
>> signing of polls without any significant exposure.
>>
>
> rubin's suggestion around tapscript anon voting could help with anonymity
>
> .... all of this is cool ...
>
> but it doesn't address the "what about people who don't know there's a
> vote going on"  or other the other social issues with "weighted polling" in
> general, like how nonexperts can "have a say" when they simply don't
> understand the relevant issues.  i personally feel like i'm "only a very
> little bit up on the issues" and i have more tech knowledge than most
> people i know
>
> also, it will just be a poll of "people who pay attention to the dev list
> and maybe some irc rooms"
>
> might be worth experimenting with... but unless there's a great ux around
> the tooling my guess is that it won't garner a lot of meaningful data:
>
> open source, simple cli, gitian build, installs easily on all platforms,
> works well with bitcoind rpc, works with ledger, can import a seed, etc.
>
>