This week I worked on Verkle Tries for besu, and 2 PRs are merged:
https://github.com/Quadratic-Labs/VerkleTries_Besu/pull/38
https://github.com/Quadratic-Labs/VerkleTries_Besu/pull/39
So spent most of the week trying to understand serialization differences between pedersen hash used in trie-key generation and pedersen "commitment" used in the trie for commiting to children nodes (up to 256).
Ignacio generated some test cases for our implementation so we can compare and see if our implementation is correct:
-- Pedersen hashing: https://pastebin.com/0RrL3Ryc
The format is:
addr: bytes in hex
treeIndex: The big int number in decimal notation (base 10). It's a "string" because I can put such a big integer in a JSON.
treeKey: the result of the perdersen hash bytes
-- Vec comm: https://pastebin.com/dJyzwXnB
The format is:
frs: a slice of 256 integers (the Frs)
commitment: The resulting big int. [Remember that Pedersen Commitment gives you a point, then you have to do MapToScalar which gives you a Fr. This Fr is here as a big integer]
I have interacted on latest Verkle Implementers call (https://github.com/ethereum/pm/issues/866):
Unfortunatelly I'm still behind on the project proposal (verkle tries in-circuit), but i hope i will have more conclusions and benchmarks by the end of the cohort. But here's an interesting benchmarks website: https://zkbench.dev/
I'll try to do the same for pedersen, keccak, and maybe sha256. Still thinking which zkDSL or tool to use - learning a lot about this and trying to understand differences.
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing