Andrew Gross
f661e8ace3
Update links
...
link to threshold crypto
2018-08-12 12:26:33 -07:00
Andreas Fackler
e4ddd6a079
Replace ring with tiny-keccak.
2018-08-10 09:23:27 +02:00
Andreas Fackler
b90a7bf450
Replace merkle.rs with custom implementation.
2018-08-10 09:23:27 +02:00
Andreas Fackler
b7fe494fad
Fix build if secure env vars are unavailable.
2018-08-09 22:26:34 +02:00
c0gent
ac39de66a8
Make refinements to SyncKeyGen error and fault handling.
2018-08-09 15:44:36 -04:00
DrPeterVanNostrand
8ab58d35d4
Added error handling for mlock errors in threshold_crypto crate.
2018-08-09 15:44:36 -04:00
Andreas Fackler
8cc60698db
Move matches from EpochState to SubsetState.
2018-08-09 16:04:09 +02:00
Andreas Fackler
e9b960d020
Fix and clean up the HoneyBadger impl.
...
* Remove unnecessary recursive method calls.
* Add `handle_message` (without the trait).
* Fix a bug where `handle_message_content` would create an `EpochState`
with the wrong number.
2018-08-09 16:04:09 +02:00
Andreas Fackler
df21cdcb07
Merge pull request #199 from poanetwork/afck-bc-split
...
Split up the broadcast module.
2018-08-09 09:38:40 +02:00
Andreas Fackler
5cc7b54c06
Split up the broadcast module.
...
Also, rename broadcast and agreement messages to just `Message`.
2018-08-08 15:46:43 +02:00
natalia
6d42d749c5
Added deploy key
2018-08-07 16:02:42 -07:00
Andreas Fackler
b017311e49
Split out individual epochs from Honey Badger.
2018-08-06 10:50:30 -07:00
Andreas Fackler
46a8728792
Split out Threshold Decryption from Honey Badger.
2018-08-06 10:50:30 -07:00
Andreas Fackler
22ccb740f1
Merge pull request #187 from c0gent/c0gent-supertraits
...
Add common supertraits and rename related type parameters.
2018-08-03 11:13:40 +02:00
c0gent
697ba6f0a8
Add common supertraits and rename related type parameters.
...
* Add the `Contribution`, `NodeUidT`, and `Message` supertraits.
* Rename type parameters:
* `Tx` -> `T` or `C`
* `NodeUid` -> `N`
2018-08-02 14:52:12 -07:00
Nick Sanders
b1aa82b1c9
Merge pull request #186 from c0gent/c0gent-mod-reorg
...
Reorganize `dynamic_honey_badger` and `agreement` modules slightly.
Redux.
2018-08-02 13:28:00 -07:00
c0gent
f66dbdf3a1
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 13:01:57 -07:00
Nick Sanders
5b3522b48b
Merge pull request #185 from poanetwork/revert-184-c0gent-mod-reorg
...
Revert "Reorganize `dynamic_honey_badger` and `agreement` modules slightly."
2018-08-02 12:59:41 -07:00
Nick Sanders
c5977d1ab8
Revert "Reorganize `dynamic_honey_badger` and `agreement` modules slightly."
2018-08-02 12:24:25 -07:00
Nick Sanders
d74530004f
Merge pull request #184 from c0gent/c0gent-mod-reorg
...
Reorganize `dynamic_honey_badger` and `agreement` modules slightly.
* Some additional rustfmt-ing crept in due to me accidentally using a newer version.
2018-08-02 12:13:47 -07:00
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
4b854568f6
Merge pull request #182 from poanetwork/afck-agreement
...
Extract SBV broadcast from agreement.
2018-08-02 19:06:40 +02:00
Andreas Fackler
dd31758bdf
Extract SBV broadcast from agreement.
2018-08-02 12:55:17 +02:00
Andreas Fackler
572fa7b028
Merge pull request #180 from c0gent/c0gent-crypto-pub
...
Re-export `crypto`.
2018-08-01 19:18:48 +02:00
Andreas Fackler
071bfed00b
Merge pull request #179 from poanetwork/afck-qhb-single
...
Change the QHB criterion for moving on to the next epoch.
2018-08-01 19:18:31 +02:00
c0gent
affa0eee37
Re-export `crypto`.
2018-08-01 09:56:36 -07:00
Andreas Fackler
eeb519862f
Simplify Honey Badger tests and example.
2018-08-01 18:52:32 +02:00
Andreas Fackler
d19afc2634
Change the QHB criterion for moving on to the next epoch.
...
`QueueingHoneyBadger` now waits after an output, and only makes its
proposal for the next epoch when:
* there are pending transactions in the queue,
* there are pending key generation or vote messages, or
* _f + 1_ other validators have already made their proposal.
This rule should work well for small networks: With 1 - 3 nodes, it will
produce a new batch whenever at least one of them has transactions to
contribute. In larger networks, it prevents an adversary controlling _f_
nodes from producing lots of empty epochs.
An exception is made for a currently joining validator: We will commit
up to _(N + 1)² + 1_ key generation messages for them, which is the
maximum number a correct node will send.
2018-08-01 18:52:32 +02:00
Andreas Fackler
b3e1452a3a
Merge pull request #178 from poanetwork/afck-hb-split
...
Split honey_badger into submodules.
2018-08-01 18:50:42 +02:00
Andreas Fackler
5591f5ebd0
Split honey_badger into submodules.
2018-08-01 09:56:18 +02:00
Andreas Fackler
7c66ef06ee
Merge pull request #172 from poanetwork/vk-crypto-crate
...
crypto module moved into its own crate
2018-07-31 22:26:19 +02:00
Vladimir Komendantskiy
062b7150e1
Merge pull request #173 from poanetwork/afck-hb-clear-cs
...
Fix removal of terminated CS instances in HB.
2018-07-31 15:15:54 +01:00
Vladimir Komendantskiy
6753c12b7c
formatting
2018-07-31 12:15:05 +01:00
Vladimir Komendantskiy
77ed1d50d4
separated crypto module into its own crate
2018-07-31 12:15:05 +01:00
Vladimir Komendantskiy
0e7055f8eb
Merge pull request #177 from poanetwork/afck-no-protobuf
...
Remove protobuf support.
2018-07-31 12:12:26 +01:00
Andreas Fackler
47c00016be
Remove protobuf support.
2018-07-31 11:58:44 +02:00
Vladimir Komendantskiy
47ab6eb7df
Merge pull request #174 from poanetwork/afck-bin-values
...
Represent BinValues as a u8; rename to BoolSet.
2018-07-31 09:06:27 +01:00
Andreas Fackler
c448e057f8
Rename BinValues to BoolSet.
2018-07-31 09:42:30 +02:00
Andreas Fackler
4159acf8cd
Represent BinValues as a u8.
2018-07-31 09:39:51 +02:00
Andreas Fackler
fa45b1fc39
Merge pull request #166 from c0gent/c0gent-error-fail
...
Replace `chain_error` with `failure`
2018-07-31 09:29:24 +02:00
c0gent
847a79793e
Replace `chain_error` with `failure`
...
Changes:
* Remove `error_chain` and convert errors to `failure` types.
* Add variants for each possible error generation point.
2018-07-30 15:14:19 -07:00
Andreas Fackler
8346085fb9
Fix removal of terminated CS instances in HB.
2018-07-30 15:02:20 +02:00
Vladimir Komendantskiy
649353b999
Merge pull request #171 from poanetwork/afck-agreement
...
Fix agreement bugs, and refactor a few fields.
2018-07-30 12:35:47 +01:00
Andreas Fackler
78ab9742a9
Avoid heap allocation in BinValues::into_iter.
2018-07-30 13:08:17 +02:00
Andreas Fackler
8beab3d2b4
Log duplicate agreement messages as faults.
2018-07-30 12:04:28 +02:00
Andreas Fackler
3b65f0cead
Fix agreement bugs, and refactor a few fields.
...
* Don't drop `Term` messages from previous epochs. They are still
relevant for all future epochs.
* Restructure some fields to avoid unnecessary iteration and counting.
* Simplify the fields related to the common coin.
* Reorder the methods, so that the message handlers are all in one
place.
* Handle the case where the coin value arrives before the required
number of `Conf` messages.
2018-07-30 11:44:55 +02:00
Vladimir Komendantskiy
6f530e89f9
Merge pull request #168 from poanetwork/afck-term
...
Make sure Term messages are handled as BVal, Aux, Conf.
2018-07-27 20:16:03 +01:00
Andreas Fackler
ae252028bc
Merge pull request #169 from poanetwork/vk-term
...
Avoids cloning of Agreement::received_term
2018-07-27 10:19:40 +02:00
Vladimir Komendantskiy
6efe6037f2
removed duplicated insertion
2018-07-27 08:24:19 +01:00
Vladimir Komendantskiy
638cde3d71
avoid cloning of Agreement::received_term
2018-07-26 17:55:21 +01:00