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

Keccak memoization #120

Closed
Scooletz opened this issue Aug 9, 2023 · 1 comment
Closed

Keccak memoization #120

Scooletz opened this issue Aug 9, 2023 · 1 comment
Assignees
Labels
ethereum An Ethereum specific work item that requires a good understanding of Eth 🌴Merkle Merkle construct

Comments

@Scooletz
Copy link
Contributor

Scooletz commented Aug 9, 2023

Enhance ComputeMerkleBehavior with a behavior that will allow to define which of the Keccaks are memoized. Please be minded that storing Keccaks does not impact the Merkle behavior as it preserves the correctness tracking paths. The only impact is performance.

One way to implement it would be to have a single integer that marks from which level the Keccaks of branches need to be memoized, like int memoizeKeccakFromTrieLevel. This would work nicely for both, Storage and State so it looks like no differentiation between these would be required. Maybe, we could start from int memoizeKeccakFromTrieLevel = 2? Also, caching every Nth level can be the option to make the data smaller.

@Scooletz Scooletz added this to Paprika Aug 9, 2023
@Scooletz Scooletz converted this from a draft issue Aug 9, 2023
@Scooletz Scooletz added ethereum An Ethereum specific work item that requires a good understanding of Eth 🌴Merkle Merkle construct labels Aug 9, 2023
@Scooletz Scooletz mentioned this issue Aug 9, 2023
10 tasks
@Scooletz Scooletz self-assigned this Aug 9, 2023
@Scooletz Scooletz moved this from Todo to In Progress in Paprika Aug 9, 2023
@Scooletz Scooletz moved this from In Progress to Done in Paprika Aug 10, 2023
@Scooletz
Copy link
Contributor Author

This has been done in #123

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ethereum An Ethereum specific work item that requires a good understanding of Eth 🌴Merkle Merkle construct
Projects
Status: Done
Development

No branches or pull requests

1 participant