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

Nethermind includes extraneous 0x values in eth_getProof responses, breaking cryptographic consistency. #7759

Closed
jwelch-qn opened this issue Nov 14, 2024 · 1 comment · Fixed by #7766
Assignees

Comments

@jwelch-qn
Copy link

Description
eth_getProof includes erroneous 0x values that don't make sense

Steps to Reproduce
Calling this eth_getProof request on Nethermind:

curl <Nethermind node URL>  \
  -X POST \
  -H "Content-Type: application/json" \
  --data '{"method":"eth_getProof","params":["0x3a10dc1a145da500d5fba38b9ec49c8ff11a981f",["0x0000000000000000000000000000000000000000000000000000000000000003","0x0000000000000000000000000000000000000000000000000000000000000004","0x0ddc93f0dfd4cec69030b20fc3c9037ae4a8a3151a4c66b05fa74272b3a48df8", "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","0x90375f0b936c9e37c8e89c250b2c970b724107b72ed642aa819ba7b257516d30","0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103","0xfd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a99551f","0xfd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a995520","0xfd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a995521","0xfd21a1ac9a14dff647460ce8ad2ccecb794a59a4cfbb8678b1f9900a6a995523"],"0x143212F"],"id":1,"jsonrpc":"2.0"}' |jq

Actual behavior
The proof nodes array includes multiple 0x entries, representing empty nodes. These extra empty nodes imply an unnecessary parent-child relationship between empty nodes, which breaks the cryptographic consistency expected in exclusion proofs.

Expected behavior
The proof nodes array should exclude redundant 0x entries in exclusion proofs, only including relevant nodes that provide a cryptographically verifiable path. Correct exclusion proofs from other clients do not include these extra empty nodes.

Screenshots
image

Desktop (please complete the following information):

  • Operating System: Ubuntu 24.04

  • Version: Nethermind/v1.29.1

  • Installation Method:Github release

  • Consensus Client: Lighthouse

@hashcashier
Copy link

@jwelch-qn @MarekM25 @flcl42 thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants