2. Micropayments via Bitcoin
Problem:
● Bitcoin transactions are cheap
● But not cheap enough!
Solution:
● Rapidly-adjusted (micro)payments to a predetermined party
source: source: https://docs.google.com/presentation/d/1E4Aglf1sW6EMpNSjjWQ13GoZVPYljnydbghEV7w13nI/edit#slide=id.g237a625f_0_29
3. Issues with small Transactions
1. frequent small transactions will be caught by anti-flooding
algorithms.
2. There is a fixed minimum amount of value a single transaction can
send, determined by the number of bytes required to send and
claim it along with the fees charged.
3. The recipient of the micropayments ends up with a wallet full of
“dust” which can be expensive to spend, fee-wise.
source: http://www.coindesk.com/bitcoin-client-bitcoinj-implements-bitcoin-micropayments/
4. Bitcoin - Script introduction
source: https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29
Word
Description
OP_DUP
Duplicates the top stack item.
OP_HASH160
The input is hashed twice: first with SHA-256 and then
with RIPEMD-160.
OP_EQUAL
Returns 1 if the inputs are exactly equal, 0 otherwise.
OP_EQUALVERIFY
Same as OP_EQUAL, but runs OP_VERIFY afterward.
OP_CHECKSIG
Hash Transaction, Validate with Signature. If it is, 1 is
returned, 0 otherwise.
OP_CHECKMULTISIG
For each signature and public key pair, OP_CHECKSIG is
executed
OP_VERIFY
Marks transaction as invalid if top stack value is not
true.
8. K1
send PK2
PK1
create T1 (1 BTC,
OP_CHECKMULTISIG)
create T2 (1 BTC, to K1,
+1H)
sign T1
sign T2
tell K2
create T3 (1-X to K1, X
BTC to K2)
abort ?
9. K1
send PK2
PK1
create T1 (1 BTC,
OP_CHECKMULTISIG)
create T2 (1 BTC, to K1,
+1H)
sign T1
sign T2
tell K2
create T3 (1-X to K1, X
BTC to K2)
sign T3
tell K2
increase X, sign T3 ag
ain
increase X, sign T3 ag
ain
abort ?
tell K2
tell K2
10. PK1
create T1 (1 BTC,
OP_CHECKMULTISIG)
sign T2
create T2 (1 BTC, to K1,
+1H)
sign T1
tell K2
create T3 (1-X to K1, X
BTC to K2)
sign T3
tell K2
increase X, sign T3 ag
ain
tell K2
increase X, sign T3 ag
ain
tell K2
nge
? or receive cha
abort ?
get payed