Interhead Hydra: Two Heads are Better than One
https://eprint.iacr.org/2021/1188
[インターヘッド]を1分要約:
以下すべて可能にする革新システム「インターヘッド」の安全性分析をしました。
Hydraヘッド同士の連携可能
スマートコントラクトも対応
複数の仲介者の担保を出すことを可能に(一人当たりの仲介者の負担低下)
Hydraヘッドの複数の人をサポートできる性質も保持
仲介者も全員が悪者でない限り担保を失うこともない
「ヘッドの中のヘッドの中のヘッド」みたいな入れ子構造も可能でスケーラブル
[インターヘッド]論文をもう少し詳しく
問題点:Hydra headsは、Cardanoで、Constraint Emitting Machines (CEM)(EUTXOに適したステートマシン)の複数者実行を可能にしますが、Hydra Headは複数の頭では簡単に拡張できない。
解決策:仮想的なヒドラ頭を繰り返し作成できるインターヘッドInterhead構造:(1)任意の数の当事者によるチャネルをサポートし、(2)複数の仲介者によって担保を支払うことを可能にしこの負担を共有。
1 Introduction
スケーラビリティは悩みの種ですが、レイヤー2というやり方が出てきて、支払チャネル(支払いをチェーン外でたくさん処理して一気にチェーンで反映)、ステートチャネル(スマートコントラクトにも対応)などが出てきましたが、Hydraでは、複数の人が1つのチャネルにアクセスできるようにした。
さらに進むと、Hash Timelocked Contracts (HTLCs)やvirtual channelなどでは複数のチャネル同士で連携ができますが、これをHydraで応用すると
・HTLC:部分的に重複する複数のHydraヘッド間で任意のCEMをオフチェーンに実行する方法がない
・virtual channel:悪意のあるパーティをその後罰するために一意に識別する必要があるため、Hydraのように2パーティ以上のチャネル構築に容易に拡張できない
⇨そこで、virtual state channels を提案しセキュリティ分析をする。
要素は2つある:インターヘッドステートマシン+全ての人の行動を定義するシステム
・チャネルネットワークを介して仮想チャネルを形成され、すべての人が正直ならトランザクションはチェーンに追加されず、悪意ある人がいれば開始時に1人を除くすべての当事者を停止させ正直者が資金を失うリスクがなく、複数の人がいるチャネルもサポートでき、複数の仲介者で担保の分担ができる。
2 Related Work (支払いチャネルやステートチャネルなどの他のものの用語説明)
3 Background (さまざまな用語の定義)
4 Overview
達成したいことは2つ:インターヘッドステートマシンが2つのヘッドにより運用され、また、参加者の行動を定義する。
2つのHydraは並列に各々存在する。
4.1 The Setting
・前提を起きます。ヘッドは2つ、敵対者は、1人以外全員の参加者を停止させることもできれば取引を遅らせたり順番を入れ替えたりもできるとします。
4.2 Desired Properties
以下3点を満たせば、全員が悪者でも、正直な参加者はコインを失うことがない。つまり楽観的シナリオではチェーンを利用しなくてもうまくいくし、悲観的シナリオでもコインを失うことはない。
定義1(Collateral Liveness)。少なくとも1つの仲介者が誠実であれば、すべての担保は最終的に執行可能な状態で利用できる。
定義2(EUTxO Liveness)。最終的に仮想ヘッドの強制可能状態内の任意の正直者のEUTxOが、仮想ヘッド外の強制可能状態(または台帳)で利用可能になるか、インターヘッド状態マシンがHydra状態空間へ遷移することをいう。
定義3(バランス・セキュリティ)。正直者のコインの合計は、その同意がある場合のみ減少するか、Interhead状態マシンがHydra状態空間へ遷移する。
※複数の仲介者を考える。担保の負担を減らすため。これは他の研究ではない前提で、良い仲介者が他の悪い仲介者のせいで担保を失わないようにしなければならない。
※ヒドラヘッドへもいくつか小さな制約が課されます。基本的にはHydraと互換性あるようにし、独立して議論できるようにします。またコインの発行やバーンは基本的にできません。が、CEMを使うやり方、一般化トークンを利用するやり方の2つがあります。後者はバーンや発行はしませんが、Hydraで最初に受け取り、最後の状態で解放し、あたかも発行されたようにできます。マルチスレッドCEMも可能
4.3 The State Machine
・2つのヘッドの両方でインターヘッドステートマシンが実行されますが、楽観ケースではチェーンへの影響なく解決、悲観ケースでもチェーン常に普通のHydraを開いて解決します。
・仲介者:両方のヘッドに参加して、システムの正しさを証明できます。システムに担保を入れて楽観的に可決するか、Hydra仮想ヘッドができたら担保は返還されます。すべての仲介者が失敗したら担保はHydra仮想ヘッドを開くのに使われます。
・3フェーズ
1整理ー全員が協力的であり少なくとも1人が正直
2変換3罰則ー少なくとも1人が正直
(初期状態、シンクオープン、ペンディング、ファイナル、マージ、パニッシュの6つの状態を用いて構成)
・同型のため、インターヘッドの中に2つのインターヘッドが入ることもできます。
(詳細に入り込んでいきますので、一旦大胆に中略💦5 CEM Construction /6 The Protocols /7 Security Proofs )
8.Conclusion
・単純な支払いにとどまらず、参加者間で任意のステートマシンを実行できる通信を可能にする仮想的なハイドラヘッドをハイドラヘッドのネットワーク上で作成するアプローチであるインターヘッド構造を紹介
・担保の有効性、EUTxOの有効性、バランスの安全性を定義し、悪意のある敵が存在する場合にそれらを証明
・任意の数のパーティを持つチャネルをサポートし、担保が複数の仲介者によって提供される、最初の仮想チャネル構造
・ヒドラヘッドに基づくレイヤー2プロトコルと支払いまたはステートチャネルの間のギャップを埋めるもの