mirror of https://github.com/poanetwork/hbbft.git
added a TODO file and changed indentation in the .proto file
This commit is contained in:
parent
5215156ec5
commit
2205f9083e
|
@ -0,0 +1,12 @@
|
||||||
|
TODO
|
||||||
|
====
|
||||||
|
|
||||||
|
* Fix the inappropriate use of Common Coin in the Byzantine Agreement protocol
|
||||||
|
|
||||||
|
This bug is explained in https://github.com/amiller/HoneyBadgerBFT/issues/59
|
||||||
|
where a solution is suggested introducing an additional type of message,
|
||||||
|
CONF.
|
||||||
|
|
||||||
|
There may be alternative solutions, such as using a different Byzantine
|
||||||
|
Agreement protocol altogether, for example,
|
||||||
|
https://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Distributed%20Computation/BYZANTYNE%20AGREEMENT%20MADE%20TRIVIAL.pdf
|
|
@ -1,53 +1,52 @@
|
||||||
syntax = "proto3";
|
syntax = "proto3";
|
||||||
|
|
||||||
message MessageProto {
|
message MessageProto {
|
||||||
oneof payload {
|
oneof payload {
|
||||||
BroadcastProto broadcast = 1;
|
BroadcastProto broadcast = 1;
|
||||||
AgreementProto agreement = 2;
|
AgreementProto agreement = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message BroadcastProto {
|
message BroadcastProto {
|
||||||
oneof payload {
|
oneof payload {
|
||||||
ValueProto value = 1;
|
ValueProto value = 1;
|
||||||
EchoProto echo = 2;
|
EchoProto echo = 2;
|
||||||
ReadyProto ready = 3;
|
ReadyProto ready = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message ValueProto {
|
message ValueProto {
|
||||||
ProofProto proof = 1;
|
ProofProto proof = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message EchoProto {
|
message EchoProto {
|
||||||
ProofProto proof = 1;
|
ProofProto proof = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ReadyProto {
|
message ReadyProto {
|
||||||
bytes root_hash = 1;
|
bytes root_hash = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProofProto {
|
message ProofProto {
|
||||||
bytes root_hash = 1;
|
bytes root_hash = 1;
|
||||||
LemmaProto lemma = 2;
|
LemmaProto lemma = 2;
|
||||||
bytes value = 3;
|
bytes value = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message LemmaProto {
|
message LemmaProto {
|
||||||
bytes node_hash = 1;
|
bytes node_hash = 1;
|
||||||
LemmaProto sub_lemma = 2;
|
LemmaProto sub_lemma = 2;
|
||||||
|
|
||||||
oneof sibling_hash {
|
|
||||||
bytes left_sibling_hash = 3;
|
|
||||||
bytes right_sibling_hash = 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
oneof sibling_hash {
|
||||||
|
bytes left_sibling_hash = 3;
|
||||||
|
bytes right_sibling_hash = 4;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
message AgreementProto {
|
message AgreementProto {
|
||||||
uint32 epoch = 1;
|
uint32 epoch = 1;
|
||||||
oneof payload {
|
oneof payload {
|
||||||
bool bval = 2;
|
bool bval = 2;
|
||||||
bool aux = 3;
|
bool aux = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue