要点

Libra協会は2020年4月にホワイトペーパーのv2.0を発表した。Libraコイン(≋LBR)は単一通貨ステーブルコインとそれらのバスケットである複合ステーブルコインの二階層にマイナーチェンジ。規制当局の激しい反発と中国などのデジタル通貨(CBDC)開発の潮流が背景にある。

最初のホワイトペーパーv1.0は、世界の規制当局から非常に厳しい視線にさらされた。極めて野心的に見えた最初のアイデアと現実との折衝をとりながらも、Libraは、依然として世界通貨の一端を担う存在への道筋を残している。

Libra協会は、ネットワークは世界中からアクセス可能で低コストの決済システムとして設計されており、国内通貨の代替ではなく、補完的なものという位置づけをとっている、と主張している。

1. Libraの経済へのインパクト

1.1 単一通貨ステーブルコイン

Libraネットワークが大きな規模に達し、国内での支払いが大量に≋LBRで行われるようになった場合、複数通貨が金融主権と金融政策を阻害する可能性があるということが、共通した重要な懸念事項だった。通貨統合をした欧州連合(EU)においてこの課題は深刻である。ギリシャ危機などの加盟国の経済危機への対応では、量的緩和や積極財政政策をめぐる不和による政策のデッドロックが、地域経済に大きな打撃をもたらしている。国家が通貨をコントロールできないということは、ベイルアウト(緊急支援)の選択肢を失うということでもある。

Libra2.0では、Libra1.0で提案されている通貨バスケットに加えて、LibraUSDまたは≋USD、LibraEURまたは≋EUR、LibraGBPまたは≋GBP、LibraSGDまたは≋SGDのような、単一通貨を担保としたLibraコインを追加することでネットワークを拡張していくと説明している。

Libraネットワーク上に単一通貨安定コインがある地域の人々や企業は、その地域の通貨と対応するステーブルコインに直接アクセスできる。各単一通貨支援のステーブルコインは、現金または現金同等物と、その通貨で建てられた非常に短期の政府証券で構成されている準備金によって完全な基礎が提供されている。

本丸の≋LBRは、Libraネットワークで利用可能な単一通貨型ステーブルコインのデジタル合成となる。これは、国際通貨基金(IMF)によって維持されている特別引出権(SDR)のように、固定された名目上の重みで定義される。≋LBRは、効率的な国際決済コインとして使用できるだけでなく、ネットワーク上に単一通貨のステーブルコインをまだ持っていない国の人々や企業のための中立的で低ボラティリティの選択肢としても使用できる。このアプローチは、ネットワークが国内の幅広いユースケースをサポートし、中央銀行のデジタル通貨(CBDC)が利用可能になったときにシームレスに統合するための明確な道筋を提供することを可能にするという利点がある。

Libraの方向性に調整が加えられた背景は、各国規制当局の激しい反発と、中国のCBDC計画の進展に端を発した、国家間のデジタル通貨競争の勃発である。Libraは、単一通貨型で「各国通貨のデジタル版」として振る舞い、同時にバスケット版で国際決済通貨と発展途上国のデジタル通貨の地位の獲得を目論見、さらに各国のCBDCとの統合可能性をも睨んでいる。

報道では、Libraが規制当局に対して譲歩し、つまらないものになったというニュアンスが伝えられがちだったが、実際には細やかなポジションの変化を織り込んで、野心を保ち続けている。

1.2 Libra 準備金

1.21 準備金の枠組み

Libraネットワークの経済設計の主な目的は、効率的な支払い方法で信頼を築くことだ。Libraネットワークの各安定コインは、高品質な流動性資産の準備金によって完全にバックアップされ、各コインを売買する転売屋や取引所の競争力のあるネットワークによって支えられている。つまり、Libraコインを保有者、Libraコインを現地通貨に交換することができるという高度な保証を得ることができる。

