Commit Graph

551 Commits

Author SHA1 Message Date
Andreas Fackler fd6fefc24b
Merge pull request #95 from poanetwork/afck-docs
Move broadcast docs to module-level.
2018-06-29 17:12:00 +02:00
Andreas Fackler 33eadc94ef Apply code review comments; improve broadcast docs. 2018-06-28 21:46:51 +02:00
Andreas Fackler 824a23775d Move broadcast docs to module-level.
Also replaces the word "good" with "correct".
2018-06-28 12:49:11 +02:00
Vladimir Komendantskiy c15af3f112
Merge pull request #92 from poanetwork/afck-memoize-keys
Avoid redundant key computations.
2018-06-27 16:52:43 +01:00
Andreas Fackler 2b4f77f11c Avoid redundant key computations. 2018-06-27 14:47:05 +02:00
Vladimir Komendantskiy f7dd8347bf
Merge pull request #86 from poanetwork/afck-dyn-hb
Add DynamicHoneyBadger (part 1).
2018-06-27 11:20:20 +01:00
Andreas Fackler 7a335c9771 Remove vote_counts field from dynamic HB. 2018-06-27 11:51:56 +02:00
Andreas Fackler 74fab61dd8 Fix Dynamic HB test. 2018-06-27 11:37:05 +02:00
Andreas Fackler a2c213d0aa Replace convert_transaction with From. 2018-06-26 15:13:04 +02:00
Andreas Fackler fd8e7a5900 Add DynamicHoneyBadger. 2018-06-26 15:13:04 +02:00
Andreas Fackler 78fdf63540
Merge pull request #83 from poanetwork/afck-observer
Allow observer nodes in all algorithms.
2018-06-26 15:12:46 +02:00
Andreas Fackler 266d766887
Merge pull request #87 from poanetwork/vk-basic-honey-badger-test
Output sequence verification in HoneyBadger test
2018-06-26 15:02:30 +02:00
Andreas Fackler f202ccfeb8 Compute is_peer on NetworkInfo creation. 2018-06-26 14:52:53 +02:00
Andreas Fackler aaec3d4074 Simplify observer/peer-specific code.
Extract some methods to make the branches more readable.
2018-06-26 14:50:06 +02:00
Vladimir Komendantskiy 6ce6899ca9 added output sequence verification in HoneyBadger test 2018-06-26 12:15:30 +01:00
Andreas Fackler 2db67df325 Rename is_full_node to is_peer. 2018-06-26 10:57:44 +02:00
Andreas Fackler 2a5f9f1bfe Allow observer nodes in all algorithms.
This allows nodes to join the network without sending any messages
themselves. They can't give any input and just observe the outcome.

Closes #81
2018-06-26 09:17:12 +02:00
Andreas Fackler b3b3994ec1
Merge pull request #82 from poanetwork/vk-test-decryption-shares
An adversary sending faulty decryption shares
2018-06-26 09:06:33 +02:00
Vladimir Komendantskiy 1c9ca201d5 corrected a comment and removed a redundant mut 2018-06-25 21:18:25 +01:00
Vladimir Komendantskiy 11ec39879b created an adversary to test against faulty decryption shares 2018-06-25 19:22:08 +01:00
Vladimir Komendantskiy 8afcc46227
Merge pull request #79 from poanetwork/afck-keygen-node-id
Make SyncKeyGen NodeUid-aware.
2018-06-25 15:46:22 +01:00
Andreas Fackler 062b35ab3a Make SyncKeyGen NodeUid-aware.
This allows the caller to address nodes by ID instead of by index.

Also contains a few other minor changes that will be needed for
`DynamicHoneyBadger`.
2018-06-25 13:07:31 +02:00
Andreas Fackler 7b3ff717e0
Merge pull request #76 from poanetwork/vk-coin-schedule
The schedule 0, 1, get_coin(), ...
2018-06-25 09:23:11 +02:00
Vladimir Komendantskiy 7be2510e36 swapped False and True coins 2018-06-22 17:39:55 +01:00
Vladimir Komendantskiy 7a4fc37628 implemented an optimistic random common coin schedule 2018-06-22 10:39:55 +01:00
Vladimir Komendantskiy e0a85a54bb
Merge pull request #68 from poanetwork/vk-encrypt-proposed
Encryption of proposals in HoneyBadger
2018-06-22 10:38:29 +01:00
Vladimir Komendantskiy 4c2e92e63d removed the obsolete Bls12 type parameters 2018-06-22 10:17:11 +01:00
Vladimir Komendantskiy 5778cedb1c removed the unneeded pending_verification 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy f2893c5f54 Revert "removed the unneeded pending_verification and added clone-less shares in messages"
This reverts commit 10c442af475ca764badede674715142a1fd06fdb.
2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy b7a0d64924 removed the unneeded pending_verification and added clone-less shares in messages 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy 69b42d5032 added verification of decryption shares as soon as they can be verified 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy 5b0d331a69 review comments 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy 5811ead460 derived instance fixes after serde option removal 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy af03158e00 tries to decrypt and output a batch on epoch update from already received messages 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy c7f4994e3a threshold encryption of proposals in HoneyBadger 2018-06-22 10:12:38 +01:00
Vladimir Komendantskiy b6f5bf1ce7
Merge pull request #70 from poanetwork/afck-sync-key-gen
Implement SyncKeyGen.
2018-06-22 10:10:15 +01:00
Andreas Fackler 67dbada49f Improve documentation. 2018-06-22 10:17:44 +02:00
Andreas Fackler e11f183db2 Remove generic E: Engine from crypto. 2018-06-22 10:08:23 +02:00
Andreas Fackler 7eb487f329 Implement SyncKeyGen.
This is a _synchronous_ key generation algorithm. We will use it in
`DynamicHoneyBadger`, on top of `HoneyBadger` to satisfy the synchrony
requirements.

It can also be used independently e.g. on top of a blockchain.
2018-06-22 10:06:29 +02:00
Andreas Fackler 58c1a7e15d
Merge pull request #74 from andogro/ag_README
README re-organization and additions
2018-06-22 10:04:02 +02:00
Andrew Gross b75ddeb195 Updated todos, modified text 2018-06-21 14:54:36 -06:00
Andreas Fackler 414cea9436
Merge pull request #73 from poanetwork/overwrite-secret-keys-on-drop
Change 'NetworkInfo' to use clear-on-drop secret-keys.
2018-06-21 21:04:38 +02:00
Peter van Nostrand 73368b7a32 Fix formatting. 2018-06-21 13:06:48 -04:00
Andrew Gross 8c07146608 README re-organization and additions 2018-06-21 11:02:05 -06:00
Peter van Nostrand 05da712c20 Added clear-on-drop secret-keys to 'NetworkInfo'. 2018-06-21 12:08:48 -04:00
Vladimir Komendantskiy 1dc5bb3154
Merge pull request #65 from poanetwork/afck-hash
Implement Hash for "public" cryptographic types.
2018-06-21 09:06:36 +01:00
Vladimir Komendantskiy 92381e485c
Merge pull request #64 from andogro/README_updates
Readme updates
2018-06-21 08:58:26 +01:00
Andrew Gross 6cb8197ad8 Resolved merge conflict 2018-06-20 14:22:57 -06:00
Andreas Fackler a47123c4dd Improve Hash impl for Ciphertext.
This formulation makes it harder to forget updating the `Hash`
implementation if the `Ciphertext` type changes.
2018-06-20 22:09:43 +02:00
Andreas Fackler 1f27fa6891 Implement Hash for "public" cryptographic types.
This adds a `Hash` implementation for public keys, commitments,
ciphertexts and signatures — types that might make sense to be included
in special transactions. The `DynamicHoneyBadger` implementation will
require some of them.
2018-06-20 22:09:43 +02:00