-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* The epoch hash used to be composed by three Merkle trees: one for the vouchers generated in the epoch, another for the notices generated in the epoch, and a third one for the machine address space as a whole. This commit unifies vouchers and notices in the same Merkle tree, making the epoch hash composed now of only two Merkle trees: one for the outputs generated in the epoch, and another for the machine. * The leaves of this new tree represent any type of output: voucher, notice, or any other output that we might come up with in the future. Their binary representations are disjoint because of a 4-byte header. * This unification greatly simplifies the output validation algorithm, and removes a 256-bit field from the `OutputValidityProof` struct. * Add text to `LibOutputValidation` that explains how the epoch hash is calculated, with the help of an ASCII diagram
- Loading branch information
Showing
2 changed files
with
129 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters