added a TODO file and changed indentation in the .proto file

This commit is contained in:
Vladimir Komendantskiy 2018-05-07 18:28:22 +01:00
parent 5215156ec5
commit 2205f9083e
2 changed files with 38 additions and 27 deletions

12
TODO Normal file
View File

@ -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

View File

@ -1,53 +1,52 @@
syntax = "proto3";
message MessageProto {
oneof payload {
BroadcastProto broadcast = 1;
AgreementProto agreement = 2;
}
oneof payload {
BroadcastProto broadcast = 1;
AgreementProto agreement = 2;
}
}
message BroadcastProto {
oneof payload {
ValueProto value = 1;
EchoProto echo = 2;
ReadyProto ready = 3;
}
oneof payload {
ValueProto value = 1;
EchoProto echo = 2;
ReadyProto ready = 3;
}
}
message ValueProto {
ProofProto proof = 1;
ProofProto proof = 1;
}
message EchoProto {
ProofProto proof = 1;
ProofProto proof = 1;
}
message ReadyProto {
bytes root_hash = 1;
bytes root_hash = 1;
}
message ProofProto {
bytes root_hash = 1;
LemmaProto lemma = 2;
bytes value = 3;
bytes root_hash = 1;
LemmaProto lemma = 2;
bytes value = 3;
}
message LemmaProto {
bytes node_hash = 1;
LemmaProto sub_lemma = 2;
oneof sibling_hash {
bytes left_sibling_hash = 3;
bytes right_sibling_hash = 4;
}
bytes node_hash = 1;
LemmaProto sub_lemma = 2;
oneof sibling_hash {
bytes left_sibling_hash = 3;
bytes right_sibling_hash = 4;
}
}
message AgreementProto {
uint32 epoch = 1;
oneof payload {
bool bval = 2;
bool aux = 3;
}
uint32 epoch = 1;
oneof payload {
bool bval = 2;
bool aux = 3;
}
}