Stick with Keccak-256/SHA3 for now

See https://github.com/ethereum/eth2.0-specs/issues/218
This commit is contained in:
Justin 2018-12-04 15:50:44 +00:00 committed by GitHub
parent 3ea1c25fb1
commit 5e4883ccbf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 1 additions and 1 deletions

View File

@ -1560,7 +1560,7 @@ while len(state.persistent_committee_reassignments) > 0 and state.persistent_com
# Appendix
## Appendix A - Hash function
We aim to have a STARK-friendly hash function `hash(x)` for the production launch of the beacon chain. While the standardisation process for a STARK-friendly hash function takes place—led by STARKware, who will produce a detailed report with recommendations—we use `BLAKE2b-512` as a placeholder. Specifically, we set `hash(x) := BLAKE2b-512(x)[0:32]` where the `BLAKE2b-512` algorithm is defined in [RFC 7693](https://tools.ietf.org/html/rfc7693) and the input `x` is of type `bytes`.
In Phase 0 the beacon chain is deployed with the same hash function as Ethereum 1.0, i.e. Keccak-256 (also incorrectly known as SHA3). We aim to migrate to a S[T/N]ARK-friendly hash function in a future Ethereum 2.0 deployment phase.
# References