アルゴランドの主任科学者の国内オンライン共有

2019 年 3 月 15 日、CryptoGeek は、アルゴランドの謎めいた創設チーム メンバーである主任科学者のチェン ジン博士をコミュニティに招待し、アルゴランドの進歩や重要な技術的利点と特徴についてお話しできることを非常に光栄に思いました。このイベントは、知識とプロフェッショナリズムの衝突として説明されており、業界のブロックチェーン技術愛好家から広く賞賛されています。このオンライン共有にはネットワーク全体で 100,000 人以上の人々が参加し、このイベントの後、パスワード オタク コミュニティのメンバーは多くの利益を得たと言えます。
副題
ゲスト紹介の共有:
アルゴランドの主任科学者、アルゴランド理論白書の共著者、Chen Jing 氏。
清華大学でコンピュータ サイエンスの学士号および修士号、MIT でコンピュータ サイエンスの博士号、プリンストン高等研究所の博士研究員を取得し、2016 年には中国国家自然科学財団の早期キャリア開発賞を受賞しました。
副題
今回共有されたトピック:
1. ブロックチェーン分野の現状
2. アルゴランド本体のコンセンサス合意の突破、核となる技術的利点と技術的特徴
副題
以下は陳静博士のシェア全文です。
Algorand は、多くの現在のプロジェクトとは異なるブロックチェーン プロジェクトであり、まず最大の特徴は、当社の技術が First Principle (第一原理) に基づいており、実現可能性を証明するために非常に厳密な数学的手法を使用していることです。プロトタイプ検証を通じて技術システムの実現可能性も実現しました。さらに、私たちのプロトコルは、当初の設計時に長期的な開発と進化を考慮していましたが、これは、どのようなブロックチェーン設計でも、将来起こり得るすべての状況を最初から明確に予測する方法がないため、初期設計に含める必要があるためです。また、設計時に将来の進化のために十分なスペースと可能性を残すことにも非常に関心があります。
ブロックチェーン空間の現状
まず、アルゴランドの原点は何でしょうか?それはブロックチェーン分野では公然の秘密であるべきだと思います。つまり、ブロックチェーン分野では、みんなのビジョンや期待と、現在のブロックチェーンが提供できる技術の間にはまだ大きなギャップがあります。多くの刺激的な見通しやアイデアを聞くことができますが、これらのアイデアが実装されると、スケーラビリティやセキュリティなどの点でさまざまな問題に遭遇する可能性があります。特に、例えば、前述のいわゆる不可能な三角形、つまり、ブロックチェーン分野における分散化、スケーラビリティ、セキュリティを同時に達成することはできず、多くても 3 つしか達成できないと多くの人が信じています。 2番目です。しかし、そのような考えは私たちの意見では受け入れられません。これら 3 つは多くのブロックチェーン アプリケーション、特に大規模な分散型ブロックチェーンが必要なパブリック チェーンにとって非常に重要であるためです。ユーザー グループは誰でも簡単にアクセスできる必要があり、ユーザー グループはまた、ユーザーに次の機能を提供する必要もあります。高いセキュリティ。しかし、良い点は、アルゴランドがこれら 3 つの側面を同時に実装していることです。つまり、これらが互換性がないとは考えていません。
Algorand について言えば、まず分散型公開台帳であると言いましょう。まず、公開台帳の基本的な要件について話しましょう。まず、真の分散型公開台帳として、誰でもアクセスできる必要があります。その情報は、すべてのユーザーが直接読み取ることができます。第 2 に、これは誰でも変更できます。つまり、参加者がどのようなものであっても、このシステムに参加することが可能であり、このシステムの最終的な合意はすべてこのブロックに保持されます。 3つ目は、ブロック上のデータが任意に改ざんされず、データの順序や内容があいまいでない、安全性が高く保証されていることです。しかし、これら 3 つの点だけを考慮し、読み取り可能、書き込み可能、および変更不可能にするだけであれば、実際にはこの方法で集中型データベース システムを実装することもできます。しかし、なぜ集中型データベース システムは多くの人にとって好まれないのでしょうか。あまり満足のいく解決策ではありませんか?これは、集中管理は通常、システム全体のパフォーマンスまたはセキュリティのボトルネックになるためです。たとえば、攻撃や輻輳の可能性があります。すべてのアクセス許可はシステムの中央管理者によって生成される必要があり、さまざまな方法で影響を受けるスペースが残ります。それから、分散型の公開台帳、これが要求する四番目の点は、集中的な管理方法がないということです。そのコンセンサス生成、データ変更、ブロック生成およびその他のトランザクションはすべて、ブロックチェーン上のすべてのユーザーによって完了されます。
分散型台帳の利点については、既にたくさん議論されていると思いますが、ここでは簡単に挙げておきますが、集中化された信頼できる第三者は、分散型の状況下で契約を締結し、合意に達し、支払いなどを行うことができます。人々は会う必要がなくなり、信頼関係がなくてもより複雑な取引に到達できるようになります。ブロックチェーンの発展により、多くの人はこれが非常に優れた基礎となるアーキテクチャであるという考えを持っています。このアーキテクチャ上では、無数のアプリケーション シナリオや非常に便利なアプリケーションを作成する可能性があります。しかし、最も重要な問題は、そのような基礎となるアーキテクチャをどのように実装するかということです。現在、私たちは、Proof of work(資本性証明における資本保管の証明、資本性抵当権の証明など)など、多くの既存の方法を見てきました。
まずプルーフ・オブ・ワークについて話しましょう. それはもともとビットコインによって提案されたものではありませんでしたが, ビットコインはプルーフ・オブ・ワークの応用を前例のないレベルと高みに引き上げました. その基本的な前提は、このシステムの計算能力が、過半数。 Proof of Work はビットコインに適していますが、コストが非常に高いなど、いくつかの問題もあります。さらに、この非常に高いコストとマイニング収益の減少との間のバランスにより、コンピューティングパワーが徐々に異なるマイニングプールに集中するようになりました。同時に、コンピューティング能力が急速に増加し続けているため、スケーラビリティの問題も生じており、システムのセキュリティを確保し続けるためには、マイニングの難易度を継続的に高め、悪質な状況に入る必要があります。サークル。同時に、この継続的なフォークと最長チェーン方式の継続的な選択は、システム内のトランザクションの最終性に問題をもたらします。つまり、誰もがトランザクションを待たなければなりません。トランザクションは、トランザクションに表示されるだけでなく、チェーンだけでなく、最終的に確認できるようにチェーン上に十分な時間がなければなりません。トランザクションのロールバックなどの問題が発生する可能性があるため、これは大規模なトランザクションの場合に特に重要です。
もちろん、誰もがより個人的に感じるもう 1 つの問題があります。ワークロードの証明では、比較的長いトランザクション遅延が発生する可能性があります。たとえば、1 つのブロックに 10 分待たなければならない場合、トランザクションの確認に 6 ブロックが必要な場合そうでない場合は、待機に 1 時間以上かかり、大規模なトランザクションの場合はさらに長く待機する必要がある場合があります。したがって、ビットコインとプルーフ・オブ・ワークを振り返るとき、プルーフ・オブ・ワークはブロックチェーン空間全体における最初の本当に良いアイデアだったと言うべきです。ビットコインは、私やチームの多くの人々を含む全員に、大規模な分散システムで合意に達する方法を再理解させたと言えます。これは誰もに多くのインスピレーションを与えましたが、同時に、大規模で高速な分散システムでは作業証明は誰もが本当に必要とするものではないことを認識する必要があります。私たちは別のよりスケーラブルなソリューションを見つける必要があります。そこでこの時、多くの人の目が権利利益の証明であるPOSに向けられました。
プルーフ・オブ・ステークというと、現在よく見かけるのは大きく分けて2つのタイプがあり、1つはDelegated Proof of Stake(DPOS)と呼ばれるもので、特定のユーザーに投票権やブロック生成権を委ねるタイプです。もう 1 つは有界プルーフ オブ ステーク (BPOS) です。ユーザーはシステムに議決権を得るためにコインを預ける必要があり、いわゆる抵当権付きの株式は長期間利用できなくなる。そして、ユーザーがシステム内で不正行為をした場合、これらの賭け金もシステムによって没収されます。このようなソリューションは真の分散方法ではないと言わなければなりません。アルゴランドは、システムに実装されている POS が権利と利益の非常に純粋な証拠であると信じています。なぜそんなことを言うのですか?
まず第一に、私たちのシステムはユーザーのコインを没収したり、いわゆる罰金をユーザーに課したりすることはありません。これを達成するために罰則を与えたり、賭け金を没収したりするのではなく、悪意のあるユーザーであってもシステムに損害を与えることができないように、システムにセキュリティ メカニズムをセットアップします。私たちのシステムでは、誰もがコインを預けたり、自分のステークをシステムにロックしたりする必要はなく、あなたのステークは常に自分のものであり、いつでも使用できます。この問題の基本的な前提も非常に単純で、POW がマイニングする計算量はほとんどの正直な人々の手に委ねられていると信じているのと同じです。 POS の基本的な前提は、このシステムの利害の大部分は正直なユーザーの手にあるということです。ここには非常に重要な点があります。つまり、このシステム内のすべてのトークンは同じ意思決定権を持ち、同等であるということです。トークンがどのユーザーに属しているかは関係ありません。また、ユーザーが他のアカウントを持っているかどうか、または他のアカウントの利害関係を持っているかどうかも関係ありません。したがって、私たちの設計の本来の目的は、常に真に分散型かつ分散型のシステムにすることです。しかし、それを技術的な方法で解決し、これを達成するには、途中で非常に多くの問題に直面する必要があります。

