Skip to content
This repository has been archived by the owner on Feb 23, 2022. It is now read-only.

Commit

Permalink
reword rfc
Browse files Browse the repository at this point in the history
  • Loading branch information
tac0turtle committed Aug 21, 2020
1 parent d7f4c17 commit 5a01147
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions rfc/003-ed25519-verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,18 @@

## Changelog

- {date}: initialized
- August 21, 2020: initialized

## Author(s)

- Marko (@marbar3778)

## Context

Tendermint uses ed25519 in consensus critical ways. As more clients begin appearing which implement the Tendermint spec (tendermint-rs) an agreement on ed25519 signature verification is needed.

[RFC 8032](https://www.rfc-editor.org/rfc/rfc8032.html) leaves space for interpretation for signature validity. This becomes a problem when a different implementation is trying to verify a signature then the one that was used to generate it.
Ed25519 keys are the only supported key types for Tendermint validators currently. Tendermint-Go wraps the ed25519 keys from the go standard library. As more clients are implemented to communicate with the canonical Tendermint implementation different implementations of ed25519 will be used. Due to [RFC 8032](https://www.rfc-editor.org/rfc/rfc8032.html) not guaranteeing implementation compatibility, Tendermint clients must to come to an agreement of how to guarantee implementation compatibility. [Zcash](https://z.cash/) has multiple implementations of their client and have identified this as a problem as well. The team at Zcash has made a proposal to address this issue, [Zcash improvement proposal 215](https://zips.z.cash/zip-0215).

## Proposal

The [Zcash](https://z.cash/) team has identified this as a problem for their client and have written libraries in various languages to help address this. [Zcash improvement proposal 215](https://zips.z.cash/zip-0215) outlines the specification of the approach for signature validity. ZIP 215 explicitly defines the criteria for signature validation.

- Tendermint-go would adopt [hdevalence/ed25519consensus](https://github.com/hdevalence/ed25519consensus).
- Tendermint-rs would adopt [ed25519-zebra](https://github.com/ZcashFoundation/ed25519-zebra)
- related [issue](https://github.com/informalsystems/tendermint-rs/issues/355)
Expand Down

0 comments on commit 5a01147

Please sign in to comment.