c0gent
7824b7a0ea
Reorganize `dynamic_honey_badger` and `agreement` modules slightly.
...
* Move `CoinState` and `Agreement` definitions from `agreement/mod.rs`
to `.../agreement.rs`.
* Move `DynamicHoneyBadger` definition from `dynamic_honey_badger/mod.rs`
to `.../dynamic_honey_badger.rs`.
2018-08-02 11:24:15 -07:00
Andreas Fackler
eeb519862f
Simplify Honey Badger tests and example.
2018-08-01 18:52:32 +02:00
Andreas Fackler
432c865d4b
Handle initial QHB messages, fix DHB.
2018-07-21 11:30:43 +02:00
Vladimir Komendantskiy
099fbc999e
made Step depend on DistAlgorithm instead of base types
2018-07-20 12:47:19 +01:00
Vladimir Komendantskiy
ccd1a98c42
optimized function arguments and added a typedef for Simulation Step
2018-07-20 12:44:41 +01:00
Vladimir Komendantskiy
65b3097238
message queue refactoring WIP
2018-07-20 12:43:15 +01:00
Andreas Fackler
15cc6ffddd
Separate keys and key shares.
2018-07-18 14:44:35 +02:00
Vladimir Komendantskiy
f704b481ad
Merge branch 'master' into vk-api-refactor66
2018-07-16 15:38:25 +01:00
Andreas Fackler
1f8373ef93
Add a `JoinPlan` to facilitate joining a running DHB network.
...
With that, a node can join a running network as an observer in any epoch
where key generation starts.
2018-07-16 16:03:36 +02:00
Vladimir Komendantskiy
d7a2808774
Merge branch 'master' into vk-api-refactor66
2018-07-13 13:53:21 +01:00
Marc Brinkmann
5336fbe707
Added `RandomAdversary` and the necessary auxiliary functions.
...
Random adversaries are created for `broadcast` and `honey_badger`. Random value generation was added for all type-dependencies of these algorithms, causing the `Rand` trait to be implement for a large portion of the codebase.
Additionally, `MessageWithSender` turned into an actual struct, making it much easier to handle. Tuple-like construction is still available through `MessageWithSender::new()`.
2018-07-13 13:27:49 +02:00
Vladimir Komendantskiy
7fb1017bb1
changed Step::output to Vec but that didn't fix the dynamic HB test
2018-07-12 21:23:52 +01:00
Andreas Fackler
c1b4381753
Separate queue from Honey Badger.
...
This makes Honey Badger a bit more complicated but a lot more flexible:
It is now unaware of transactions and basically just runs one Subset
instance per epoch.
That way, users can use any kind of external queue, control throttling
and prioritization.
2018-07-10 17:29:58 +02:00
Peter van Nostrand
6783ece9b0
Added faulty node logging to algorithms.
2018-07-09 13:45:11 -04:00
Andreas Fackler
6f7245f123
Prefer HB::builder over HBBuilder::new.
2018-07-05 11:47:19 +02:00
Andreas Fackler
1a3016d94d
Add Honey Badger builder.
2018-07-05 11:47:19 +02:00
Andreas Fackler
0f92010fe4
Add a max_future_epochs option to Honey Badger.
...
This delays handling of messages from epochs that are too far ahead.
2018-07-05 11:47:19 +02:00
Andreas Fackler
e11f183db2
Remove generic E: Engine from crypto.
2018-06-22 10:08:23 +02:00
Andreas Fackler
3f707a8e12
Return proposer info from HoneyBadger.
...
Also, consistently name generic arguments, and remove some unused trait
bounds.
2018-06-18 16:19:54 +02:00
Vladimir Komendantskiy
3393052b4b
review comment coverage
2018-06-14 12:28:38 +01:00
Vladimir Komendantskiy
04b7365ed9
updated the examples with the keys
2018-06-13 15:18:27 +01:00
Andreas Fackler
015381c88c
Print messages and total message size per node in simulation.
2018-05-31 17:22:30 +02:00
Andreas Fackler
b090dfaf22
Specify CPU speed in simulation, not the inverse.
2018-05-31 15:47:32 +02:00
Andreas Fackler
57533e17c2
Simplify example exit condition.
2018-05-31 14:49:16 +02:00
Andreas Fackler
fc599232aa
Add logging to simulation example.
2018-05-31 14:28:10 +02:00
Andreas Fackler
f970272d3e
Add bandwidth and CPU to the simulation.
2018-05-31 14:28:10 +02:00
Vladimir Komendantskiy
98f5304d4c
top-level interface now requires providing a NetworkInfo parameter
2018-05-29 14:53:01 +01:00
Andreas Fackler
4b143828dd
Add message counting to the simulation.
2018-05-29 15:11:32 +02:00
Andreas Fackler
9a0622f3f2
Update Rust, re-enable rustfmt.
2018-05-21 11:26:42 +02:00
Andreas Fackler
500ec81b2f
Add a network simulation example.
2018-05-17 12:52:07 +02:00