-
Notifications
You must be signed in to change notification settings - Fork 272
[Istanbul] EIP-2129/152: Add Blake2b F Hash Function #203
Comments
I'd be interested in tackling this once the dust settles and we know the details (and have some test vectors). |
Go ahead! 😀 On a rough look I think usage of Blake2b version of the hash function is already settled independent from the concrete EIP chosen, so I guess we can already start integrating the plain hash function support here? |
I think EIP-2129 supercedes EIP-2024. EIP-2129 proposes an internal function used for computing a blake2b hash (the blake2b F compression function) as a precompile. Blakejs doesn't publicly expose the F compression function. Blake2.wasm doesn't either. I couldn't also find the source for its wasm binary. I see three options (might not be an exhaustive):
Relevant links
|
I wouldn't start working on this before the EIP is merged and has a more complete specification. |
It was indeed ethereum/EIPs#2129 |
@elizapetrovska Thanks for the reference! |
Updated description and links in the initial post, EIP was now clearly marked as "accepted" in the last ACD 66, should now be ready to be tackled. |
Will be directly integrated in the VM - see ethereumjs/ethereumjs-monorepo#584 - will close here. |
EIP-2129/152 adding a Blake2b F hash function precompile has been approved for Istanbul in the Ethereum All Core Devs Call 66.
This should likely be added here in the
hash
module first like thekeccak
hash functions and then doing the precompile over on the VM using the functionality from here.Did a first search, here are two implementations which seems solid and with friendly licensing (both on first sight, needs some confirmation):
The native vs JS discussion from this issue #195 is relevant in this context analogously.
Update: I updated this with the final decision from ACD 66, there were some rival EIPs before which were discarded.
The text was updated successfully, but these errors were encountered: