BlockchainCommons / Community

Discussions & shared documents for stakeholders in Blockchain Commons
Other
68 stars 10 forks source link

Project: Update DIDs for secp256k1 as per BIP39 #128

Open shannona opened 2 years ago

shannona commented 2 years ago

This would be a good group project for interns interested in internal standards and self-sovereign identity, and with different skills (writing specs, testing, coding javascript, coding C or rust, writing documentation, etc.)

Few of the emerging W3C DID (Decentralized Identifier) methods are using secp256k1 (the curve that bitcoin uses). In addition, none of that I know are actively implementing Schnorr signatures for k1, and even those in spec-only form are not making some of the choices that BIP40 made, or leverage Schnorr in sufficiently security reviewed libsecp256k1 library. Finally, no one in implementing DIDs currently are leveraging the multisig opportunities Schnorr, including musig2, FROST, adapter signatures, blinded signatures, etc.

In particular:

Related to this is beginning to be able to did:btcr 2.0 someday, see:

Potential mentors include: @kimdhamilton @csuwildcat @jandrieu @rxgrant

ChristopherA commented 1 year ago

An issue with pubkeys is bitcoin uses 32 byte x-only, but multicodec uses 33-byte. Re: conversion see: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-July/020663.html

ChristopherA commented 1 year ago

As far as signing, the best example we have is https://github.com/decentralized-identity/SchnorrSecp256k1Signature2019 but we don't actually know if it works.