CodeChain-io / codechain

CodeChain's official implementation in Rust.
https://codechain.io/
GNU Affero General Public License v3.0
258 stars 51 forks source link

Introduce Schnorr signature #258

Open kseo opened 6 years ago

kseo commented 6 years ago

It's ready now.

kseo commented 6 years ago

Some preparation patches were landed: 6359ab083610744c35a0b53b10345513f9afb91e, 9a78f4561801b7bda73c215f49cc7e25daa58eac, c4f49a8366f7e3c2c039dc24df1e8840b2cd8a7c, 37a34b8f075a0f48f293de2b3b9929eb5e81ba84, 418d4721d874eaa6bf4dbb8981e9f5a74058f97d, 94ef1e634610947734100ffc79eef5db5a064baa, 0990b704e4d790816e6b9195c4271eb905ebbabd, 6e78e958dac62a16cf402d2e704086663ebdadf6

hyunsikjeong commented 6 years ago

To-do

hyunsikjeong commented 6 years ago

Finished working on the primitives.

hyunsikjeong commented 6 years ago

Finished working on CodeChain and the SDK. CodeChain: https://github.com/CodeChain-io/codechain/commits/schnorr codechain-sdk-js: https://github.com/codechain-io/codechain-sdk-js/tree/schnorr codechain-keystore-js: https://github.com/CodeChain-io/codechain-keystore-js/tree/schnorr

hyunsikjeong commented 6 years ago

Might need to change the code of libsecp256k1. See https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki#cite_note-4, the current code uses the option 2.

sgkim126 commented 6 years ago

@jhs7jhs What is the current status of this issue? Is there something to do?

hyunsikjeong commented 6 years ago

@sgkim126 Currently the basic implementation is finished, but it's based on the experimental part of the old version of the bitcoin library, so it is quite dangerous to merge. Also, MuSig signing is not supported yet and needs to be implemented.