vyperlang/vyper

VIP: Add support for Blake2 precompile

Open

#1,651 opened on Oct 24, 2019

View on GitHub
 (6 comments) (0 reactions) (0 assignees)Python (4,710 stars) (849 forks)batch import
VIP: Approvedenhancementhelp wanted

Description

Simple Summary

Add support for blake2 cryptographic hash function

Motivation

Blake2 is a newer but popular hash function that is being used in a variety of circumstances including ZKP due to it's efficiency under pairing operations. Support in Vyper would make it easier to develop applications that use it.

Specification

Support for Blake2 is being added in the upcoming Istanbul hardfork. The specification is in EIP-152, and a reference implementation in a client is here: https://github.com/ethereum/py-evm/blob/master/eth/precompiles/blake2.py

Function signature:

blake2b_f() -> bytes32[2]

Backwards Compatibility

No backwards incompatibilities

Dependencies

No dependencies

Copyright

Copyright and related rights waived via CC0

Contributor guide