This post was first published on Medium. Read Delegation in Bitcoin.
We introduce a simple yet universal delegation mechanism, an alternative to the script-level delegation we have developed.
Transaction-Level Delegation
Let us say Alice wants to delegate her UTXO to Bob. She creates a transaction of two inputs: one spending her UTXO and the other spending Bob’s UTXO. She signs her input using sighash flag SIGHASH_NONE, meaning all outputs of the transaction can be malleated. She hands the partially signed transaction to Bob. Bob can sign the second input and send Alice’s coins to whatever outputs he wants. Essentially, Alice has delegated her UTXO to Bob.
Delegation
Bob’s UTXO can come from an existing UTXO controlled by Bob. If no such UTXO exists, Alice can simply create one and deposit minimal dust-level bitcoins into it.
Compared to script-level delegation, the delegated UTXO does not need to be transferred to a delegate smart contract first. It can be deployed to existing wallets today.
Acknowledgements
Original idea comes from this post in the bitcoin-dev mailing list.
Watch: Coingeek New York panel, BSV vs. Other Blockchains: Differences that Matter for Developers & Businesses
Source: Read Full Article