2019年9月、Libra協会はスイス金融市場調査局(FINMA)に決済システムのライセンスを申請する意向を発表し、ライセンスの条件として各Libraコインの継続的なフルバックを明記することが期待されている。

フルバッキングとは、準備銀行が流通している各Libraコインの額面金額に相当する額を、現金または現金同等物と超短期の政府系有価証券で保有することを意味します。これは、預金負債の裏付けとして現金やその他の流動性資産の一部(例えば10%)のみを保有し、残りの資産は貸付金やその他の非流動性資産で構成されている銀行とは異なります(フラクショナル・リザーブ・バンキングとも呼ばれています)。流動資産による完全な裏付けは、暴走を抑制し、決済システムを安定化させるために重要である。透明性と監査可能性へのコミットメントと相まって、各Libraコインの全面的な裏付けは、人々や企業が自分のLibraコインを現地通貨に交換できるという信頼感を確保するのに役立つと想定されている。

「準備委員会」は、市場の需要に応じて、各単一通貨のステーブルコイン(例:≋USD、≋EUR、≋GBPなど)を造幣する。さらに、スマートコントラクトが、指定された固定の名目ウェイトに基づいて、これらの特定の単一通貨の安定コインを≋LBRに結合する。

≋LBRは単一通貨へのペッグではないため、各通貨の価値が動くことで、どの地域の通貨でも1枚の≋LBRの価値が変動する可能性がある。Libra協会は、主要な監督機関であるFINMAの指導の下、規制当局や中央銀行のグループ、あるいは国際機関(IMFなど)が、ボラティリティを最小化するためのウェイトや構成要素を監督・管理する形を受け入れる、という。

準備金の構造は、脅威を緩和し、リスクを最小化するよう意図的に設計されている。Libraネットワークの支払能力を維持し、Libra決済システムを長期にわたって円滑に機能させるために、準備金は、高品質の流動性資産または高品質の流動性資産に迅速に転換できる資産のみに依存する。

特に、信用リスクが非常に低く(例:S&P の A+ 格付け、ムーディーズの A1 格付け以上)、流動性の高い流通市場で取引されている政府又は政府関係機関が発行した超短期(残存期間 3 カ月まで)の政府証券を最低 80%保有することを当座に要求する。残りの 20%は現金で保有し、同じリスクと流動性プロファイルを持つ短期(残存期間 1 年まで)の政府証券に投資するマネー・マーケット・ファンド(MMF)をオーバーナイト取引する。通貨リスクに対処するために、リザーブを構成する資産の通貨構成は、発行済みの単一通貨安定貨幣の構成と一致する(発行済みの単一通貨安定貨幣を含む)。

しかし、これらの高品質の流動性資産を保有していても、極端な経済状況下では、リブラネットワークスは(金利の急激な変動などにより)損失を被ったり、資産の流動化がより困難になったりする可能性がある。消費者の保護を維持するために、準備金にはさらに資本バッファーが付与される予定である。当協会は、規制当局の意見を取り入れて、適切な規模の損失吸収型の資本バッファーを維持するための規制資本の枠組みを構築している。例えば、この資本バッファーは、Libraの決済システムの信用リスク、市場リスク、オペレーショナルリスクによる潜在的な損失から保護します。運営上のリスクには、外部または内部の不正行為、業務の中断、システムおよび管理の障害などが含まれる。

1.22 準備金の運用方法

当準備金の管理は、一般市民に対して透明性のあるものとする。リザーブは、独立した監査人によって定期的に監査されます。監査の結果は、流通しているすべてのLibraコインが準備金を構成する資産に完全に裏付けられていることを証明するために公開される。協会は、その時点での準備金の現在の構成と資産の現在の市場価値を毎日ウェブサイト上で公開する。

リブラネットワークスが超短期の政府系証券または現金または現金同等物の保管においてマイナスの利回りに直面した場合、リブラネットワークスは他の収益源(取引手数料やその他の手数料など)でこれらのコストをカバーしなければならない。ホワイトペーパーは「準備金の資産に対するプラスの利息は、利用可能であれば、システムのコストをカバーし、低い取引手数料を確保し、必要な資本バッファーを増強し、成長と採用を支援するために使用される」と主張している。リザーブの利息を配分するためのルールは、事前に設定され、協会によって監督される。Libraコインを保有者が、リザーブからリターンを受け取ることはない。この仕組みに関しては、アントフィナンシャルがアリペイの延長線上で提供するMMFである「余額宝」と比較すると、余額宝の方が利点がある。

1.3 パーミッションレスシステムへの移行を見送る

パーミッションレスシステムとは、政府・中央銀行のような権力を持たない形で、自律的に事象を執行していくシステムを指す。規制当局は、Libraネットワークの制御の境界線、特に、未知の参加者がシステムを制御したり、重要なコンプライアンス規定を削除したりしないようにする必要があることについて懸念を示していた。

2. Libra 2.0の技術的特徴

2.1 Libra Blockchainの概要

Libra Blockchainは、世界中の何十億人もの人々のための効率的な交換媒体として機能する能力を持つ低ボラティリティの暗号通貨をサポートするように設計された、分散型でプログラム可能なデータベース。

Libraプロトコルは、Libraブロックチェーンを実装し、イノベーションを促進し、参入障壁を下げ、金融サービスへのアクセスを向上させることができる金融インフラストラクチャを構築することを目的としている。Libraプロトコルの設計を検証するために、Libraの開発者Zachary Amsdenらは、オープンソースのプロトタイプ実装であるLibra Coreを構築した。

Libraプロトコルでは、異なる権限を持つレプリカ(バリデータと呼ばれる)が、プログラム可能なリソースのデータベースを共同で管理することができる。これらのリソースは、公開鍵暗号によって認証された異なるユーザーアカウントによって所有され、これらのリソースの開発者によって指定されたカスタムルールに従う。バリデータはトランザクションを処理し、データベースの状態に関するコンセンサスを得るために相互に作用する。トランザクションは、Moveと呼ばれる新しいプログラミング言語で定義された、事前に定義されたスマートコントラクトに基づいている。

Libraブロックチェーンは分散化され、取引を処理し、ブロックチェーンの状態を維持するために協力するバリデータの集まりで構成される。これらのバリデータ(検証者)はLibra協会のメンバーでもあり、ネットワークのガバナンスとコインを支えるリザーブの枠組みを提供する。協会(とバリデータ)は、地理的に分散した多様な創設メンバーで構成される。これらのメンバーは、客観的な参加基準に基づいて選ばれた組織であり、Libraのエコシステムの成功に向けてリソースを投資していることなどが挙げられる。時間の経過とともに、メンバーの資格は完全にオープンになり、メンバーがLibraを保有しているかどうかだけに基づくものになる計画だ。

開発者はプログラミング言語「Move」を使用して、通貨やバリデータのメンバーシップなどのブロックチェーンのコアメカニズムを定義している。これらのコアメカニズムにより、初期の段階では既存の機関の安定性と評判に基づいて構築されているが、時間の経過とともに完全にオープンなシステムへと移行する独自のガバナンスメカニズムの構築が可能になる想定だ。

2.2 Libraプロトコル

Libraブロックチェーンは、Libraプロトコルを使用して管理されている暗号化された認証データベースである。このデータベースには、Libraコインなどのプログラム可能なリソースの台帳が保存されている。リソースは、宣言モジュールによって指定されたカスタムルールに従う。リソースは、公開鍵暗号を使用して認証されたアカウントによって所有される。アカウントは、システムの直接のエンドユーザーだけでなく、ユーザーに代わって行動するカストディアルウォレットのようなエンティティを代表することができる。アカウントの所有者は、アカウント内に保持されているリソースを操作するトランザクションに署名することができる。

2.3 プログラミング言語「Move」

プロジェクトの技術的な仕様で最も注目すべきは、Facebookが新しいLibraブロックチェーンを実行するために「Move」と呼ばれる専用のコンピュータプログラミング言語を構築したことだ。

Moveは、Libraブロックチェーン上でカスタムトランザクションロジックや「スマートコントラクト」を実装するための新しいプログラミング言語。Moveは、これまでにスマートコントラクトで発生したセキュリティインシデントから得られた知見をもとに、作者の意図を満たすコードを書くことを本質的に容易にする言語を作成し、意図しないバグやセキュリティインシデントのリスクを軽減しているとホワイトペーパーは説明している。

具体的には、Moveは資産のクローン化を防ぐために設計されている。これにより、デジタル資産を物理資産と同じ特性に制約することが可能になります。

また、Move言語は、決済が支払者と受取人の残高を変更するだけでよいという要件など、特定の特性を満たす取引であることを自動的に証明することも容易にする。これらの機能に優先順位をつけることで、Move は Libra ブロックチェーンの安全性を維持するのに役立つ。送金、バリデータ(検証者)ノードの管理のような Libra ネットワークの中心的な要素の容易で安全な定義を可能にする。最後に、Moveは、主要な仮想通貨(暗号通貨)関連企業が設定した規制である「Travel Rule」の遵守やプロトコルレベルの制裁審査を容易にするようなコンプライアンスメカニズムがLibraネットワークに組み込まれるための一つの方法である。

Moveの開発と事実上Facebookに権力を集中させた構造によって、ブロックチェーンの内部の「プログラマビリティ」が強化された。新しい機能や新しい技術を利用したい場合は、ネットワーク全体のアップグレードを待つ必要がなく、Libra協会がコインの仕様を即時的に変更していくことが可能だ。

2.31 Transaction Script

トランザクションスクリプトは Libra プロトコルの主要な手続き。トランザクション スクリプトは、スクリプトが任意の Move バイトコードプログラムであるため、柔軟なトランザクションを可能にする。スクリプトは、元帳状態(Ledger State)のなかで公開されているモジュールの複数のプロシージャを呼び出したり、条件付きロジックを使用したり、ローカル計算を実行したりすることができる。つまり、スクリプトは、特定の受取人のセットを支払うなど、表現力豊かな単発のアクションを実行することができる。

2.32 モジュール

モジュールは、元帳状態で公開されるコード・ユニット。モジュールは、構造体型とプロシージャの両方を宣言する。構造体値は、整数や他の構造体値などのプリミティブ値を保持する可能性のあるデータフィールドを含む。各構造体は、リソースまたは制限なし(すなわち、非リソース)としてタグ付けされている必要があります。制限のない構造体は、上述のコピーおよび破壊に関する制限の対象にはならない。ただし、非制限構造体は、(直接または通過的に)リソース構造体を含むことはできず、元帳状態のアカウントの下で公開することはできない。

Image via Libra Twitter Account @Libra_

2.4 コンセンサスアルゴリズム

2.41 LibraBFT

Facebookの暗号通貨Libraは、ビザンチン将軍問題への耐性を示すビザンチン・フォールト・トレランス(BFT)の合意プロトコルである「LibraBFT」を使用している。Libraが採用する「許可されたブロックチェーン」(Permissioned Blockchain)では、ノードの参加者がネットワークに参加するためにはアクセスを許可されなければならないことを意味する。Permissioned Blockchainに組み込まれたアクセス制御レイヤーは、既知のノードのみがネットワークへの参加を許可する。

ノードとは、ブロックチェーンネットワーク上のデバイスで、ネットワークを構成する個々のコンピューターを指す。ノードの運営者は、トランザクションの保存と検証のために、コンピューティングリソースをネットワークに提供する。一部の暗号通貨ネットワークでは、ノードはトランザクションフィーを得ている。

LIbraBFTは、「HotStuff」と呼ばれる別の合意プロトコルから派生したもので、古典的なBFTアルゴリズムであるPractical Byzantine Fault Tolerance(PBFT)を使用している。BFT システムは、多くの場合、ノード、代議員(ブロックを承認できる人)、次のブロックを提案する参加者で構成されている。