アルゴランド本体のコンセンサス合意の突破、核となる技術的利点と技術的特徴
ブロックチェーンの一般的な状況を紹介しましたが、皆さんはすでによくご存知だと思いますが、簡単に説明するのは、皆さんに一般的な理解をしていただくためであり、次の技術的な説明にも役立ちます。次に、アルゴランド本体のコンセンサスプロトコルの中核となる技術的利点と技術的特徴の一部である比較技術的な議論に入ります。主に 3 つの側面を紹介します。1 つはビザンチン協定であり、もう 1 つはコンセンサス協定に参加するユーザーを選択するときに使用するものです。これを秘密の自己選択プロセスと呼びます。3 つ目は、コンセンサス協定であるということです。合意は非常にユニークな機能であり、ユーザー代替性と呼ばれています。これが、私たちのシステムがいつでも攻撃者がユーザーを動的に攻撃できるようにしても、この種の攻撃に抵抗できる理由です。これら 3 つのポイントを紹介した後、私たちの新しいアルゴリズムである Algorand 2.0 を紹介し、ネットワーク セグメンテーション攻撃に対抗するその利点と技術的特徴のいくつかを説明します。
1) ビザンチン協定
ビザンチン協定は、実際にはコンピューター サイエンスにおける非常に古典的な概念であり、1970 年代と 1980 年代にこの分野に関する多くの研究が行われてきました。もちろん、従来のビザンチン協定の研究は比較的閉鎖的な環境で行われており、コンピュータの台数やすべてのユーザーの身元が事前にわかっているため、当時のビザンチン協定の作業方法や作業環境は比較的単純なものでした。これをブロックチェーンに拡張する前に、ビザンチン協定が達成できる 2 つの最も基本的な特徴を簡単に紹介します。これら 2 つの特性により、ブロックチェーンはコンセンサス合意に曖昧さがないことを保証できます。
まず第一に、ビザンチン協定によって達成できる性質は、もちろんアイデンティティです。つまり、多くのユーザーがビザンチン協定を通じて対話した後は、最初にシステムの状態についてどのような理解があったとしても、最初は誰もがそれぞれだと考えることができます。時々、全員が自分に送信されたトランザクションを確認し、受信したトランザクションに基づいてブロックを結合します。誰もが見るシステム状態は、ブロックそのものの値、あるいはブロックのハッシュ値であると考えることができます。ビザンチン協定での通信が完了すると、すべての正直なユーザーは最終的に同じシステム状態、つまり同じブロックのハッシュ値を出力します。では、ブロックチェーンが達成すべき結果ですが、前のブロックを踏まえれば、次のブロックの内容は全員が満場一致で受け入れるものであることは間違いありません。
ビザンチン協定のもう 1 つの非常に興味深い特徴は、多くの人には知られていないかもしれませんが、この特徴こそが、後ですぐに合意に達することができる理由です。つまり、ビザンチン協定によって達成できる合意です。いわゆる一貫性とは、システム内で合意に達する過程において、システムが比較的良好な状態であれば、不必要な情報送信のためにシステム内の対話を無駄にしないことを意味します。言い換えれば、つまり、このシステムのすべての善良なユーザーが、最初の段階で、あなたが見ているトランザクションやあなたが自分で形成したブロックがすでにコンセンサス状態に達しているのであれば、ビザンチン協定を全員に強制することはありません。何か違うことに同意する。これが、ネットワークの状態が比較的良好で通常の状況下では、ビザンチン協定を使用したシステムの方が高速である理由です。
なぜ既存のビザンチン協定を直接使用してブロックチェーン上で直接使用できないのでしょうか?誰もがビザンチン システムに参加し、その出力が次のブロックのコンテンツになります。これはまさにブロックチェーンが達成したいことなのですが、なぜそれを直接実行できないのでしょうか?理由は主に 2 つあり、1 つ目は、この協定は実行時間や総参加者数など、理論上は多項式時間であると言えますが、一般的には既存のビザンチン協定がまだ比較的遅いということです。または立方体が比例する場合、理論的妥当性には問題はありませんが、これにいわゆる多項式時間のビザンチン協定を適用することは現実的ではありません。ユーザーが何百万人もいると、通信と計算の量が数百万平方または数百万立方になり、必要な消費量がシステムの容量を超えることが想像できるでしょう。そして、もう 1 つの非常に重要な理由は、ビザンチン協定をブロックチェーンで直接使用できない理由です。ビザンチン協定の元の設計は、比較的閉鎖的で比較的良好なネットワーク環境にあるためです。つまり、その中のすべてのユーザーの数と ID は、すでにそれは事前に決定されており、誰もが知っています。これらの点は両方とも、オープンなインターネットでは不可能です。なぜなら、誰もがインターネット上で多くの ID を簡単に生成でき、インターネット上の 2 つの ID が同じ人物によって管理されるかどうか、つまり各公開鍵に対応するユーザーがどこにいるかは誰にも分からないからです。これは、私たちの多くがよく知っているシビル攻撃です。複数の ID を生成することで、インターネット上の多くのアクセス許可を制御する攻撃です。この攻撃は、元のビザンチン協定では完全に実行可能です。したがって、ビザンチン協定をブロックチェーン上で使用する場合は、上記の 2 つの問題を解決する必要があり、それを実現するのがアルゴランド コンセンサス システムです。
まず、私たちが設計した新しいビザンチン協定プロトコルは、非常に高速かつ効率的なプロトコルです。まず、プロトコルの参加者は、各ステップで非常に短いメッセージを送信するだけでよく、非常に悪いネットワーク環境でも、このプロトコルは期待される状態でコンセンサスを完了するには、いくつかのステップのみが必要です。このような合意は理論的にはすでに非常に早いものであると言わなければなりません。しかし、そのようなプロトコルがあっても、たとえば 1,000 万人のユーザーがいるシステムでそれを直接使用することは不可能です。ユーザーが 1,000 万人いるため、全員が非常に短いメッセージを送信したとしても、このシステムのネットワークは完全にブロックされています。多数のユーザーが関与するこのソリューションの場合、ユーザーが非常に多いため、このプロトコルに参加するユーザーの少数のグループをランダムに選択するだけだと多くの人が簡単に考えることができると思います。最も簡単な方法の 1 つは、選択範囲を開くことで、誰が選択されているかが全員にわかるようにし、選択されたユーザー同士が通信するだけで済むようにすることです。このようにして、ビザンチン協定プロトコルを狭い範囲に制限することができます。どうすればこれを達成できるでしょうか?実際、これは非常に簡単で、たとえば、各ユーザーの ID、ID、公開キー、またはその他の ID 情報に対して、ハッシュ (ハッシュ値) を作成して、たとえば 256 ビットのランダムな文字にマッピングします。次に、これらすべてのユーザーの文字列を小さいものから大きいものに並べ替え、この時点ですべてのユーザーをランダムに変更します。したがって、ビザンチン協定プロトコルに参加するためにこのシステムに 1,000 人のユーザーが必要な場合は、ランダムに変換された最初の 1,000 人のユーザーを取得するだけで十分です。これは非常に効率的で、透明性が高く、実装が非常に簡単な方法です。では、このアプローチには何が問題なのでしょうか?少数のユーザー グループを公開かつ無作為に選出した場合、なぜ機能しないのでしょうか?この疑問を一度は考えたことがある人も多いのではないでしょうか。
つまり、この時点で誰が次のブロックの生成を担当するのか、誰が次の 10 個のブロックを生成するのかを知ることができるのは善良なユーザーだけでなく、悪意のあるユーザーも簡単に知ることができます。そして、それはかなり前に発見される可能性があり、悪意のある組織がこの時点でこれらの選択されたユーザーを事前に攻撃できるため、これらのユーザーはビザンチン協定に参加する必要があるときにオンラインにアクセスできなくなったり、間違った情報を送信したりできなくなります。もっと。現在のブロックチェーン分野ではそのようなプロトコルが存在することを見てきましたが、これらのプロトコルの最も基本的な前提は、悪意のある個人や組織がユーザーを攻撃するのに長い時間がかかるということです。これは、ブロックの生成に必要な時間よりもはるかに長くなります。私たちの意見では、そのような想定はまったく受け入れられず、アルゴランドのシステムが非常に強力なネットワーク攻撃やその他の攻撃に抵抗できることを期待しています。したがって、私たちのシステムでは、架空の攻撃者がいつでも、DDOS であろうと他の方法であろうと、あらゆるユーザーを即座にダウンさせることができるように設計されており、これらの攻撃者は、送信するメッセージに関係なく、攻撃されたすべてのユーザーをいつでも完全に制御できます。メッセージの送信、またはメッセージがいつ善良なユーザーに送信されるかは、攻撃者によって完全に制御される可能性があります。攻撃者についての唯一の仮定は、デジタル署名や暗号化などのハッシュ関数など、パスワードの最も基本的な要素を解読できないということです。これらは、すべてのデジタル システムに必要な基本的な仮定でもあります。したがって、そのような攻撃者にとって、ビザンチン協定に参加するユーザーを公然と選択することは現実的ではありません。アルゴランドの革新的な点は、秘密の方法を使用して、ユーザーがビザンチン協定に参加すべきかどうか、さらにはビザンチン協定のどの段階に参加すべきかを選択できるようにしていることです。
2) 秘密の自己選択
いわゆる秘密の自己選択というと抽象的に聞こえますが、私がよく想像するときは、宝くじシステムに喩えると、つまり各ユーザーが独自の宝くじを生成し、それを決定するのは宝くじそのものです。当選がない場合、ユーザーはシステムを騙すことができず、他人を騙して当選したと偽ることもできません。そして、ユーザーが当選した場合には、この宝くじを見せるだけで、誰にでも簡単に伝えることができます。そして、このことのもう 1 つのポイントは、ユーザーが賞品を獲得したことを知っていても、賞品を公に引き換える前であれば、攻撃者には誰が賞品を獲得するか分からず、誰を攻撃すべきかも分からないということです。したがって、そのような抽選システムがあれば、ユーザーがこの抽選を通じて誰が次のシステムに参加するか、誰が次のコンセンサスに参加するかを秘密裏に決定できるようになり、その後、彼らは他のユーザーと完全に同じになることができます。これを持っていることを証明してください権限。もちろん、ここには別の問題が関係しており、私たちが現実に見ている宝くじシステムは完全に中央集権的であり、特定の発行者がすべての宝くじを印刷して全員に配布しています。このアプローチは、前述した分散システムとは対照的です。実際に必要なのは分散型宝くじ生成システムであり、各ユーザーは自分の秘密鍵を使用して自分の宝くじを生成できるため、不正行為をしたり、宝くじに当選したことを証明したりすることはできません。
よく考えてみると、この 2 つの点は矛盾しているように思えますが、なぜでしょうか。ユーザーが独自の宝くじを生成できれば、密かに多数の宝くじを生成できるからです。彼は、宝くじを生成した後に賞品を獲得していないことがわかり、次に別の宝くじを生成し、当たりの宝くじが生成されるまで生成を続けることができます。そして、この宝くじを使って、この制度に参加するようにみんなに伝えてください。この場合、悪意のあるユーザーが自分で多数の宝くじを作成し、当選したものだけを全員に見せることができます。もちろん、そのようなシステムはまったく機能しません。そのとき、悪意のあるユーザーは常に、私が宝くじに当たったので、このシステムに参加する必要があると皆に言うからです。これは、この種の秘密の自己選択を行うときに非常に重要な点です。つまり、私たちのシステムでは、宝くじの生成段階であっても、各ユーザーは一意で確実な宝くじしか生成できません。騙す方法はありません。これには暗号の知識が必要ですが、この暗号の構造はVRF(Verifiable Random Functions)と呼ばれるもので、乱数関数を検証することができます。今日の共有で VRF を最初から最後まで説明するのは不可能であり、時間がかかりすぎますが、VRF の最も基本的な構造が何であるかを説明することはできます。その基本的な構造は、理解すれば、実際には非常に単純です。 VRF には 2 つの基本構造があり、1 つはデジタル署名、もう 1 つはハッシュ関数であると考えることができます。
ユーザーが自分の宝くじを生成したいときは、自分のキーを使用して、たとえば現在のシステム状態に署名し、自分の署名を生成します。もちろん、この署名は自分だけが生成できますが、他の人は生成できません。彼が署名を全員に証明したい場合、公開鍵を使用する限り、誰もが署名が正しいことを検証できます。この署名を使用すると、ランダムな宝くじを非常に簡単に生成できます。この署名をハッシュ関数の入力として使用するだけです。たとえば、256 ビットの乱数を出力すると、この乱数は次のようになります。ユーザーの宝くじの価値。 100 万人のユーザーがいるシステムで 1,000 人のユーザーを選択したい場合、各人が選択される確率は 1 パーセントである必要があります。このとき、このハッシュ関数の出力が 0.001 未満の場合、ユーザーが選択されており、それより大きい場合は選択されません。ハッシュ関数の出力は文字列であり、通常は整数とみなされますが、前に小数点を追加することで簡単に実数として解釈できます。
したがって、これは非常に単純な操作であるように見えます。ユーザーに名前に署名させ、その署名をハッシュ (ハッシュ暗号化) するだけで、最終的な結果は乱数になります。攻撃者がユーザーの署名を偽造することは不可能であるため、特定のユーザーが最終的にハッチ関数を通じてどのような値を出力するか、そのユーザーが選択されるかどうかなどを予測する方法はありません。しかし、今の説明では、実は、発見が難しい隠れた問題が隠されています。暗号、VRF、電子署名に詳しい人なら気づいているかもしれません。何が問題なのでしょうか?つまり、多くのデジタル署名システムには乱数が含まれています。通常、ランダムな文字列を生成する必要があり、この文字列がデジタル署名プロトコルの入力の一部として使用され、それを通じて署名が生成されます。つまり、署名プロセスはランダムであり、同じシステム状態に対して、異なる乱数を補助入力として使用すると、異なる署名が生成され、これらの署名はすべて有効になります。これは先ほどの宝くじの印刷の問題に戻りますが、これはユーザーが自分で無数の宝くじを印刷する可能性を与えることと同じです。乱数を使用した署名方法を完全に使用できるため、乱数を変更するまで、異なる乱数を変更し続けることができ、生成される署名は、ハッシュ化された後、非常に小さなハッシュ値を取得します。たとえば、今言った値は 0.001 未満です。ユーザーが無数の宝くじを自由に印刷できるようにするこの方法は、当然容認できないと先ほど述べました。
次に、これは暗号化におけるもう 1 つの非常に優れた革新、つまり固有の署名、固有の署名について言及します。いわゆるユニークなサインはその名の通りわかりやすいです。つまり、署名が必要な同じ文書またはシステムの状態に対して、同じユーザーは自分の鍵を使用して一意の署名しか生成できません。現時点では、システムの状態は確実であり、自分自身の公開鍵と秘密鍵が事前に生成されているため、ユーザーは不正行為をする方法がありません。ユーザーができることは、これら 2 つを署名関数に与え、署名を行うことだけです。関数 一意の署名値が出力され、この一意の署名値は一意のハッシュ (ハッシュ暗号化) 出力に対応します。この一意のハッシュ (ハッシュ暗号化) 出力は、このシステムで受け入れられる唯一の値でもあります。 VRF の 2 つの基本構造は実際には非常に単純で、1 つは一意の署名、もう 1 つはハッシュ関数です。基本的に、多くの VRF 構造は同様の 2 つの部分に分解できることがわかります。
3) ユーザーによる交換可能性。
これは、秘密の自己選択における最も興味深いテクノロジーの一部であるため、秘密の自己選択方法を使用した後でも、別の問題があり、ユーザーが選択されたときに、ユーザーはビザンチン協定を発行しません。投票する場合、悪意のあるユーザーは、その人が誰であるかはもちろん、この人が選ばれたかどうかも知りません。しかし、ユーザーがシステム内でメッセージを送信する限り、署名を全員に伝える必要があります。この時点で、悪意のあるユーザーは誰が選択され、次に誰が責任を負うのかをすぐに知ることができます。次のステップでこれらの人々を直ちにブロックまたは攻撃してください。まだ前の状態、つまりすべての参加者が悪意のある状態に戻っています。この問題を解決するには、アルゴランドのもう 1 つの非常に興味深い革新、つまりユーザーの置き換え可能性について言及する必要があります。アルゴランドのコンセンサスプロトコルには、第1ステップ、第2ステップ、第3ステップなどのいくつかのステップがありますが、各ステップの間に内部状態を保存する必要はありません。次のステップの内容は、現在の公開情報に基づいて決定できます。したがって、最初のステップでユーザーのグループを選択し、最初のステップで情報を送信させることは完全に可能ですが、2 番目のステップではまったく異なるユーザーのグループが選択されるため、最初のステップを知る必要はありません。どのような内部構造を持っているかによって、インターネット上に発信される公開情報を通じて第 2 段階情報の内容を完全に決定し、その後、独自の第 2 段階情報の送信を終了することができます。類推すると、たとえ第 2 ステップのユーザーが情報送信直後に攻撃を受けたとしても、プロトコルの第 3 ステップで新しいユーザー グループが選択され、このユーザー グループは依然としてインターネット上の公開情報に基づいています。あなたのメッセージが何であるかを決定します。したがって、攻撃者は、次に誰が責任を負うのか、その中から誰が選ばれるのかを決して知りません。これにより、システム全体のセキュリティも確保され、攻撃者がいつでもユーザーをダウンさせることができたとしても、システムの次のプロトコルの実行には影響しません。そして、各ステップでユーザーを再選択するこの方法により、システム全体が実際に分散型システムとなり、ユーザーが長期間担当することがなくなります。すべてのユーザー、実際には、ユーザー A トークンのすべてのユーザーが同じものを持っています。選ばれる確率。これは真の分散型、真のプルーフ・オブ・ステークベースのシステムです。
したがって、アルゴランド方式では、Proof-of-Work方式を持たず、ユーザーが難しいパスワードパズルを解く必要がなく、計算量も非常に少ないと言え、ユーザー選択方式も本格的です。分散化。そして、ビザンチン協定自体は、意見の相違や分岐がないため、どのようなトランザクションも、ブロックチェーン上のブロックに入っている限り、完了したと見なすことができ、完了するまで待つ必要がありますこのシステムの背後で生成されたブロックを確認する前に確認してください。したがって、このシステムは高い拡張性とセキュリティを提供できます。
アルゴランドの技術開発、アルゴランド2.0
メインネットで使用されるシステムである Algorand 2.0 について簡単に説明します。このシステムは、アルゴランド独自のコンセンサスプロトコルの特徴を継承していることに加え、依然としてユーザーによる置き換えが可能であり、秘密の自己選択によってビザンチン協定に参加するユーザーを選択するなど、依然として非常に効率的なプロトコルです。しかし、さらに 2.0 には、現時点ではどのブロックチェーン システムでも実現できない非常に強力な特性があります。つまり、ネットワーク セグメンテーションに対する攻撃に完全に抵抗し、迅速に回復することができます。どのような意味です?つまり、ブロックチェーンコンセンサスシステムでは、通常、トランザクションまたはブロックがネットワーク全体に伝播されると想定する必要があります。なぜなら、トランザクションをネットワーク全体に広めることができない場合、またはコンセンサス情報やブロックをネットワーク全体に広めることができない場合、明らかにユーザーには少なくとも 2 つの部分が存在する必要があり、ユーザーに表示されるブロックは異なり、ユーザーに表示されるブロックは異なります。取引のステータスも異なります。これはDouble Spent、つまり二重支出の可能性があることを意味します。この種のネットワーク攻撃は通常、ビザンチン協定を分析する際には考慮されませんが、これを考慮する理由は、システム全体をより現実的なものにするために、あらゆる可能性を考慮する必要があるためです。将来遭遇した。
ネットワークを分断する攻撃のコストは確かに非常に高くなります。しかし、アルゴランドが非常に成功した場合、たとえばそこに多くの資産があり、システム全体の価値が非常に高い場合、何百万ドルもの投資など、多額の投資を喜んで行ってから譲渡する人もいるかもしれません。多数のユーザーが他のユーザーへ 多数のユーザーが完全に分離され、ユーザー間のコミュニケーションが完全に制御され、合意に達することが不可能になります。このネットワーク攻撃の下では、安全を維持してブロックを生成し続けるブロックチェーンは存在しないと言えます。非常に単純な理由により、どのシステムでもブロック時間を最終的に確認する必要があります (たとえば、1 分、1 時間、または 1 日)。その後、システムが分割されている場合、分割時間が 1 分または 1 日より長い場合は、 1 時間または 1 日の場合、システムは効果的な合意を生成する方法がありません。しかし、Algorand 2.0 のシステム プロトコルでは、ネットワークが攻撃された場合でも、システムが安全であることを保証でき、分岐しない、つまり同じ高さで 2 つのブロックが確認されることはありません。また、システム内のネットワーク攻撃が終了し、ネットワークが以前の接続を復元すると、コンセンサス プロトコルを簡単に復元して、新しいブロックを再生成できます。
これら 2 つの特徴のうち、1 つはネットワーク セグメンテーションの場合、つまり、ネットワークが完全に非同期状態に入った場合でも、攻撃者はネットワーク内のメッセージの送信を完全に制御でき、あらゆるメッセージが任意に遅延される可能性があります。 2.0 プロトコルは依然としてフォークしません。もう 1 つは、つまり、ネットワークがこの完全に分割された状態から適切に接続された状態に戻ると、システムは簡単に回復でき、その後ブロックを生成できるようになります。これら 2 つの特性の実現は、新しいビザンチン協定によって実現されますが、時間の都合上、ここでシステムの詳細を紹介することはできません。
この新しいシステムは現在、当社のテスト ネットワークに実装されています。テスト ネットワークはこれまでのところ招待制であり、開発者による承認を得るには全員が申請書を提出する必要があります。アプリケーションを介して参加しているため、長い間比較的安定して動作しており、ノード数は多くありませんが、ノードの分布は米国、オーストラリア、アジア、ヨーロッパと非常に幅広く、システム全体の安定性とスケーラビリティを明確に検証します。私たちは間もなくテストネット全体をすべての人に公開する予定ですので、ぜひ注目してください。







