ところで: 正確にはアドレス ->アドレスではない
APub -> BPub: 10BTC
Signed By APriv.
Input:
* (TxZ, 0) Signed By APriv.
Output:
* 10BTC on BPub
Input:
* (TxA, 0) Signed By BPriv.
Output:
* 10BTC on CPub
TxA
Unspent Transaction Output
(UTXO)
TxB
注目点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
はじめに: 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 が DeposixTx に署名
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 が OpeningTx を 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}
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
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
Lightning Network 具体的に何をやっているか
●Alice が Charlie に送る
● Alice -> Bob -> Charlie
● 方法:
○ Tmp (秘密鍵) があれば完了する送金、 TimeLock で自分自身に遅りながら。
○ Alice -(7 days)-> Bob -> (5 days) -> Charlie で Tx を作って、 Charlie は自分に届いたら Secret
をバラまく。
Timelock on PaymentChannel
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}