semux-core icon indicating copy to clipboard operation
semux-core copied to clipboard

Use BLS Signature Scheme to Aggregate Validator Votes

Open cryptokat opened this issue 5 years ago • 4 comments

In the current implementation the votes of validator for each block takes about 10 KB as of 100 validators, such that every single day ~28 MB of additional storage space is required even if there's no transaction at all. With BLS signatures scheme we will be able to aggregate validator votes into a single signature without extra network round trips, making the required additional storage space for validator votes down to 240 KB each day.

TODOs

  • [ ] Implement Java binding for https://github.com/Chia-Network/bls-signatures
  • [ ] Update wallet to automatically generate a BLS keypair for each account
  • [ ] Update delegate registration protocol to require a BLS public key for each registration
  • [ ] Implement validator vote aggregation
  • [ ] Initiate a fork that requires at least 2/3 of validators to register a BLS public key

Why not Schnorr MuSig or CoSi

Both of the signature aggregation algorithms require a 3-round protocol over the network, which may greatly increase the complexity of SemuxBFT.

cryptokat avatar May 25 '19 03:05 cryptokat

BLS will be a great add-on to the current implementation. Look forward to it. Look forward to it!

Do you intend to use the same private key bytes to derive a BLS key pair?

semuxgo avatar May 25 '19 11:05 semuxgo

@semuxgo I am not really sure if that would be secure as I am not a cryptography expert. It would be the safest if we simply require each delegate to generate a new keypair randomly.

cryptokat avatar May 25 '19 11:05 cryptokat

While the storage problem is very important, this still doesn't solve all the networking problems, right? Can we consider some kind of gossiping scheme to enhance the scalability and reduce both the block time and the blockchain size dramatically?

Please check the "The origin of IDA" part from here: https://medium.com/harmony-one/block-syncing-in-1-36s-with-harmonys-adaptive-ida-protocol-de5da398569e

honeycrypto avatar May 25 '19 11:05 honeycrypto

@honeycrypto Thanks for sharing that. Improvements on the gossip protocol is definitely something worth looking into.

cryptokat avatar May 25 '19 12:05 cryptokat