Commit Graph

584 Commits

Author SHA1 Message Date
Marc Brinkmann 5d1bca0914 Ignore non-compiling example, instead of `no_run`'ing it.' 2018-10-30 10:59:42 +01:00
Marc Brinkmann fb3937e741 Fixed spelling and wording in docs. 2018-10-30 10:59:42 +01:00
Marc Brinkmann 7df2d6f4a3 Fix typo in doctest. 2018-10-30 10:57:35 +01:00
Marc Brinkmann 4820c6fef2 Added suggestion on how to handle `Step` output. 2018-10-30 10:57:35 +01:00
Marc Brinkmann 215fe9b102 Fixed spelling mistake in `Step` docs. 2018-10-30 10:57:01 +01:00
Andreas Fackler df36258715 Instead of macro_use, use use. 2018-10-30 08:11:03 +01:00
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