【完全和訳】Avalanche Platform Whitepaper(ホワイトペーパー)

===================

Avalanche Platform Whitepaper:https://assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche%20Platform%20Whitepaper.pdf

===================

Avalanche Platform 2020/06/30

Kevin Sekniqi, Daniel Laine, Stephen Buttolph, and Emin G¨un Sirer

概要

このペーパーは、Avalancheプラットフォームの最初のリリース、5コードネームAvalanche Borealisのアーキテクチャの概要を提供します。AVAXと名付けられたネイティブ・トークンの経済性の詳細については、添付のトークン・ダイナミクス・ペーパー[2]を参照してください。

情報開示: 本ペーパーに記載された情報は予備的なものであり、いつでも変更される可能性があります。
また、本論文には「将来予測に関する記述」が含まれている可能性があります。

Git Commit: 7497e4a4ba0a1ea2dc2a111bc6deefbf3023708e

第1章:はじめに

本論文では、Avalanche プラットフォームのアーキテクチャの概要を説明します。

主な焦点は、プラットフォームの3つの主要なエンジン、アーキテクチャモデル、およびガバナンスメカニズムです。

1.1 Avalancheの目標および原則

Avalancheは、高性能、スケーラブル、カスタマイズ可能、かつ安全なブロックチェーン・プラットフォームです。

3つの幅広いユースケースをターゲットにしています。

– 許可制(プライベート)および許可なし(パブリック)デプロイメントにまたがる、アプリケーション固有のブロックチェーンの構築。
– 高度にスケーラブルな分散型アプリケーション(Dapps)の構築と立ち上げ
– カスタムルール、コベナンツ、ライダーを備えた任意に複雑なデジタル資産の構築(スマート資産)。

===================

将来予想に関する記述は、一般に、将来の出来事または当社の将来の業績に関するものです。これには、アバランチの予測される業績、その事業およびプロジェクトの予想される発展、そのビジョンと成長戦略の実行、およびアバランチの将来の業績が含まれますが、これらに限定されるものではありません。

また、現在進行中、開発中、またはその他の検討中のプロジェクトの完了も含まれます。将来予想に関する記述は、本プレゼンテーションの日付現在における当社の経営陣の考えおよび仮定を表しているにすぎません。これらの記述は、将来の業績を保証するものではなく、過度の信頼を置くことはできません。このような将来予想に関する記述は、必然的に既知および未知のリスクを伴い、将来の期間における実際の業績および結果は、ここに明示または黙示されたいかなる予測とも大きく異なる可能性があります。Avalancheは、将来予想に関する記述を更新する義務を負いません。将来予想に関する記述は、それが作成された時点における当社の最善の予測ですが、それが正確であることを保証するものではありま せん。

実際の結果や将来の出来事とは大きく異なる可能性があるため、これらが正確であることを保証するものではありません。読者の皆様は、将来予想に関する記述を過度に信頼しないようご注意ください。

Avalancheの包括的な目的は、デジタル資産の作成、転送、および取引のための統一されたプラットフォームを提供することです。

Avalancheは、次のような特性を備えています。

スケーラブル

Avalancheは、大規模なスケーラビリティ、堅牢性、および効率性を持つように設計されています。コアコンセンサスエンジンは、インターネットに接続された低電力および高電力のデバイスをシームレスに動作させ、低レイテンシで、1秒間に非常に多くのトランザクションを行い、潜在的に数億のグローバルネットワークをサポートすることができます。

セキュア

アバランチは、堅牢で高い安全性を実現するように設計されています。

古典的なコンセンサスプロトコルは、最大f人の攻撃者に耐えるように設計されており、サイズがf + 1以上の攻撃者に直面すると完全に失敗します。また、Nakamotoコンセンサスは、マイナーの51%がビザンチンである場合には安全性が確保されません。

一方、Avalancheは、攻撃者がある閾値以下であれば非常に強い安全性を保証し、攻撃者がこの閾値を超えると緩やかに劣化していく仕組みになっています。また、攻撃者が51%を超えても安全性を保証することができる(ただし、生存率は保証しない)。このような強力な安全性保証を提供するパーミッションレスシステムは、本システムが初めてである。

分散型

Avalancheは、前例のない分散化を実現するように設計されています。これは、複数のクライアントを実装し、いかなる種類の中央集権的な制御も行わないことを意味します。エコシステムは、異なる利害関係を持つユーザークラス間の分裂を避けるように設計されています。重要なのは、採掘者、開発者、ユーザーの間に区別がないことです。

統治可能かつ民主的

$AVAXは非常に包括的なプラットフォームであり、誰でもネットワークに接続し、検証や統治に直接参加することが可能です。トークン所有者は誰でも、主要な財務パラメータの選択と、システムの進化方法の選択において投票権を持つことができます。

相互運用可能で柔軟的

アバランチは、ベースとなる$AVAXがセキュリティと交換のためのアカウント単位として使用される、多数のブロックチェーン/アセット用の普遍的で柔軟なインフラストラクチャとなるように設計されています。このシステムは、価値の中立的な方法で、上に構築される多くのブロックチェーンをサポートすることを意図しています。このプラットフォームは、既存のブロックチェーンを簡単に移植し、残高をインポートし、複数のスクリプト言語と仮想マシンをサポートし、複数の展開シナリオを有意義にサポートできるように、基礎から設計されています。

概要

本論文の残りの部分は、大きく4つのセクションに分けられる。

