You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The circomlib assembly evm code supports up to Poseidon T6. To hash more than 5 items, we either need to implement new evm code or hash items with only T6.
How can we fix that
Currently, we have objects "Message" and "vote options" that need hashing more than 5 items. For vote options, since we expect supporting up to 2**10 of options, we build a merkle tree for it.
Poseidon t
number of elements
Use cases
t = 3
2
Build Merkle tree with HashLeftRight
t = 6
5
Hash stateLeaf
To hash 11 items in message, there are two options we can explore.
Summary of discussion with @weijiekoh yesterday.
What's wrong
The circomlib assembly evm code supports up to Poseidon T6. To hash more than 5 items, we either need to implement new evm code or hash items with only T6.
How can we fix that
Currently, we have objects "Message" and "vote options" that need hashing more than 5 items. For vote options, since we expect supporting up to 2**10 of options, we build a merkle tree for it.
To hash 11 items in message, there are two options we can explore.
Option 1:
Option 2 (@kobigurk's proposal):
Where
permutation6
is Poseidon t=6, but we output all elements in the state, instead of only the first element.SubTasks
The text was updated successfully, but these errors were encountered: