This repository was archived by the owner on Dec 4, 2024. It is now read-only.

Description
We had this discussion before on the stacks-sbtc repo. I'm moving it to sbtc-docs for visibility and to perhaps foster a longer discussion and timeline on this—what I think—important question.
Bitcoin transactions can be made more efficient if we allow multiple deposit and withdrawal reveals to exist in a single Bitcoin transaction. Right now it is capped at 1.
Deposit example: if there are 5 pending deposit commitments (funded P2TR escrow addresses) then the Signers could produce a single Bitcoin transaction to consume all of them.
Withdrawal example: if there are 5 pending withdrawal requests then the signers could fulfil all of them in a single Bitcoin transaction.
Hybrid example: if there are 2 pending deposit commitments and 3 pending withdrawal requests, can we settle it all in a single Bitcoin transaction?
Upsides:
- Potentially way fewer Bitcoin transactions.
- Lower fees?
Downsides:
- Added complexity, how to determine which deposits/withdrawals to bundle?
- Clarity limitations and runtime budgets will be reached more quickly. (When verifying the Bitcoin transactions on the Clarity side.)
Related: