ChainSafe / ChainSafe/go-schnorrkel
Merlin transcript RNG
- Dominant language
- Go
- Stars
- 102
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
Right now, sign and verify won't interoperate with don't fully match the implementation in rust library, since in rust schnorrkel uses the transcript RNG to generate randomness when signing. The Go merlin library we're using doesn't have that yet: see https://github.com/gtank/merlin/issues/2
See:
https://github.com/w3f/schnorrkel/blob/798ab3e0813aa478b520c5cf6dc6e02fd4e07f0a/src/sign.rs#L161
https://github.com/w3f/schnorrkel/blob/798ab3e0813aa478b520c5cf6dc6e02fd4e07f0a/src/context.rs#L153
for the relevant code in schnorrkel.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the linked schnorrkel sign.rs and context.rs sections to understand transcript RNG usage, then check the Go merlin issue referenced in the report. Done means Go signing and verification interoperate with the Rust schnorrkel implementation using matching transcript randomness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, rust
- Domain
- cryptography
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100