Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the snapshot signature rounds #62

Closed
cedricfung opened this issue Dec 2, 2020 · 2 comments
Closed

Improve the snapshot signature rounds #62

cedricfung opened this issue Dec 2, 2020 · 2 comments
Assignees

Comments

@cedricfung
Copy link
Contributor

BLS makes better promise, its simplicity for aggregated signatures can easily replace our cosi workflow.

According to the launch of Ethereum 2.0 Beacon it's a good time to have the first mature and audited BLS implementation

  1. https://github.com/supranational/blst
  2. https://twitter.com/technocrypto/status/1330150362427387910
  3. https://www.reddit.com/r/ethfinance/comments/jghide/daily_general_discussion_october_23_2020/g9sz7jm/?context=8&depth=9
  4. https://medium.com/cryptoadvance/bls-signatures-better-than-schnorr-5a7fe30ea716
@cedricfung
Copy link
Contributor Author

The weakness of BLS is the performance is way lower than ed25519, at least 10x slower, especially the verification speed. The BLS signature is also bigger than ed25519 when we use the aggregation setup, and of course we need the aggregation alternative.

The good thing of BLS is that the aggregated snapshot signature can be obtained within one round, while ed25519 requires two rounds to aggregate the full signature. But for now, when a leader starts a snapshot, we have the assumptions that other nodes may or may not know the transactions, and to reduce bandwidth usage, the leader will not send the transaction at the announcement message, thus a second round would help a lot if the signers don't know the transaction, so that the leader will send it during the challenge message.

We could also improve the performance without BLS, and still two rounds ed25519:

  1. The first round is the node round beginning, just with one normal snapshot as before.
  2. All signers should respond more than one random commitments, one of them is for the snapshot, the others are for remaining snapshots of the leader.
  3. The leader will challenge the signers with their commitments directly for the first snapshot in the round and all the following snapshots, without further announcements round needed.

Here we also assume all the signers don't know the transaction yet, the same as how BLS can improve the performance.

@cedricfung cedricfung changed the title Migrate from Ed25519 to BLS Improve the snapshot signature rounds Sep 20, 2022
@cedricfung cedricfung modified the milestone: Stubborn Mayflies Sep 20, 2022
@cedricfung cedricfung added this to the Stubborn Mayflies milestone Sep 29, 2022
@cedricfung
Copy link
Contributor Author

We choose improved ed25519 over BLS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants