BlockchainCommons / BlockchainCommons/Community

INVESTIGATION: Staging branch for experimental cryptography for the secp256k1 library?

Offen
#88 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Keine Sprachdaten
Sterne
68
Forks
7
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

There is a need for a reasonable long-term "staging" ground branch for sep256k1 related crypto that might ultimately be brought into the bitcoin ecosystem, not just at the L1 level but also at L2.

The problem is that Bitcoin Core's [secp256k1 library](https://github.com/bitcoin-core/secp256k1/) tends to not merge branches until they are extremely mature and are ready to use in an upcoming L1 release.

Until recently, Blockstream's Elements [secp256k1-zkp] has unofficially served this purpose, with early versions of Segwit, Schnorr, Taproot, etc. being first implemented there first and ultimately merged into the upstream master. Most recently, Musig 2 has been implemented in Elements -zkp branch and is under evaluation for merging upstream, and work toward quorum threshold FROST has started on Elements -zkp.

However, Blockstream and the Elements team are not sure that their Elements -zkp branch should be used this way, unless it is specifically for a Blockstream project. This causes problems as there are other important cryptographic functions that need tight integration with the secp256k1 library, but are not currently important to Blockstream, that ought to be supported by the larger community. Currently having to support multiple branches of the secp256k1 library is problematic.

I'm not sure if the right answer is to persuade Blockstream to broaden their support of other cryptographic code into Elements -zkp, or to try to build community support in the broader bitcoin-core community for an official long-term experimental staging branch hosted there, or if this is something that Blockchain Commons should try to offer the ecosystem. In the latter case, we don't have a sufficient level of cryptographic engineers to support a project like this, but we could possibly encourage some to commit to support a project like this hosted by Blockchain Commons.

* Discussion about this in [Bitcoin Core issues](https://github.com/bitcoin-core/secp256k1/issues/997#issuecomment-949463114]
* Discussion about this topic at [Elements issues](https://github.com/ElementsProject/secp256k1-zkp/issues/190)
* Related:
* [Adapter Signatures for Schnorr](https://github.com/ElementsProject/secp256k1-zkp/issues/191)
* [VRF for secp256k1](https://github.com/aergoio/secp256k1-vrf)

/cc @kanzure @jesseposner @maaku @wolfmcnally @kanzure

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem Lesen des verlinkten Bitcoin Core issue 997 und des Elements secp256k1-zkp issue 190 und prüfe anschließend die verwandten Diskussionen zu MuSig, adapter-signature und VRF. Als abgeschlossen gilt die Aufgabe, wenn eine dokumentierte Entscheidung darüber vorliegt, ob und wo ein Community-Staging-Branch existieren sollte, einschließlich der benötigten Maintainer und der kryptografischen Unterstützung.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Bereich
blockchain, cryptography
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.