24. 注目点1: 誰が broadcast できるかゲーム木
UTXO0
Tx1a
Out: Bob
Alice can BroadCast
Bob can BroadCast
On Block Not On Block (Yet)
Out: Special1
Tx1b
Out: Alice
Out: Special2
Tx2a Out: Bob
Bob can BroadCast
33. はじめに: Alice が Deposit Tx 用意
Tx0: not broadcasted
TxIn: __ Out(10):
AlicePub
and
BobPubTxIn: __
Nobody can Broadcast
TxOut(5):
AlicePub
TxOut(5):
BobPub
34. Tx1Bob: {5, 5}
TxIn: AliceSig,
missing BobSig
Out(5): AlicePub
Out(5):
{Timelock to BobPub}
Or
{AlicePub and
BobTmp1Pub}
Alice が Bob が実行できる払い戻し Tx 用意・共有
Tx0: not broadcasted
TxIn: Alice(5) + __ Out(10):
AlicePub
and
BobPubTxIn: Bob(5) + __
Nobody can Broadcast Bob can Broadcast
35. Tx1Alice: {5, 5}
TxIn: BobSig,
missing AliceSig
Out(5): BobPub
Out(5):
{Timelock to AlicePub}
or {BobPub and
AliceTmpPub}
Bob が、 Alice が実行できる払い戻し Tx 用意・共有
Tx0: not broadcasted
TxIn: Alice(5) + __ Out(10):
AlicePub
and
BobPubTxIn: Bob(5) + __
Nobody can Broadcast
Bob can Broadcast
Tx1Bob: {5, 5}
Alice can Broadcast
36. Alice が Deposix Tx に署名
Tx0: not broadcasted
TxIn: Alice(5) + sig Out(10):
AlicePub
and
BobPubTxIn: Bob(5) + __
Bob can Broadcast
Bob can Broadcast
Tx1Bob: {5, 5}
Alice can Broadcast
Tx1Alice: {5, 5}
37. Tx1Bob: {5, 5}
TxIn: AliceSig,
missing BobSig
Out(5): AlicePub
Out(5):
{Timelock to BobPub} or
{AlicePub and
BobTmp1Pub}
Alice が Deposix Tx に署名・共有: Tx1Bob 系
Tx0: not broadcasted
TxIn: Alice(5) + sig Out(10):
AlicePub
and
BobPubTxIn: Bob(5) + __
Bob can Broadcast
Bob can Broadcast
Tx1Alice: {5, 5}
Alice can Broadcast
Alice 収益:
5 BTC
38. Tx1Bob: {5, 5}
TxIn: AliceSig,
missing BobSig
Out(5): BobPub
Out(5):
{Timelock to AlicePub}
or {BobPub and
AliceTmp1Pub}
Alice が Deposix Tx に署名・共有: Tx1Alice 系
Tx0: not broadcasted
TxIn: Alice(5) + sig Out(10):
Alice
and
BobTxIn: Bob(5) + __
Bob can Broadcast
Bob can Broadcast
Tx1Alice: {5, 5}
Alice can Broadcast
Alice 収益:
1000 時間後
5 BTC
39. Bob が Opening Tx を Broadcast
Tx0: broadcasted
TxIn: Alice(5) + sig Out(10):
AlicePub
and
BobPubTxIn: Bob(5) + sig
Bob can Broadcast
Tx1Alice: {5, 5}
Alice can Broadcast
On Block Not On Block (Yet)
Tx1Bob: {5, 5}
40. Alice が Bob に 1 BTC 支払う
{5, 5} もしくは、 {4, 6} のみが成立するようにしながら、
最後に {4, 6} のみが有効になるように
41. Alice が、更新したBob用 払い戻し Tx 作成共有
Out(10):
AlicePub
and
BobPub
Bob can Broadcast
Tx1Alice: {5, 5}
Alice can Broadcast
Tx1Bob: {5, 5}
Tx2Bob: {4, 6}
TxIn: AliceSig,
missing BobSig
Out(4): AlicePub
Out(6):
{Timelock to BobPub}
or {AlicePub and
BobTmp2Pub}
Bob can Broadcast
42. Bob も、更新した Alice 用払い戻し用の Tx 作成共有
Out(10):
AlicePub
and
BobPub
Tx1Alice: {5, 5}
Alice can Broadcast
Bob can Broadcast
Tx1Bob: {5, 5}
Bob can Broadcast
Tx2Bob: {4, 6}
Alice can Broadcast
Tx2Alice: {4, 6}
43. Alice が、Bob に AliceTmp1 の秘密鍵を渡す
Out(10):
AlicePub
and
BobPub
Alice can Broadcast
Bob can Broadcast
Tx1Bob: {5, 5}
Bob can Broadcast
Tx2Bob: {4, 6}
Alice can Broadcast
Tx2Alice: {4, 6}
Tx1Bob: {5, 5}
TxIn
Out(5): BobPub
Out(5):
{Timelock to AlicePub}
or {BobPub and
AliceTmp1Pub}
TxIn: AliceTmp1Sig
And BobSig
Bob can Broadcast
TxIn: AliceSig
Alice can Broadcast
After 1000 hours
Alice の収益:
0 BTC
44. Bob も、Alice に BobTmp1 の秘密鍵を渡す
Out(10):
AlicePub
and
BobPub
Tx1Alice: {5, 5}
Alice can Broadcast
Bob can Broadcast
Tx1Bob: {5, 5}
Bob can Broadcast
Tx2Bob: {4, 6}
Alice can Broadcast
Tx2Alice: {4, 6}
All to Bob
Bob can Broadcast
All to Alice
Alice can Broadcast
0.5, 0.5
Bob can boardcast
After 1000 hours
0.5, 0.5
Alice can boardcast
After 1000 hours
46. Close 用 Tx 作ってそれを Broadcast
Out(10):
AlicePub
and
BobPub
Bob can Broadcast
TxNBob: {4, 6}
Alice can Broadcast
TxNAlice: {4, 6}
TxIn: AliceSig,
BobSig
Out(4): AlicePub
Out(6): BobPub
50. Lightning Network 具体的に何をやっているか
● Alice が Charlie に送る
● Alice -> Bob -> Charlie
● 方法:
○ Tmp (秘密鍵) があれば完了する送金、 TimeLock で自分自身に遅りながら。
○ Alice -(7 days)-> Bob -> (5 days) -> Charlie で Tx を作って、 Charlie は自分に届いたら Secret
をバラまく。
52. Timelock on Payment Channel
TxNBob: {5, 5}
TxIn: AliceSig,
missing BobSig
Out(5): AlicePub
Out(5):
{Timelock to
BobPub} or
{AlicePub and
BobTmpPub}
TxnBob: {4, 5, 1}
TxIn: AliceSig,
missing BobSig
Out(4): AlicePub
Out(5):
{Timelock to
BobPub} or
{AlicePub and
BobTmpNPub}
Out(1):
{Timelock to
AlicePub} or
{BobPub and
CharlieTmpToken}