第2章では、本プラットフォームを動かすエンジンの詳細について エンジンの詳細を説明する。第3章では、このプラットフォームの背後にあるアーキテクチャモデルについて説明します。サブネットワーク、仮想マシン、ブートストラップ、メンバーシップ、ステーキングなどです。第4章では、主要な経済活動の動的な変更を可能にするガバナンスモデルについて説明します。最後に、第5章では、様々な 最適化の可能性、ポスト量子暗号、現実的な敵など、50の周辺トピックを探究している。敵対者について述べる。

命名規則

プラットフォームの名前はAvalancheで、通常「Avalancheプラットフォーム」と呼ばれ、「Avalancheネットワーク」または単に – Avalancheと交換可能/同義である。コードベースは、「v.[0-9].[0-9].[0-100]」という3つの数字の識別子を使ってリリースされ、最初の数字がメジャーリリース、2番目の数字がマイナーリリース、3番目の数字がパッチを識別するようになっています。

最初の公開リリースはコードネーム「Avalanche Borealis」のv.1.0.0であり、このプラットフォームのネイティブトークンは「$AVAX」と呼ばれている。

Avalancheプラットフォームで使用されるコンセンサスプロトコルのファミリーは、Snow*ファミリーと呼ばれます。具体的なインスタンスとして、Avalanche、Snowman、Frostyと呼ばれる3つのものがある。

第2章:エンジン

Avalancheプラットフォームの議論は、プラットフォームを動かすコアコンポーネントから始まります。コンセンサスエンジンである。

背景

分散型決済や、より一般的な計算には、複数のマシン間の合意が必要です。そのため、コンセンサスプロトコルは、ブロックチェーンや大規模な産業用分散システムの中核となるもので、ノード間の合意を達成するためのものです。このテーマは50年近くも検討されてきましたが、その結果、現在では2種類のプロトコルが生み出されています。それは、all-to-all通信に依存する古典的コンセンサスプロトコルと、最長チェーンルールとプルーフ・オブ・ワーク・マイニングに依存するNakamotoコンセンサスです。

古典的なコンセンサスプロトコルは低遅延で高スループットですが、多数の参加者に対応できるわけではなく、またメンバーチェンジがあった場合にも堅牢ではないため、許可制でほぼ静的に展開されることになりました。静的な展開に追いやられています。

一方、Nakamoto式コンセンサスプロトコル[5, 7, 4]は堅牢ですが、次のような問題があります。一方、Nakamotoコンセンサスプロトコル[5, 7, 4]は堅牢ですが、確認待ち時間が長く、スループットが低く、セキュリティを確保するために常にエネルギーを消費しなければならないという問題があります。

Avalancheによって導入されたSnow*プロトコルファミリーは、古典的なコンセンサスプロトコルの最良の特性とNakamotoコンセンサスの最良の特性を組み合わせたものである。軽量なネットワークサンプリング機構に基づき、システムの正確なメンバーシップに合意する必要なく、低レイテンシと高スループットを実現します。また、コンセンサスプロトコルに直接参加することで、数千から数百万人の参加者に対しても十分な拡張性があります。さらに、このプロトコルはPoWマイニングを使用しないため、法外なエネルギー消費とそれに伴うエコシステムの価値流出を回避し、軽量で環境に優しい静穏なプロトコルを実現している。

仕組みと性質

Snow*プロトコルは、ネットワークの反復サンプリングによって動作します。各ノードは、ランダムに選ばれた一定の大きさの小さな隣接セットをポーリングし、超多数が異なる値をサポートする場合、その提案を切り替えます。サンプリングは収束に達するまで繰り返されますが、これは通常の運用では急速に行われます。

具体的な例を挙げて動作の仕組みを説明する。まず、ある取引がユーザーによって作成され、合意形成手続きに参加しているノードである検証ノードに送られる。その後、ゴシップによってネットワーク上の他のノードに伝搬される。もしそのユーザーが競合する取引、つまりダブルスペンドを発行したらどうなるのだろうか。競合する取引の中から選択し、ダブルスペンドを防ぐために、各ノードは無作為にノードの小さなサブセットを選択し、問い合わせたノードが有効だと考える競合する取引のうちどれかを問合せる。問い合わせたノードがある取引を支持する超多数の応答を受け取った場合、そのノードは自身の応答をその取引に変更する。ネットワーク内のすべてのノードは、ネットワーク全体が競合するトランザクションの1つについてコンセンサスを得るまで、この手順を繰り返す。

驚くことに、動作の中核となるメカニズムは非常に単純であるにもかかわらず、これらのプロトコルは非常に望ましいシステムダイナミクスをもたらし、大規模な展開に適しているのである。

– Permissionless, Open to Churn, and Robust.

最近のブロックチェーン・プロジェクトは、古典的なコンセンサス・プロトコルを採用しているため、参加者全員を把握する必要があります。参加者全体を把握することは、クローズドでパーミッション付きのシステムでは十分に簡単ですが、オープンで分散型のネットワークではますます困難になっています。この制限は、そのようなプロトコルを採用する既存の既存企業に高いセキュリティリスクを課すことになります。

これに対し、Snow*プロトコルは、2つのノードのネットワークビューに十分な不一致がある場合でも、高い安全性を保証しています。Snow*プロトコルの検証者は、継続的に完全なメンバーシップの知識がなくても検証を行うことができます。したがって、Snow*プロトコルは堅牢であり、パブリックブロックチェーンに非常に適しています。

-スケーラブルで非中央集権的

Snowファミリーの中核となる機能は、基本的なトレードオフを発生させることなく拡張できることです。Snowのプロトコルは、バリデータのサブセットに委任することなく、数万から数百万のノードに拡張することが可能です。これらのプロトコルはクラス最高のシステム分散化を実現しており、すべてのノードが完全に検証を行うことができます。直接の継続的な参加は、システムのセキュリティに深い意味を持つ。大規模な参加者に拡張しようとするほぼすべてのプルーフ・オブ・ステーク・プロトコルでは、典型的な運用形態として、検証をSubcommitteesに委ねることで拡張を可能にしている。当然ながら、この場合、システムの安全性はSubcommitteesの破損コストと同じ高さになることを意味する。さらに、Subcommitteesはカルテルを形成する可能性がある。Snow型プロトコルでは、このような委任は必要なく、すべてのノードオペレータが常にシステムに対して直接的な発言権を持つことができるようになります。

もう一つのデザインは、一般的にステートシャーディングと呼ばれ、トランザクションのシリアライズをバリデータの独立したネットワークに並列化することでスケーラビリティを提供しようとするものである。残念ながら、このような設計では、システムのセキュリティは、最も破損しやすい独立したシャー ドの高さまでしか向上しない。したがって、サブコミットメントエレクションもシャーディングも、 暗号プラットフォームのスケーリング戦略としては適切ではないのである。

-適応性がある。

Snow*プロトコルは、他の投票ベースのシステムとは異なり、敵が小さいときには高い性能を発揮し、大きな攻撃には高い耐性を発揮することができます。

– 非同期的な安全性

Snow*プロトコルは、最長連鎖プロトコルとは異なり、安全に動作するために同期性を必要としないため、ネットワークの分割に直面しても二重支出を防ぐことができます。例えば、ビットコインでは、同期性の仮定に違反した場合、ビットコインネットワークの独立したフォークを長期間操作することが可能であり、フォークが回復するとトランザクションが無効になります。

-低レイテンシー

今日のほとんどのブロックチェーンは、取引や日々の小売店での支払いといったビジネスアプリケーションをサポートすることができません。取引の確認のために数分、あるいは数時間待つことは、単純に実行不可能だからです。したがって、コンセンサスプロトコルの最も重要でありながら非常に見過ごされている特性の1つは、ファイナリティへの時間です。Snow*プロトコルは通常1秒以下で最終確認に到達しますが、これはロングチェーンプロトコルとシャード化ブロックチェーンの両方よりも大幅に低く、どちらも最終確認の時間は通常数分程度です。

-高いスループット

Snow*プロトコルは、線形チェーンまたはDAGを構築することができ、完全な分散化を維持しながら、毎秒数千のトランザクション(5000+ TPS)に達します。高いTPSを主張する新しいブロックチェーンソリューションは、一般的に分散化とセキュリティをトレードオフし、より集中的で安全でない合意形成メカニズムを選択します。一部のプロジェクトでは、高度に制御された環境からの数値を報告しているため、真の性能結果が誤って報告されています。AVAXの報告された数値は、AWS上の2000ノードで動作し、ローエンドのマシンで世界中に地理的に分散された、実際に完全に実装されたアバランチネットワークから直接取得されたものです。各ノードに対してより高い帯域幅のプロビジョニングと署名検証用の専用ハードウェアを想定することで、より高い性能結果(10,000以上)を達成することができます。最後に、前述の指標はベースレイヤーでのものであることに留意してください。レイヤー2のスケーリングソリューションは、これらの結果を大幅に向上させます。

コンセンサスの比較表

表1は、コンセンサスプロトコルの既知の3つのファミリーの違いを、8つの重要な軸で表したものである。

表1. コンセンサスプロトコルの3つの既知のファミリーの比較表。Avalanche、Snowman、FrostyはすべてSnow*ファミリーに属しています。

第3章:プラットフォームの概要

このセクションでは、プラットフォームのアーキテクチャの概要を提供し、様々な実装の詳細について説明します。Avalancheプラットフォームは、チェーン(およびその上に構築された資産)、実行環境、および展開という3つの関心事をきれいに分離しています。

3.1 アーキテクチャ

サブネットワーク

サブネットワーク(subnet)は、ブロックチェーンの状態についてコンセンサスを得るために協力し合うバリデータの動的な集合である。各ブロックチェーンは1つのサブネットによって検証され、1つのサブネットは任意の数のブロックチェーンを検証することができる。バリデータは任意の数のサブネットのメンバーになることができる。サブネットは誰がその中に入るかを決定し、その構成員であるバリデーターが特定の特性を持つことを要求することができる。アバランチ・プラットフォームは、任意の数のサブネットの作成と運用をサポートする。新しいサブネットを作成したり、サブネットに参加したりするためには、$AVAX建ての料金を支払う必要がある。

サブネットモデルには、多くの利点があります。

– もしバリデーターがあるサブネットのブロックチェーンに関心がなければ、単にそのサブネットに参加しないだけである。これにより、ネットワークトラフィックを削減し、バリデーターに必要な計算資源も削減することができます。これは他のブロックチェーン・プロジェクトでは対照的で、バリデーターはすべての取引を、たとえ自分が関心を持たないものであっても検証しなければならない。
– サブネットは誰がそこに入るかを決めるので、プライベートサブネットを作ることができる。つまり、サブネット内の各ブロックチェーンは、信頼できるバリデーターの集合によってのみ検証される。
– 各バリデーターが特定の特性を持つサブネットを作ることができる。例えば、各バリデーターが特定の司法管轄区に所在するサブネットや、各バリデーターが何らかの現実世界の契約に拘束されるサブネットを作成することができる。これはコンプライアンス上の理由から有益である。

デフォルトサブネットと呼ばれる特別なサブネットが1つあります。このサブネットはすべてのバリデーターで検証される。(つまり、どのサブネットも検証するためには、Default Subnetも検証しなければなりません)。デフォルトサブネットは、$AVAXが存在し、取引されているブロックチェーンを含む、あらかじめ定義されたブロックチェーンのセットを検証します。

Virtual Machines

VMはブロックチェーンの設計図であり、オブジェクト指向プログラミング言語におけるクラスがオブジェクトの設計図であるのと同じです。ブロックチェーンのインターフェース、状態、動作は、ブロックチェーンが実行されるVMによって定義されます。ブロックチェーンの以下の特性やその他の特性は、VMによって定義されます。

– ブロックの内容
– ブロックが受理されたときに発生する状態遷移
– ブロックチェーンが公開するAPIとそのエンドポイント
– ディスクに永続化されるデータ

ブロックチェーンは、あるVMを「使用」または「実行」すると言います。ブロックチェーンを作成する際には、実行するVMと、ブロックチェーンの生成状態を指定します。新しいブロックチェーンは、既存のVMを使用して作成することもできますし、開発者が新しいVMをコーディングすることもできます。同じVMを実行するブロックチェーンは任意に多数存在することが可能です。
各ブロックチェーンは、同じVMを実行しているものであっても、他から論理的に独立し、独自の状態を維持します。

3.2 ブートストラップ

Avalancheに参加するための最初のステップはブートストラップです。このプロセスは、シードアンカーへの接続、ネットワークと状態の発見、そしてバリデーターになることの3段階で行われます。

シードアンカー

許可された(すなわちハードコードされた)IDのセットなしで動作するピアのネットワークシステムは、ピアを発見するための何らかのメカニズムが必要です。ピアツーピアのファイル共有ネットワークでは、トラッカーのセットが使用される。暗号ネットワークでは、DNSシードノード(シードアンカーと呼ぶ)を使用す るのが一般的なメカニズムであり、シードアンカーは、ネットワークの他のメン バーを発見できる、明確に定義されたシードIPアドレスのセットで構成される。DNSシードノードの役割は、システム内のアクティブな参加者のセットに関する有用な情報を提供することです。同じメカニズムがBitcoin Core [1]で採用されており、ソースコードのsrc/chainparams.cppファイルにハードコードされたシードノードのリストが格納されています。

BTCとアバランチの違いは、BTCは正しいDNSシードノードを1つだけ必要とするのに対し、アバランチはアンカーの単純な過半数が正しいことを必要とする点である。例として、新規ユーザーは、十分に確立された評判の良い取引所のセットを通じてネットワークビューをブートストラップすることを選択することができ、そのうちのどれかが個別に信頼されることはありません。

しかし、ブートストラップ・ノードのセットはハードコードまたは静的である必要はなく、ユーザーによって提供され得ることに留意されたい。ただし、使いやすさのために、クライアントは、世界観を共有したい取引所などの経済的に重要なアクターを含むデフォルト設定を提供してもよい。ノードが任意のシードアンカーのセットにアタッチすることによってアバランチピアの最新のネットワークを発見することができるので、シードアンカーのセットは、ノードがネットワークに入るかどうかを決定することはできません、したがって、シードアンカーになるための障壁はありません。

ネットワークと状態の発見

シードアンカーに接続されると、ノードは最新の状態遷移のセットを照会します。 この一連の状態遷移を、受け入れられたフロンティアと呼びます。 チェーンの場合、受け入れられたフロンティアは最後に受け入れられたブロックです。 DAGの場合、受け入れられるフロンティアは、受け入れられるが、受け入れられる子がない頂点のセットです。 シードアンカーから受け入れられたフロンティアを収集した後、シードアンカーの大部分によって受け入れられる状態遷移が受け入れられるように定義されます。 次に、サンプリングされたノードと同期することにより、正しい状態が抽出されます。 シードアンカーセットに正しいノードの大部分がある限り、受け入れられた状態遷移は、少なくとも1つの正しいノードによって受け入れられたものとしてマークされている必要があります。

この状態検出プロセスは、ネットワーク検出にも使用されます。 ネットワークのメンバーシップセットは、バリデーターチェーンで定義されます。 したがって、バリデーターチェーンと同期することで、ノードは現在のバリデーターのセットを検出できます。 バリデーターチェーンについては、次のセクションで詳しく説明します。

3.3 シビルの制御と会員制

コンセンサス・プロトコルは、システム内のメンバーのうち閾値の数までは敵対的である可能性があるという仮定のもと、その安全性を保証している。シビル攻撃とは、あるノードが悪意のあるIDを安易にネットワークに流出させることで、これらの保証を些細なことで無効にしてしまうことである。基本的に、このような攻撃は、存在と偽造困難なリソースの証明を交換することによってのみ抑止することができる[3]。過去のシステムでは、プルーフ・オブ・ワーク(PoW)、プルーフ・オブ・ステーク(PoS)、プルーフ・オブ・エラプスドタイム(POET)、プルーフ・オブ・スペース&タイム(PoST)、プルーフ・オブ・オーソリティ(PoA)などのシビル抑止メカニズムを使用することが検討されています。

つまり、各参加者が経済的コミットメントという形で何らかの「皮膚」を持つ必要があり、それが参加者の不品行に対する経済的障壁となるのです。マイニングリグやハッシュパワー(PoW)、ディスクスペース(PoST)、信頼できるハードウェア(POET)、承認されたID(PoA)など、すべての取引には何らかのステーク(利害関係)が存在します。このステークは、参加者が音声を取得するために負担しなければならない経済的コストの基礎を形成する。例えば、ビットコインでは、有効なブロックを提供する能力は、提案する参加者のハッシュパワーに正比例します。また、残念ながら、コンセンサスプロトコルとシビル制御機構との間には大きな混乱がある。しかし、コンセンサスプロトコルの選択は、ほとんどの場合、Sybil制御機構の選択と直交していることに留意すべきである。なぜなら、ある特定の選択がコンセンサスプロトコルの基本的な保証に影響を与えるかもしれないからです。しかし、Snow*ファミリーは、これらの既知のメカニズムの多くと、大きな変更を加えることなく結合することができます。

最終的には、セキュリティと参加者のインセンティブをネットワークの利益のために一致させるために、$AVAXはシビル制御のコアメカニズムにPoSを選択しました。例えば、マイニングリグの製造(PoW)は本質的に中央集権的なものであり、適切なノウハウと数十人という限られた人しか利用できないものです。例えば、マイニングリグの製造(PoW)は、適切なノウハウと競争力のあるVLSI製造に必要な数十の特許へのアクセス権を持つ少数の人々の手に本質的に集中します。さらに、PoWの採掘は、年間多額の採掘者補助金によって価値が流出しています。同様に、ディスクスペースは大規模なデータセンター事業者が最も多く所有しています。さらに、ハッシュ化のための電気代など、継続的にコストが発生するシビル制御機構はすべて、環境を破壊するのはもちろん、生態系から価値を流出させます。その結果、トークンの実現可能性が低くなり、わずかな時間枠で価格が不利に変動すると、システムが動作しなくなる可能性があります。プルーフ・オブ・ワークは本質的に、安価な電力を調達できるコネクションを持つ採掘者を選ぶ。これは採掘者のトランザクションを連続化する能力やエコシステム全体への貢献とはあまり関係がない。このような選択肢の中から、私たちはグリーンでアクセスしやすく、誰にでも開かれたプルーフ・オブ・ステークを選びました。ただし、$AVAXはPoSを使用しているが、アバランチ・ネットワークはPoWとPoSでサブネットを立ち上げることが可能であることに留意されたい。

ステーキングはオープンネットワークに参加するための自然なメカニズムです。なぜなら、ステーキングは直接的な経済的議論を可能にするからです。攻撃の成功確率は、明確に定義された金銭的コスト関数に正比例します。言い換えれば、ステークするノードは、自分のステーク価値を損なうような行動を取らないよう経済的に動機づけられている。さらに、このステークには追加の維持コスト(別の資産に投資する機会コスト以外)が発生せず、マイニング機器と異なり、壊滅的な攻撃で使用された場合は完全に消費されるという特性もあります。PoWの場合、採掘装置は単に再利用されるか、または所有者が決定すれば、市場に完全に売却されます。

ネットワークに参加したいノードは、まずステークを立てることで自由に参加することができ、そのステークはネットワークに参加している間、固定されます。ステーク(賭け金)の金額は、ユーザーが決定します。一旦受理されたステークは元に戻すことはできない。主な目標は、ノードが実質的にネットワークの同じほぼ安定したビューを共有することを保証することです。私たちは、最低ステーク期間を1週間のオーダーで設定することを想定しています。

PoSメカニズムを提案する他のシステムとは異なり、$AVAXはスラッシングを使用しないため、ステーキング期間が終了するとすべてのステークが返却されます。このため、クライアントのソフトウェアやハードウェアの故障によってコインが失われるような、望ましくないシナリオを防ぐことができます。これは、予測可能な技術を構築するという我々の設計哲学と一致します。ソフトウェアやハードウェアに欠陥があっても、ステークされたトークンは危険にさらされることはないのです。

アバランチでは、参加を希望するノードがバリデータチェーンに特別なステーキングトランザクションを発行する。ステーク・トランザクションには、ステークする金額、ステークする参加者のステーク・キー、期間、検証が開始される時刻が指定される。トランザクションが受理されると、資金はステーク期間が終了するまでロックされる。最小許容額は、システムによって決定され、実施されます。参加者が賭ける金額は、後で説明するように、参加者がコンセンサスプロセスで持つ影響力の大きさと報酬の両方に影響を与える。指定されたステーク期間は、ステークをロックできる最小および最大の時間枠であるδminとδmaxの間でなければなりません。賭け金と同様に、賭け金期間もシステムの報酬に影響を与えます。ステーキングキーはコンセンサスプロセスでのみ使用され、資産の移動には使用されないため、ステーキングキーの紛失や盗難が資産の損失につながることはありません。

3.4 $AVAXにおけるスマートコントラクト

発売当初、AvalancheはEthereum仮想マシン(EVM)を通じて、標準的なSolidityベースのスマートコントラクトをサポートしています。私たちは、このプラットフォームが、以下を含むより豊富で強力なスマートコントラクトツールのセットをサポートすることを想定しています。

– オフチェーン実行とオンチェーン検証を備えたスマートコントラクト。
– 並列実行可能なスマートコントラクト Avalancheのどのサブネットでも同じ状態で動作しないスマートコントラクトは、すべて並行して実行できるようになります。
– Solidity++と呼ばれる、改良されたSolidity。この新しい言語は、バージョニング、安全な数学と固定小数点演算、改良された型システム、LLVMへのコンパイル、ジャストインタイム実行をサポートする予定です。

EVMのサポートが必要だが、スマートコントラクトをプライベートサブネットに展開したい場合、開発者は新しいサブネットを直接スピンアップすることができる。このように、Avalancheはサブネットを通じて機能別のシャーディングを可能にします。さらに、開発者が現在デプロイされているEthereumスマートコントラクトとのインタラクションを必要とする場合、EthereumのスプーンであるAthereumサブネットとインタラクションすることができる。

最後に、開発者がEthereum仮想マシンとは異なる実行環境を必要とする場合、異なる実行環境を実装するサブネットを通じてスマートコントラクトを展開することを選択できます、例えば、DAMLやWASMのような異なる実行環境を実装するサブネットを通じてスマートコントラクトを展開することを選択できます。サブネットは、VMの挙動を超える追加機能をサポートすることができます。例えば、サブネットはスマートコントラクトを長期間保持する大きなバリデータノードや、コントラクトの状態を個人的に保持するバリデータに対してパフォーマンス要件を強制することができます。

第4章:ガバナンスと$AVAXトークン

4.1 $AVAXネイティブトークン

通貨政策

ネイティブトークンである$AVAXは、キャップが720,000,000トークンに設定され、メインネットの立ち上げ時に360,000,000トークンが利用できるキャップサプライ型です。しかし、永続的に造幣速度を焼く他のキャップド・サプライ・トークンとは異なり、$AVAXは経済状況の変化に反応するように設計されています。特に、$AVAXの通貨政策の目的は、ユーザーがトークンを賭けることと、プラットフォームで利用できるさまざまなサービスを利用することのインセンティブをバランスさせることです。プラットフォームの参加者は、集合的に分散型準備銀行として機能します。アバランチで利用できるレバーは、ステーキング報酬、手数料、エアドロップで、これらはすべて管理可能なパラメータによって影響されます。ステーク報酬はオンチェーンガバナンスによって設定され、上限供給量を決して超えないように設計された関数によって支配されています。ステーキングは、手数料の増加やステーキング報酬の増加によって誘導することができます。一方、手数料を下げ、ステーキング報酬を減らすことで、アバランチプラットフォームサービスへの関与を高めるよう誘導することができます。

用途

決済

真の分散型ピアツーピア決済は、現在の既存企業の性能不足により、業界ではほとんど実現されていない夢です。AVAXはVisaを使った決済と同じくらい強力で使いやすく、完全に信頼できる分散型の方法で、毎秒数千の取引を世界中で行うことができます。さらに、世界中の加盟店にとって、$AVAXはVisaよりも低い手数料という直接的な価値提案を提供します。

ステーキング

Avalancheプラットフォームでは、シビル制御はステーキングによって達成されます。検証を行うには、参加者はコインをロックする、つまりステークする必要があります。検証者は、ステーカーと呼ばれることもありますが、その検証サービスに対して、ステーキング量やステーキング期間などの特性に基づいて報酬が支払われます。選択された報酬関数は分散を最小化する必要があり、大口ステーカーが不均衡に多くの報酬を受け取ることがないようにします。また、参加者はPoWマイニングのような「運」の要素に左右されることはありません。このような報酬スキームは、マイニングプールやステーキングプールの形成を抑制し、ネットワークへの真の分散型、信頼性の高い参加を可能にします。

アトミックスワップ

システムの中核となるセキュリティを提供するほか、$AVAXトークンは交換の普遍的な単位として機能します。そこから、Avalancheプラットフォームは、信頼性のない原子スワップをプラットフォーム上でネイティブにサポートすることができ、Avalanche上で直接、あらゆる種類の資産のネイティブで真に分散化された交換を行うことができます。

4.2 ガバナンス

他のすべてのタイプのシステムと同様に、Avalancheもまた自然な進化と更新に直面するため、ガバナンスはあらゆるプラットフォームの開発と採用にとって重要です。AVAXは、参加者がネットワークの変更について投票し、ネットワークのアップグレードの決定を民主的に行うことができる、ネットワークの重要なパラメータに対するオンチェーンガバナンスを提供します。これには、最小賭け金、鋳造レート、その他の経済的パラメータなどの要素が含まれます。これにより、このプラットフォームは、クラウドオラクルを通じて動的なパラメータ最適化を効果的に実行することができます。しかし、他のガバナンス・プラットフォームとは異なり、アバランチはシステムの任意の側面に対して無制限の変更を許可していません。その代わりに、あらかじめ決められた数のパラメータのみをガバナンスによって変更することができ、システムをより予測しやすく、安全性を高めることができます。さらに、ガバナンス可能なパラメータはすべて特定の時間範囲内で制限されるため、ヒステリシスを導入し、短時間でのシステムの予測可能性を確保することができます。

システム・パラメータのグローバルに受け入れられる値を見つけるための実行可能なプロセスは、カストディアンなしの分散型システムにとって重要である。Avalancheは、その合意メカニズムを使用して、誰もが本質的にシステム全体の投票である特別なトランザクションを提案することができるシステムを構築することができます。参加しているどのノードも、そのような提案を出すことができる。

名目報酬レートは、デジタル、フィアットにかかわらず、あらゆる通貨に影響を与える重要なパラメータです。残念ながら、このパラメータを固定化した暗号通貨は、デフレやインフレなど、様々な問題に直面する可能性があります。そのため、ノミナルリワードレートは、あらかじめ設定された境界の中で、ガバナンスの対象となります。これにより、トークン保有者は、$AVAXが最終的にキャップされるか、キャップされないか、あるいはデフレになるかを選択することができます。

Fの集合で示される取引手数料も、ガバナンスの対象となります。Fは事実上、様々な指示や取引に関連する手数料を記述したタプルです。最後に、賭け時間および賭け金額も管理可能です。これらのパラメータの一覧は図1に定義されています。

– ∆ : $AVAXで表示される賭け金額。この値は、システムに参加する前にボンドとして置かれる必要がある最小のステークを定義します。
– δmin : ノードがシステムに参加するために必要な最小限の賭け金。
– δmax : ノードがシステムに参加できる最大時間。
– ρ : (π∆, τ δmin) → R : 報奨率関数(ミンティング率とも呼ばれる)は、τ δmin ≤ δmax となるように、τ個の連続したδmin 時間枠の間に、参加者の所有下でπ個の公にされたノードが与えられた場合に、そのステーク量の関数として参加者が請求できる報酬を決定する。
– F : 料金体系。様々な取引にかかる費用を指定する、管理可能な料金パラメータの集合である。

図1. Avalancheで使用される主な非合意パラメータ。表記はすべて初回使用時に再定義している。

金融システムにおける予測可能性の原則に沿って、$AVAXのガバナンスにはヒステリシスがあり、パラメータの変更はその直近の変化に大きく依存することを意味します。統治可能な各パラメーターには、時間と範囲という2つの制限が関連付けられています。一度、ガバナンストランザクションを使用してパラメータを変更すると、すぐに、かつ、大量のパラメータを再び変更することは非常に難しくなります。これらの難易度と値の制約は、最後の変更から時間が経過するにつれて緩和されます。これにより、短期間でシステムが大きく変化することを防ぎ、ユーザーは短期的にシステムパラメーターを安全に予測しながら、長期的には強力な制御と柔軟性を手に入れることができます。

第5章:ディスカッション

5.1 最適化

枝刈り

多くのブロックチェーンプラットフォーム、特にビットコインのようなナカモトコンセンサスを実装しているものは、恒常的な状態の増大に悩まされています。これは、プロトコル上、取引の全履歴を保存しなければならないからです。しかし、ブロックチェーンが持続的に成長するためには、古い履歴を刈り取ることができなければなりません。これは、Avalancheのような高性能をサポートするブロックチェーンでは特に重要です。

Snow*ファミリーでは刈り込みは簡単です。アルゴリズムの要件によりプルーニングが不可能なBitcoin(および類似のプロトコル)とは異なり、$AVAXではノードは深く、高度にコミットしたDAGの部分を維持する必要はありません。これらのノードは、新しい起動ノードに対して過去の履歴を証明する必要がないため、単にアクティブな状態、すなわち現在の残高と未コミットのトランザクションを保存するだけでよい。

クライアントの種類

アバランチは、アーカイブ、フル、ライトの 3 種類のクライアントをサポートできます。アーカイバルノードは、$AVAX サブネット、ステーキングサブネット、スマートコントラクトサブネットの全履歴を生成まで保存し、新規参入ノードの起動用ノードとして機能します。さらに、これらのノードは、バリデーターになることを選択した他のサブネットの全履歴を保存することができる。アーカイバルノードは通常、高いストレージ能力を持つマシンであり、古い状態をダウンロードする際に他のノードから支払われる。一方、フルノードはバリデーションに参加するが、すべての履歴を保存するのでは なく、単にアクティブな状態(たとえば現在のUTXOセット)を保存する。

最後に、最小限のリソースを使用してネットワークと安全にやり取りする必要がある場合、Avalancheは履歴をダウンロードまたは同期する必要なく、あるトランザクションがコミットされたことを証明できるライトクライアントをサポートします。ライトクライアントは、安全なコミットメントとネットワーク全体のコンセンサスを確保するために、プロトコルのサンプリングフェーズを繰り返す。したがって、Avalancheのライトクライアントは、フルノードと同じセキュリティ保証を提供します。

シャーディング

シャーディングとは、さまざまなシステムリソースを分割して、性能向上や負荷軽減を図ることである。シャーディングの仕組みには様々な種類がある。ネットワーク・シャーディングでは、参加者の集合を個別のサブネットワークに分割し、アルゴリズムの負荷を軽減する。また、トランザクションシャードでは、参加者は受信したトランザクションの処理を分離することに合意します。

Avalanche Borealisでは、サブネットワーク機能によって最初のシャーディングを実現しています。たとえば、ゴールドのサブネットと不動産のサブネットを立ち上げることができます。この2つのサブネットは完全に並行して存在することができます。ユーザーが保有する金を使用して不動産契約を購入したい場合にのみ、サブネットが相互作用し、その時点でアバランチは2つのサブネット間でアトミックなスワップを可能にします。

5.2 懸念事項

ポスト量子暗号

