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

[stacks-signer] Sign a deposit consolidation bitcoin transaction #383

Open
3 tasks
jferrant opened this issue Nov 9, 2023 · 0 comments
Open
3 tasks

[stacks-signer] Sign a deposit consolidation bitcoin transaction #383

jferrant opened this issue Nov 9, 2023 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@jferrant
Copy link
Contributor

jferrant commented Nov 9, 2023

Description

Add ability for signers to sign each individual key spend of a BTC deposit consolidation transaction.

Context

Signers are meant to consolidate deposit transactions via batching and to ensure a single utxo at all times in the wallet. This means that each individual transaction must be considered in the form of an input to the deposit transaction some of which will be coming from places that are undesireable and should therefore be voted on individually.

This implies that some deposits could be rejected as they do not get enough signatures in which case they should be removed from the resulting transaction entirely (submitted as the stx transaction as "no quorum"). This also implies that multiple transactions could result from the "nonce" round of a sign request. These transactions will need to build on each other. (suppose 1 deposit is liked by the first 70% of signers and the 2nd deposit is liked by the last 70%, this will require two transactions to satisfy quorum and they should be chained together as the output of the first is required for the second)

Expected Approach

Start with the simpler one at a time approach. Perform a signing round one at a time over a single BTC transaction per deposit/every single input. If possible, add ability to send a vec of these inputs through stacker db and return shares for each individually.

Note for a single BTC transaction consisting of N inputs, you will need to run N+1 signing rounds (one per input, one across the whole BTC transaction including inputs)

This is closely related to

Acceptance Criteria

  • PR adds the feature ...
  • ...
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants