Unify transaction and witness merkle roots #806
Labels
brainstorming
Needs input, ideas are welcome
needs design
Needs a design (possibly in a UIP) before it can be implemented
Milestone
Copied from PR#798 discussion
Also partially related to this PR. We are working on also introducing a merkle root for finalizer commits.
We will change their signatures so they will also have a witness program. If we proceed with the current approach, we will add +2 roots to the headers, one for finalizer commits and one for their witness.
@Gnappuraz had an idea that what if we don't introduce the new merkle root for finalizer commits but combine with existing one. Example:
So, in the header, we can still use one record, but in a p2p
commits
message we send besidescommits
also the hash oftxs
so we will be able to match with theroot
.Then, if we pick this approach, a similar pattern can be applied to the witness root.
One edge-case is that we not always have commits. The idea is to duplicate then what you have on the left leaf to the right.
Now my question :)
If we proceed with that proposal (we don't find an issue with that). What if we instead of grouping witnesses and txs, we will group entities, e.g.:
With the second approach we have 2 possible advantages:
The text was updated successfully, but these errors were encountered: