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 value is prehashed before generating a proof for the SimpleMerkle tree (the one that follows the TendermintSpec not iavl). As far as I understand, the value field is always the root of the iavl tree for a module. For example, key being ibc and value being the root of the ibc store. Since the only supported hash right now is sha256, the root has a known size which is 32 bytes. Why in the spec of tendermint, the value still needs to be hashed?
My guess is either there are some other use cases to this top level merkle tree where the value might not be a hash (32 bytes) or it's to keep the proof generation abstract over which hash is being used (it could technically be more than 32 bytes if another hashing algorithm were to be used).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
The
value
is prehashed before generating a proof for theSimpleMerkle
tree (the one that follows theTendermintSpec
not iavl). As far as I understand, the value field is always the root of the iavl tree for a module. For example,key
beingibc
andvalue
being the root of the ibc store. Since the only supported hash right now is sha256, the root has a known size which is 32 bytes. Why in the spec of tendermint, the value still needs to be hashed?My guess is either there are some other use cases to this top level merkle tree where the
value
might not be a hash (32 bytes) or it's to keep the proof generation abstract over which hash is being used (it could technically be more than 32 bytes if another hashing algorithm were to be used).Beta Was this translation helpful? Give feedback.
All reactions