Libra Developersサイトの要約:Welcome

Libra

Libraホワイトペーパー2.0のサマライズをして、コンセプトの変更については大体理解できたところです。

将来にわたってBitconの様な非中央化の可能性は無くなりましたが、Blockchainのオープンさを残そうという気概は残っており、現実的なProgrammable moneyのプラットフォームになりそうな雰囲気があるため、やはり一度きちんと学習しておく必要がありそうです。

Libraの公式Developerサイトを見てみると、前よりも構成が良くなっていて書き足しもされており、Overviewからきちんと読んでいくと、ここだけでLibraについては全ての内容が理解できそうです。そこで、チームでの共読の記録を兼ねて、ここで紹介していこうと思います。

リブラについて学ぼう

Welcomeページ

Welcome · Libra
Welcome to the Libra developer site! The Libra Association’s mission is to enable a simple global payment system and financial infrastructure that empowers bill...

Welcome to the Libra developer site! The Libra Association’s mission is to enable a simple global payment system and financial infrastructure that empowers billions of people.

冒頭にリブラの使命について書かれています。ホワイトペーパーに何度も書かれているのであれですが、ポイントとしては「グローバルな決済システム」と「金融インフラ」を実現すること。この二つだということですね。これは何らかのアカウントをベースに、送りたい人に簡単に海外送金ができれば良いので、Bitcoinで既に実現されているものと考えられますが、では実際に何十億もの人が使っているか?と言われると、そうではありません。ボラティリティが高すぎることや、トランザクションにかかる時間の問題がありますしまだまだ敷居が高いですから、本当に誰でも使えるUIを被せられる様な基盤とは言えません。Libraがそうなれば良いですね。

そのあともホワイトペーパーの抜粋からの紹介があり、ステーブルで自国通貨と交換できる様にすることなどが簡単に紹介されていて、次の引用ぐらいから技術的な話になってきます。そのためにどんなBlockchainを用意するのか?ということですね。

Through the process of evaluating existing options, we decided to build a new blockchain based on the following three requirements:
Able to scale to billions of accounts, which requires high transaction throughput, low latency, and an efficient, high-capacity storage system.
Highly secure to ensure the safety of funds and financial data.
Flexible, so that it can power future innovation in financial services.

  • 数十億のアカウントにスケールアップが可能であること。トランザクションの高スループット&低レイテンシーおよび効率的で大容量のストレージシステムが必要とされる。
  • 資金と金融データの安全性を確保するための高い安全性。
  • 未来の金融サービスのイノベーションを後押しできる柔軟性。

その後、現在も稼働中のテストネットについての簡単な説明があり、このドキュメント全体の範囲について説明があります。

スポンサーリンク

ドキュメントの説明範囲

ドキュメントの説明範囲として大体次の様なことが書かれていて、それぞれの項目について、さらに詳しく下に説明があります。


  • Libraプロトコル
  • Move言語
  • LibraBFT(コンセンサスプロトコル)
  • プロトタイプで実験する方法
  • コミュニティへの参加の仕方

注意事項:LibraプロトコルとAPIは完成版ではありません。プロトタイプの目的はプロトコルとAPIを正式なものにしていくことです。実験するのはウェルカムだけど、開発者はこれが今後変わっていくことを知っておいて欲しい。


Libraプロトコル

  • Libraプロトコルは認証データベース(Blockchain)を利用している。ということ。
  • LibraBlockchainのためにMove言語を開発し、そして可能な限りMove言語で書いているということ。
  • BlochchainがLibraBFNコンセンサスプロトコルによるヴァリデータノードのネットワークで構成されていること。

Move言語

  • MoveはLibraBlockchainのトランザクションロジックと、スマートコントラクトを実現するためのプログラミング言語です
  • 金融資産を扱うために安全性を高優先にして設計してある。
  • Moveは過去のスマートコントラクトのインシデントからインサイトを得て作られていて、意図しないバグやセキュリティインシデントのリスクを軽減する様になっている。
  • Moveは「リソース(Moveのデータ型)」のクローンが作れない様になっている。
  • Moveは重要なトランザクションコードの開発を簡単にする。そしてリブラプロジェクトそのものでも、Libraコインやバリデータノードのネットワーク管理の様なLibraプロジェクトのガバナンスのセキュア実装を可能にしている。
  • 一般開発者のスマートコントラクト開発は後できる様になると考えている。

BFTコンセンサスアプローチ

  • Libra決済システムはBFTコンセンサスプロトコルによって台帳上の合意を形成する。
  • BFTコンセンサスプロトコルは悪意のあるバリデータに対して1/3のフォールトトレランスを提供する。
  • バリデータノードは全トランザクションの履歴を保持する。内部的には、次回の状態計算をするため現在の状態を保持し続ける必要がある。
  • Libraネットワークには、バリデータノード以外に履歴を検証するフルノードがある。フルノードはBlockchainの状態を問い合わせできる。
  • フルノードは確定したトランザクションの履歴とトランザクション実行の外部検証リソースを構成する。(上位のノードからトランザクションを受け取って、バリデータと同じ方法で実行し、結果をローカルストレージに保存する。)

開発者

Libraプロジェクトの開発者の定義について書かれています。これら全部を一括りに「開発者(Developer)」と呼ぶということです。

  • Libraネットワークのローカルインスタンスを構築する人
  • Libraネットワークに作用するアプリケーションを開発する人。
  • Blockchainで実行されるスマートコントラクトを書く人。
  • Libraブロックチェーンのソフトに貢献する人。

Getting Started

Libraリポジトリに含まれるCLIを使って、テストネットでトランザクションを実行する方法などについて簡単に説明されています。その後の注意項目にメインネットのロールアウト計画について簡単に書かれています(概要だけで、具体的なことは書かれていません。)。

注意事項

  • 開発者は自由にテストネットを使えるが、メインネットはフェーズ毎のロールアウトプランに従います。
  • 当初メインネットにアクセスできるのは指定ディーラー?と指定VASP(Virtual Asset Service Provider)のみ。
  • その間、Libraアソシエーションは「規制当局」から受け取ったフィードバックに基づき、その他のVASPの認証プロセスと、それらの「ホストされていないウォレット」のコンプライアンスフレームワークを開発する。
  • そのコンプライアンスのフレームワークが最終決定されたら、認証VASPと「ホストされていないウォレット」がネットワークにアクセスできる様にする意向。
  • 段階的な計画のため、開発者の全てがLibraネットワークの全ての側面を利用できるわけではない。

段階的ロールアウトの詳細についてのリンク。

Libra White Paper | Blockchain, Association, Reserve
The Libra Whitepaper. Take a closer look at the Libra Blockchain, the Libra Reserve, and The Libra Association.

Stay Updated

開発者用の情報収集箇所について簡単にまとめられていて、ニュースレター登録フォームがあります。また、開発要望などを受け付けるフォームへのリンクが紹介されています。

ニュースレター登録:
https://developers.libra.org/newsletter_form

ディベロッパーフォーム:
https://developers.libra.org/developer_form/

タイトルとURLをコピーしました