HotStuffは、VMware Researchが2018年3月に提案したビザンチン障害耐性(BFT)のあるプロトコルだ。多くのコンセンサスプロトコルと同様に、そのネットワークは信頼性と安全性の高いピアツーピアネットワークであると仮定され、その通信モデルは部分同期モデルを採用しており、これはネットワーク内にメッセージ送信遅延の上限が存在することを意味する。この上限値は、ネットワーク内のノードには未知であるか、またはすべてのノードが上限値を知っていて、ある未知のポイントの後にそれに従うかのいずれかである。

2.42 PBFT

一般的に、コンセンサスプロトコルの目標は、分散型ネットワークにおいて、すべての(正直な)ノードがある状態から別の状態に遷移できるように、システムの状態に関する合意に達することである。

通常、PBFTは、この目標を達成するために2ラウンドのピアツーピアメッセージ交換を使用する。

リーダーは、システム内の正直なノードとして、提案された(合法的な)状態遷移要求を他のノードにブロードキャストするとき、まず、十分なノードがこの状態遷移要求を受信したことを知る必要がある。つまり、この要求が有効であることを確認することができます。これに基づき、十分なノードも状態遷移が有効であることを確認していることを知る必要があり,状態遷移に関する十分なノード間のコンセンサスがあることを確認する。

プロトコルの実行中にリーダーが故障した場合、例えば、ノードがリーダーと通信できないことを発見した場合、リーダーを交代させる必要があり、これはビュー(検証プロセス)変更を意味する。この時点で、システム内のノードは検証プロセスの変更要求をブロードキャストする。ノードが十分なビュー変更要求を受信すると、新しいリーダーにビュー変更確認を送信する。新しいリーダーが十分なビュー変更確認を受信すると、次のビューが開始される。

2.43 HotStuff

HotStuffが合意プロトコルにおいて行った最も重要な変更は、PBFTのメッシュ通信ネットワークをスター通信ネットワークに変更したこと、つまり各通信がリーダーに依存するようになったことだと考えている。ノードがP2Pネットワークを介して他のノードにメッセージをブロードキャストするのではなく、代わりにリーダーにメッセージを送信し、それを処理して他のノードに送信するというものだ。スター通信ネットワークのおかげで、システムの通信の複雑さが大幅に軽減されました。PBFTと同様に、リーダが状態遷移要求を提案し、それを受信した他のノードがその正当性を確認する。

図1: メッシュ通信ネットワーク(下)とスター通信ネットワーク(左). Source: djm.com

HotStuffが行った2番目の重要な変更は、ビュー変更プロセスを通常のプロセスにマージすることで、別個のビュー変更プロセスがもはや存在しないことを意味し、ビュー変更の複雑さを軽減する。HotStuffのビュー変更の間、システム内のノードは、新しいリーダーに通知する前に「十分なノードがビュー変更を実行したい」というメッセージを確認する必要がなく、代わりに、新しいビューに直接切り替えて新しいリーダーに通知することができることがわかる。HotStuffでは「十分なノードがビュー変更を実行したい」というメッセージを確認する動作を通常のプロセスに落とし込んでいる。これは新しいアプローチではあるが、必然的に通常処理の確認のための新たなフェーズが発生することになる。

参考文献

  1. "Libra WhitePaperV2". Libra Foundation. April, 2020.
  2. Zachary Amsden et al. The Libra Blockchain. Published
  3. The Ontology Team. "HotStuff: the Consensus Protocol Behind Facebook’s LibraBFT". Jun 26, 2019
  4. Maofan Yin, Dahlia Malkhi, Michael K. Reiter, Guy Golan Gueta, Ittai Abraham. HotStuff: BFT Consensus in the Lens of Blockchain arXiv. Submitted on 13 Mar 2018.