Lock them up!


The importance of multi-signature, time-locked Bitcoin transactions in custody solutions

Good news everyone!
Institutional money is coming!

But the big question is: can custodians guarantee the security of the very-valuable Bitcoin that institutions are (will be) buying?

Maybe!

good news

P2PKH Bitcoin single signature transaction, compares to a private road.

Single Signature

Bitcoin assembly code

What does a P2PKH transaction loook like?

PubKeyScript - you can move my UTXOs if you can do one simple thing!

OP_DUP OP_HASH160 <hash160(pubKey)> OP_EQUAL OP_CHECKSIG


ScriptSig - I can do that one simple thing, here's my proof!

<sig> <pubKey> OP_DUP OP_HASH160 <hash160(pubKey)> OP_EQUAL OP_CHECKSIG

P2SKH Bitcoin multisig transaction requires two signatures, compares to a missle launch control center.

Two man rule

What if the locks could not (mechanically) be opened until the clock reaches 19:00:00?

Two man rule

Bitcoin assembly code

What does our P2SKH transaction loook like?

PubKeyScript - you can move my UTXOs if you can do two simple things and only after some point in time!

<blockNumber> OP_CHECKLOCKTIMEVERIFY OP_DROP OP_2 <pubKeyA> <pubKeyB> OP_2 OP_CHECKMULTISIG
OP_HASH160 <redeemScript> OP_EQUAL


ScriptSig - I've waited for that block to be mined, and I can do those two things, here's my proof!

  OP_0 <sigA> <sigB> <redeemScript> OP_HASH160 <hash160(redeemScript)> OP_EQUAL

Consider all of the weaknesses of your system! Because...

existing concept
Two man rule

There is no margin for error.

existing concept
https://images.unsplash.com/photo-1503792243040-7ce7f5f06085?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1915&q=80

The reference client should be the weakest link in your system.


A theoretically perfect interface passes the security properties of the reference client to the end user(s) without increasing the attack/loss surface. This is probably not possible to achieve in the real world!