背景
最初のレベルのタイトル
背景
これまで、ブロックチェーンの開発は常にパブリック チェーンの軍拡競争でしたが、新しいパブリック チェーンは、ブロックチェーンの大規模商業利用の可能性をサポートできるように、より高速なパフォーマンスと低コストを追求することを目指しています。しかし、単独で動作するブロックチェーンを構築したいチームもまだ存在するかもしれませんが、ブロックチェーンを構築して維持するのは非常に難しく、チームが本来やりたかったことを行うための余分なエネルギーを確保するのは困難です。 .優れた。しかし、チェーン構築の難しさによって業界の発展が妨げられるわけにはいかないため、Polkadot や Cosmos のようなレイヤー 0 プロジェクトが誕生しました。
Substrate は、ブロックチェーン開発に必要な基礎となるパブリック コンポーネントを提供するオープンソースの汎用ブロックチェーン開発フレームワークで、一般の開発者が自分のアイデアを検証するためのブロックチェーン アプリケーションを迅速に開発できるようにします。 Substrate の設計および開発中に、主に考慮すべき事項の 1 つは、ソフトウェアのスケーラビリティを確保することです。パリティのエンジニアは、開発中にさまざまなタイプのパブリック チェーン、プライベート チェーン、アライアンス チェーン、クロス チェーンなど、考えられるさまざまな使用シナリオを検討しました。 Substrate は WASM スマート コントラクトとプラガブル コンセンサス メカニズムもサポートしており、Polkadot ネットワークと互換性があります。
Cosmos SDK は、Cosmos Hub などのマルチアセットのパブリック Proof-of-Stake (PoS) ブロックチェーンや、許可された Proof-of-Authority (PoA) ブロックチェーンを構築するためのオープンソース フレームワークです。 Cosmos SDK を使用して構築されたブロックチェーンは、アプリケーション固有のブロックチェーンと呼ばれることがよくあります。 Cosmos SDK の目標は、開発者が他のブロックチェーンとネイティブに相互運用できるカスタム ブロックチェーンを最初から簡単に作成できるようにすることです。 Cosmos SDK は、CometBFT 上に安全なブロックチェーン アプリケーションを構築するための npm のようなフレームワークであると考えられます。
SDK ベースのブロックチェーンは、構成可能なモジュールから構築されており、そのほとんどはオープンソースであり、あらゆる開発者が利用できます。誰でも Cosmos SDK のモジュールを作成でき、すでに構築されているモジュールをブロックチェーン アプリケーションに統合するのは、モジュールをインポートするのと同じくらい簡単です。さらに重要なのは、Cosmos SDK は機能ベースのシステムであり、開発者がモジュール間の相互作用の安全性についてより適切に判断できるようになります。Substrate フレームワークと Cosmos SDK については、比較表を通じて簡単に基本的な理解を得ることができます。
しかし、一見したところ、この 2 つの動作は似ています。どちらも開発者がチェーンを迅速に作成するのに役立ち、それは現在人気のあるコンセプトであるモジュラー ブロックチェーンと一致しています。これは多くの人々の好奇心を抱かずにはいられません。彼らは比較しますか?そして、そのような疑問は最終的にポルカドットフォーラムで議論されました。
開発者は、次のような比較的具体的な質問をしました。
Cosmos SDK と Substrate は技術レベルで比較できますか?すなわち:
1. Go よりも Rust を使用することに本当に利点がありますか?
2. ツール/ライブラリ/エコシステムなどの点でどのプラットフォームが優れていますか?
3. Substrate と Cosmos のどちらを使用して開発するのが「簡単」ですか? (主観的であることは承知しておりますが、ご意見を伺いたいです)
4. どちらが学びやすいですか?
5. 両方とも同じ機能を実現できますか? (たとえば、別の DeFi ブロックチェーンを作成したいのですが、なぜ一方を選択するのでしょうか?)
Parity のソフトウェア エンジニアリング ディレクターである Shawn Tabrizi 氏は、主に Substrate エコシステムにおける開発者エクスペリエンスの向上を担当しており、Polkadot の中核となるソフトウェア開発にも参加し、Polkadot に共有セキュリティ、クロスチェーン通信、パラレル チェーン スロットなどの機能を提供しています。彼がこの質問に答えるのは適切だ。
彼の答えは次のとおりです。
まず、上記のいくつかの質問の出発点を理解しながら、質問をプラットフォームの中核となる柱に関する質問、つまり変更できないものと、より一時的な性質の質問に分けることをお勧めします。
例: Cosmos は、おそらく現時点で構築と学習が「簡単な」プラットフォームであると言っても過言ではないと思います。これは主に、新しい開発者にとって親しみやすい Go 言語を使用しているためです。 Cosmos がチェーンを立ち上げ始めたとき、Polkadot がパラチェーンを立ち上げ始めた頃には、Cosmos は予定より 1 ~ 2 年早まっており、それを指摘するのは正当だと思います。結局のところ、彼らは汎用のコンピューティング中心のブロックチェーンよりもトークン/DeFi中心のブロックチェーンの作成に重点を置いているため、一部のことはより単純になっていると思いますが、それは私が範囲を本当に理解するのを超えています。
これらの問題については、Cosmos の方が学びやすいかもしれないが、私たちはそれを変えるために全力を尽くしていることを指摘したいと思います。止められない分散アプリケーションの構築に関する決定が、「今日はどちらが簡単か」に基づいて行われないことを願っています。 。代わりに、ビジネスを構築するプラットフォームを選択するときは、技術的にも哲学的にも正しい意思決定を行うプラットフォームを選択する必要があります。
この場合、Polkadot が他のすべての次世代ブロックチェーン プラットフォームに比べて大きな利点があると主張できるのはここだと思います。
コンピューティングのスケーラビリティのために、シャーディングを介して実行を並列化します (これは現在実稼働環境ですでに実行されています。将来のロードマップの一部ではありません)。
リソース/経済的なスケーラビリティのために、リレー チェーンによって提供される共有セキュリティを使用します。
ライブ性については、ブロック生成には BABE を、ファイナリティには GRANDPA を使用します。
将来の互換性とパフォーマンスを確保するために、すべての状態遷移関数の中核として Wasm を使用します。
すべてのソフトウェアを使いやすくし、パフォーマンスを向上させるために、Rust を使用しています。
俊敏性を開発するために、私たちはオンチェーンのガバナンスとアップグレードをテクノロジーの中核に据えています。
等...
これらの重要性は、NFTの発売を見たり、Total Value Locked(TVL)を比較したり、ホワイトペーパーを読んだりしても簡単には理解できません。これらの決定は、チェーンによって生成される各ブロックとともに蓄積されます。これらの決定の影響は長年にわたって影響を受けることになります。
さらに、Cosmos のチェーン間のセキュリティ問題について、ショーン氏は次のように付け加えました。
Cosmos の「チェーン間セキュリティ」は共有セキュリティのように聞こえるように努めていると思いますが、実際には同じではありません。共有セキュリティなどは、既存のプロトコルでは後戻りできません。共有セキュリティのサポートは、状態遷移機能としてのWasmの共有言語から、パラチェーンプロトコルやPoV/PVF(妥当性証明、パラチェーン検証機能)、リレーチェーン自体の存在に至るまで、最下層から設計する必要があります。
それは、分散型、オープン、安全、耐障害性などを自称するチェーンと同じです...それらの言葉で何でも説明するのは簡単です。物事を実際にその言葉通りにするのは難しいです。
以下は、Polkadot の共有セキュリティと Cosmos が話しているビルドの違いについて議論する、私が公開する予定の Twitter スレッドの初稿です。コスモス側の提案が拒否されたため 34 、私は過去の亡霊と戦うのではなく、何も出版しないことを選択しました。 (注: Shawn がこの質問に答えたとき、cosmos 2.0 提案はちょうど拒否されましたが、2023 年の初めに cosmos 2.0 が正式に可決されました)
副題
インターチェーンセキュリティ Twitter 投稿 (ドラフト)
Polkadot ホワイトペーパーが共有セキュリティの重要性を強調してから約 6 年が経ち、Cosmos Hub もそれに倣おうとしています。ただし、Polkadot とは異なり、Cosmos はこれらの決定を事後的にガイドしようとし、最終的にはそれを適切にサポートできないプロトコルに適用しようとします。さらに深く掘り下げてみましょう。
2016 年 11 月に最初のホワイト ペーパーが初めて提出されて以来、共有セキュリティは Polkadot の設計の重要な部分でした。当時、これは「プールされたセキュリティ」と呼ばれていましたが、それ以来、あらゆるアーキテクチャ上の決定を導く指針となっています。
写真の内容:
言い換えれば、Polkadot は、2 つの非常に重要な点を除いて、独立したチェーンのセット (例: Ethereum、Ethereum Classic、Namecoin、および Bitcoin を含むセット) と同等であると考えることができます。
1. プールのセキュリティ。
2. 信頼のないチェーン間取引。これらの点が、Polkadot が「スケーラブル」であると考える理由です。原則として、Polkadot にデプロイされる問題は、多数のパラチェーンにわたって大規模に並列化できます。各パラチェーンのすべての側面は、Polkadot ネットワークの異なる部分によって並行して実行できるため、システムはある程度拡張可能です。
Cosmos Hubは、既存のプロトコルを拡張した「Atom 2.0」に関する新しいホワイトペーパーを公開し、新しい原則の1つは「チェーン間セキュリティ」でした。 Cosmos チームは、この機能を Polkadot が提供する共有セキュリティに似ていると位置づけていますが、この 2 つのテクノロジーは実際にはまったく異なります。
写真の内容:
チェーン間セキュリティ: セキュリティは、Cosmos ネットワークの主要コンポーネントを構築するために必要な基盤であり、Cosmos Hub のチェーン間セキュリティ環境は、より実用的、効率的、協調的なものにするための新機能で強化されます。
では、Cosmos のチェーン間セキュリティはどのように機能するのでしょうか? Polkadot の共有セキュリティはどのように機能しますか?ここでの主な違いは何ですか?また、それらは実際にどのように比較されるのでしょうか?
Cosmos エコシステムはソブリン チェーンで構成されており、通常は Cosmos SDK を使用して構築されます。チェーン間のセキュリティ提案 Cosmos Hub バリデーターは、他のチェーンの検証に参加するようガバナンスによって強制されます。これを行うには、Cosmos Hub のバリデーターが「チェーン間セキュリティ」を提供する追加の実行可能バイナリをチェーンごとに実行する必要があります。彼らが義務を果たせなかった場合、賭けた ATOM トークンは削減されます。問題は、この設計がスケーラブルではなく、Cosmos エコシステムの現在の設計ほどスケーラブルにできないことです。
ハブが他の 100 のチェーンにセキュリティを提供したい場合、ノード オペレーターはコンピューティング リソースの競合を防ぐために、100 のブロックチェーンを、場合によっては 100 の個別のマシン上で実行する必要があることを想像してください。この設計では、バリデーターが悪意のあるバイナリ アップグレードによって攻撃されるリスクも増加します。何百ものソフトウェア チームと信頼を築くのは困難です。これらのソフトウェアはすべて実行する必要があり、そのすべてがマシンに保存されている機密キーをターゲットにしている可能性があります。
一方、Polkadot は共有セキュリティをゼロから設計し、メタプロトコルを使用して、真にスケーラブルで安全な方法で単一のエコシステム内で複数のブロックチェーンの実行を抽象化します。このメタプロトコルは Wasm です。
Polkadot 互換のブロックチェーンは、クライアントとランタイムの 2 つの部分として考えることができます。各クライアントは Wasm 実行者として機能し、ブロックチェーン ランタイム (つまり、状態遷移関数) は安全なサンドボックスで実行できる Wasm バイナリ ラージ オブジェクト (BLOB) です。
これは、さまざまなゲームをプレイできるように設計されたゲーム コンソールにたとえることができます。 Polkadot クライアントと同様、コンソールはゲームを実行する単なるホストです。当社のブロックチェーン開発 SDK (ソフトウェア開発キット) である Substrate を使用すると、このコンソールと互換性のある「ゲーム」 (ランタイム) を簡単に設計できます。
この文脈では、Polkadot バイナリは「オールインワン マシン」と考えることができます。 Polkadot バリデータは、パラチェーン Wasm ランタイムを実行する実行可能ファイルを実行します。これは、単一の Polkadot バイナリがリアルタイムで Polkadot エコシステム内の任意のブロックチェーンに変化できることを意味します。
Polkadot エコシステムのバリデーターは、一度に 1 つの役割のみを果たします。私たちのバリデーターのプールから、リレーチェーンを検証するためにいくつかが選択され、残りは、Polkadot が同時に保護する多くのパラチェーンに分散されます。この選択プロセスはランダムであり、時間の経過とともに変化し、悪意のある攻撃者のサブセットによる共謀の可能性を防ぎます。
これは、Polkadot エコシステム全体とその幅広いアプリケーション固有のブロックチェーンを、単一の精査された実行可能ファイルを使用して保護できることを意味します。他のすべてのブロックチェーンの状態遷移機能はサンドボックス内で実行され、ネットワークとノードのオペレーターも安全に保たれます。
でも待ってください...まだあります。
コスモスは、ポルカドットが現在すでに存在している統合された経済セキュリティの大まかな理論的根拠をついに理解しましたが、マルチチェーンのセキュリティハブのより深い役割は完全に無視されています。
Polkadot リレー チェーンの重要な点は、すべてのパラチェーンの状態を追跡し、同期を保つことです。これは、Polkadot で確認されたブロックは、すべてのパラチェーンと同じ高さのすべてのチェーン間の相互作用の終了を意味します。これはホワイトペーパーで言及されている 2 番目のポイントであり、トラストレスなチェーン間取引可能性です。
将来はマルチチェーンになるでしょう。Polkadot はこの未来を設計的にサポートするのに最適です。
まとめ
最初のレベルのタイトル
まとめ
ショーンさんの回答は専門的な回答が多く、わかりにくいかもしれませんが、ショーンさんが言いたいことは一言で言えば以下のようなものです。
1. Shawn 氏は、Cosmos は新しい開発者にとって親しみやすい Go 言語を使用しているため、学習と構築が簡単である可能性があることを認めました。ただし、プラットフォームを選択する際に重要なのは、どれが使いやすいかだけではなく、技術的および哲学的に正しい決定を下すプラットフォームを選択することであると彼は考えています。さらに、2 つの違いについて説明するには、Cosmos が Polkadot よりも 1 ~ 2 年早く稼働していることを知っておく必要があります。
2. 彼は、Polkadot には、コンピューティングのスケーラビリティ、リソース/経済のスケーラビリティ、稼働性、将来の互換性とパフォーマンス、使いやすさ、開発の機敏性など、多くの側面で利点があると信じています。これらの利点は表面的には見えにくいかもしれませんが、時間の経過とともに影響を及ぼします。
3. 共有セキュリティは、元のホワイト ペーパーが 2016 年 11 月に提出されて以来、Polkadot の設計の重要な部分であり、Cosmos Hub がそれに倣い始めたのは、新しい「Atom 2.0」ホワイト ペーパーが発行されてからです。
4. Cosmos のインターチェーン セキュリティは、実際には Polkadot の共有セキュリティとはまったく異なります。 Cosmos は、スケールするように設計されていません。これは、バリデーターがチェーン間のセキュリティを提供するチェーンごとに追加の実行可能バイナリを (おそらく多くの独立したマシン上で) 実行する必要があるためです。この設計では、バリデーターが悪意のあるバイナリ アップグレードによって攻撃されるリスクも増加します。
結論として、Cosmos はチェーン間のセキュリティに関して正しい哲学的方向に進んでいますが、この哲学を事後的に組み込むことはほぼ不可能です。過去 6 年間、Polkadot はチェーン間のセキュリティを念頭に置いて設計され、これらの原則を念頭に置いて構築されてきました。将来はマルチチェーンになるでしょう。Polkadot はこの未来を設計的にサポートするのに最適です。
追記
最初のレベルのタイトル
追記
技術的な観点から見ると、Substrate フレームワークには独自の技術的利点があるように見えますが、一方で、Cosmos が 2.0 チェーン間セキュリティを実現したとしても、この機能は事後設計であるため、カードの設計を完全に実現することはできません。最初からセキュリティのレベルが達成されています。次に、Substrate フレームワークと Polkadot は、特定の問題を解決する上で独自のものである必要があり、一致する市場が存在する必要があります。 Apple の要件が厳しく、敷居が比較的高いのと同様に、よりオープンで敷居が低い Android と比較すると、依然として利点があります。
