-
Notifications
You must be signed in to change notification settings - Fork 8
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
Add consensus-level support for commit-reveal #73
Comments
@netrome I would like to know what the added complexity for doing this would be. |
The added complexity for supporting commit-reveal on a consensus level is pretty big. The main challenge is defining exactly how the revealer API should be integrated in the stacks nodes (or PoX contract) and integrate the reveal functionality with the signers. Beyond this, we need to figure out how to enforce revealing on a consensus level, which is somewhat tricky since any ignored commit output will just look like an arbitrary p2tr output. |
So, for reference, RSK uses the first input in the peg-in transaction to generate the address on RSK that will receive the rBTC. For sBTC, I was thinking of having a Stacks smart contract that stores the P2TR outputs that have the sBTC format. The Stacks contract call required to store this information can be done by anyone. Then, when it's time to rotate the wallet, signers can claim this UTXO with all the other peg-in UTXOs |
Yeah using smart contract calls for submitting reveal data makes sense. I don't see any other way to later enforce it at a consensus level. |
@MarvinJanssen is looking into commit-reveal from a Clarity perspective right now. Hopefully we can figure out a good initial design, document it and include it in the sBTC DR 0.2 targeting end of October - depending on the complexity of the resulting design. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Context
The current design supports commit-reveal operations as an alternative method of constructing sBTC operations. To use commit-reveal, a user or application is dependent on a trusted entity to act as a revealer - which is the entity consuming the commit transaction and constructing the reveal transaction visible to the sBTC system (and anyone else observing the chain).
While anyone can act as a revealer, we anticipate that there will be low interest in community-provided revealers. Therefore, we'd like to add consensus-level support for commit-reveal, to ensure that sBTC comes with a solution for applications to leverage the commit-reveal protocol.
Definition of done
The sBTC consensus rules are updated to ensure there's always a reliable revealer available.
The text was updated successfully, but these errors were encountered: