Replies: 4 comments 8 replies
-
|
Nice brain dump. Some thoughts:
|
Beta Was this translation helpful? Give feedback.
-
|
Another question? during handoff, new signers need to communicate to produce the new DKG address Old signers need to still communicate to produce the BTC wallet handoff transaction Implies we need to have stacker db update for a handoff period to enable both signing sets to write to the db Might be a good to enable old signers to verify the aggregate result of the new signers to construct the BTC wallet handoff/ensure that coordinator is not constructing a faulty BTC transaction to some unknown uncontrolled address (not just rely on the smart contract input) |
Beta Was this translation helpful? Give feedback.
-
Messages that need to be sent to Signers via stacker DB:DKG Round Messages: Tx Signing Round Messages VRF ConcernsFor DKG round:
|
Beta Was this translation helpful? Give feedback.
-
|
Concern about spendability of denied UTXOs:
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
This is a bit of a brain dump of the Signer process.
Signer Needs
Need to have from either stacks node/smart contract/stacker db @jo-tm @netrome @jcnelson @soju-drinker @will-at-stacks @xoloki :
NOTES:
For an idea of how the signer and coordinator (note a coordinator is a signer but a specific subrole) flows look, see below text and the following sequence diagrams:
Signer Flow
Coordinator Flow
If outdated and you are a NEW coordinator:
If updated and you are an OLD coordinator:
TRIGGER SIGN REQUEST for Wallet Handoff using new sBTC wallet address
Retrieve Pending sBTC Transactons
TRIGGER SIGN REQUEST
Signer Sequence Diagram
sequenceDiagram participant Signer as Signer participant SmartContract as Smart Contract participant StacksNode as Stacks Node Note over Signer, StacksNode: Key Registration Signer->>SmartContract: Register Signer Public Key SmartContract->>SmartContract: Store Public Key Mapping Note over Signer, StacksNode: Signer Data Retrieval Signer->>StacksNode: Retrieve Signers' Info StacksNode-->Signer: Signer IDs/Public Keys/Vote Shares Signer->>SmartContract: Retrieve Signer's Public Key SmartContract-->Signer: Public Key Note over Signer, StacksNode: Process sBTC transactions Signer->>StacksNode: Retrieve sBTC transactions StacksNode-->Signer: sBTC Transactions Signer->>Signer: Check Coordinator of Transaction Note over Signer, StacksNode: Process Sign Requests Signer->>StacksNode: Retrieve Sign Requests StacksNode-->Signer: Sign Requests Signer->>Signer: Calculate Coordinator Public Key Signer->>StacksNode: Verify Sign Request alt DKG Sign Request Signer->>StacksNode: DKG Sign Response else Tx Sign Request Signer->>Signer: Verify Transaction Signer->>Signer: Sign Approve/Deny Signer->>StacksNode: Tx Sign Response endCoordinator Sequence Diagram
sequenceDiagram participant Coordinator as Coordinator participant StacksNode as Stacks Node participant BitcoinNode as Bitcoin Node Note over Coordinator, BitcoinNode: sBTC Wallet Handoff Coordinator->>StacksNode: Get sBTC wallet public key alt Outdated Wallet and New Coordinator Coordinator->>StacksNode: DKG Sign Request Coordinator->>StacksNode: Get DKG Sign Response StacksNode-->Coordinator: DKG Sign Response Coordinator->>Coordinator: Aggregate Response Shares Coordinator->>StacksNode: Set sBTC wallet public key else Updated Wallet and Old Coordinator Coordinator->>Coordinator: Create BTC wallet handoff tx Coordinator->>StacksNode: Tx Sign Request Coordinator->>StacksNode: Get Tx Sign Response StacksNode-->Coordinator: Tx Sign Response Coordinator->>Coordinator: Aggregate Shares Coordinator->>BitcoinNode: Wallet Handoff tx end Note over Coordinator, BitcoinNode: Process sBTC Ops Coordinator->>StacksNode: Get Pending sBTC Ops StacksNode-->Coordinator: Pending sBTC Ops Coordinator->>Coordinator: Fulfill Withdrawal Requests Coordinator->>StacksNode: Tx Sign Request Coordinator->>StacksNode: Get Tx Sign Response Shares StacksNode-->Coordinator: Tx Sign Response Shares Coordinator->>Coordinator: Aggregate Shares Coordinator->>BitcoinNode: Deposit/Withdrawal Reveal tx Coordinator->>BitcoinNode: fulfilled Withdrawal tx Coordinator->>StacksNode: mint/redeem STX txBeta Was this translation helpful? Give feedback.
All reactions