Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move to SHA256 #779

Merged
merged 3 commits into from
Mar 26, 2019
Merged

Move to SHA256 #779

merged 3 commits into from
Mar 26, 2019

Conversation

JustinDrake
Copy link
Collaborator

@JustinDrake JustinDrake commented Mar 15, 2019

SHA256 is de facto blockchain standard. Standardisation of the hash function is a prerequisite for full standardisation of BLS12-381 signatures. Blockchain projects are likely to provide a cheap SHA256 opcode/precompile, and unlikely to provide a Keccak256 equivalent. (Even WASM-enabled blockchains are likely to provide a SHA256 opcode/precompile since WASM does not natively support optimised SHA256 CPU instructions.) With Ethereum 2.0 embracing SHA256 the wider industry is more likely to converge towards a unified cross-blockchain communication scheme via Merkle receipts.

There are no security blockers with SHA256 (see comments by Dan Boneh here).

SHA256 is de facto blockchain standard. Standardisation of the hash function is a prerequisite for [full standardisation of BLS12-381 signatures](#605). Blockchain projects are likely to provide a cheap SHA256 opcods/precompile, and unlikely to provide a Keccak256 equivelent. (Even WASM-enabled blockchains are likely to provide a SHA256 opcode/precompile since WASM does *not* natively support optimised SHA256 CPU instructions.) With Ethereum 2.0 embracing SHA256 the wider industry is more likely to converge towards a unified cross-blockchain communication scheme via Merkle receipts.

There are no security blockers with SHA256 (see comments by Dan Boneh [here](#612 (comment))).
@djrtwo
Copy link
Contributor

djrtwo commented Mar 26, 2019

Modified function used in testing to sha256.

@hwwhww @NIC619 We need to merge in the sha256 deposit contract change. Maybe we should put this into a dev branch on that repo and only release to master when this is released in v0.6.0

@djrtwo djrtwo merged commit 2d413be into dev Mar 26, 2019
@djrtwo djrtwo deleted the JustinDrake-patch-4 branch March 26, 2019 13:19
@djrtwo djrtwo mentioned this pull request Mar 26, 2019
@hwwhww
Copy link
Contributor

hwwhww commented Mar 26, 2019

@djrtwo no problem. Would you like to make a release of v0.5.1 in deposit contract master branch?

sorpaas added a commit to paritytech/shasper that referenced this pull request May 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants