Skip to content

Conversation

@maflcko
Copy link
Member

@maflcko maflcko commented Dec 15, 2017

Having to host a copy of the keys in this repo was a common source of discussion and distraction, caused by problems such as:

  • Outdated keys. Unclear whether and when to replace by fresh copies.
  • Unclear when to add a key of a new developer or Gitian builder.

The problems are solved by

  • Having no keys but only the fingerprints
  • Adding a rule of thumb, when to add a new key

Moving the keys to a different repo solves none of these issues, but since the keys are not bound to releases or git branches of Bitcoin Core, they should live somewhere else.

Obviously, all keys are hosted and distributed on key servers, but were added to the repo solely for convenience and redundancy.

Moving the mirror of those keys to a different repo makes it less distracting to update them -- let's say -- prior to every major release.

I updated our doc/release-process.md to reflect the new location.

DEPENDS_ON bitcoin-core/gitian.sigs#621

@jonasschnelli
Copy link
Contributor

Moving the keys away from this repository would loose the potential for a "verification-chain" (signed builds contains keys to verify future releaes).
Shipping the keys in a verifiable binary (or now via the tar ball) adds additional security.

My long term use case is to have a binary verifier shipped with bitcoin core (same signing and verification process).
Therefore we could add keys (probably new secp256k1 keys) to the binary and allow verification of future releases.

Maybe we could do that once we have that use case more sketched out.

@meshcollider
Copy link
Contributor

@laanwj suggested leaving the key fingerprints in the main repo (#11845 (comment))

@maflcko maflcko force-pushed the Mf1712-gitianKeysDel branch from fa9c9f7 to fad7783 Compare December 16, 2017 01:02
@maflcko maflcko changed the title Gitian: Move keys to sigs repo contrib: Replace developer keys with list of pgp fingerprints Dec 16, 2017
@laanwj
Copy link
Member

laanwj commented Dec 16, 2017

Concept ACK.

Having the keys in a separate repository also means that we can keep the keys up to date there - no problem with commit noise, no more need for refreshing keys from gpg keyservers at the beginning of the travis build (which fails half the time).

@laanwj suggested leaving the key fingerprints in the main repo

Yes, having the key fingerprints in the main repo is enough to verify the keys are correct.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a separate script? Such a large snippet is hard to copy/paste.

@luke-jr
Copy link
Member

luke-jr commented Dec 16, 2017

Would be nice to have names with the fingerprints.

Maybe:

...
AEC1884398647C47413C1C3FB1179EB7347DC10D John Doe
" | while read fingerprint keyholder_name; do
...

@maflcko maflcko force-pushed the Mf1712-gitianKeysDel branch 2 times, most recently from fa3dd0f to fa38d52 Compare December 16, 2017 18:35
@meshcollider
Copy link
Contributor

Concept ACK

@jonasschnelli
Copy link
Contributor

Having the keys in a separate repository also means that we can keep the keys up to date there - no problem with commit noise, no more need for refreshing keys from gpg keyservers at the beginning of the travis build (which fails half the time).

Good point.

Concept ACK

Copy link
Member

@achow101 achow101 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK fa38d529a75a6cd1a51326c05170b3db2606fd14 modulo typo

Maybe this should include the fingerprint of the release key too?

It might also be better to move this to a more generic pgp keys folder instead of specifically gitian-keys.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/builers/builders

@maflcko maflcko force-pushed the Mf1712-gitianKeysDel branch from fa38d52 to faeab66 Compare December 18, 2017 04:08
@maflcko
Copy link
Member Author

maflcko commented Dec 18, 2017

Fixed @achow101 nit and fixed up, should be easy to re-ACK.

Maybe this should include the fingerprint of the release key too?

Happy to do that, but I think this is separate from the current goal. Will add a commit on top if others agree on that.

It might also be better to move this to a more generic pgp keys folder instead of specifically gitian-keys.

Note that the fingerprints of the maintenance keys are listed in https://github.com/bitcoin/bitcoin/blob/62fdf9b07087b80d2142799bdd2324f61483359d/contrib/verify-commits/trusted-keys and the ones in this folder are meant to be the ones that are used for gitian signatures. So I guess the name is fine to keep for now.

## PGP keys of Gitian builders and Developers

This folder contains the public keys of developers and active contributors.
This list contains the public keys of Gitian builders and active developers.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "keys.txt contains"

E777299FC265DD04793070EB944D35F9AC3DB76A Michael Ford
01CDF4627A3B88AAE4A571C87588242FBE38D3A8 Gavin Andresen
D3CC177286005BB8FF673294C5242A1AB3936517 jl2012
D2D1085B9425F9DEFA06E7932270E30C522739F6 Jonas Schnelli
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This key "D2D1085B9425F9DEFA06E7932270E30C522739F6" has expired, and I couldn't look it up. We could probably remove it given @jonasschnelli has another key listed.

ED9BDF7AD6A55E232E84524257FF9BDBCC301009 Sjors Provoost
77E72E69DA7EE0A148C06B21B34821D4944DE5F7 Nils Schneider
79D00BAC68B56D422F945A8F8E3A8F3247DBCBBF Willy Ko
AEC1884398647C47413C1C3FB1179EB7347DC10D Warren Togami
Copy link
Member

@fanquake fanquake Dec 19, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I verified that I was able to retrieve all the other keys, and that the names listed here are correct.

@practicalswift
Copy link
Contributor

Concept ACK

@@ -0,0 +1,27 @@
152812300785C96444D3334D17565732E08E5E41 Andrew Chow
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add my key fingerprints?
617C90010B3BD370B0AC7D424BB42E31C79111B8 Akira Takizawa

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removal and addition of keys will happen in separate pull requests. You should wait until this one is merged.
Might want to help by review, though.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@akx20000a This has been merged, you can submit your PR now

This was referenced Feb 5, 2018
@laanwj
Copy link
Member

laanwj commented Feb 6, 2018

utACK fabb72b

@laanwj laanwj merged commit fabb72b into bitcoin:master Feb 6, 2018
laanwj added a commit that referenced this pull request Feb 6, 2018
…prints

fabb72b contrib: Remove xpired 522739F6 key (MarcoFalke)
faeab66 contrib: Replace developer keys with list of pgp fingerprints (MarcoFalke)

Pull request description:

  Having to host a copy of the keys in this repo was a common source of discussion and distraction, caused by problems such as:

  * Outdated keys. Unclear whether and when to replace by fresh copies.
  * Unclear when to add a key of a new developer or Gitian builder.

  The problems are solved by
  * Having no keys but only the fingerprints
  * Adding a rule of thumb, when to add a new key

  <strike>Moving the keys to a different repo solves none of these issues, but since the keys are not bound to releases or git branches of Bitcoin Core, they should live somewhere else.

  Obviously, all keys are hosted and distributed on key servers, but were added to the repo solely for convenience and redundancy.

  Moving the mirror of those keys to a different repo makes it less distracting to update them -- let's say -- prior to every major release.

  I updated our `doc/release-process.md` to reflect the new location.

  DEPENDS_ON bitcoin-core/gitian.sigs#621
  </strike>

Tree-SHA512: c00795a07603190e26dc4526f6ce11e492fb048dc7ef54b38f859b77dcde25f58ec4449f5cf3f85a5e9c2dd2743bde53f7ff03c8eccf0d75d51784a6b164e47d
@maflcko maflcko deleted the Mf1712-gitianKeysDel branch February 7, 2018 03:33
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants