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

Design proposal: Multiple deposit/withdrawal fulfilments per Bitcoin transaction #54

@MarvinJanssen

Description

@MarvinJanssen

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions