OP_IF
OP_SHA256
[91d6a24697ed31932537ae598d3de3131e1fcd0641b9ac4be7afcb376386d71e]
OP_EQUALVERIFY OP_DUP
OP_HASH160 [9f4a0cf348b478336cb1d87ea4c8313a7ca3de19]
OP_ELSE
[9000] OP_CHECKSEQUENCEVERIFY OP_DROP
OP_DUP
OP_HASH160 [65252e57f727a27f32c77098e14d88d8dbec0181]
OP_ENDIF
OP_EQUALVERIFY OP_CHECKSIG
Alice has an option she didn't pay for
~ diff ./swap-rev-0 ./swap-rev-1
+
+
Transaction
Inputs
Outputs
0.1 LTC
0
1
0
1 LTC
1.1 LTC
1 BTC
10 LTC
\(G \cdot (x_b + t)\)
\(G \cdot (x_a + x_b)\)
Alice doesn't know \(x_b\), Bob doesn't know \(t\)
=> Neither of them can spend
A
Situation: Bob doesn't redeem LTC from Charlie:
Charlie cannot tell the difference
=> fault CANNOT be uniquely attributed
=> punishment scheme doesn't work
B
C
A
B
C
@oetzn
coblox
thomas@coblox.tech
https://coblox.tech
https://slides.com/thomas_eizinger/the_state_of_atomic_swaps