「BFT(ビザンチン・フォールト・トレランス)」システムの実装を検証する新手法について、フェイスブックの独自仮想通貨リブラ用ウォレットを開発する、カリブラ開発チームがまとめた査読前論文(プレプリント)が4月22日に公開された。数学・計算機科学・統計学などのプレプリントを保存・公開するウェブサイト「arXiv」に掲載されている。

論文によると、BFT自体は20年以上前から広範に研究されているものの、BFT実装を検証するにあたり原理に基づいた手法が従来存在しなかったという。そのため、新たな方法として「Twins(ツインズ)」と名付けたアプローチを考案したそうだ。

BFT(ビザンチン・フォールト・トレランス)

BFT(ビザンチン・フォールト・トレランス)は、コンピューターー科学者のレスリー・ランポート(Leslie Lamport)氏、ロバート・ショスタク(Robert Shostak)氏、マーシャル・ピース(Marshall Pease)氏により1982年に執筆された論文「ビザンチン将軍問題(The Byzantine generals problem)」に由来する。

BFTとは、ネットワーク・システムにおいて、ネットワーク自体・構成部品・ネットワークを流れる情報などに何らかの問題が生じても、機能全体を停止させることなく動作し続ける状態を指す。

仮想通貨ビットコイン(BTC)などの分散コンピューティング環境では、作為・不作為による何らかの問題・障害(ビザンチン障害)が発生した際に、ネットワーク全体で正しい合意形成の達成(コンセンサスアルゴリズムの実行)が行えるかどうかを問う問題(ビザンチン将軍問題)として議論される。

カリブラ開発チームの「Twins」アプローチ

Twinsアプローチでは、同じIDを持つノード(コンピューター)を2つ実行することで、「あいまい量(quivocation)、二重投票、内部状態の喪失を含む」ビザンチン障害をエミュレートするという。大規模なビザンチン攻撃を生成・制御した上で実行し、BFTプロトコルの振る舞いを確認できるとしている。

また論文では、BFTプロトコルに対する有名な攻撃方法を再現した上で、すべてのケースでBFTプロトコルが中断することを確認しており、Twinsアプローチが現実的な検証方法であると主張している。攻撃方法のうち2種類は、(分散コンピューティング)コミュニティが発見するまで10年間以上かかっていた問題点だったが、Twinsアプローチでは「数分以内」で特定できたそうだ。

フェイスブックで仮想通貨リブラの責任者、またカリブラのCEOを務めているデビッド・マーカス氏は、次のようにツイートした

「私の仕事の最大の喜びのひとつは、業界で最も優秀かつ有能な人々と一緒に仕事ができることだ。我々の強力な研究チームによるBFT実装の検証に関する最先端の仕事を紹介する」

なお論文では、Twinsアプローチにより多くのBFTシステムを検証できると主張しているものの、「いくつかのビザンチン障害はTwinsではカバーできない」ことも認めている。その中には、過去の振る舞いに従ってノードが実行するという場合に、(ビザンチン障害の原因を含め)過去の因果関係の完全な開示に従わないものも含まれる。

翻訳・編集 コインテレグラフジャパン