LearnBitcoin

Bitcoin Dev Archive 2014

Working on social contracts (was: Paper Currency)

7 messages, 19 May 2014. Started by Gavin Andresen.

Justus Ranvier (3), Gavin Andresen (2), Mike Hearn, Greg Maxwell

Permalink Original thread on gnusha.org

Gavin Andresen permalink original

On Mon, May 19, 2014 at 2:20 PM, Justus Ranvier <justusranvier@gmail•com>wrote:

Quoted text (6 lines)
>
> You and Gavin could do a lot better by working on a Bitcoin social
> contract - a promise of what features will *never* be added (or taken
> away) from Bitcoin, because despite what you say it's not acceptable
> to propose anything at all.
>

Now I'm really confused.

Why would Mike or I have the authority to write a "social contract" to promise anything about future-Bitcoin?

I thought the only "social contract" was the decentralized one we have already-- if you don't like something about the code, then don't download and run it. Or fork it if you're able.

As the person who started this mailing list, I DO feel like I have the authority to enforce a social contract of "no trolling or flaming or name-calling" here. I'd very much like to delegate that authority, though; ideally to some software algorithm that automatically censors topics or people who don't contribute to a productive discussion.

PS: speaking of productive discussion... ... please change the Subject line when the topic wanders.

Justus Ranvier in reply to Gavin Andresen permalink original

On 05/19/2014 09:41 PM, Gavin Andresen wrote:

Quoted text (4 lines)
> Now I'm really confused.
>
> Why would Mike or I have the authority to write a "social contract"
> to promise anything about future-Bitcoin?

YOU can make promises about YOUR future behavior. So can everyone else.

The rest of the community can keep track of which developers will and will not make promises about what changes they will and will not attempt to implement in Bitcoin, and they can use that information to make informed decisions about which software they will choose to support.

Gavin Andresen in reply to Justus Ranvier permalink original

Okey dokey:

I hereby promise and solemnly swear on pain of atomic wedgie that I will never ever work on or endorse any changes to the Bitcoin system that would enable any person or group to confiscate, blacklist, or devalue any other person or group's bitcoin.

RE: writing an RFC: go for it. I have much higher tasks on my TODO list.

Mike Hearn in reply to Justus Ranvier permalink original

Sorry. I will never agree to the concept of a relevant idea so dangerous it cannot be discussed. That's medieval thinking. If you would like to create a parallel development forum where people have to swear an oath not to think bad thoughts, go right ahead and do so.

But I'm glad to see you correctly identified yourself as one of the people causing problems on this list. Your vicious attacks are one of the reasons we're now seeing threads that start with "I hope I don't get flamed or laughed at for this idea but ...." which is totally unacceptable. I would prefer you just unsubscribe, in the hope we get a second chance from some of the potential developers we've lost.

Justus Ranvier in reply to Mike Hearn permalink original

On 05/19/2014 10:06 PM, Mike Hearn wrote:

Quoted text (14 lines)
> Sorry. I will never agree to the concept of a relevant idea so
> dangerous it cannot be discussed. That's medieval thinking. If you
> would like to create a parallel development forum where people have
> to swear an oath not to think bad thoughts, go right ahead and do
> so.
>
> But I'm glad to see you correctly identified yourself as one of the
> people causing problems on this list. Your vicious attacks are one
> of the reasons we're now seeing threads that start with "I hope I
> don't get flamed or laughed at for this idea but ...." which is
> totally unacceptable. I would prefer you just unsubscribe, in the
> hope we get a second chance from some of the potential developers
> we've lost.
>

I'm glad to see you correctly identified yourself as well.

Greg Maxwell in reply to Justus Ranvier permalink original

On Mon, May 19, 2014 at 1:01 PM, Justus Ranvier <justusranvier@gmail•com> wrote:

Quoted text (6 lines)
> YOU can make promises about YOUR future behavior. So can everyone else.
>
> The rest of the community can keep track of which developers will and
> will not make promises about what changes they will and will not
> attempt to implement in Bitcoin, and they can use that information to
> make informed decisions about which software they will choose to support.

I promise that if bad people show up with a sufficient pointy gun that I'll do whatever they tell me to do. I'll make bad proposals, submit backdoors, and argue with querulous folks on mailing lists, diverting them from real development and review work, all as commanded. Maybe I'll try to sneak out a warning of some kind, maybe... but with my life or my families or friends lives on the line— probably not.

... and I think that anyone who tells you otherwise probably just hasn't really thought it through. So what is the point of commitments like that? People change, people go crazy, people are coerced. Crap happens, justifications are made, life goes on— or so we hope.

What matters is building infrastructure— both social and technical— that is robust against those sorts of failures. If you're depending on individual developers (including anonymous parties and volunteers) to be somehow made more trustworthy by some promises on a mailing list you've already lost.

If you care about this you could instead tell us about how much time you promise to spend reviewing technical work to make sure such attacks cannot be successful, regardless of their origins. Where are your gitian signatures? I think thats a lot more meaningful, and it also improves security for everyone involved since knowing that such attacks can not succeeded removes the motivation for ever trying.

A lot of what Bitcoin is about, for me at least, is building systems which are as trustless as possible— ruled by unbreakable rules embodied in the software people chose to use out of their own free will and understanding. Or at least thats the ideal we should try to approximate. If we're successful the adhomenim you've thrown on this list will be completely pointless— not because people are trusted to not do evil but because Bitcoin users won't accept technology that makes it possible.

So please go ahead and assume I'm constantly being evil and trying to sneak something in... the technology and security can only be better for it, but please leave the overt attacks at the door. Think gentleman spies, not a street fighting death match. The rude attacks and characterizations just turn people off and don't uncover actual attacks. Maybe the informal guideline should be one flame-out personal attack per cryptosystem you break, serious bug you uncover, or impossible problem you solve. :)

Justus Ranvier in reply to Greg Maxwell permalink original

On 05/19/2014 11:07 PM, Gregory Maxwell wrote:

Quoted text (13 lines)
> I promise that if bad people show up with a sufficient pointy gun
> that I'll do whatever they tell me to do. I'll make bad proposals,
> submit backdoors, and argue with querulous folks on mailing lists,
> diverting them from real development and review work, all as
> commanded. Maybe I'll try to sneak out a warning of some kind,
> maybe... but with my life or my families or friends lives on the
> line— probably not.
>
> ... and I think that anyone who tells you otherwise probably just
> hasn't really thought it through.  So what is the point of
> commitments like that?  People change, people go crazy, people are
> coerced. Crap happens, justifications are made, life goes on— or so
> we hope.

I presume you're familiar with the concept of a warrant canary, so presumably you'd also see why public statements such as I was discussing would be similarly useful.

Social contracts make it more difficult to hide coercion, which serves no one except the attackers.