Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Replace Ed25519 with Ristretto crypto for transaction signing  #1685

@gavofyork

Description

@gavofyork

Right now we use Ed25519 for everything signing. Instead, for transaction signing, we should use the Schnorr-signature-on-Ristretto scheme. It's implemented in schnorrkel and the sign/verify interface together with key and signature sizes remain essentially unchanged from Ed25519. (It's good because it supports soft HD key derivation and multisig.)

Best way to approach this would be to create a new module in core/primitives/src exactly analagous to ed25519.rs called sr25519.rs ("schnorr-ristretto-25519") with the same types and functions that do the same thing, then simply rename any instances of "ed25519" to "sr25519" that are involved in transactions/extrinsics.

keyring crate will need updating, as will a number of tests.

Metadata

Metadata

Assignees

Labels

J0-enhancementAn additional feature request.Z1-easyCan be fixed primarily by duplicating and adapting code by an intermediate coder

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions