Replies: 4 comments 3 replies
-
I believe the current idea is to have withdrawals initiated as contract calls on Stacks, instead of being initiated by Bitcoin transactions as in the original design. This greatly simplifies the withdrawal flow to essentially: (Happy path)
This eliminates the need of any "commit-reveal" functionality for withdrawals - so only deposits require communicating with Signers over an API. |
Beta Was this translation helpful? Give feedback.
-
I think to further progress on this topic, we first need to decide on our withdrawal/deposit flows, which are tied back to our MVP requirements. The decision around whether to support requests from burnchain in addition to direct STX transactions/sBTC contract calls can scope the role of the Revealer API for handling the deposit flow (it can be called something else as well - "Signer API" was brought up). |
Beta Was this translation helpful? Give feedback.
-
To conclude this discussion, can we assume the following?
|
Beta Was this translation helpful? Give feedback.
-
Two solutions:
|
Beta Was this translation helpful? Give feedback.
-
Summary
This discussion aims to define the role of the "Revealer API service" and clarify whether, from a design perspective, we'd like to have this as a separate component/service or whether its functionality can/should be handled by an already existing component (like the signers).
Background:
The need for a two-phase commit-reveal scheme for sBTC transactions arose to accommodate users to peg-in their BTC from custodial wallets. In the designs and documents that followed this decision, the "Revealer" component acts as an intermediary service for its API to be called by external user-facing applications (I am assuming whatever this "sBTC bridge" is) to accept deposit requests) and for stackers/signers to poll for pending addresses and tapscript data.
Question -> was this API only needed for deposit requests and not withdrawals? I am not seeing it being used in Withdrawal diagrams.
Pros and Cons
In a recent meeting to discuss sBTC, there was some uncertainty about the role and requirements of the Revealer API. Specifically, the question was raised whether we need the Revealer to be a separate component or if the signer can fulfill its role, at least for sBTC v1.
If this whole commit-reveal scheme is relevant to the sBTC V1 release, I personally think having a separate intermediary service to act as a proxy between user-facing requests and the signer/stacker roles is useful...some reasons being:
References:
Beta Was this translation helpful? Give feedback.
All reactions