最近、量子コンピュータや量子アルゴリズムの開発により、ポスト量子暗号が注目されている。量子コンピュータは、現在普及している暗号プロトコル(特にデジタル署名)の一部を破壊する可能性があることが懸念されています。Avalancheのネットワークモデルは、任意の数の仮想マシンを可能にするため、適切なデジタル署名機構を持つ量子耐性仮想マシンをサポートします。我々は、量子抵抗性RLWEベースの署名を含む、いくつかのタイプのデジタル署名スキームが展開されることを想定しています。合意形成機構は、その中核的な動作にいかなる種類の重暗号化も想定していません。 この設計であれば、量子安全暗号プリミティブを提供する新しい仮想マシンでシステムを拡張することは容易である。

現実的な敵

Avalancheの論文[6]は、完全なポイント・ツー・ポイントモデルにおけるラウンド適応型敵対者と呼ばれる、強力で敵対的な敵対者の存在下で非常に強い保証を提供します。言い換えれば、敵対者はすべての正しいノードの状態に常にフルアクセスし、すべての正しいノードのランダムな選択を知っており、さらに正しいノードが自身の状態を更新する機会がある前と後のいつでも自身の状態を更新することができます。事実上、この敵対者は、正しいノードの状態を直接更新したり、正しいノード間の通信を変更したりする能力を除けば、すべてにおいて強力である。しかし、現実には、最強の敵の実用的な実装は、ネットワーク状態の統計的近似に限られるため、このような敵は純粋に理論的なものでしかありません。したがって、実際には、最悪のケースを想定した攻撃を展開することは困難であると予想されます。

インクルージョンと平等

パーミッションレス通貨でよく問題になるのが、「金持ちがより金持ちになる」ということです。これは妥当な懸念であり、不適切に実装されたPOSシステムでは、実際に富の創出が、すでにそのシステムで株式を保有している大企業に不釣り合いに帰する可能性があるからです。

簡単な例として、リーダーベースのコンセンサスプロトコルがあります。これは、小委員会または指定されたリーダーが、その運用中にすべての報酬を収集し、報酬の収集に選ばれる確率がステークに比例し、強い報酬複利効果を発生させるというものです。また、ビットコインのようなシステムでは、孤児が少なく、仕事の損失が少ないという点で、大きな鉱山労働者が小さな鉱山労働者に比べて割高感を享受するという「ビッグ・ゲット・ビガー」現象がある。これとは対照的に、アバランチは平等主義的な採掘の配分を採用しています。ステーキング・プロトコルに参加するすべての人が、ステイクに基づいて平等かつ比例的に報酬を得られます。

非常に多くの人々がステークに直接参加できるようにすることで、Avalancheは何百万人もの人々が平等にステークに参加できるよう対応することができます。プロトコルに参加するために必要な最低額は、ガバナンスのためにアップされますが、幅広い参加を促すために低い値に初期化されます。これは、少ない配分で参加するために委任が必要ないことも意味している。

まとめ

この論文では、Avalanche プラットフォームのアーキテクチャについて説明しました。古典的なコンセンサスプロトコルを実行するため本質的に非スケーラブルであったり、非効率的で高い運用コストを強いる中本式コンセンサスを使用する今日の他のプラットフォームと比較して、アバランチは軽量、高速、スケーラブル、安全、かつ効率的である。ネットワークを保護し、様々なインフラコストを支払う役割を果たすネイティブトークンは、シンプルで後方互換性があります。AVAXは、より高いレベルの分散化を実現し、攻撃に耐え、定足数や委員会の選出なしに、つまり参加に制限を課すことなく数百万ノードまで拡張できる、他の提案以上の能力を備えています。

コンセンサス・エンジンに加えて、アバランチはスタックを革新し、トランザクション管理、ガバナンス、および他のプラットフォームでは利用できない他の多数のコンポーネントにおいてシンプルだが重要なアイデアを導入しています。プロトコルの各参加者は、強力なガバナンス機構によって可能になったプロトコルの進化に常に影響を与える発言力を持つことになります。Avalancheは高いカスタマイズ性を備えており、既存のブロックチェーンとほぼ即座にプラグアンドプレイが可能です。

参考文献

1. Bitcoin: bitcoin/bitcoin (Oct 2018), https://github.com/bitcoin/bitcoin
2. Buttolph, S., Moin, A., Sekniqi, K., Sirer, E.G.: Avalanche token paper – token dynamics (2019),
https://files.avalabs.org/papers/token.pdf
3. Douceur, J.R.: The sybil attack. In: International Workshop on Peer-to-Peer Systems. pp. 251–260. Springer (2002)
4. Eyal, I., Gencer, A.E., Sirer, E.G., van Renesse, R.: Bitcoin-ng: A scalable blockchain protocol. In: 13th USENIX
Symposium on Networked Systems Design and Implementation, NSDI 2016, Santa Clara, CA, USA, March 16-18,
2016. pp. 45–59 (2016), https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/eyal
5. Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system (2008)
6. Rocket, T.: Snowflake to Avalanche: A novel metastable consensus protocol family for cryptocurrencies. IPFS
(2018),
https://ipfs.io/ipfs/QmUy4jh5mGNZvLkjies1RWM4YuvJh5o2FYopNPVYwrRVGV
7. Wood, G.: Ethereum: A secure decentralised generalised transaction ledger (2014)

===================

Avalanche Platform Whitepaper:https://assets.website-files.com/5d80307810123f5ffbb34d6e/6008d7bbf8b10d1eb01e7e16_Avalanche%20Platform%20Whitepaper.pdf

===================