pettycoin towards 1 0
play

Pettycoin: Towards 1.0? Rusty Russell rusty@rustcorp.com.au - PowerPoint PPT Presentation

Pettycoin: Towards 1.0? Rusty Russell rusty@rustcorp.com.au Contents Pettycoin Background Massive Detour Contains Caveats and Notes! Pettycoin v2? Pettycoin Mining cost places lower limit on transaction fees Help cut


  1. Caveats & Notes II ● Numbers being pushed on the stack are usually just printed; I made up OP_PUSH<> here to be explicit ● Input script is often called scriptSig ● Output script is often called scriptPubkey ● The “signature” actually has a byte appended which indicates what parts of the transaction it signed. ● The RIPEMD160 of a ECDSA secp256k1 public key is usually encoded for printing using bitcoin's base58 encoding method, and called a “bitcoin address”

  2. Sidechains

  3. Sidechains ● Alternative chains which use real bitcoins – But may have different/experimental protocol rules

  4. Sidechains: More Wasted Work?

  5. Sidechains: More Wasted Work? 2 2

  6. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time prev txs version timestamp nonce target

  7. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3)

  8. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0

  9. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  10. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  11. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  12. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  13. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  14. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  15. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  16. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(sidechain header) Sidechain Header

  17. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(Chain3) H(Chain1) H(Chain2) H(Chain4)

  18. Sidechains: More Wasted Work?

  19. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time txs H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(H(H(C1) H(C2)) H(H(C3) H(C4))) H(H(C1) H(C2)) H(H(C1) H(C2)) H(Chain3) H(Chain1) H(Chain2) H(Chain4)

  20. Sidechains: More Wasted Work? ● Bitcoin miners can mine other chains at the same time H(H(Tx-0) H(Tx-1)) H(H(Tx-2) H(Tx-3)) H(Tx-0) H(Tx-1) H(Tx-2) H(Tx-3) Tx-0 Dummy Input 0 H(H(H(C1) H(C2)) H(H(C3) H(C4))) H(H(C1) H(C2)) H(H(C1) H(C2)) H(Chain3) H(Chain1) H(Chain2) H(Chain4) Chain header

  21. Sidechains ● Alternative chains which use real bitcoins – But may have different/experimental protocol rules

  22. Sidechains ● Alternative chains which use real bitcoins – But may have different/experimental protocol rules ● Special bitcoin transactions send to the sidechain.

  23. Sidechains ● Alternative chains which use real bitcoins – But may have different/experimental protocol rules ● Special bitcoin transactions send to the sidechain. ● Special sidechain transactions return bitcoins to bitcoin.

  24. Sidechains ● Alternative chains which use real bitcoins – But may have different/experimental protocol rules ● Special bitcoin transactions send to the sidechain. ● Special sidechain transactions return bitcoins to bitcoin. ● Prove to the bitcoin network that the return happened in the sidechain, and bitcoin will let you spend those bitcoins again.

  25. To Sidechain ● A bitcoin transaction output script would “send” bitcoins to the sidechain: – <hash-of-sidechain-block> OP_SIDECHAINPROOFVERIFY

  26. On the Sidechain... ● Hey, a new OP_SIDECHAINPROOFVERIFY bitcoin output for us!

  27. On the Sidechain... ● Hey, a new OP_SIDECHAINPROOFVERIFY bitcoin output for us! … some time later...

  28. On the Sidechain... ● Hey, a new OP_SIDECHAINPROOFVERIFY bitcoin output for us! … some time later... ● That can now be spent like any other unspent transaction output.

  29. On the Sidechain... ● Hey, a new OP_SIDECHAINPROOFVERIFY bitcoin output for us! … some time later... ● That can now be spent like any other unspent transaction output. … coins move around sidechain... ● A special unspendable output script returns the funds to the bitcoin network.

  30. Caveats & Notes III ● In practice, would use proofs for bitcoin → sidechain (as we'll see for the other way) ● There's no BIP yet describing this, but the unspendable output could be as simple as OP_RETURN. ● My guess is: – <bitcoin-genesis> OP_RETURN <extra-script-to-be-evaluated-on-bitcoin-side>

  31. On The Sidechain ... Block 0 Block 1 Block 2 Block 3 Block 4 ... Block N-1 Block N N+1 N+2 N+3 Return-to-bitcoin tx output

  32. … Back To Bitcoin ... ... Block 0 Block 0 Block 1 Block 1 Block 2 Block 2 Block 3 Block 3 Block 4 Block 4 ... ... Block N-1 Block N-1 Block N Block N N+1 N+1 N+2 N+2 N+3 N+3 Return-to-bitcoin tx output ● To spent the bitcoin OP_SIDECHAINPROOFVERIFY output – Prove the return-to-bitcoin tx is in the sidechain

  33. … Back To Bitcoin ... ... Block 0 Block 0 Block 1 Block 1 Block 2 Block 2 Block 3 Block 3 Block 4 Block 4 ... ... Block N-1 Block N-1 Block N Block N N+1 N+1 N+2 N+2 N+3 N+3 Return-to-bitcoin tx output ● Prove the tx is in block N ● Prove block N is in sidechain.

  34. Prove TX in Block txs Tx-0

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend