-
Notifications
You must be signed in to change notification settings - Fork 29
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
Variable Size Kernels #21
Variable Size Kernels #21
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
In accordance with our RFC process, as of today this can be considered in Final Comment Period with a disposition of merge |
The Final Comment Period is due to expire for this RFC tomorrow. The proposal will then be merged and considered accepted unless there is a strong case made against it. |
This might be a stupid question, but do block headers commit to the full kernels that are contained in the block?
|
No, block headers just commit to the excess, MMR roots, and MMR sizes. Kernels aren't malleable because changing them would change the MMR root |
Headers commit to the kernel MMR root. Which in turn commits to the hashes (and positions) of all the kernels contained in the kernel MMR. So headers don't commit to the full kernels contained in the block directly. tl;dr not the full kernels in the block, but the kernel hashes in all blocks Kernel hashes currently are based on the full kernels (even for 0 fee on coinbase kernels etc). And we need to be careful to preserve this for historical data even when moving to future protocol versions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍. Minors formatting and typo comments.
as per @quentinlesceller comments
Missed two tweaks in previous commit.
🎉 Wohooo! This RFC has now been merged! 🤸♀️ |
Rendered link to RFC document
Tracking issue: mimblewimble/grin#3038
This is a pre-requisite for "relative kernels" as we need to be able to introduce new kernel feature variants, with additional associated data.
The proposal is to support kernels of variable size, with each kernel variant supporting additional data specific to the variant. Height locked kernels have an associated lock height for example.