* Added eth specs submodule
* Rename to eth-specs instead
* Added install script for ethspecs module
* Use python and pip instead of 3
* Load eth-specs in ci
* Add checkout submodules to ci
* Make install script executable
* Added missing install command in script
* Added missing submodule
* Move to eth-specs for building
* Start implementing TreeOverlay
* Implement tree overlay
* Add basic tests
* Fixes
* Fill leaves with extra nodes one by one
* Handle missing optional value
* Parenting fixes
* Parenting tests
* Remove unnecesary number of committes
* Fill from root committee
* Adapt tests to root filling
* Root parent is None
* Typo: committee_idx
* Fix leader supermajority threshold
* Fix type signature on building committee data
* Use plain carnot tree for carnot tree tests
* Add tree implementation explanation
* Fmt
* Use blake2b
* Fix idx signature on membership committees
* Check on committee child existence
* Random Beacon revision
This is a proposed revision of the random beacon specification.
First of all it fixes a few little mistakes in the signing
process:
* Use BasicSchemeMPL instead of PoPSchemeMPL since we don't use
Proof of Possession.
* Hashing the values prior to the call to BasicSchemeMPL.sing()
is not necessary. This step has been removed.
In addition, all data inside the random beacon state that
anyone willing to verify must know anyway has been removed.
In the current version this includes the 'context' and the public
key of the signer. The verifier has to independently check that
those values have been correctly obtained anyway, so there's no
need to include them in the state that is passed around.
Lastly, the beacon context view has been changed from using a
string encoding to a little endian variable-length encoding and
is now tied to qc.view instead of current_view of the processing
node.
* actually use the version const