論文翻訳: Synchronous Byzantine Agreement with Expected Rounds, Expected Communication, and Optimal Resilience
ラウンド期待値 、通信期待値 、そして最適な回復力を備えた同期ビザンチン合意
Ittai Abraham1, Srinivas Devadas2, Danny Dolev3, Kartik Nayak1,4, and Ling Ren1,5
1 VMware Research - {iabraham,nkartik,lingren}@vmware.com
2 MIT - devadas@mit.edu
3 Hebrew University of Jerusalem - danny.dolev@mail.huji.ac.il
4 Duke University
5 University of Illinois at Urbana-Champaign
Abstract
我々は
Table of Contents
- Abstract
- 1 導入
- 2 モデル
- 3 同期ビザンチン Synod プロトコル
- 4 ビザンチンブロードキャストと合意
- 5 クロック同期
- Acknowledgements
- References
- 翻訳抄
1 導入
ビザンチン合意 (Byzantine agreement) [24] は分散コンピューティングや暗号技術における基礎的な問題である。この問題は障害耐性を持つ分散システム [5, 9, 22, 33]、安全なマルチパーティ計算 [7, 17]、そして最近では暗号通貨 [4, 21, 28, 29] の構築に使用されている。ビザンチン合意では、それぞれが初期入力値を保持する
ビザンチン合意とビザンチンブロードキャストは様々な仮定、特にタイミング仮定 (同期、非同期、または部分同期) とセットアップ仮定 (暗号、公開鍵基盤 (PKI)) の下で研究されてきた。これらの仮定が障害耐性の限界に大きな影響を与えることが現在では広く理解されている。特にビザンチン合意とビザンチンブロードキャストは両方とも部分同期または非同期で
この論文では同期かつ認証済み (つまり電子署名と PKI を想定) の設定におけるビザンチン合意を考察する。我々が考慮する効率性指標は (1) ラウンド複雑性、すなはちプロトコルが終了するまでの通信ラウンド数、および (2) 通信複雑性、すはなちプロトコルの間に当事者間で交換される情報量である。便宜上、当事者間で交換される署名の数を用いて通信複雑性を測定する。各署名が
同期および非同期設定では Dolev と Strong が
この研究では通信複雑性の期待値を
定理 1. 同期認証ビザンチン合意 (synchronous authenticated Byzantine agreement) は
- 単一ラウドの共通コインプロトコルを想定した静的な敵対者に対して期待値 10 ラウンドと期待値
通信 - 適応的に安全な単一ラウンドの共通コインプロトコルを想定した強い急襲の適応型敵対者に対して期待値 16 ラウンドと期待値
通信 を
で解くことができる。
我々のプロトコルは非常に強力な、我々が強い急襲の適応的敵対者 (strongly rushing adaptive adversary) と呼ぶ敵対者の存在下でも機能することは注目に値する。この敵対者はどの
- 論文の予備稿は 2017 年に ePrint に掲載された [2]。このバージョンはそのビザンチン合意部分が改善され組み込まれたものである。
- 6Kats と Koo [19] は彼らの論文で通信複雑性を分析していない。我々の理解では、付録で展開されたプロトコルは、同様にしきい値署名と二次共通コインプロトコルを組み込むことによって
通信複雑性を達成できる。
1.1 技術概要
このプロトコルはビザンチンブロードキャスト/合意で要求される合意 (この論文の残りでは安全性 (safety) と呼ぶ) と終了 (termination) を保証するが有効性 (validity) の弱い概念を提供する。具体的には以下を実現する:
- Termination: すべての誠実な当事者は最終的にコミットする。
- Agreement/safety: すべての誠実な当事者は同じ値をコミットし、
- Validity: すべての誠実な当事者が同じ値
に対する証明書で開始し、ビザンチンの当事者が矛盾する値に対する証明書で開始しない場合、すべての誠実な当事者は にコミットする。
セクション 4 ではビザンチン合意またはビザンチンブロードキャストを解決するためにこれらの証明書を取得する方法について解説する。
コアプロトコルは繰り返し実行される。各反復では一意のリーダーが選出される。新しいリーダーは前のリーダーが残した状態をピックアップしてその繰り返しで値を提案する。その後、当事者はリーダーの値
理想的には、リーダーが誠実であればその反復の最後に
等価性チェックの必要性. 最初の攻撃に対する安全性を確保するために、当事者は all-to-all ラウンドの通信に参加してリーダーの提案を相互に転送し等価性のチェックを行う。もしある当事者がリーダーの矛盾を検出した場合、つまりリーダーから 2 つの競合する署名済み提案を観測した場合、たとえ
notify ラウンドの必要性. 二番目の攻撃を使用すると、ビザンチンのリーダーはすべてではないが一部の誠実な当事者に値
安全性、終了、および有効性. 安全性は、誠実な当事者がコミットするときは (1) 他の当事者は同じ反復で異なる値をコミットできない (等価性チェックのため)、(2) 他の値はその後の反復で十分な票を集められない (誠実者の notify のため) ことで確保される。有効性は同様の論議から導かれる: すべての誠実な当事者が同じ認定済み (つまり受け入れられている) 値
ラウンド複雑性と通信複雑性.
Paxos, PBFT, XPaxos, そして我々のプロトコル. 抽象的には子のコアプロトコルは Paxos [23] の synod アルゴリズムに似ているが、同期およびビザンチン設定に適合している。synod アルゴリズムの主な考え方は、一人の誠実な当事者でクォーラムの交差 [23] を保証することである。Paxos の核となる考え方は、値をコミットする前にサイズ
また我々のプロトコルは XPaxos [26] と類似している部分もある。XPaxos では、ビューの変更には (リーダーを変更するだけではなく)
ビザンチンブロードキャストとビザンチン合意の実現. コアプロトコルはすでに安全性と終了を保証しているため、その弱い有効性をビザンチンブロードキャスト/合意が必要とするレベルまで高める技術が必要なだけである。我々のプロトコルは、プロトコルを呼び出す前に 1 ラウンドの all-to-all 通信を使用してこれを達成する。これによりビザンチン合意を達成するために
2 モデル
我々は同期を想定している。ラウンドの開始時に誠実な当事者
我々はデジタル署名と信頼できるセットアップ (trusted setup) を仮定する。信頼できるセットアップフェーズでは信頼できるディーラーが各当事者の電子署名やほかの暗号プリミティブのための公開鍵/秘密鍵ペアを生成し、各当事者の公開鍵を証明する。我々は当事者
ランダムリーダー選出サブルーチンが必要である。前述のようにこのサブルーチンは共通コインプロトコル [8, 27] や検証可能なランダム関数 [28] を用いてインスタンス化することが可能である。また上位レベルのプロトコルに任せることもできる。例えば暗号通貨では proof-of-work に基づいてリーダーを選出するだろう。
強い急襲の適応的敵対者を想定する。信頼済みセットアップフェーズのあと、敵対者はプロトコル実行中にどの
3 同期ビザンチン Synod プロトコル
3.1 コアプロトコル
コアプロトコルは
ここでプロトコルの詳細を説明する。リーダーが反復
- ラウンド 0 (
) -
すべての当事者は [8] のしきい値コイントススキームに参加する。彼らのスキームは 1 ラウンドのコストがかかり、すべての当事者にランダム列を出力する。このランダム列の
余剰は現在の反復 に対するランダムなリーダー を定義する。以下簡略化のために を と書く。 - ラウンド 1 (
) -
各当事者
は に メッセージを送信し、現在受理している値を報告する。 このラウンドの終わりに、もし当事者
が に最高の証明書を報告した場合 ( は 自身かもしれない)、 は を設定する。どの当事者も証明書を報告しなければ は を自由に選択し と を設定する。 - ラウンド 2 (
) -
は署名付き提案 をブロードキャストする。 このラウンドの終わりに、当事者
は上記のリーダー提案で受け取った証明書が がリーダーに報告したものより低くない場合、つまり の場合に を設定する。そうでない場合 (リーダーが故障している)、 を設定する。 - ラウンド 3 (
) -
の場合、当事者 は提案 を他のすべての当事者に転送し、 リクエストをブロードキャストする。 ラウンドの終わりに、当事者
が となるような正規に署名された提案 を転送されたなら、この反復ではコミットしない (リーダーは曖昧である)。一方、当事者 が となる 個の リクエストを受け取った場合、 でコミットしてその内部状態 をこれらの 個の リクエストを連結したものに設定する。つまり、当事者 は一致する 個の 要求を受信し、かつ、リーダーの曖昧さを検出しない場合にのみコミットする。 - ラウンド 4 (
-
当事者
が前のラウンドで値 でコミットしている場合、通知 を他のすべての当事者に送信する。 ラウンドの終わりに、当事者
が メッセージを受信すると、 を設定することで を受理する。もし当事者 が値の異なる複数の有効な メッセージを受信したとき (これがどのように起きるかはセクション 3.2 の最後で説明する)、任意の一つを受理することができる。最後に、当事者 は反復カウンター をインクリメントして次の反復に入る。
早期かつ非同期的な終了. プロトコル中の任意の時点で、ある当事者が
3.2 安全性、終了、有効性
このセクションではセクション 3.1 のコアプロトコルが安全性、終了、および弱い有効性の概念を提供することを証明する。
安全性. まず理解を助けるためにいくつかの直感的な説明をする。安全性のために考慮すべきシナリオは、誠実な当事者
ここで我々は証明書に関する次の補題を証明することで上記の直感を形式化する: 誠実な当事者が一度コミットすると、その反復および将来の反復におけるすべての証明書はそのコミットされた値のみを証明することができる。
補題 1. 当事者
がコミットする最初の誠実な当事者であり、反復 で に対してコミットするとする。もし に対する証明書 が存在するなら、 である。
証明.
補題 2. 反復
の開始時に (1) すべての誠実な当事者 が に対する証明書を持ち、(2) すべての矛盾する証明書がより低いランク、つまり であるような に対するすべての証明書がすべての誠実な に対してかならず であるとすると、上記 2 つの条件は反復 の最後に保持される。
証明. ある当事者 (誠実かビザンチン) が
簡単な機能用により、上記の 2 つの条件は反復の開始時に真であれば永遠に真であることを示している。
定理 2 (安全性). ある 2 つの誠実な当事者がそれぞれ
と でコミットしたとき、 である。
証明. 当事者
終了. 次に、誠実なリーダーはすべての誠実な当事者がその反復の終わりまでに終了することを保証することを示す。
定理 3 (終了). 反復
のリーダー が誠実であれば、すべての誠実な当事者は反復 の 1 ラウンド後 (またはそれ以前) に終了する。
証明. 誠実なリーダー
有効性. 次にコアプロトコルが達成する有効性について述べる。定理ではコアプロトコルに入力される
定理 4 (有効性). (1) すべての誠実な当事者が
を証明する初期証明書 で開始し、(2) どのビザンチン当事者も を証明する を持っていないのであれば、すべての誠実な当事者は でコミットする。
証明. 証明は補題 2 と定理 3 から明快である。入力規約は各
最後に、証明で明示的に扱う必要のない興味深いシナリオを挙げる。誠実な当事者がコミットする前に、ビザンチン当事者は同じ反復内で複数の値の証明書を取得することができる。特にビザンチンリーダーは
3.3 適応的敵対者に対抗するランダムリーダー選出
これまでに発表されたプロトコルは適応的な敵対者に対して期待される一定ラウンドを達成することができない。敵対者は反復の
適用的安全性に向けた最初の修正は、
しかしこの考え方だけでは十分ではない。
そのために、各当事者はリーダーが明らかになる前に、自分の提案を "準備" するステップを追加する必要がある。その後、"準備された" 提案のみが曖昧さチェックで考慮される。準備ステップは、ある当事者
ラウンド P1 (
) 各当事者 は自分の提案 をブロードキャストする。 ラウンド P2 (
) 前のラウンドで当事者 が当事者 から提案 を受け取った場合、当事者 は提案に署名し、当事者 に を送り返す。
提案
強い急襲の適応的敵対者に対するコアプロトコルは現在
検証可能なランダム関数に基づくリーダー選出 [28] は我々の
3.4 ラウンド複雑性と通信複雑性
最初の誠実なリーダーによって収量が保証される。ランダムなリーダー選出サブルーチンは、各リーダーが誠実である確率を
次に我々は通信複雑性を分析する。各ラウンドは
-
ラウンドでは、各当事者は現在受け入れている証明書を他のすべての当事者に報告する (リーダーは明かされていないのですべての当事者がリーダーになる可能性がある)。 -
では、各当事者はサイズ の署名された提案を他のすべての当事者に送信する。 -
では、各当事者はサイズ の二重の署名付き提案を他のすべての当事者に送り返す。 -
ラウンドでは、各当事者は証明書を含む提案を他のすべての当事者に送信する。(HotStuff プロトコル [3] の提案に従い、提案には メッセージを含む必要はない。) -
ラウンドでは、Loss と Moran [27] による共通コインプロトコルで 通信を要する。 -
ラウンドでは、各当事者は サイズの メッセージを他のすべての当事者に送信する。 -
ラウンドでは、各当事者は証明書を含む メッセージを他のすべての当事者に送信する。 - 最後に、終了前に各当事者は
個の通知ヘッダ を他のすべての当事者に送信する。これは単一のしきい値署名に減らすことができる。
4 ビザンチンブロードキャストと合意
このセクションではコアプロトコルを用いて
ビザンチンブロードキャスト. ビザンチンブロードキャストでは所定の送信者がある値を
- (終了) すべての誠実な当事者たちは最終的にコミットする
- (合意) すべての誠実な当事者たちは同じ値にコミットする
- (有効性) もし送信者が誠実であればすべての誠実な当事者たちは送信者がブロードキャストした値でコミットする
所定の送信者を
ビザンチン合意. ビザンチン合意では各当事者は初期入力値を保持する。ソリューションはビザンチンブロードキャストと同じ終了要件と合意要件を満たす必要がある。いくつかの有効性の概念が存在する。我々は強い全会一致 (strong unanimity) [13] として知られている一般的なものを採用する:
- (有効性). すべての誠実な当事者が同じ入力値
を保持する場合、それらはすべて にコミットする。
プレラウンドではすべての当事者
プロトコルの効率はコアプロトコルの分析から明らかである。両プロトコルともコアプロトコルより 1 ラウンド多く、コアプロトコルと同じ
5 クロック同期
重要な問題は、このセクションの主題である同期性の仮定がどの程度現実的であるかということである。同期性の仮定は本質的にすべての誠実なレプリカのメッセージが時間内に到着することを示している。これには 2 つのプロパティが必要である: (i) メッセージの遅延が有限であること、(ii) ロックされたステップの実行、つまり誠実なレプリカが各ラウンドをほぼ同時に開始すること。第二の特性は重要である。レプリカ
XFT の論文は特定のアプリケーションでメッセージ遅延が有限であることを仮定する正当性が示された [26]。しかしロックされたステップ実行を強制するメカニズムが必要である。この目的のために、我々は次のクロック同期プロトコルを使用する。これはビザンチン合意の外側で興味深いかもしれない。これは Dolev ら [10] によるクロック同期プロトコルの変種である。重要な変更は、しきい値署名の使用を簡易にするために当事者が (順次ではなく) 並列に独立して署名することである。
プロトコルは既知の時間間隔で実行される。各間隔を "日" (day) と呼ぶ。
- Round 0 (
) - 当事者
のクロックが 日の始まりになったら、自身を含むすべての当事者に メッセージを送信する。 - Round 1 (
) - 当事者
が個別の当事者から 個の メッセージを ( 個の メッセージまたは単一の メッセージとして) 初めて受け取ると、当事者 は: - 自身のクロックを
日の始まりに設定する - 他のすべての当事者に、個別の当事者からの
個の メッセージの連結である メッセージを送信する
- 自身のクロックを
上記のプロトコルはメッセージ遅延境界
Acknowledgements
We thank Dahlia Malkhi and Benjamin Chan for many useful discussions.
References
- Ittai Abraham, T-H. Hubert Chan, Danny Dolev, Kartik Nayak, Rafael Pass, Ling Ren, and Elaine Shi. Communication complexity of byzantine agreement, revisited. arXiv preprint, 1805.03391, 2018.
- Ittai Abraham, Srinivas Devadas, Danny Dolev, Kartik Nayak, and Ling Ren. Synchronous byzantine agreement with expected
rounds, expected communication, and optimal resilience. Cryptology ePrint Archive, Report 2018/1028, 2018. https://eprint.iacr.org/2018/1028. - Ittai Abraham, Guy Gueta, and Dahlia Malkhi. Hot-stuff the linear, optimal-resilience, one-message bft devil. arXiv preprint arXiv:1803.05069, 2018.
- Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren, and Alexander Spiegelman. Solida: A blockchain protocol based on reconfigurable byzantine consensus. OPODIS, 2017.
- Atul Adya, William J. Bolosky, Miguel Castro, Gerald Cermak, Ronnie Chaiken, John R. Douceur, Jon Howell, Jacob R. Lorch, Marvin Theimer, and Roger P. Wattenhofer. FARSITE: Federated, available, and reliable storage for an incompletely trusted environment. ACM SIGOPS Operating Systems Review, 36(SI):1-14, 2002.
- Michael Ben-Or. Another advantage of free choice (extended abstract): Completely asynchronous agreement protocols. In Proceedings of the second annual ACM symposium on Principles of distributed computing, pages 27-30. ACM, 1983.
- Michael Ben-Or, Shafi Goldwasser, and Avi Wigderson. Completeness theorems for non-cryptographic faulttolerant distributed computation. In Proceedings of the 20th annual ACM symposium on Theory of computing, pages 1-10. ACM, 1988.
- Christian Cachin, Klaus Kursawe, and Victor Shoup. Random oracles in Constantinople: Practical asynchronous byzantine agreement using cryptography. Journal of Cryptology, 18(3):219-246, 2005.
- Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance. In OSDI, volume 99, pages 173-186, 1999.
- Danny Dolev, Joseph Halpern, Barbara Simons, and Ray Strong. Dynamic fault-tolerant clock synchronization. Journal of the ACM, 42(1):143-185, 1995.
- Danny Dolev and Rudiger Reischuk. Bounds on information exchange for byzantine agreement. Journal of the ACM (JACM), 32(1):191-204, 1985.
- Danny Dolev and H. Raymond Strong. Authenticated algorithms for byzantine agreement. SIAM Journal on Computing, 12(4):656-666, 1983.
- Cynthia Dwork, Nancy Lynch, and Larry Stockmeyer. Consensus in the presence of partial synchrony. Journal of the ACM, 35(2):288-323, 1988.
- Pesech Feldman and Silvio Micali. An optimal probabilistic protocol for synchronous byzantine agreement. SIAM Journal on Computing, 26(4):873-933, 1997.
- Michael J. Fischer and Nancy A. Lynch. A lower bound for the time to assure interactive consistency. Information processing letters, 14(4):183-186, 1982.
- Matthias Fitzi and Juan A Garay. Effcient player-optimal protocols for strong and differential consensus. In Proceedings of the twenty-second annual symposium on Principles of distributed computing, pages 211-220. ACM, 2003.
- Shafi Goldwasser, Silvio Micali, and Avi Wigderson. How to play any mental game, or a completeness theorem for protocols with an honest majority. In Proc. of the 19th Annual ACM STOC, volume 87, pages 218-229, 1987.
- Guy Golan Gueta, Ittai Abraham, Shelly Grossman, Dahlia Malkhi, Benny Pinkas, Michael K Reiter, Dragos- Adrian Seredinschi, Orr Tamir, and Alin Tomescu. SBFT: a scalable decentralized trust infrastructure for blockchains. arXiv preprint 1804.01626, 2018.
- Jonathan Katz and Chiu-Yuen Koo. On expected constant-round protocols for Byzantine agreement. In Annual International Cryptology Conference, volume 4117, pages 445-462. Springer, 2006.
- Valerie King and Jared Saia. Breaking the
bit barrier: scalable byzantine agreement with an adaptive adversary. Journal of the ACM, 58(4):18, 2011. - Eleftherios Kokoris Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford. Enhancing Bitcoin security and performance with strong consistency via collective signing. In 25th USENIX Security Symposium, pages 279-296. USENIX Association, 2016.
- John Kubiatowicz, David Bindel, Yan Chen, Steven Czerwinski, Patrick Eaton, Dennis Geels, Ramakrishan Gummadi, Sean Rhea, Hakim Weatherspoon, Westley Weimer, and Ben Zhao. Oceanstore: An architecture for global-scale persistent storage. ACM Sigplan Notices, 35(11):190-201, 2000.
- Leslie Lamport. The part-time parliament. ACM Transactions on Computer Systems, 16(2):133-169, 1998.
- Leslie Lamport, Robert Shostak, and Marshall Pease. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems, 4(3):382-401, 1982.
- Benoît Libert, Marc Joye, and Moti Yung. Born and raised distributively: Fully distributed non-interactive adaptively-secure threshold signatures with short shares. Theoretical Computer Science, 645:1-24, 2016.
- Shengyun Liu, Christian Cachin, Vivien Quéma, and Marko Vukolic. XFT: practical fault tolerance beyond crashes. In 12th USENIX Symposium on Operating Systems Design and Implementation, pages 485-500. USENIX Association, 2016.
- Julian Loss and Tal Moran. Combining asynchronous and synchronous Byzantine agreement: The best of both worlds. Cryptology ePrint Archive 2018/235, 2018.
- Silvio Micali. Algorand: The effcient and democratic ledger. arXiv:1607.01341, 2016.
- Rafael Pass and Elaine Shi. Feasibilities and infeasibilities for achieving responsiveness in permissionless consensus. In International Symposium on Distributed Computing. Springer, 2017.
- Rafael Pass and Elaine Shi. Thunderella: Blockchains with optimistic instant confirmation. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 3-33. Springer, 2018.
- Michael O. Rabin. Randomized Byzantine generals. In Proceedings of the 24th Annual Symposium on Foundations of Computer Science, pages 403-409. IEEE, 1983.
- Victor Shoup. Practical threshold signatures. In International Conference on the Theory and Applications of Cryptographic Techniques, pages 207-220. Springer, 2000.
- Lidong Zhou, Fred Schneider, and Robbert van Renesse. COCA: A secure distributed online certification authority. ACM Transactions on Computer Systems, 20(4):329-368, 2002.
翻訳抄
2019 年の論文。
- Abraham, I., Devadas, S., Dolev, D., Nayak, K., Ren, L. (2019). Synchronous Byzantine Agreement with Expected
Rounds, Expected Communication, and Optimal Resilience. In Financial Cryptography and Data Security. FC 2019. Lecture Notes in Computer Science(), vol 11598. Springer, Cham. https://doi.org/10.1007/978-3-030-32101-7_20
