sbtc-developer-release
sbtc-developer-release copied to clipboard
sBTC Research - Create Deposit Procedure Diagram
Description
We need to create a deposit procedure diagrams to put in place of Figure 1
of the original sBTC SIP PR.
Context
During the SIP planning process we've identified a few key changes that we intend to make for the original deposit flow. The primary difference are:
- OP_RETURN will be supported but not the primary deposit protocol
- OP_DROPs will be collated into a single OP_RETURN along with any other UTXOs to the peg wallet such that at the end of every Bitcoin block there is only a single UTXO to the peg wallet.
- A user using OP_DROP will provide the revealer data via a Revealer API in the happy path, and "challenge" or "force" the transaction to be noticed by signers via a call to the
.sbtc
contract.
All research discussions: research All design discussions: design
Most relevant:
- https://github.com/stacks-network/sbtc/discussions/345
- https://github.com/stacks-network/sbtc/discussions/314
- https://github.com/stacks-network/sbtc/discussions/343
Expected Approach
Create one or more protocol flow diagram like the others in the SIP that will show the full flow of OP_DROP and OP_RETURN and include that in the SIP. It is expected that these are iterated upon within this ticket.
- [ ] Read relevant sBTC research discussions
- [ ] Discuss areas of ambiguity
- [ ] Create protocol diagram/s
- Iterate
Artifacts / Acceptance Criteria
- [ ] There are N protocol design diagrams that handle all variations of the 3 steps in the context description.
- [ ] Those diagrams have been confirmed by Jude and others.
- [ ] Those protocol design diagrams are linked to and included in the sBTC SIP in the initial sBTC SIP PR: https://github.com/stacksgov/sips/pull/156
I think the steps are going to look like this for Commit-Reveal (largely unchanged compared to https://github.com/stacks-network/sbtc/discussions/345#discussioncomment-7452311):
And in the case of a Challenge, we'll have the following:
In both cases, the curve arithmetic is done by the Stacks Node and not in the Clarity contract