Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
shigeyuki azuchi
445 views
新しいオフチェーンコントラクトeltooとSIGHASH_NOINPUT
GBECの動画解説コンテンツのスライドです。 https://goblockchain.network/2018/11/eltoo_and_sighash_noinput/
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 19
2
/ 19
3
/ 19
4
/ 19
5
/ 19
6
/ 19
7
/ 19
8
/ 19
9
/ 19
10
/ 19
11
/ 19
12
/ 19
13
/ 19
14
/ 19
15
/ 19
16
/ 19
17
/ 19
18
/ 19
19
/ 19
More Related Content
PDF
Bitcoin スクリプトから理解するライトニングネットワーク
by
Yuki Inoue
PPTX
Discreet Log Contracts(DLC)を読む
by
takayaimai
PPTX
チュートリアル: ブロックチェーンの計算モデル
by
Shin Saito
PDF
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
PDF
福岡ブロックチェーンエコノミー勉強会In東京「カラードコインの作り方」
by
shigeyuki azuchi
PDF
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
by
Yuto Takei
PPTX
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
PDF
Blockchain innovation
by
Yuto Takei
Bitcoin スクリプトから理解するライトニングネットワーク
by
Yuki Inoue
Discreet Log Contracts(DLC)を読む
by
takayaimai
チュートリアル: ブロックチェーンの計算モデル
by
Shin Saito
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
福岡ブロックチェーンエコノミー勉強会In東京「カラードコインの作り方」
by
shigeyuki azuchi
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
by
Yuto Takei
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
Blockchain innovation
by
Yuto Takei
Similar to 新しいオフチェーンコントラクトeltooとSIGHASH_NOINPUT
PDF
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
by
shigeyuki azuchi
PDF
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
PDF
【暗号通貨輪読会#14】confidential transaction
by
shigeyuki azuchi
PDF
ブロックチェーン技術概論1 輪読
by
Hiroki Takemura
PDF
Tezos 008 Edo protocol
by
Jun Furuse
PDF
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
by
Kenji Saito
PDF
Ethereum whitepaper
by
Kenichi Kurimoto
PPTX
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
by
blockchainexe
PDF
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
by
shigeyuki azuchi
PDF
JNSA Bitcoin 勉強会 佐藤 20140602
by
Masashi Sato
PDF
l12l2-NFT-Bridge.pdf
by
wei-li
PDF
ブロックチェインとOpen asset protocol
by
Kindai University
PPTX
Blockchainベーシック
by
Kondo Hitoshi
PPTX
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
by
Drecom Co., Ltd.
PDF
The practice of DeFi money lego
by
wei-li
PDF
[Intermediate 01] イントロダクション / Bitcoin を動作させる
by
Yuto Takei
PDF
Orb core series技術情報
by
Wataru Fukatsu
PPTX
ブロックチェーン書き換え不可能な記録によって社会はどう変化するか?
by
Yoshiharu Ikutani
PDF
51% 攻撃の原理とシミュレーション
by
Yuto Takei
PDF
Tezos hands-on : Tezos exercise
by
Jun Furuse
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
by
shigeyuki azuchi
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
【暗号通貨輪読会#14】confidential transaction
by
shigeyuki azuchi
ブロックチェーン技術概論1 輪読
by
Hiroki Takemura
Tezos 008 Edo protocol
by
Jun Furuse
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
by
Kenji Saito
Ethereum whitepaper
by
Kenichi Kurimoto
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
by
blockchainexe
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
by
shigeyuki azuchi
JNSA Bitcoin 勉強会 佐藤 20140602
by
Masashi Sato
l12l2-NFT-Bridge.pdf
by
wei-li
ブロックチェインとOpen asset protocol
by
Kindai University
Blockchainベーシック
by
Kondo Hitoshi
LoveChainのスマートコントラクトを見てみよう & 非中央集権なトークンのカタチ
by
Drecom Co., Ltd.
The practice of DeFi money lego
by
wei-li
[Intermediate 01] イントロダクション / Bitcoin を動作させる
by
Yuto Takei
Orb core series技術情報
by
Wataru Fukatsu
ブロックチェーン書き換え不可能な記録によって社会はどう変化するか?
by
Yoshiharu Ikutani
51% 攻撃の原理とシミュレーション
by
Yuto Takei
Tezos hands-on : Tezos exercise
by
Jun Furuse
More from shigeyuki azuchi
PDF
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
PDF
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
by
shigeyuki azuchi
PDF
Open Assetsを利用したP2P型の投票システムとエクスプローラ
by
shigeyuki azuchi
PDF
neo4jを使ったブロックチェーンデータの解析
by
shigeyuki azuchi
PDF
Serverlessでサイト監視
by
shigeyuki azuchi
PPTX
Jenkinsとamazon ecsで コンテナCI
by
shigeyuki azuchi
PDF
Openassets ruby
by
shigeyuki azuchi
PDF
オンプレ環境と連携するハイブリッドクラウド活用事例 (2014.8.8 AWS Japan Tour 2014 福岡)
by
shigeyuki azuchi
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
by
shigeyuki azuchi
Open Assetsを利用したP2P型の投票システムとエクスプローラ
by
shigeyuki azuchi
neo4jを使ったブロックチェーンデータの解析
by
shigeyuki azuchi
Serverlessでサイト監視
by
shigeyuki azuchi
Jenkinsとamazon ecsで コンテナCI
by
shigeyuki azuchi
Openassets ruby
by
shigeyuki azuchi
オンプレ環境と連携するハイブリッドクラウド活用事例 (2014.8.8 AWS Japan Tour 2014 福岡)
by
shigeyuki azuchi
新しいオフチェーンコントラクトeltooとSIGHASH_NOINPUT
1.
新しいオフチェーンコントラクト eltoo と SIGHASH_NOINPUT
2.
1 Off-chain Scaling Payment Channel 資金をブロックチェーン上に固定し、固定した金額を上限として、トラストレスに オフチェーンで決済を繰り返すためのプロトコル。 Block
Block Block Block Block Block Funding Tx(on-chain) Inputs アリスの1BTC ボブの1BTC Outputs アリスとボブのマルチシグに 2 BTC Commitment Tx(off-chain) Outputs アリスに1.1BTC ボブに0.9 BTC Inputs アリスとボブのマルチシグ 2 BTC オンチェーン上にマルチシグで ロックされたコインをインプットにし、 アウトプットには決済時のそれぞれの 残高を反映したトランザクションを作っ て決済する。 新しい決済をする場合はアウトプット の残高を更新した同様のトランザク ションを作る。
3.
2 Payment Channelのセットアップ ① アリスとボブはPayment
Channelをセットアップするため チャネル決済に使用するコインをブロックチェーン上に ロックするFunding Txを作成する。 Funding Tx Inputs アリスの1BTC ボブの1BTC Outputs アリスとボブのマルチシグに 2 BTC この時点で、Funding Txは未署名で 当然ブロードキャストはできない。
4.
3 Payment Channelのセットアップ ② アリスとボブはそれぞれ秘密の値(Secret)とその値のハッシュを生成する。 このうちハッシュだけ相手に伝える。 Secret
A1 H(A1) Secret B1H(B1) 交換 アリスが作るCommitment Tx1 Outputs アリスの鍵で入手可能な 1BTC 残り1 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過した らボブの鍵で入手可能。 ●Secret B1が分かればアリスの鍵で入手可能。 ③ アリスとボブは相手から受け取ったハッシュを使ってFunding Txの アウトプットをインプットにしたCommitment Txをそれぞれ作り、自分の署名を 付与して相手に送る。 ボブが作るCommitment Tx1 Outputs ボブの鍵で入手可能な 1BTC 残り1 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過し たらアリスの鍵で入手可能。 ●Secret A1が分かればボブの鍵で入手可能。 交換
5.
4 Payment Channelのセットアップ アリスが作ったCommitment Tx1 Outputs アリスの鍵で入手可能な
1BTC 残り1 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過した らボブの鍵で入手可能。 ●Secret B1が分かればアリスの鍵で入手可能。 ボブが作ったCommitment Tx1 Outputs ボブの鍵で入手可能な 1BTC 残り1 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過し たらアリスの鍵で入手可能。 ●Secret A1が分かればボブの鍵で入手可能。 この時点でお互いに相手が作成し相手の署名が付与されたCommitment Txを持って いる状態になる。このTxに自分の署名を加えればTxは完成する。 このTxがブロードキャストされると、ブロードキャストしたユーザーは1,000ブロック待てば コインを入手でき、相手はすぐにコインを入手できる。 ④ 最初のCommitment Txの交換が終わったら①で作成したFunding Txに署名して ネットワークにブロードキャストしてチャネルをオープンする。 相手の署名済みのTxを両者 持つので、これでFunding Txを ブロードキャストした後に、 相手がいなくなってマルチシグに ロックした資金が取り戻せないと いった事態はなくなる。
6.
5 オフチェーン決済 オフチェーン決済は新しいシークレットの作成・交換し、決済の結果で残高を 更新したCommitment Txを作り自分の署名を加え相手に送る。 アリスが作るCommitment Tx2 Outputs アリスの鍵で入手可能な
1.1BTC 残り0.9BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過した らボブの鍵で入手可能。 ●Secret B2が分かればアリスの鍵で入手可能。 Secret A2 H(A2) Secret B2H(B2) 交換 ボブが作るCommitment Tx2 Outputs ボブの鍵で入手可能な 0.9BTC 残り1.1 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過し たらアリスの鍵で入手可能。 ●Secret A2が分かればボブの鍵で入手可能。 交換 Secret A1 Secret B1 交換 セットアップ時と違うのは前のCommitment Txを作る際に 生成した秘密の値を相手に明らかにする点
7.
6 不正を働いた場合のペナルティ アリスが作ったCommitment Tx1 Outputs アリスの鍵で入手可能な 1BTC 残り1
BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過した らボブの鍵で入手可能。 ●Secret B1が分かればアリスの鍵で入手可能。 ボブが自分に有利な古いCommitment Tx1をブロードキャストするとどうなるか? ボブは、Commitment Tx1がブロックに格納されて1,000ブロック経過するまで1BTCは入 手できない。ボブが1000ブロック待っている間にアリスは、もともとアリス宛の1BTCは普通 に入手でき、さらにSecret B2をこの段階では知っているので残りの1BTCも入手することが できる。つまり裏切って古いTxをブロードキャストすると相手に全資金が渡る。 ※ 但し、古いCommitment Txがブロードキャストされていないかチェーンの監視が必要。 アリスが作ったCommitment Tx2 Outputs アリスの鍵で入手可能な 1.1BTC 残り0.9 BTCは以下のいずれかで入手可能 ●このTxがブロックに入って 1,000ブロック経過した らボブの鍵で入手可能。 ●Secret B2が分かればアリスの鍵で入手可能。 Commitment Tx2のオフチェーン決 済が終わったとして、この段階でボ ブはCommitment Tx1をブロード キャストした方が自分の残高が多く 特をする。
8.
7 eltoo: A Simple
Layer2 Protocol for Bitcoin 2018年4月にChristian Decker、Rusty Russell、Olaoluwa Osuntokunらによって 発表された新しいオフチェーンプロトコル。 https://blockstream.com/eltoo.pdf 古い状態をブロードキャストした際の 振る舞いが変わる ● 不正を働いたユーザーの資金の没収 ● 最新の残高の反映
9.
8 eltoo: Payment Channelのセットアップ セトルメント用公開鍵As アップデート用公開鍵Au セトルメント用公開鍵Bs アップデート用公開鍵Bu ①
チャネルを開く前に各参加者はアップデート用とセトルメント用の 2つの鍵ペアを生成し、各公開鍵を相手と交換する。 ● アップデート鍵ペア(Au, Bu) チャネルの状態を更新する(新しい支払いをする)際に使用する鍵 ● セトルメント鍵ペア(As, Bs) チャネルを最終残高で閉じる際に使用する鍵 ※ eltooでは、チャネルの最新状態を表したTxさえ保持しておけば、古い状態 がブロードキャストされても、そのトランザクションを最新状態を表すTxに置換す ることができる。
10.
9 eltoo: Payment Channelのセットアップ ②
アリスの資金を2-of-2のマルチシグにロックする Funding Txを作成。 Funding Tx Inputs アリスの5 BTC Outputs アリスとボブのマルチシグに 5 BTC Trigger Tx Inputs Funding TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As1とBs1のマルチシグで入手可能 ● AuとBuのマルチシグで入手可能 Settlement Tx1 Inputs Trigger TxのUTXO Outputs アリスのアドレスに 5 BTC ③ Funding TxのUTXOをインプットに したTrigger Txを作成。 ④ Trigger TxのUTXOをインプットとしたSettlement Tx1を作成。 セットアップフェーズでは払い戻し用として機能し、アウトプットは 5 BTCがそのままアリスのアドレスへ。 ※Settlement Tx1はTrigger Txがブロックに格納されてから1000ブロック後にブロードキャスト可能。 sig Bu sig Bs1 LNのコントラクトはCommitment Tx 1つでお互いの残高を管理していたが、 eltooではTrigger Tx(Update Tx)と Settlement Txの2つでチャネルの 残高を管理する sig Au ⑤ アリスはFunding Txに 署名しブロードキャストする。 sig Alice sig As1
11.
10 eltoo: オフチェーン決済 1回目 ① アリス→ボブに1
BTC支払うため、Trigger Txをインプットとして新しい Update Tx2を作成。 Update Tx2 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As2とBs2のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが3以上で、 AuとBuのマルチシグで入手可能 Settlement Tx2 Inputs Update Tx2のUTXO Outputs アリスのアドレスに 4 BTC ボブのアドレスに 1 BTC ※ Update TxのnLocktimeには状態を表すState Numberをセットする。 アウトプットの条件の1つには、その<State Number + 1> がOP_CLTVの引数としてセットされる= このUTXOを使用するTxのnLocktimeは3以上であることが条件。 sig Bs2 Trigger Tx Inputs Funding TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As1とBs1のマルチシグで入手可能 ● AuとBuのマルチシグで入手可能 sig Bu nLocktime State Number: 2 sig Au sig Bu ② Update Tx2のUTXOを インプットとして、アウトプットに 残高を反映したSettlement Tx を作成する。 sig Au sig As2 ※ eltooではお互いに同じTx (Update TxとSettlement Tx)を管理する
12.
11 eltoo: オフチェーン決済 2回目 ① ボブ→アリスに0.5
BTC支払うため、Trigger Txをインプットとして新しい Update Tx3を作成。 Update Tx3 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As3とBs3のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが4以上で、 AuとBuのマルチシグで入手可能 Settlement Tx3 Inputs Update Tx3のUTXO Outputs アリスのアドレスに 4.5 BTC ボブのアドレスに 0.5 BTC sig Bs3 Trigger Tx Inputs Funding TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As1とBs1のマルチシグで入手可能 ● AuとBuのマルチシグで入手可能 sig Bu nLocktime State Number: 3 sig Au sig Bu ② Update Tx3のUTXOを インプットとして、アウトプットに 残高を反映したSettlement Tx を作成する。 sig Au sig As3
13.
12 eltoo: 古い状態のブロードキャスト ボブの裏切り Update Tx3 Inputs Trigger
TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As3とBs3のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが4以上で、 AuとBuのマルチシグで入手可能 Settlement Tx3 Outputs アリスのアドレスに 4.5 BTC ボブのアドレスに 0.5 BTC nLocktime State Number: 3 sig Bu sig Au Update Tx2 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As2とBs2のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが3以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 2 sig Bu sig Au Settlement Tx2 Outputs アリスのアドレスに 4 BTC ボブのアドレスに 1 BTC ボブにとってはSettlement Tx2の 方が取り分が多いので、Update Tx2をブロードキャストする その後Settlement Tx2をブロード キャストする必要があるが、これに は Update Tx2がブロックに入ってか ら1,000ブロック待つ必要がある。 sig Bs2 sig As2 sig Bs3 sig As3
14.
13 eltoo: 古い状態のブロードキャスト アリスの対応 Update
Tx3 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As3とBs3のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが4以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 3 sig Bu sig Au Update Tx2 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As2とBs2のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが3以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 2 sig Bu sig Au ボブが1000ブロック待っている間に、 もう1つの条件を使ってコインを取り戻 す Update Tx3のインプットの参照先を Trigger TxのUTXOからUpdate Tx2の UTXOに書き換え、ブロードキャストす る。 Update Tx3がブロックに格納されるとアリスはその後、 Settlement Tx3を ブロードキャストすることで、最新状態でチャネルをクローズできる。
15.
14 eltooを可能にするSIGHASH_NOINPUT 通常、Txの署名はトランザクションデータが署名対象のメッセージダイジェストとなるため、トランザクションデータ が一部でも変更されるとその署名は無効になる。そのため現時点での Bitcoinの仕様では実現不可能。 Txの署名対象データ【BIP-143】 nVersion hashPrevouts(全入力のOutpointから生成したハッシュ) hashSequence(全入力のsequenceから生成したハッシュ) outpoint(署名対象の入力のOutpoint) scriptCode value(署名対象の入力が持つコインの量) nSequence(署名対象の入力のsequence) hashOutputs(全出力から生成したハッシュ) nLocktime sighash type インプットが参照する前のトランザクションのアウトプットの 情報が全て空になる。 署名はトランザクションの
OutPointにコミットしなくなり、 署名後にインプットが参照する OutPointの変更が可能にな る。 空(0x00) 署名済みTx Input Output TxA Input Output TxB Input Output 変更可 ※ リバインド可能なのは同じwitness 要素でアンロック可能なUTXOのみ SIGHASH_NOINPUT
16.
15 eltooのポイント: State Numberの導入 Update
Tx3 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As3とBs3のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが4以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 3 sig Bu sig Au Update Tx2 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As2とBs2のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが3以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 2 sig Bu sig Au Update Tx3がブロードキャストされた後に、 Update Tx2のインプットの参照先を Update Tx3に書き換えられるてブロードキャストされてしまう問題 Update Tx3のUTXOを使用する場合、そのTxのnLocktimeは4以上で なければならず、Update Tx2のnLocktimeは2なのでリジェクトされる。 ※ nLocktimeは本来指定時間までTxをロックする仕組みだが、それを チャネル状態のバージョンとして利用。
17.
16 eltooのポイント: セトルメント鍵のローテーション Settlement Tx1 Inputs Trigger
TxのUTXO Outputs アリスのアドレスに 5 BTC sig Bs1 sig As1 Settlement Tx3 Inputs Update Tx3のUTXO Outputs アリスのアドレスに 4.5 BTC ボブのアドレスに 0.5 BTC sig Bs3 sig As3 Settlement Tx2 Inputs Update Tx2のUTXO Outputs アリスのアドレスに 4 BTC ボブのアドレスに 1 BTC sig Bs2 sig As2 Settlement Txに署名する際もSIGHASH_NOINPUTが使用される。 不正があった場合に、対応する Update Txのインプットの参照先が変わると Update TxのTXIDも変わり、Settlement Txのインプットの参照先も変更する必要がある。 ※異なるUpdate Tx(Settlemnt Tx2の参照先をUpdate Tx3)を参照されるとまずい Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As3とBs3のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが4以上で、 AuとBuのマルチシグで入手可能 Update Txの条件で、セトルメント鍵でアンロックする場合、 その鍵は各状態毎に異なる鍵が使われる。 鍵ペアの導出自体は HDウォレット等と同様に決定論的に導出される。 これによりSettlement Txは対応するUpdate Txのみにバインドされ る。
18.
17 eltooのポイント: チャネルの協調クローズ Funding Tx Inputs アリスの5
BTC Outputs アリスとボブのマルチシグに 5 BTC Trigger Tx Inputs Funding TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As1とBs1のマルチシグで入手可能 ● AuとBuのマルチシグで入手可能 sig Bu sig Au sig Alice Settlement Tx2 Inputs Update Tx2のUTXO Outputs アリスのアドレスに 4 BTC ボブのアドレスに 1 BTC sig Bs2 sig As2 Update Tx2 Inputs Trigger TxのUTXO Outputs 5 BTCは以下のいずれかで入手可能 ● このTxがブロックに入って 1,000ブロック経過したら As2とBs2のマルチシグで入手可能 ● このTxを使用すTxのnLocktimeが3以上で、 AuとBuのマルチシグで入手可能 nLocktime State Number: 2 sig Bu sig Au Closing Tx Inputs Funding TxのUTXO Outputs アリスのアドレスに 4 BTC ボブのアドレスに 1 BTC sig Bs2 sig As2 on-chain on-chain 協調クローズの場合はClosing Txを 協力して作成してブロードキャスト 協調クローズでない場合、 Trigger Tx、Update Tx、Settlement Txが ブロードキャストされる。 無期限のチャネルにするため、Trigger Txが必要
19.
18 まとめ eltooはPayment Channelで旧状態がブロードキャストされた際に、 ペナルティではなく、最新の状態を後から差し替え可能にするコントラクトを ベースにした新しいPayment Channelの提案。 ●
メリット ○ チャネルのバックアップが正常にできてなくて、意図的で無いにしろ 古い状態をブロードキャストしてしまった際のリカバリになる。 ○ 古い状態をブロードキャストさせようとする攻撃ベクトルを回避す る。 ○ 保存するのが最新のUpdate Tx / Settlement Txのみで済む。 ○ 参加者が増えた場合の対応が簡単 ■ Update Txの各条件が参加者分のマルチシグに ■ Settlement Txのアウトプットが参加者分増える ● デメリット ○ SIGHASH_NOINPUTがBitcoinに導入されるまで導入できない。
Download