
著者 | ヴィタリック・ブテリン
著者 | ヴィタリック・ブテリン
ほとんどのブロックチェーン アプリケーションの最も価値のある特性の 1 つはトラストレス性です。つまり、たとえ参加者の関連する利益が将来変化する可能性がある場合でも、特定の参加者に依存せずに、特定の方法で動作するアプリケーションの機能を維持するアプリケーションの能力です。予期せぬ動作をします。ブロックチェーン アプリケーションが完全にトラストレスであることはありませんが、一部のアプリケーションは他のアプリケーションよりもトラストレスです。信頼を最小化するという目標に向かって進みたい場合は、まず信頼のレベルを識別できるようにする必要があります。
まず、「信頼」についての私の簡単な定義は次のとおりです。信頼とは、他人の行動について推測することです。アウトブレイクが発生する前は、突然誰かに刺されないように、道を歩いているときに他人と意図的に 2 メートルの距離を保つことはありませんでした。これは一種の信頼です。第一に、人々はめったに正気を失うことはないと信じ、第二に、法制度の維持者は、この行為を制限する強い動機を持っています。他の人が書いたコードを実行するとき、あなたはその人が(自分の良心のためであれ、評判を維持するという経済的利益のためであれ)正直にコードを書いていると信頼するか、少なくともコードをチェックして見つけ出すのに十分な人が存在することを信頼します。脆弱性。自分で食物を栽培しないということは、信頼のもう一つの形であり、十分な数の人々が利益のためにそれを栽培し、あなたに販売してくれるだろうと信頼することです。さまざまなサイズのグループを信頼でき、さまざまなタイプの信頼があります。
ブロックチェーンを分析するために、信頼を次の次元に分解してみます。
あなたの期待通りに行動するには何人の人が必要ですか?
総人数はどれくらいですか?
人々はどのようなモチベーションを必要としているのでしょうか?彼らは利他主義者である必要があるのか、それとも傭兵である必要があるのでしょうか?コラボレーションを避ける必要があるでしょうか?
これらの前提が破られた場合、システムはどの程度の悪影響を受けるでしょうか?
ここでは、最初の 2 つの点に焦点を当ててみましょう。以下に図を示します。
緑色が濃いほど、モデルは健全です。これらのカテゴリを詳しく分析してみましょう。
1 of 1: システム全体に参加者は 1 人だけです。このアクターが期待どおりに動作する場合、システムは適切に動作します。これは従来の「集中化」モデルであり、私たちが超えたいモデルでもあります。
N of N: 「ディストピア」の世界。システムが適切に機能するには、システムのすべての参加者が期待どおりに動作する必要があり、そのうちのいずれかが失敗した場合、救済策はありません。
N/2/N: これがブロックチェーンの仕組みです。マイナー (または PoS バリデーター) の大部分が正直であれば、ブロックチェーンは適切に機能します。 N の値が大きいほど、N/2 の価値が高くなります。マイナー/バリデーターの広く分散されたネットワークは、少数のマイナー/バリデーターのみによって制御されるブロックチェーンよりも合理的です。それでも、51% 攻撃の可能性があるため、このレベルのセキュリティでさらに一歩前進したいと考えています。
1/N: 多数のアクターが存在し、そのうちの少なくとも 1 つが期待どおりに動作する限り、システムは適切に機能します。不正証明に基づくシステムはすべて、信頼設定と同様にこのカテゴリに分類されますが、この場合の N の値は通常は小さいです。 N の値はできるだけ大きくする必要があることに注意してください。
Few of N: 少数の固定数のアクターが期待どおりに動作する限り、システムは適切に機能します。データの可用性チェックもその 1 つです。
0/N: システムが適切に機能するために外部アクターに依存する必要はありません。自分でブロックを検証することは、このカテゴリに分類されます。
「0のN」以外の機種もある程度の「信頼度」はありますが、これらの機種には大きな差があります!特定の個人 (または組織) が期待どおりに行動することを信頼することは、個人が期待どおりに行動することを信頼することとはまったく異なる状況です。 「N の 1」は、「N の N/2」から「1 の 1」よりも「N の 0」に似ています。どちらのモデルも 1 人の参加者に依存しているため、「1 of N」モデルは「1 of 1」モデルに似ていると考える人もいるかもしれませんが、実際にはまったく異なります。「1 of N」システムでは、参加者が突然消えたり真っ暗になったりした場合は、他の参加者を変更することも可能ですが、「1 of 1」システムでは他の選択肢はありません。
特に、実行するソフトウェアであっても、コードにバグがあるかどうかを誰かが確実にチェックするために、その正確性を「数 N 個」の信頼モデルに依存していることが多いことに注意してください。これを知っていると、アプリケーションの残りの部分を「1 of N」モデルから「0 of N」モデルに切り替えようとすることは、家にセキュリティ ドアを設置し、窓を開けたままにするようなものです。
もう 1 つの重要な違いは、信頼の前提が崩れた場合、システムにどの程度の損害が生じるかということです。ブロックチェーンでは、最も一般的な 2 つの種類の障害は、活性障害と安全性障害です。ライブネス障害とは、一時的に操作 (コインの引き出し、トランザクションのブロックへのパック、チェーン上のデータの読み取りなど) を実行できないことを意味します。セキュリティ障害とは、システムが防止したい状況です (たとえば、無効なブロックがブロックチェーンに追加されるなど)。
以下は、一部のブロックチェーン レイヤ 2 プロトコルで採用されている信頼モデルのリストです。私は、レイヤー 2 システム自体の参加者のセットを指すために「小さい N」を使用し、ブロックチェーンの下部の参加者を指すために「大きな N」を使用します。私の仮定は、レイヤー 2 コミュニティは常に基盤となるブロックチェーンよりも小さいということです。また、私は「活性障害」という用語を、特に長期間トークンを調達できない状況を指すために使用しています。システムを使用できないにもかかわらず、ほぼ即座に資金を引き出すことができる場合は、アクティブな障害とはみなされません。
「チャネル」スキーム (状態チャネル、ライトニングネットワークなどを含むチャネル): 「1 of 1」信頼モデルを使用して生存性を確保します (取引相手は一時的に資金を凍結できますが、複数のチャネルに資金を分配できます) リスク軽減) では、セキュリティに「N/2 of big N」モデルを使用しています (51% の攻撃で資金を失う可能性)。
プラズマ (集中型オペレーター): 「1 of 1」信頼モデルを使用して生存性を確保し (オペレーターは資金を一時的に凍結できます)、「N/2 of big N」モデルを使用してセキュリティを確保します (51% の攻撃で資金がプロセス中に失われる可能性があります) )。
プラズマ (DPOS などの半分散型オペレーター): 稼働性を確保するために「N/2 of small N」信頼モデルを使用し、セキュリティを確保するために「N/2 of big N」モデルを使用します。
楽観的ロールアップ: 活性には「1 of 1」または「N/2 of small N」信頼モデル (オペレーターのタイプに応じて) を使用し、セキュリティには「N/2 of big N」モデルを使用します。
ZK ロールアップ: 有効性を確保するために「小さい N の 1」信頼モデルを使用します (オペレーターがトランザクションをパッケージ化できなかった場合は出金できますが、オペレーターが出金トランザクションをすぐにパッケージ化しない場合は、それ以上のトランザクションをパッケージ化することはできません。お金を引き出すことができます)ロールアップ システムのフル ノードの助けを借りて自分自身で実行できるため、セキュリティ障害のリスクはありません。
ZK ロールアップ (軽度引き出し強化): アクティブな障害のリスクやセキュリティ障害のリスクはありません。
最後に「モチベーション」の問題です。非常に利他的であると信頼できる参加者、やや利他的であると信頼できる参加者、または参加者を期待に従わせるのに十分合理的であると信頼できる参加者が必要ですか?デフォルトでは、「不正証明」では参加者に若干の利他性が求められますが、その程度は計算の複雑さに依存し (詳細については「検証者のジレンマ」を参照)、より合理的なものにするためにプロセスを改善する方法はたくさんあります。
サービスの料金を支払うメカニズムを追加すると、他の人が ZK ロールアップから撤退するのを支援することが合理的になるため、ロールアップから撤退できないことを心配する必要はほとんどありません。同時に、コミュニティが 51% 攻撃 (非常に長いトランザクション履歴のロールバックや長時間にわたるブロックのレビュー) にあるブロックチェーンを受け入れないことに同意した場合、他のシステムへのリスクを軽減できます。
結論: システムが「信頼メカニズムに依存している」と誰かが言った場合、私たちはその真相に迫ることができます。それらは、「1 of 1」モデル、「1 of N」モデル、または「N/2 of N」モデルを意味しますか?このシステムは参加者に利他的であることを要求しますか、それとも合理的であることを要求しますか?それが利他主義である場合、参加者のコストはいくらでしょうか?前提条件に違反した場合、資金が戻ってくるまでどれくらい待つ必要がありますか?数時間ですか?何日?それとも永久に凍結されるのでしょうか?これらの疑問を知っていれば、このシステムを採用するかどうかについて、大きく異なる答えが出るかもしれません。