Delegation-in-Bitcoin-Part-2-min

Delegation in Bitcoin: Part 2

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 in Bitcoin: Part 2

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

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.

[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]
[id^="_form"]
[id^="_form"]
[id$="_submit"]
[id$="_submit"]
[^;]
[^;]
[?&]
[?&]
[^&#]
[^&#]
[(d+)]
[(d+)]
[elem.name]
[elem.name]
[+_a-z0-9-'&=]
[+_a-z0-9-'&=]
[+_a-z0-9-']
[+_a-z0-9-']
[a-z0-9-]
[a-z0-9-]
[a-z]
[a-z]
[el.name]
[el.name]