Andreas Fackler
d9bac58bc8
Use the correct NetworkInfos in the broadcast ProposeAdversary.
2018-10-29 15:42:20 +01:00
Vladimir Komendantskiy
5eeb06aac8
Merge pull request #298 from poanetwork/afck-api
...
Make the BA session ID generic.
2018-10-29 09:57:07 +00:00
Andreas Fackler
c011ef49c5
Make the BA session ID generic.
2018-10-29 09:28:09 +01:00
Andreas Fackler
e1038c66ba
Upgrade to Rust 1.30.0.
2018-10-29 09:27:45 +01:00
Vladimir Komendantskiy
4560070fec
message reordering net adversary and drop_and_readd change
2018-10-29 08:43:31 +01:00
Vladimir Komendantskiy
52d48675f0
Merge pull request #305 from poanetwork/afck-fix-sbv-bc
...
Fix SbvBroadcast observer issue.
2018-10-28 18:01:01 +00:00
Andreas Fackler
dfdb1d8a65
Fix SbvBroadcast observer issue.
...
Make sure observers also try to output when receiving a `BVal` message.
Also, make sure `ThresholdDecryption` doesn't fail for observers without
a key share.
2018-10-28 15:55:07 +01:00
Andreas Fackler
a331982fa6
Fix minimal NetworkDimension in tests, and Subset bug. ( #303 )
...
* Fix minimal NetworkDimension in tests.
* Fix: Subset must try output on broadcast results, too.
2018-10-28 15:05:26 +01:00
Vladimir Komendantskiy
45ce045922
allow the observer on a TestNetwork to send messages
2018-10-27 10:42:49 +02:00
Andreas Fackler
f27af31ac7
Improve SyncKeyGen error handling.
2018-10-25 17:22:16 +02:00
Andreas Fackler
dda2f54a06
Minor improvements to the Step API. ( #292 )
...
* Minor improvements to the Step API.
* Make use of DistAlgorithm::our_id.
* Rename Step::and to join.
2018-10-25 14:44:28 +02:00
Andreas Fackler
c6e0406596
Fix abbreviations from the paper: ABA.
2018-10-25 13:15:52 +02:00
Vladimir Komendantskiy
7aad658511
fixed early output from Subset
2018-10-25 11:33:56 +02:00
Andreas Fackler
3981b37fa3
Minor API and documentation improvements.
2018-10-24 17:38:41 +02:00
Andreas Fackler
26ef33e4d1
Return fault on duplicate broadcast values. Remove obsolete TODOs.
2018-10-24 16:20:02 +02:00
Andreas Fackler
493b946a4a
Use DeserializeOwned where applicable.
2018-10-24 15:03:56 +02:00
Andreas Fackler
6375decbc0
Use derivative for configurable Debug impls. ( #283 )
2018-10-24 13:01:52 +02:00
Andreas Fackler
bc6a67dc01
Extend API to work without DistAlgorithm.
...
Extends all APIs so that the user doesn't need to import the
`DistAlgorithm` trait.
Also, removes the error on inputting too late into `BinaryAgreement`:
whether the input still matters is an implementation detail.
2018-10-23 22:10:28 +02:00
Andreas Fackler
6bcd6bc499
Replace Coin with ThresholdSign. ( #280 )
...
* Avoid redundant hashing in Coin.
* Return the full signature from Coin.
* Rename Coin to ThresholdSign.
2018-10-23 10:49:19 +01:00
Vladimir Komendantskiy
13308906aa
Merge pull request #279 from poanetwork/afck-no-dkg-fault
...
Log more DKG-related faults, check faults in tests.
2018-10-23 10:27:26 +01:00
Andreas Fackler
ff8fe493d2
Limit the number of buffered key gen messages.
2018-10-23 11:13:55 +02:00
Andreas Fackler
36583de455
Add fault checks to the tests.
...
The `network` test module now verifies that correct nodes are never
reported as faulty.
The `DuplicateAck` fault is removed for now, because the same ack is
usually handled multiple times in DHB.
2018-10-22 17:23:03 +02:00
Andreas Fackler
d49350ecd9
Log more DKG-related faults.
2018-10-22 16:09:00 +02:00
Andreas Fackler
b3e858a079
Use published threshold_crypto 0.2. ( #278 )
...
Also: Follow the soon-to-be-official formatting guidelines:
https://github.com/nrc/rfcs/blob/style-guide/style-guide/cargo.md
2018-10-20 13:42:41 +02:00
Marc Brinkmann
ba2390191f
Changed the defaults for tracing to `false`. ( #277 )
...
* Changed the defaults for tracing to `false`.
* Cleanup envvar handling.
* Update `README.md`.
2018-10-18 16:13:02 +02:00
Vladimir Komendantskiy
c5ebdb5347
Merge pull request #276 from poanetwork/afck-perf
...
Avoid BTreeMap in EpochState.
2018-10-18 11:52:59 +01:00
Andreas Fackler
06515407fc
Avoid BTreeMap in EpochState.
...
Profiling the simulation example (with mock crypto) identified this as a hot
spot, and using a `Vec` instead and returning early where possible
speeds it up.
2018-10-18 12:22:10 +02:00
Vladimir Komendantskiy
f8bf552165
Allowed building a HB with a non-0 starting epoch ( #237 )
...
* include the starting epoch in the HB builder
* added DHB starting epoch
2018-10-17 13:28:19 +01:00
Andreas Fackler
8a84109c88
Use threshold_crypto 0.2.0-beta2 to fix overflow. ( #273 )
...
* Use threshold_crypto 0.2.0-beta1 to fix overflow.
* Upgrade to hex_fmt 0.2.
* Depend on threshold_crypto 0.2.0-beta2.
This avoids depending on two different versions of hex_fmt.
2018-10-17 12:04:13 +02:00
Marc Brinkmann
26e659079a
Added `cargo audit` to CI.
2018-10-16 11:50:46 +02:00
Marc Brinkmann
df1471f86d
Factored out CI execution into `ci.sh`.
2018-10-16 11:02:05 +02:00
Andreas Fackler
6df72d86cc
Reorder: public imports come last.
2018-10-15 13:55:04 +02:00
Andreas Fackler
13b0b04943
Update crypto, add mock crypto for testing.
2018-10-15 13:55:04 +02:00
Vladimir Komendantskiy
3af821dc88
Merge pull request #267 from poanetwork/afck-contributions
...
Add missing Batch::contributions getter.
2018-10-15 11:41:47 +01:00
Andreas Fackler
c5b1b8bc08
Add missing Batch::contributions getter.
2018-10-15 11:44:44 +02:00
Andreas Fackler
00e1674349
Move Message out of broadcast::broadcast.
2018-10-11 22:24:13 +02:00
Andreas Fackler
7345132066
Replace HexBytes with the hex_fmt crate.
2018-10-11 22:24:13 +02:00
Vladimir Komendantskiy
b5acac439c
Merge pull request #265 from poanetwork/mbr-remove-push-from-queue
...
Remove push from queue
2018-10-11 16:11:34 +01:00
Marc Brinkmann
bcb151e78d
Added some `#[inline]` statements on `TransactionQueue` impl of `Vec`.
2018-10-11 15:44:44 +02:00
Marc Brinkmann
78dd3db474
Remove `push` from `TransactionQueue` trait.
2018-10-11 15:44:10 +02:00
Vladimir Komendantskiy
59444fcf7b
Support a global RNG in transaction queue ( #257 )
...
* adds an RNG argument to the transaction queue
* minimal support of transaction queue RNG in tests
* added the TransactionQueue trait object
* review comments and streamlining of trait bounds
* removed the RNG from the transaction Q and placed it into QueueingHoneyBadger
* formatting fix
2018-10-11 15:33:03 +02:00
Andrew Gross
7dc92ed34e
Minor README updates
2018-10-11 08:45:04 +02:00
Andreas Fackler
8d1361e6ae
Split up messaging module.
2018-10-10 17:29:59 +02:00
Andreas Fackler
4cc35587c7
Add `NetworkInfo` to `Batch`.
...
Instead of just the public key, the batches returned from
`DynamicHoneyBadger` and `QueueingHoneyBadger` now contain the full
`NetworkInfo`, so the user can use the validators' keys for signing and
encryption.
2018-10-10 16:38:41 +02:00
Vladimir Komendantskiy
326616e3b8
Fixed a condition for accepting HB messages in future epochs ( #261 )
...
* fixed a condition for accepting HB messages
* corrected the condition
2018-10-10 12:43:23 +02:00
Vladimir Komendantskiy
af05c44659
Revert "Spam protection part 1: remote epoch tracking in HoneyBadger ( #219 )"
...
This reverts commit b649dc6268
.
2018-10-10 11:31:50 +02:00
Andreas Fackler
7002dad54c
Remove unused pairing import.
...
Also use the new `Iterator::flatten`.
2018-10-09 11:53:20 +02:00
c0gent
520083de2e
Change license to MIT/Apache-2.0.
2018-10-04 23:32:14 -07:00
c0gent
9d3e264b4f
Add `Sync` req. on boxed rngs.
2018-10-04 11:42:00 -07:00
Marc Brinkmann
4b00bda555
Make `DistAlgorithm` require `Send`.
...
Using `hbbft` in other software that is based on frameworks like [tokio](https://tokio.rs ), being `Send` is often a requirement on shared data structures.
2018-10-04 17:52:57 +02:00