Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Key Reuse Recommendations? #13

Closed
ChristopherA opened this issue Jun 30, 2017 · 1 comment
Closed

Key Reuse Recommendations? #13

ChristopherA opened this issue Jun 30, 2017 · 1 comment

Comments

@ChristopherA
Copy link
Member

Ideally, based on bitcoin principles, a key pair is only used twice — the first time only locally to create the hash that become the address, and one last time when the public key is revealed as part the signature of a transaction moving the funds to a new address.

This in DID:BTCR we should try to approach this ideal. If you use a DDO, you can only use the key pair three times, creating the address, spending the address, and one more time after the transaction is confirmed. All other keys reside in the DDO, which can include things like a PGP key. This does mean any update to these keys or the DDO information does require a bitcoin transaction and pay the fees associated.

In the case of a bare DDO (i.e. no actually DDO object pointed to in op_return) there is only once key that can be used for things like verifiable claims. This violates the bitcoin principles on key reuse. However, a bare DDO is the most censorship resistant, as it can't be identified as being different than any other P2PKH transaction.

In the case of a bare DDO, we may want to recommend that any use of the key for things like verifiable claims be the same day, possibly requiring a chainpoint-style merkle proof of existence in addition to the signature for bare DDO verified claims. This limits key reuse to the day of the transaction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants