hotstuff
hotstuff copied to clipboard
Hello. I was using the program and observed some possible issues in `crypto/bls12/bls12/go`. Namely, the methods `CreateThresholdSignature()` and `VerifyThresholdSignature()` actually create (and verify) an *aggregate*, not threshold, signature, which is...
With higher payload sizes, we should be able to reduce the size of proposals and reduce the time consumed by creating partial signatures if we send a hash of each...
It should be possible to add or remove replicas from the running configuration without requiring a restart.
This project is more than an implementation of HotStuff now, so I think we should find a new name for it. What do you think? @meling @leandernikolaus
Would be nice to get the various branches merged or discarded. Started to review some of the branches, and saw a few typos in critical places, so would be nice...
Related to #5 and #3. A recovery mechanism is needed to allow a replica to recover if it has been unable to receive messages.
In `cmd/latencygen/latency_gen.go:32` we can replace these two lines: ```go keys := maps.Keys(allToAllMatrix) sort.Strings(keys) ``` With this line: ```go keys := slices.Sorted(maps.Keys(allToAllMatrix)) ``` When Go 1.23 is released with support for...
We have functions for parsing from `[]byte` to key and marshaling key to PEM in the `keygen` package. ```go // ParsePrivateKey parses a PEM encoded private key. func ParsePrivateKey(buf []byte)...
Hi Professor Hein Meling, According to the original [Hotstuff paper algorithm](https://arxiv.org/pdf/1803.05069.pdf) page 13, Algorithm 5 (Code skeleton for a Pacemaker), line 8, upon proposing a new block, the leader updates...
In quorum certificates, we sign the block (encoded). Why do we not just sign the hash of the block? By just signing the hash, we could verify certificates without having...