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

Preferring a 64 byte prefix over the current 8-bit prefix for both internal and leaf nodes. #4

Open
harsh4786 opened this issue Sep 25, 2023 · 3 comments
Assignees

Comments

@harsh4786
Copy link
Collaborator

For the merkle tree, we currently have a prefix concatenated to the preimage as described below:

  • 0x00: leaf node
  • 0x01: branch node with 1 child
  • 0x02: branch node with 2 children

As per our discussions here we should consider concatenating a 64 byte prefix to the preimage, as a measure to optimize since the internal block size is of 64 bytes and this would maintain alignment between the two blocks of the internal state per node.

@samkim-crypto
Copy link
Collaborator

Okay, sounds good. In terms of the proof though, it is probably best to hide these details that are implementation specific. Otherwise, the proof will become very involved and unreadable. We can either add it to the end of the doc or probably just not include the implementation details in latex and just add it to simd.

@harsh4786
Copy link
Collaborator Author

Yeah makes sense to keep it separate from the proof.

@harsh4786
Copy link
Collaborator Author

On a second note, i feel we shouldn't congest the simd with implementation details, we can just mention in this proof about the 64byte prefix since this proof formalizes the commitment scheme. What do you think? @samkim-crypto

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

No branches or pull requests

2 participants