Micro-transaction channels

Slides:



Advertisements
Similar presentations
Secure Multiparty Computations on Bitcoin
Advertisements

AB 11 22 33 44 55 66 77 88 99 10  20  19  18  17  16  15  14  13  12  11  21  22  23  24  25  26  27  28.
Exchange Trading. How to get bitcoins in Thailand? Over-the-counter provider (OTC) Trade with a person or company to buy or sell Bitcoins.
BITCOIN – 2014 John BlackSpring Digital Currency  Chaum’s ideas in the 1980’s  All ideas required a central bank or single point of trust  Chaum.
Opening and Using a Bank Account December 16 th, 2008.
September 9 & 10, Objectives  Determine how interest is compounded for savings accounts.  Explain the various electronic banking methods.  Identify.
No Contract - No Deposit No Credit Keep your number Unlimited National Calls Unlimited International Text Nation Wide Coverage Includes $10.
Bitcoin Transaction Scripting Andy Ofiesh Senior Software Engineer Armory Technologies, Inc. MIT Bitcoin Expo, May 3rd, 2014 © Armory Technologies, Inc.
Bitcoin Exploration A Futuristic Odyssey of Magic Internet Money.
1 Bitcoin A Digital Currency. Functions of Money.
Treasury & Fund Management Interactions between the Markets.
Chapter © 2010 South-Western, Cengage Learning Checking Accounts and Banking Services Checking Accounts 9.
Class 15: Scripting Transactions Cryptocurrency Cabal cs4501 Fall 2015 David Evans and Samee Zahur University of Virginia.
Demystifying incentives in the consensus computer Loi Luu, Jason Teutsch, Raghav Kulkarni, Prateek Saxena National University of Singapore.
Bitcoin Tech Talk Zehady Abdullah Khan (Andy) Graduate Assistant, Computer Science Department, Purdue University.
Bitcoin The only successful online currency. How can it be used? Bitcoin can be used to pay for goods when shopping online, there are some physical ATMs.
A Secure Online Card Payment Protocol VIJAY CHOUDHARY M.Tech(IS), DTU.
Bitcoin’s new Era OP_CSV, Segregated Witness And how it relates to Bitcoin at Visa’s scale.
Checking Accounts CheckCheck A written order to pay a stated amount to a person or business Checking accountChecking account  Also known as “demand deposit”
Digital vs. paper currencies Paper: Digital: 16fab13fc6890 Very useful if is also digital.
Online Banking System. Introduction Online banking is the practice of making bank transactions or paying bills via the Internet. Thanks to technology,
Alexander Bernauer What is Bitcoin?
BIS 303 Week 4 DQ 1 How does the use of Internet job posting and electronic job applications provide a competitive advantage over traditional channels?
Block Chain 101 May 2017.
Blockchain & Bitcoin Notions fondamentales Lionel Brunie, Omar Hasan Institut National des Sciences Appliquées de Lyon
Generate your FCDL.
How does it work? What is it made of? What is it made of?
Personal Banking and Commercial Banks
Arnaud Sahuguet My $0.02.
Peppercoin Micropayments
By: Pharhon Mckenzie Grade:8A1
Personal Finance Chapter 5.
Mechanics of Bitcoin Part I
Experiences Working on Layer 2 Scalability Solutions Corné Plooy
Amiko Pay A decentralized network for secure, instant, off-blockchain transactions.
18734: Foundations of Privacy *coins
How to Create a Bitshare (BTS) Account
Campbell R. Harvey Duke University and NBER
protocollo e casi studio
Welcome To Binance Helpline. Unable to add fund in Binance how to fix Binance is a multi-currency cloud-based web wallet which allows its users to W2move,
Welcome To Quadrigacx Customer Support. Unable to add fund in Quadrigacx how to fix Quadrigacx is a multi-currency cloud-based web wallet which allows.
CS898AT – Bitcoins and Cryptocurrencies
Technical Overview of Bitcoin
Campbell R. Harvey Duke University and NBER
Atomically Swapping Coins: for Privacy or Cross-Blockchain Trades
Jan H. Jansen Blockchain Jan H. Jansen
Identification of Cross-Blockchain Transactions: A Feasibility Study
Campbell R. Harvey Duke University and NBER
Lightning Network and Raiden Network
Hash In-Class Quiz.
Networked Door Locking System
Bitcoin: Data flow.
Zcash adds privacy to Bitcoin’s decentralization
Cryptocurrency as a payment option
Blockchain Disasters Nikolay Angelov Blockchain Developer.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Scaling the Blockchain:
The Difficulties And Countermeasures Of DAPP On Block Chain

