作者:PolkaWorld
ギャビン・ウッド、イーサリアムの共同創設者、ポルカドットの創造者、そしてWeb3のビジョン推進者。
正式に始める前に、ギャビンのこの部分でのいくつかの名言を共有しましょう!
イーサリアムの今までの最大の成果は何ですか?—— もしかしたらクリプトキティかもしれません。分かりませんが、実際にはあまり確信がありません。イーサリアムが歴史上最も多くの百万長者を生み出したと聞いたことがあります。
イーサリアムは成功したプロジェクトですか?—— 私の成功基準で見ると?明らかにすべての基準が満たされているわけではなく、実際にはごく一部だけが満たされているかもしれません。もちろん、財務的には成功しています。
JAMの導入に伴い、ポルカドットの方向性が変わりました。それはネイティブ設計のロールアップホスティングチェーンと見なすことができ、私たちが開発した技術はイーサリアム上のオプティミスティックロールアップやゼロ知識ロールアップよりも遥かに優れています。
ポルカドットのこれまでの最大の成果は何ですか?—— 安全なシャーディングブロックチェーンを実現しました。
ポルカドットが今日直面している最大の問題は何ですか?—— まさにシャーディングです。
これらの問題をどう解決するのか?—— JAM
続きを読む、すべての内容を見てください!
イーサリアムの今までの最大の成果は何ですか?
ケビン:つまり、あなたは2014年にイーサリアムを共同設立したと言うのですか?なぜあなたは共同創設者であり、最高技術責任者として彼らに参加したのですか?
ギャビン:これは非常に貴重な機会だと思い、すぐにそれをつかむべきだと気づきました。全力で取り組むことにしました。おそらく一生を投じる必要はないにしても、少なくとも未来のある期間に全エネルギーを注ぐことにしました。これは適切なタイミングで登場した革新的なプロジェクトであり、チームには優れた能力を持ち、集中している人々がいる一方で、新しいものに興味を持ち、試みようとする小さな市場もあります。率直に言って、私はこのプロジェクトに好奇心を持っており、非常に大きな可能性があると思っています。そして、少なくとも私が理解している啓蒙自由主義の原則に貢献できると思っています。
ケビン:それは何ですか?
ギャビン:基本的には、社会と発展に関する楽観主義的な見方であり、この考え方はおそらく400〜500年前の西洋で発展してきました。
ケビン:イーサリアムのこれまでの最大の成果は何ですか?
ギャビン:もしかしたらクリプトキティかもしれません。分かりませんが、実際にはあまり確信がありません。イーサリアムが歴史上最も多くの百万長者を生み出したと聞いたことがあります。おそらく、クラウドファンディングの際に参加者が多く、価格が後に十分に高くなったからでしょう。だから、これが最大の貢献かもしれません。しかし正直なところ、それが本当にどれだけ有用なものを実現したかは難しいと言えます。10年前に私が持っていた期待には到底及んでいません。
ケビン:だから、もしあなたに聞くと、イーサリアムは成功したプロジェクトだと思いますか?あなたの答えは否定的ですか?
ギャビン:私の答えは、私個人としては成功と見なせるか?私の成功基準で見ると?明らかにすべての基準が満たされているわけではなく、実際にはごく一部だけが満たされているかもしれません。もちろん、財務的には成功しています。おそらく一部のイーサリアムの創設者は、そのパフォーマンスがもっと良くなることを期待していたかもしれません。
ケビン:どの基準がそれを成功だと考えさせますか?
ギャビン:ユーティリティ(効用)
ケビン:効用をどのように測定しますか?
ギャビン:効用を測定する方法は、人々が今できることの数を見て、過去にはできなかったことを見ます。
ケビン:これはイーサリアムの問題だけでなく、全体の暗号業界の問題ではありませんか?
ギャビン:その通りです。これは確かに全体の暗号業界が直面している問題です。2014年と2015年の時、私たちは多くのアイデアを提起し、「信頼不要」の方法で本来アクセスできなかった経済領域を解放しようとしました。私が特に好きな例の一つはサプライチェーンです。例えば、スーパーマーケットに行くと、すべての商品にQRコードがあります。そのQRコードをスキャンすると、その商品のすべての成分、いつ、どこで、どのくらいなどが分かります。Tシャツを買うとき、その綿がどこから来たのかを知りたいです。
今、これを中央集権的なモデルで実現するのは非常に困難で、コストも高いです。しかし、非中央集権的な方法を取れば、実現可能だと思います。しかし、このようなアプリケーションは実際には展開されていません。現在、サプライチェーンに関連する暗号プロジェクトはいくつかありますが、それらは非常にニッチであり、特定の市場のセグメントに限定されています。それはこの方向性の約束を果たしていません。
そして、これはサプライチェーンの問題だけではありません。暗号業界の想像力は豊かですが、それらの想像を現実の行動や実際の市場アプリケーションに変えるのは非常に難しいです。これは残念だと思います。主な理由は技術の問題ではなく、技術が私たちの想像に遅れを取っているからですが、特に基盤技術は大きな改善が必要です。だから、私は今JAMを作って、基盤技術を改善し、私が価値があると思うアイデアを支え、暗号業界がより大きな役割を果たせるようにしようとしています。
しかし、単に技術を改善するだけでは不十分です。人々にその価値を理解してもらう必要があります。しかし、これは難しいです。部分的な理由は、注意経済との戦いを強いられるからです。
なぜイーサリアムを離れたのか?
ケビン:なぜあなたは2016年にイーサリアムを離れたのですか?
ギャビン:実際には2015年末のことです。当時、私たちはイーサリアムがより広範囲に普及するためには多くのことをしなければならないと決定しました。私たちは外部の投資を探しており、最も明白な方法の一つはイーサリアムに関連するスタートアップを設立し、外部資金の支援を求めることでした。これは最初にヴィタリックとジェフ(コア開発者およびエンジニア)が共同で決定したことです。
その後、ジェフはスタートアップの生活にあまり適応できませんでした。実際には、彼はすぐにイーサリアムを離れ、自分のビデオゲームキャリアを追求することにしました。こうして最終的にヴィタリックだけが残りました。ヴィタリックは、イーサリアム財団に留まり、より学術的な役割を果たす必要があると考え、私たちが当時設立した子会社Ethcoreの顧問としての役割を果たすことになりました。
私たちは当時いくつかの資金を調達し、イーサリアム財団の約半分の技術チームをEthcoreに移し、イーサリアムクライアントを開発しました。私は2015年末にイーサリアム財団を離れたのは、実際にはこの子会社を設立するためであり、イーサリアムエコシステム内にプライベート資金でサポートされた実体を追加することを目的としていました。
ただし、私は本当にイーサリアムエコシステムから完全に離れたのは2017年末で、その時にポルカドットを設立しました。
ポルカドットはロールアップ技術を開発しています
ケビン:もしあなたのお母さんにポルカドットが何かを説明しなければならないとしたら、どう言いますか?
ギャビン:うーん... ポルカドットはこれまでの間にいくつかの変化がありました。最初のビジョンは、異なるブロックチェーンアーキテクチャを統合し、相互に互換性を持ち、同じセキュリティフレームワークを共有できるようにすることでした。このような共有セキュリティフレームワークを通じて、経済的効率を大幅に向上させることができます。例えば、適切に設計されれば、同じコストで100のチェーンを同時に保護することができ、他の設計(たとえばCosmos)のように各チェーンが独立して保護する必要はありません。
長年にわたり、ポルカドットはこの点でCosmosと区別しようとしています。なぜなら、Cosmosのモデルでは、各チェーンが自分自身でセキュリティを負担しなければならないからです。一方、ポルカドットは共有されたセキュリティを通じてこの問題を解決しています。しかし、残念ながら、これらの2つは実際に非常に異なる問題を解決しています。振り返ってみると、ポルカドットを「シャーディングシステム」として説明する方が好ましいかもしれません、「マルチチェーンシステム」ではなく。振り返ってみると、この表現はポルカドットの核心的なアイデアを説明し伝える上で非常に重要です。特に他の人とコミュニケーションを取ったり、ポルカドットを宣伝したりする際に、この違いはその技術的特性や他のプロジェクト(たとえばCosmos)との違いをより明確に説明するのに役立ちます。
今、JAMの導入に伴い、この方向にいくつかの変化がありました。私たちがポルカドットのために開発した技術は、ロールアップ技術として見なすことができ、ポルカドット自体は特別に設計されたロールアップホスティングチェーンと見なすことができます。この技術の開発と設計は簡単ではないため、ポルカドットのために私たちが開発した技術に比べて効果的に劣る他の2つの競争技術が存在するのは驚くべきことではありません。具体的には、オプティミスティックロールアップとゼロ知識ロールアップで、これらの2つの技術はすでにイーサリアムで使用されています。したがって、ポルカドットをネイティブのロールアップホスティングチェーンとして説明することができます——もちろん、この表現はお母さんに説明するのには適していないかもしれませんが、暗号領域にある程度の理解がある人には適しています。
JAM、つまりポルカドットの次の発展目標を通じて、私たちはポルカドットをマルチチェーンモデルからより汎用的な計算資源モデルに変えようとしています。マルチチェーンモデルでは、ポルカドットの異なるチェーン(ポルカドットのシステム内で平行チェーンと呼ばれる)は同じセキュリティフレームワークを共有し、相互にやり取りできます。一方、新しいモデルでは、私たちの目標はポルカドットの適用範囲をさらに広げることであり、イーサリアムがビットコインの基本機能を汎用計算資源に拡張したように、ポルカドットも多様なユースケースを支援できるようにしたいと考えています。
では、ポルカドットの未来は何ですか?根本的に言えば、それは大規模な共有コンピュータになり、常にあなたの期待する方法で動作します。この共有コンピュータ上では、プログラムをアップロードして実行できます。これらのプログラムは特定の問題を解決するサービスである可能性があります。共有コンピュータであるため、これらのサービスは相互に協力し、調整できます。
重要なのは、これは単一の大規模な共有コンピュータです。私たちが望まないのは、それを異なる部分に分割し、その部分が実際に相互にやり取りできないことです。
ポルカドットのこれまでの最大の成果はその最大の問題です。
ケビン:あなたが言っていることは、私たちが知っている事実を指していると思いますが、これは今日のイーサリアムエコシステムの中で実際に多くの混乱を引き起こしています。では、ポルカドットのこれまでの最大の成果は何ですか?
ギャビン:安全なシャーディングブロックチェーンを実現しました。
ケビン:ポルカドットが今日直面している最大の問題は何ですか?
ギャビン:それはシャーディングです。
ケビン:それは具体的にどういう意味ですか?
ギャビン:シャーディングは常にブロックチェーンのスケーラビリティの「聖杯」と見なされてきました。その概念はデータベース設計に由来します。データベースでは、データベース(本質的にはレコードのセット)を複数のシャードに分割することができます。各シャードは独立して動作し、非常に明確なインターフェースの下でのみ、シャード間で相互作用できます。例えば、あるレコードが一つのシャードから別のシャードに移動することがあるかもしれません。
簡単な物理的な例が理解を助けることができます。1960年代のオフィスの例を想像してみてください。医者の診療所などで、患者の医療記録が保存されています。これらの記録は通常、古い引き出しの中に保存されています。もし記録が20人分だけであれば、1つの引き出しに収まるかもしれず、簡単にアルファベット順に整理できます。しかし、記録が1つの引き出しの容量を超える場合、例えばもっと多くの人がいる場合、記録を複数の引き出しに分散させる必要があります。もし引き出しの数が増え、4つまたは5つの引き出しが必要になると、複数のファイルキャビネットが必要になります。
各ファイルキャビネットの引き出しはシャーディングとして見ることができます。彼らは互いに独立して動作します:一つの引き出しを開けることができ、他の引き出しを開ける必要はなく、また一つの引き出しの中を検索することも、すべての引き出しを調べる必要はありません。これは、特別に長い引き出し(例えば、10メートルの引き出し)を持つことと対照的です。もし一つの長い引き出ししかない場合、それを使用するのは明らかに実用的ではありません。なぜなら、10メートルの部屋が必要だからです。そして、名前が「W」で始まる人を探すとき、あなたは全引き出しを引き出し、「W」の位置まで歩かなければならないかもしれません。これは明らかに効率が悪いです。
したがって、この観点から見ると、シャーディングの設計は合理的です。しかし、これは問題を引き起こします。例えば、ある引き出しが満杯になった場合はどうしますか?記録の割り当てを再調整する必要があります。例えば、もともとはAからEまでの記録をAからDに変更し、Eで始まる記録を下の引き出しに移動する必要があります。しかし、これが次の引き出しにも収まらない場合、さらに調整が必要になります。毎回の調整で引き出しの外のラベルも変更する必要があります。このプロセス全体が複雑で面倒になるでしょう。
したがって、シャーディングはそれ自体の一連の問題を引き起こします。
核心は、これらの「引き出し」(シャーディング)が独立して動作することです。ブロックチェーン設計やデータベース設計のいずれにおいても同様です。本質的に、データが分割された後、それは常にシャーディングの状態のままであり、特別な操作を実行しない限り、通常は非常に時間がかかり、高価でリソース集約的な操作が必要になります。これにより、単一の引き出しの中で記録を再整理するのは簡単ですが、異なる引き出し間で記録を再整理するのは非常に困難です。これがシャーディングの問題です。データにとってはこの問題はそれほど深刻ではないかもしれません。これがデータベース設計でシャーディングが広く採用される理由でもあります。しかし、サービスに関しては、頻繁に相互作用し変化するスマートコントラクトにはこの方法は理想的ではありません。スマートコントラクトを引き出しの中にあるオブジェクトとして見なすと、ある引き出しのスマートコントラクトが別の引き出しのスマートコントラクトと相互作用するためには、両方の引き出しを同時に開ける必要があります。これは、二つの引き出しを引き出し、それらを接続して、すべてのスマートコントラクトが必要とする相互作用を実行し、再びそれらを分けて各自の引き出しに戻す必要があることを意味します。このプロセスは複雑で非効率的であり、頻繁に相互作用するアプリケーションシーンには非常に適していません。
もしあなたが二つの引き出しの間で操作しているだけであっても、それは十分に難しいですが、もしあなたが複数の引き出しを同時に相互作用させたい場合、それは非常に複雑で困難になります。これを行う問題の一つは、引き出し間の自由な相互作用を妨げることです。これにより、引き出し内の他のスマートコントラクトは、この単一の相互作用のパターンに従わなければなりません。システム全体がすぐに複雑で困難かつ非効率的になります。
別の方法は、引き出し間でメッセージを送信して通信させることです。一つの引き出し(シャーディング)がメッセージを発信し、後でそのメッセージが別の引き出しに渡ります。これはまさにポルカドットがXCM(クロスコンセンサスメッセージング)を使用していることです。この方法は利用可能ですが、問題は、密接で効率的で柔軟な相互作用を実現できないことです。すべてが同じ空間または「遊び場」で動作しているときほどスムーズではありません。
例えば、学校に4つの異なる遊び場があると仮定します。これは4つの異なるブロックチェーンに対応しています。もしあなたがそのうちの一つの遊び場で「かくれんぼ」をしているなら、それは完全に問題ありません。ゲームはスムーズに進行します。しかし、もしあなたが二つの遊び場を跨いで「かくれんぼ」をしようとすると、非常に困難になります。あなたは別の遊び場にメッセージを送る必要があります。「今、私は鬼です。もしあなたがこのエリアに入ったら、私はあなたを捕まえます。」別の遊び場のプレイヤーはそれを知っておく必要がありますが、完全に理解することはできません。ゲームはすぐに混乱します。
したがって、「かくれんぼ」は同じ遊び場でしかできないゲームです。これがシャーディング間の問題です。シャーディングを跨いだ相互作用は、遊び場を跨いでゲームをするようなもので、効率的に行うのは難しいです。
もしある解決策が非常に非同期の方法で実行されなければならない場合、正常に動作させるのは非常に難しくなります。まるでメッセージを通じてゲームをするようなものです。もしそれがチェスのようなゲームであれば、それほど難しくないかもしれませんが、かくれんぼのようなゲームであれば、基本的に不可能です。
スマートコントラクトでも同様の状況があります。このモデルで動作するスマートコントラクトがそれほど難しくない場合もあり、通常の速度より少し遅くなるだけかもしれませんが、大きな問題ではありません。しかし、ID確認(KYC)のようなアプリケーションは比較的簡単です。例えば、ID確認専用のチェーンがあり、別のチェーンが転送を処理する場合です。転送チェーンは、転送を実行する前に、目標アドレスがKYCおよびAML確認を通過したかどうかを確認する必要があります。それは「このアドレスはKYCおよびAML確認を通過しましたか?」というメッセージを送信できます。ID確認チェーンが「はい」と返事し、転送チェーンが転送を実行します。このプロセス全体は数秒余分にかかるかもしれませんが、大きな問題ではありません。
しかし、他のユースケース、例えば分散型取引所(DEX)などは、はるかに複雑です。例えば、現在の価格を確認する必要があり、その後取引を行うかどうかを決定します。この時、別のチェーンにメッセージを送信する必要があり、別のチェーンが「現在の価格はこれで、取引はこうなります。」と返答します。次にメッセージが元のチェーンに戻り、元のチェーンは「この価格を受け入れます。取引を実行してください。」と確認します。しかし、取引が実行される直前に、別のチェーンが「価格が変わりました。今はこの価格です。」と言うかもしれません。メッセージは行ったり来たりし、すぐに全体のプロセスは非常に非効率的になり、効果的に完了することすらできなくなります。
したがって、こうした状況では、取引はほぼ同時に完了する必要があります。さもなければ、実行できません。この現象は、遊び場でのゲームと同じです。特定のゲーム、例えばかくれんぼは、同じ空間内でしか完了できず、非同期の相互作用はゲームを完全に不可能にします。
解決策はJAMです
ケビン:実行可能な解決策はありますか?
ギャビン:うーん、JAMは私の提案で、Join Accumulate Machine(集約接続マシン)です。
ケビン:JAMとは何ですか?
ギャビン:JAMは、異なる「遊び場」のプレイヤーを集め、一時的な遊び場を作成して、彼らがかくれんぼのゲームを遊ぶことができる柔軟な方法です。以下は即興の例です(少しクレイジーかもしれません、ごめんなさい)。かくれんぼの例を続けると、元々4つの固定された遊び場がありましたが、JAMの設計では、もはやそのような固定された遊び場はありません。
遊び場はもはや固定されず、プレイヤーは特定の遊び場に縛られることはなく、異なる遊び場間の移動コストもそれほど高くありません。代わりに、私たちは広大な遊びの領域を持ち、その中の遊び場は素早く形成され、消えることができます。この場合、私たちはゲームのプレイヤーに注目し、互いに近く、相互に「捕まえられる」可能性のあるプレイヤーを一時的に集めて、彼らがかくれんぼを続けることができる一時的な遊び場を作成します。
これらのプレイヤーの一部がこの一時的な遊び場から逃げ出すと、私たちは遊び場の位置を再調整し、依然として互いに近いプレイヤーに基づいて新しい遊び場の範囲を再定義します。もしプレイヤー同士が遠くにいる場合、私たちは彼らが短時間内にお互いに「捕まえられる」ことはないと知っているため、彼らはこの遊び場に参加する必要はありません。彼らは一時的に「ゲーム外」の状態にあり、他のプレイヤーに再び近づき、ゲームに参加する必要があるときに新しい遊び場に含まれます。
もし私たちがこのようにシステムを実現するなら、拡張性があり、同期の組み合わせをサポートできるシステムを想像できます。その核心は、いわゆる「状態」を永久に分割しないことです。言い換えれば、プレイヤーは特定の遊び場に固定された状態でバインドされることはなく、必要に応じてリアルタイムで動的にグループ化されます。システムは実際のニーズに基づいてプレイヤーを異なるグループに分け、これらのグループに基づいてゲームを進めます。
スマートコントラクトのシーンにおいて、この概念の実現は、すべてのスマートコントラクトを共有の大きな「溶鉱炉」に置くことに似ています。ただし、この溶鉱炉はすべての契約が常に相互作用するのではなく、動的に分区することができます。たとえば、システムはこの溶鉱炉から10個、50個、または2個のスマートコントラクトを抽出し、それらを組み合わせて同期して相互作用し、実行し、再び分離します。その後、再評価して別の異なるスマートコントラクトの集合を選択し、再度組み合わせて実行し、その後再び分離します。
この方法により、同時に複数の並行したスマートコントラクトのグループを処理でき、単一のスマートコントラクトグループのみが同期して組み合わせて実行されることができます。この並行処理のアプローチにより、システムの相互作用処理能力を大幅に向上させ、従来の方法よりも数百倍の相互作用量をサポートし、真のスケーラビリティを実現することができます。
