Replies: 1 comment 2 replies
-
I wonder if we actually need a separate Note DB or if it could be combined into the chain MMR described above. Specifically, we could modify the block header to look as follows:
In the above, we've added Given note
|
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
It might be a bit premature to define a full format of a block header, but I think we can start thinking about it and add more details as the design solidifies.
As of now, I'm thinking the block header would contain the following fields (this intentionally excludes anything fee or consensus-related):
prev_hash
block_num
chain_root
state_root
batch_root
proof_hash
I think the purpose of most of the above is self-explanatory, except for maybe
chain_root
. As described above,chain_root
is a root of an MMR which contains all block hashes up to the previous block. It could look something like this:We need this data structure to verify transaction proofs which were created against some previous blocks.
I think the above is enough to form a set of public inputs for the transition proof. These inputs would be:
block_num
,prev_hash
,batch_root
.state_root
,chain_root
.All other data would be provided nondeterministically via the advice provider.
Beta Was this translation helpful? Give feedback.
All reactions