Off-Chain Payment Channels
SECTION 4-3 Check Registers pp
Review What is the difference between simple interest and compound interest? Which will earn more? What 4 methods can you use to take money out of a checking.
Blockchain & Bitcoin Notions fondamentales Lionel Brunie, Omar Hasan Institut National des Sciences Appliquées de Lyon
Contents Contents Contents Contents Sub Copy Contents Sub Copy
Generate your FCDL.
Lightning or How to Pay Quickly with Bitcoin
Campbell R. Harvey Duke University and NBER
Campbell R. Harvey Duke University and NBER
Campbell R. Harvey Duke University and NBER
Bitcoin and Blockchain
Presentation transcript:

Micro-transaction channels Corné Plooy

Contents Uni-directional micro-transaction channels Bi-directional micro-transaction channels Unlimited lifetime micro-transaction channels Lightning and Amiko Pay

A Bitcoin transaction Amount TxID Amount ScriptPubKey Index ScriptSig Amount ScriptPubKey Amount ScriptPubKey TxID Index ScriptSig Amount ScriptPubKey Amount ScriptPubKey Amount ScriptPubKey Amount ScriptPubKey

Example: WiFi hot-spot 80 minutes Internet 0.8 mBTC

Example: WiFi hot-spot 1 mBTC 80 minutes Internet 0.2 mBTC

Example: WiFi hot-spot 1 minute Internet 0.01 mBTC 1 minute Internet 0.01 mBTC 1 minute Internet 0.01 mBTC

Micro-transaction channels B 1 mBTC to A

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Send transaction Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 1 mBTC to A 0 mBTC to B

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Send signature Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 1 mBTC to A 0 mBTC to B B B

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B B

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Send transaction Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.99 mBTC to A 0.01 mBTC to B B A

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Send transaction Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.98 mBTC to A 0.02 mBTC to B B A

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Send transaction Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B B A

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B B B A

Micro-transaction channels B 1 mBTC to A Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B A B A

Micro-transaction channels B 1 mBTC to A Lock time Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B B A

Questions? A B 1 mBTC to A Deposit: 1 mBTC to A+B Withdraw: 0 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B B A

Example: Bitcoin exchange 3 BTC 2 BTC 5 BTC

Example: Bitcoin exchange Withdraw: 10 BTC to A 0 BTC to B B 10 BTC to A B Withdraw: 7 BTC to A 3 BTC to B Deposit: 10 BTC to A+B A A

Example: Bitcoin exchange Withdraw: 10 BTC to A 0 BTC to B B 10 BTC to A B Withdraw: 7 BTC to A 3 BTC to B Deposit: 10 BTC to A+B A A Withdraw: 9 BTC to A 1 BTC to B ???? ?

Example: Bitcoin exchange Withdraw: 10 BTC to A 0 BTC to B B 10 BTC to A B Withdraw: 7 BTC to A 3 BTC to B Deposit: 10 BTC to A+B A A Withdraw: 9 BTC to A 1 BTC to B ???? B

Bi-directional channel Withdraw: 10 BTC to A 0 BTC to B B 10 BTC to A B Withdraw: 7 BTC to A 3 BTC to B Deposit: 10 BTC to A+B A A Withdraw: 9 BTC to A 1 BTC to B B

Questions? A B Withdraw: 10 BTC to A 0 BTC to B 10 BTC to A Withdraw: Deposit: 10 BTC to A+B A A Withdraw: 9 BTC to A 1 BTC to B B

Lock times Amount TxID Amount ScriptSig Index ScriptSig ScriptPubKey

Lock times TxID Amount Index Amount ScriptSig ScriptPubKey ScriptSig SequenceNr Amount ScriptSig Amount ScriptSig Amount ScriptSig TxID Index ScriptPubKey SequenceNr Amount ScriptSig Amount ScriptSig LockTime Amount ScriptSig

Lock times OP_CHECKLOCKTIMEVERIFY OP_CHECKSEQUENCEVERIFY TxID Amount ScriptSig TxID Index ScriptPubKey SequenceNr Amount ScriptSig Amount ScriptSig Amount ScriptSig TxID Index ScriptPubKey SequenceNr Amount ScriptSig Amount ScriptSig LockTime Amount ScriptSig OP_CHECKLOCKTIMEVERIFY OP_CHECKSEQUENCEVERIFY

OP_CHECKLOCKTIMEVERIFY A 1 mBTC to A B Deposit: 1 mBTC to A+B A Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.3 mBTC to A 0.7 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B B A A

OP_CHECKLOCKTIMEVERIFY A 1 mBTC to A B Deposit: 1 mBTC to: (A AND CLTV) OR (A AND B) A Withdraw: 1 mBTC to A 0 mBTC to B Withdraw: 0.3 mBTC to A 0.7 mBTC to B Withdraw: 0.2 mBTC to A 0.8 mBTC to B A A

Unlimited lifetime channel 10 BTC A A B 10 BTC A AND B A 8 BTC A AND CSV OR B AND RA 2 BTC B 8 BTC A 2 BTC B AND CSV OR A AND RB B A ... ... Relative lock time

