├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYRIGHT ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── assets ├── honey_badger_diagram.svg └── screenshot.png ├── ci.sh ├── deploy_rsa.enc ├── examples ├── README.md ├── consensus-node.rs ├── network │ ├── commst.rs │ ├── connection.rs │ ├── messaging.rs │ ├── mod.rs │ └── node.rs ├── run-consensus-nodes.sh └── simulation.rs ├── hbbft_testing ├── Cargo.toml └── src │ ├── adversary.rs │ ├── err.rs │ ├── lib.rs │ ├── proptest.rs │ ├── util.rs │ └── util_tests.rs ├── src ├── binary_agreement │ ├── binary_agreement.rs │ ├── bool_multimap.rs │ ├── bool_set.rs │ ├── mod.rs │ └── sbv_broadcast.rs ├── broadcast │ ├── broadcast.rs │ ├── error.rs │ ├── merkle.rs │ ├── message.rs │ └── mod.rs ├── dynamic_honey_badger │ ├── batch.rs │ ├── builder.rs │ ├── change.rs │ ├── dynamic_honey_badger.rs │ ├── error.rs │ ├── mod.rs │ └── votes.rs ├── fault_log.rs ├── honey_badger │ ├── batch.rs │ ├── builder.rs │ ├── epoch_state.rs │ ├── error.rs │ ├── honey_badger.rs │ ├── message.rs │ ├── mod.rs │ └── params.rs ├── lib.rs ├── messaging.rs ├── network_info.rs ├── queueing_honey_badger │ └── mod.rs ├── sender_queue │ ├── dynamic_honey_badger.rs │ ├── error.rs │ ├── honey_badger.rs │ ├── message.rs │ ├── mod.rs │ └── queueing_honey_badger.rs ├── subset │ ├── error.rs │ ├── message.rs │ ├── mod.rs │ ├── proposal_state.rs │ └── subset.rs ├── sync_key_gen.rs ├── threshold_decrypt.rs ├── threshold_sign.rs ├── traits.rs ├── transaction_queue.rs └── util.rs └── tests ├── README.md ├── binary_agreement.rs ├── binary_agreement_mitm.rs ├── broadcast.rs ├── dynamic_honey_badger.rs ├── honey_badger.rs ├── queueing_honey_badger.rs ├── subset.rs ├── sync_key_gen.rs └── threshold_sign.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/.travis.yml -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /COPYRIGHT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/COPYRIGHT -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/README.md -------------------------------------------------------------------------------- /assets/honey_badger_diagram.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/assets/honey_badger_diagram.svg -------------------------------------------------------------------------------- /assets/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/assets/screenshot.png -------------------------------------------------------------------------------- /ci.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/ci.sh -------------------------------------------------------------------------------- /deploy_rsa.enc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/deploy_rsa.enc -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/README.md -------------------------------------------------------------------------------- /examples/consensus-node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/consensus-node.rs -------------------------------------------------------------------------------- /examples/network/commst.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/network/commst.rs -------------------------------------------------------------------------------- /examples/network/connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/network/connection.rs -------------------------------------------------------------------------------- /examples/network/messaging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/network/messaging.rs -------------------------------------------------------------------------------- /examples/network/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/network/mod.rs -------------------------------------------------------------------------------- /examples/network/node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/network/node.rs -------------------------------------------------------------------------------- /examples/run-consensus-nodes.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/run-consensus-nodes.sh -------------------------------------------------------------------------------- /examples/simulation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/examples/simulation.rs -------------------------------------------------------------------------------- /hbbft_testing/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/Cargo.toml -------------------------------------------------------------------------------- /hbbft_testing/src/adversary.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/adversary.rs -------------------------------------------------------------------------------- /hbbft_testing/src/err.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/err.rs -------------------------------------------------------------------------------- /hbbft_testing/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/lib.rs -------------------------------------------------------------------------------- /hbbft_testing/src/proptest.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/proptest.rs -------------------------------------------------------------------------------- /hbbft_testing/src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/util.rs -------------------------------------------------------------------------------- /hbbft_testing/src/util_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/hbbft_testing/src/util_tests.rs -------------------------------------------------------------------------------- /src/binary_agreement/binary_agreement.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/binary_agreement/binary_agreement.rs -------------------------------------------------------------------------------- /src/binary_agreement/bool_multimap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/binary_agreement/bool_multimap.rs -------------------------------------------------------------------------------- /src/binary_agreement/bool_set.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/binary_agreement/bool_set.rs -------------------------------------------------------------------------------- /src/binary_agreement/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/binary_agreement/mod.rs -------------------------------------------------------------------------------- /src/binary_agreement/sbv_broadcast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/binary_agreement/sbv_broadcast.rs -------------------------------------------------------------------------------- /src/broadcast/broadcast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/broadcast/broadcast.rs -------------------------------------------------------------------------------- /src/broadcast/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/broadcast/error.rs -------------------------------------------------------------------------------- /src/broadcast/merkle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/broadcast/merkle.rs -------------------------------------------------------------------------------- /src/broadcast/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/broadcast/message.rs -------------------------------------------------------------------------------- /src/broadcast/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/broadcast/mod.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/batch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/batch.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/builder.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/change.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/change.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/dynamic_honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/dynamic_honey_badger.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/error.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/mod.rs -------------------------------------------------------------------------------- /src/dynamic_honey_badger/votes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/dynamic_honey_badger/votes.rs -------------------------------------------------------------------------------- /src/fault_log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/fault_log.rs -------------------------------------------------------------------------------- /src/honey_badger/batch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/batch.rs -------------------------------------------------------------------------------- /src/honey_badger/builder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/builder.rs -------------------------------------------------------------------------------- /src/honey_badger/epoch_state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/epoch_state.rs -------------------------------------------------------------------------------- /src/honey_badger/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/error.rs -------------------------------------------------------------------------------- /src/honey_badger/honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/honey_badger.rs -------------------------------------------------------------------------------- /src/honey_badger/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/message.rs -------------------------------------------------------------------------------- /src/honey_badger/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/mod.rs -------------------------------------------------------------------------------- /src/honey_badger/params.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/honey_badger/params.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/messaging.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/messaging.rs -------------------------------------------------------------------------------- /src/network_info.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/network_info.rs -------------------------------------------------------------------------------- /src/queueing_honey_badger/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/queueing_honey_badger/mod.rs -------------------------------------------------------------------------------- /src/sender_queue/dynamic_honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/dynamic_honey_badger.rs -------------------------------------------------------------------------------- /src/sender_queue/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/error.rs -------------------------------------------------------------------------------- /src/sender_queue/honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/honey_badger.rs -------------------------------------------------------------------------------- /src/sender_queue/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/message.rs -------------------------------------------------------------------------------- /src/sender_queue/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/mod.rs -------------------------------------------------------------------------------- /src/sender_queue/queueing_honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sender_queue/queueing_honey_badger.rs -------------------------------------------------------------------------------- /src/subset/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/subset/error.rs -------------------------------------------------------------------------------- /src/subset/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/subset/message.rs -------------------------------------------------------------------------------- /src/subset/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/subset/mod.rs -------------------------------------------------------------------------------- /src/subset/proposal_state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/subset/proposal_state.rs -------------------------------------------------------------------------------- /src/subset/subset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/subset/subset.rs -------------------------------------------------------------------------------- /src/sync_key_gen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/sync_key_gen.rs -------------------------------------------------------------------------------- /src/threshold_decrypt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/threshold_decrypt.rs -------------------------------------------------------------------------------- /src/threshold_sign.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/threshold_sign.rs -------------------------------------------------------------------------------- /src/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/traits.rs -------------------------------------------------------------------------------- /src/transaction_queue.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/transaction_queue.rs -------------------------------------------------------------------------------- /src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/src/util.rs -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/binary_agreement.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/binary_agreement.rs -------------------------------------------------------------------------------- /tests/binary_agreement_mitm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/binary_agreement_mitm.rs -------------------------------------------------------------------------------- /tests/broadcast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/broadcast.rs -------------------------------------------------------------------------------- /tests/dynamic_honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/dynamic_honey_badger.rs -------------------------------------------------------------------------------- /tests/honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/honey_badger.rs -------------------------------------------------------------------------------- /tests/queueing_honey_badger.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/queueing_honey_badger.rs -------------------------------------------------------------------------------- /tests/subset.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/subset.rs -------------------------------------------------------------------------------- /tests/sync_key_gen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/sync_key_gen.rs -------------------------------------------------------------------------------- /tests/threshold_sign.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poanetwork/hbbft/HEAD/tests/threshold_sign.rs --------------------------------------------------------------------------------