Andreas Fackler
2456db2d9e
Rewrite Subset.
...
This merges the four maps into a single map, each entry of which tracks
the progress of both the `Broadcast` and the `BinaryAgreement`
subalgorithm for an individual proposer. Two advantages:
* A slight optimization, because the `Broadcast` instance is dropped as
soon as it is not needed anymore.
* The static guarantee that certain impossible situations (inserting a
broadcast value twice) cannot happen.
The module is also split up into smaller files.
2018-11-06 09:21:40 +01:00
Vladimir Komendantskiy
62cd29e4ca
Merge pull request #308 from poanetwork/vk-extern-sender-queue
...
External sender queue implementation
2018-11-05 17:30:01 +00:00
Vladimir Komendantskiy
f02bbbb9da
Updated documentation and removed a debug print
2018-11-05 14:25:59 +00:00
Vladimir Komendantskiy
52cbde42f6
simplified Step::defer_messages
2018-11-05 13:38:02 +00:00
Vladimir Komendantskiy
3deb5f1bce
refactored an error! by adding linearizable epochs and wrote a comment on eras
2018-11-05 11:11:00 +00:00
Vladimir Komendantskiy
a8586efc81
work on review comments
2018-11-05 11:11:00 +00:00
Vladimir Komendantskiy
ee46dd4b81
sender queue implementation
2018-11-05 11:11:00 +00:00
Andreas Fackler
3c915cd4ff
Improve the broadcast documentation. ( #310 )
...
Improve the broadcast documentation.
* Reorganize the explanation, separate algorithm from justification.
* Some of the message numbers were wrong.
* Use `[i]` for indices, even in pseudocode.
2018-11-03 15:53:40 +01:00
Andreas Fackler
13340d7ad0
Remove redundant log statements, minor cleanups.
2018-11-03 15:36:32 +01:00
Vladimir Komendantskiy
ad35ebafd5
Merge pull request #288 from logannc/optional_threshold_encryption_209
...
Optional threshold encryption 209
2018-11-01 21:45:02 +00:00
Logan Collins
7f4b83edb9
Merge branch 'master' into optional_threshold_encryption_209
2018-10-31 19:44:42 -05:00
Logan Collins
700f9b55e3
add encryption schedule to join plan (and batch), remove unnecessary lint supression, style change
2018-10-31 19:44:22 -05:00
Vladimir Komendantskiy
485267f929
Merge pull request #314 from poanetwork/afck-todo
...
Remove some obsolete TODOs and comments.
2018-10-31 16:39:01 +00:00
Andreas Fackler
7e4bffa825
Subset: Remove obsolete TODO.
...
Just like in `Broadcast`, let's keep the value a `Vec<u8>`. The user
should handle serialization.
2018-10-31 17:18:11 +01:00
Andreas Fackler
f536587856
Broadcast: Remove TODO, redundant field.
...
Since `Broadcast` operates on a `Vec<u8>` anyway, let's not make it
generic in a serializable value. This removes the TODO.
The `data_shard_num` field is also removed; it was redundant now.
2018-10-31 15:51:21 +01:00
Logan Collins
dcbc065388
clippy and fmt
2018-10-31 01:27:28 -05:00
Logan Collins
ad5f725b2e
Merge branch 'master' into optional_threshold_encryption_209
2018-10-31 01:09:35 -05:00
Logan Collins
09833f2b56
remove box in propose
2018-10-31 01:08:09 -05:00
Vladimir Komendantskiy
2fed831689
Merge pull request #270 from d33a94975ba60d59/reordering-attack-test
...
Add a test for the reordering attack on BinaryAgreement
2018-10-30 16:56:01 +00:00
d33a94975ba60d59
c132751457
Test the reordering attack on BinaryAgreement using net framework
2018-10-30 11:33:10 -05:00
Marc Brinkmann
5f21c9a4e4
Include advice on how to handle `Step` in docs. ( #297 )
...
* Fixed spelling mistake in `Step` docs.
* Added suggestion on how to handle `Step` output.
2018-10-30 11:31:50 +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
Logan Collins
e3a168a96c
Merge branch 'master' into optional_threshold_encryption_209
2018-10-27 18:11:19 -05:00
Logan Collins
a91e38e3c5
fmt change + don't skip InProgress for NodeChange
2018-10-27 17:44:08 -05:00
Vladimir Komendantskiy
45ce045922
allow the observer on a TestNetwork to send messages
2018-10-27 10:42:49 +02:00
Logan Collins
3ffb1ba48a
merge changed step mutability requirements
2018-10-25 14:11:44 -05:00
Logan Collins
00985edc46
Merge branch 'master' into optional_threshold_encryption_209
2018-10-25 13:41:56 -05:00
Logan Collins
f88c50f970
forgot to run cargo fmt first.
2018-10-25 13:39:00 -05:00
Logan Collins
6b101ca3be
skip InProgress state for non-KG changes, revert change to comment, push serialization inside epoch_state, skip threshold_decryption Step, use getter instead of pub(crate) for honey_badger.encryption_schedule
2018-10-25 13:38:16 -05: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
Logan Collins
92a32d827d
merge from upstream
2018-10-24 15:55:44 -05:00
Logan Collins
982619327b
formatting, address pr review concerns, move encryption into epoch_state, turn off borrowed box lint
2018-10-24 15:46:44 -05: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
Logan Collins
877903aeac
apparently nightly and stable cargo fmt have different opinions
2018-10-24 00:23:09 -05:00
Logan Collins
212d9b57b8
run cargo fmt
2018-10-24 00:18:18 -05:00
Logan Collins
ca56668547
Address lints
2018-10-24 00:12:12 -05:00