Unlimited lifetime channel 10 BTC A A B 10 BTC A AND B A 8 BTC A AND CSV OR B AND RA 2 BTC B 8 BTC A 2 BTC B AND CSV OR A AND RB B A

Unlimited lifetime channel 10 BTC A A B 10 BTC A AND B A 8 BTC A AND CSV OR B AND RA 2 BTC B 8 BTC A 2 BTC B AND CSV OR A AND RB B A 6 BTC A AND CSV OR B AND RA' 4 BTC B 6 BTC A 4 BTC B AND CSV OR A AND RB' B A

Unlimited lifetime channel 10 BTC A A B 10 BTC A AND B A 8 BTC A AND CSV OR B AND RA 2 BTC B 8 BTC A 2 BTC B AND CSV OR A AND RB B A 6 BTC A AND CSV OR B AND RA' 4 BTC B 6 BTC A 4 BTC B AND CSV OR A AND RB' RA + B A

Regularly check your channel! 10 BTC A A B 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA 0 BTC B 10 BTC A 0 BTC B AND CSV OR A AND RB B A 1 BTC A AND CSV OR B AND RA' 9 BTC B 1 BTC A 9 BTC B AND CSV OR A AND RB' RA + B A

Regularly check your channel! 10 BTC A A B 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA 0 BTC B 10 BTC A 0 BTC B AND CSV OR A AND RB A B A 1 BTC A AND CSV OR B AND RA' 9 BTC B 1 BTC A 9 BTC B AND CSV OR A AND RB' RA + B A

Regularly check your channel! 10 BTC A A B 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA 0 BTC B A B

Regularly check your channel! 10 BTC A A B 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA 0 BTC B A B 10 BTC A 10 BTC B A RA B

Regularly check your channel! 10 BTC A A B 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA 0 BTC B A B 10 BTC A 10 BTC B 1 BTC A 9 BTC B A RA B RA B

Questions? A B 10 BTC A 10 BTC A AND B A 10 BTC A AND CSV OR B AND RA

Lightning / Amiko Pay

Lightning / Amiko Pay

Lightning / Amiko Pay

Lightning / Amiko Pay

Lightning / Amiko Pay H H H t+1day t+3days H t+2days H t+4days R = random() H = hash(R)

Lightning / Amiko Pay Hash Time Locked Contract (HTLC) H H H t+1day t+3days H t+2days H t+4days R = random() H = hash(R) Hash Time Locked Contract (HTLC)

A AND CHECKLOCKTIMEVERIFY HTLC A AND CHECKLOCKTIMEVERIFY OR B AND R R = random() H = hash(R)

C-Lightning channel design 10 BTC A A B 10 BTC A AND B A 6 BTC A AND CSV OR B AND RA 2 BTC R AND B OR CLTV AND CSV AND A B AND RA 2 BTC B 6 BTC A 2 BTC R AND B AND CSV OR CLTV AND A A AND RB 2 BTC B AND CSV OR A AND RB B A

Questions? A B 10 BTC A 10 BTC A AND B A 6 BTC A AND CSV OR B AND RA R AND B OR CLTV AND CSV AND A B AND RA 2 BTC B 6 BTC A 2 BTC R AND B AND CSV OR CLTV AND A A AND RB 2 BTC B AND CSV OR A AND RB B A

1Cj3pyT1VDGK1g4DF5epbG4DL7rXAvzFwe Thank you http://cornwarecjp.github.io/amiko-pay 1Cj3pyT1VDGK1g4DF5epbG4DL7rXAvzFwe

Scripts A AND CSV OR B AND RA OP_HASH160 <H(RA)> OP_EQUAL OP_IF <key B> OP_ELSE <delay> OP_CHECKSEQUENCEVERIFY OP_DROP <key A> OP_ENDIF OP_CHECKSIG

Scripts OR CLTV AND A B AND RA R AND CSV AND B OP_HASH160 OP_DUP <H(R)> OP_EQUAL OP_IF <delay> OP_CHECKSEQUENCEVERIFY OP_2DROP <key B> OP_ELSE <H(RA)> OP_EQUAL OP_NOTIF <HTLC timeout> OP_CHECKLOCKTIMEVERI FY OP_DROP OP_ENDIF <key A> OP_CHECKSIG

Scripts OR CLTV AND CSV AND A B AND RA R AND B OP_HASH160 OP_DUP <H(R)> OP_EQUAL OP_SWAP <H(RA)> OP_EQUAL OP_ADD OP_IF <key B> OP_ELSE <HTLC timeout> OP_CHECKLOCKTIMEVERIFY <delay> OP_CHECKSEQUENCEVERIFY OP_2DROP <key A> OP_ENDIF OP_CHECKSIG