Jump Crypto:ブロックチェーンインフラストラクチャのセグメントと地図の詳細解説

JumpCrypto
2022-03-30 12:38:46
コレクション
この機関は、ブロックチェーンのインフラストラクチャは主に0層インフラストラクチャ、中間ウェア、ブロックチェーン開発の三つの部分から成ると考えています。

原著者:Rahul Maganti/Jump Cryptoパートナー、Saurabh Sharma/Jump Crypto副社長

原題:《Peeking Under the Hood: Key Pillars of Crypto Infrastructure

編纂:泽祎、麟奇、链捕手

概要

クロスチェーンブリッジ、新しいフレームワーク、その他のコア暗号プロトコルの急速な出現に伴い、ブロックチェーンインフラストラクチャを効果的に計画することは、ユーザー、開発者、投資家にとって重要な課題のままです。「ブロックチェーンインフラストラクチャ」という用語は、基盤となるネットワークスタックからコンセンサスモデルや仮想マシンまで、さまざまな製品やサービスを含むことができます。L1/L2チェーンを構成するさまざまな「コア」コンポーネントについて、より深く分析することを後日発表する予定です(お楽しみに!)。この記事での具体的な目標は:

  • ブロックチェーンインフラストラクチャの重要なコンポーネントの広範な概要を提供すること。
  • これらのコンポーネントを明確で消化しやすいサブセクションに分解すること。
  • インフラストラクチャマップ

私たちは、ブロックチェーンインフラストラクチャのエコシステムを、以下の重要な分野をサポートすることを目的としたL1およびL2開発のプロトコルとして定義します:

  • 0層インフラストラクチャ:(1) 分散型クラウドサービス(ストレージ、計算、インデックス);(2) ノードインフラストラクチャ(RPC、ステーキング/バリデーター)
  • ミドルウェア:(1) データの可用性;(2) 通信/メッセージングプロトコル
  • ブロックチェーン開発:(1) セキュリティとテスト;(2) 開発者ツール(即使用可能なツール、フロントエンド/バックエンドライブラリ、言語/IDE)。

image

第0層インフラストラクチャ

分散型クラウドサービス

クラウドサービスはWeb2の発展に不可欠です------アプリケーションの計算とデータの需要が増加する中、経済的かつ迅速にこれらのデータと計算を提供するサービスプロバイダーが重要です。Web3アプリケーションもデータと計算に対して同様のニーズを持っていますが、ブロックチェーンの精神に忠実であることを望んでいます。そのため、これらのWeb2サービスの分散型バージョンを作成することを目的としたプロトコルが登場しました。分散型クラウドには3つのコア部分があります:

  • ストレージ - データ/ファイルは、多くのエンティティによって運営されるサーバーに保存されます。データが複数のマシンに複製またはストライプされるため、これらのネットワークは高い耐障害性を実現できます。
  • 計算 - ストレージと同様に、計算はWeb2のパラダイムでは集中しています。分散型計算は、この計算を多くのノードに分散させて、より高い耐障害性を実現することに焦点を当てています(1つまたは一群のノードが故障しても、ネットワークはリクエストにサービスを提供し続け、パフォーマンスへの干渉を最小限に抑えます)。
  • インデックス - Web2の世界では、データは1つのエンティティが所有し運営するサーバーの1台または一群に保存されており、これらのデータをクエリすることは比較的容易です。ブロックチェーンノードは分散しているため、データは孤立している可能性があり、異なる領域に分散しており、しばしば互換性のない標準の下にあります。インデックスプロトコルは、これらのデータを集約し、これらのデータにアクセスするための使いやすく標準化されたAPIを提供します。

ストレージ、計算、インデックスを提供するプロジェクトはいくつかあります(AlephやAkashネットワーク)、他のプロジェクトはより専門的です(例えば、The Graphはインデックス用、Arweave/Filecoinはストレージ用です)。

ノードインフラストラクチャ

リモートプロシージャコール(RPC)は、多くのタイプのソフトウェアシステム機能の中心です。これにより、あるプログラムが別のコンピュータ上のプログラムを呼び出したりアクセスしたりできます。これはブロックチェーンに特に有用であり、ブロックチェーンは異なる地域や環境で動作するさまざまなマシンからの大量の受信リクエストにサービスを提供する必要があります。Alchemy、Syndica、Infuraなどのプロトコルは、このインフラストラクチャをサービスとして提供し、ビルダーがノードへの呼び出しの転送やルーティングに関わる基盤となるメカニズムに集中できるようにします。

多くのRPCプロバイダーと同様に、Alchemyはすべてのノードを所有し運営しています。暗号コミュニティの多くにとって、集中型RPCの危険性は明らかです------それは単一障害点を導入し、ブロックチェーンの活性を危険にさらす可能性があります(つまり、Alchemyが失敗すると、アプリケーションはブロックチェーン上のデータを取得またはアクセスできなくなります)。最近、Pocketのような分散型RPCプロトコルがこれらの問題を解決するために成長していますが、このアプローチの有効性は大規模なテストを待っています。

ステーキング/バリデーター------ブロックチェーンのセキュリティは、チェーン上のトランザクションを検証するために分散ノードのセットに依存していますが、コンセンサスに参加するノードを実際に運営する必要があります。多くの場合、ノードを運営するために必要な時間、コスト、エネルギーは圧倒的であり、多くのノードが退出し、他のノードにチェーンの安全性を確保する責任を依存することになります。

しかし、この態度は深刻な問題を引き起こします------もし誰もが他の人に安全性を移転することを決定すれば、誰も検証しなくなります。P2PやBlockdaemonなどのサービスは、あまり成熟していないか資本が不足しているユーザーがコンセンサスに参加できるようにインフラストラクチャを運営し、通常は資本を集中させます。一部の人々は、これらのステーキングプロバイダーが不必要な集中をもたらすと考えていますが、代替案はさらに悪いかもしれません------このようなプロバイダーがなければ、一般のネットワーク参加者にとってノードを運営するための参入障壁が高すぎて、より高い集中を引き起こす可能性があります。

ミドルウェア

データの可用性

アプリケーションは大量のデータを消費します。Web2の例では、これらのデータは通常、ユーザーまたは第三者プロバイダーから集中型で直接提供されます(データプロバイダーは、データを集約して特定の企業やアプリケーションに販売することで直接報酬を得ます------例えば、Amazon、Google、または他の機械学習データプロバイダー)。

DAppもデータの大量消費者ですが、これらのデータをチェーン上で実行されるユーザーやアプリケーションが利用できるようにするためには、バリデーターが必要です。信頼の仮定を最小限に抑えるために、これらのデータを分散型の方法で提供することが非常に重要です。アプリケーションは、主に2つの方法で高忠実度のデータに迅速かつ効率的にアクセスできます:

PythやChainlinkなどのデータオラクルは、データストリームへのアクセスを提供し、暗号ネットワークが信頼性が高く分散型の方法で従来のシステムや他の外部情報と接続できるようにします。これには、高品質の財務データ(つまり、資産価格)が含まれます。このサービスは、DeFiを取引、貸付、スポーツベッティング、保険、その他多くの分野に拡張するための広範なユースケースにとって重要です。

データの可用性層は、トランザクションを並べ替え、そのデータをサポートするチェーンで利用可能にすることを専門としています。通常、ブロックの一部を使用して、顧客にすべてのブロックデータがチェーン上に公開された高い確率の確認を生成します。データの可用性証明は、Rollupシーケンサーの信頼性を保証し、Rollupトランザクション処理コストを削減するための重要な要素です。Celestiaはこの層の良い例です。

通信とメッセージング

Layer1およびそのエコシステムの数が増えるにつれて、クロスチェーン管理の可組み性と相互運用性のニーズがますます高まっています。クロスチェーンブリッジは、元々孤立していたエコシステムが意味のある方法で相互作用できるようにし、新しい貿易ルートが元々異なる地域をつなぐのと似ています。知識共有の新時代を切り開きます!Wormhole、Layer Zero、その他のクロスチェーンブリッジソリューションは、汎用メッセージングをサポートし、あらゆる種類のデータや情報(逮捕を含む)が複数のエコシステムを越えて移動できるようにします。アプリケーションは、他の場所にデプロイすることなく、他のコミュニティに入ることができるように、クロスチェーンで任意の関数呼び出しを行うことができます。Synpase、CELERなどの他のプロトコルは、資産やトークンのクロスチェーン転送に制限されています。

オンチェーンメッセージングは、ブロックチェーンインフラストラクチャの重要なコンポーネントであり続けます。DAppの開発と小売の需要が高まる中、プロトコルが意味のある方法でユーザーと相互作用する能力は、成長の重要な原動力となります。以下は、オンチェーンメッセージングが役立つ可能性のあるいくつかの分野です:

  • トークン受取通知。
  • ウォレット内に組み込まれた通信メッセージングを許可。
  • プロトコルの重要な更新に関する通知。
  • 重要な問題の追跡通知(例:DeFiアプリケーションのリスク指標、安全性の脆弱性)。

注目すべきオンチェーン通信プロトコルの開発プロジェクトには、Dialect、Ethereum Push Notification Service(EPNS)、XMTPがあります。

ブロックチェーン開発

セキュリティとテスト

暗号技術のセキュリティとテストは、相対的に初期の未発達な段階にありますが、全体のエコシステムの成功にとって不可欠であることは否定できません。暗号アプリケーションは特にセキュリティリスクに敏感であり、通常はユーザー資産に直接関係しています。その設計や実装の小さな誤りは、深刻な経済的結果を引き起こすことがよくあります。

主要なセキュリティとテストの方法は7つあります:

  • 単体テストは、ほとんどのソフトウェアシステムテストスイートの中心部分です。開発者は、プログラム内の小さな原子部分の動作をチェックするためにテストを作成します。さまざまな実用的な単体テストフレームワークがあります。例えば、EthereumのWaffleやTruffle、Solanaの標準はAnchorテストフレームワークです。
  • 統合テストは、さまざまなソフトウェアモジュールをグループとしてテストします。ライブラリや高レベルのドライバはさまざまな方法で相互作用し、他の低レベルモジュール間の相互作用(例えば、TypeScriptライブラリと一群の基盤となるスマートコントラクトの相互作用)もあります。これらのモジュール間のデータと情報の流れをテストすることは非常に重要です。
  • 監査は、ブロックチェーンセキュリティプロセス開発の中心部分となっています。スマートコントラクトを一般に公開する前に、プロトコルは通常、第三者のコード監査者を利用して、各行のコードをチェックし検証します。私たちは、最高のセキュリティを確保するために監査者を非常に重視しています。Trail of Bits、Open Zeppelin、Quantstampは、ブロックチェーン監査の分野で信頼されているいくつかの機関です。
  • 形式的検証は、プログラムまたはソフトウェアコンポーネントが一連の属性を満たしているかどうかを確認することを含みます。通常、誰かがプログラムの動作方法を詳細に示す正式な仕様を作成します。形式的検証フレームワークは、この仕様を一連の制約に変換し、それを解決して検証します。スマートコントラクトのセキュリティを強化するための先進的なプロジェクトの1つはCertoraであり、Runtime Verificationを使用して形式的検証を実施し、スマートコントラクトのセキュリティをサポートします。
  • シミュレーション---長年にわたり、定量取引会社はエージェントベースのシミュレーションを使用してアルゴリズム取引戦略をバックテストしてきました。ブロックチェーンでの実験の高コストを考慮すると、シミュレーションアプローチは、パラメータ化されたプロトコルをテストし、さまざまな仮定を検証する方法を提供します。その中で、Chaos LabsとGuantletは、シナリオベースのシミュレーションを利用してブロックチェーンとプロトコルを保護する優れたプラットフォームです。
  • バグバウンティは、暗号分野の分散型精神を活用して大規模なセキュリティの課題に取り組むのに役立ちます。高額な報酬は、コミュニティメンバーやハッカーに重要な脆弱性の問題を報告し解決するよう促します。したがって、バウンティプログラムは「グレー帽」を「ホワイトハット」に変える独自の役割を果たしています。例えば、Wormholeが作成したバウンティプラットフォームImmunefiは、最大1000万ドルのバグバウンティを提供しています!私たちは誰でも参加することを奨励します!
  • テストネットは、メインネットに似たネットワークの表現を提供し、開発者が開発環境でテストとデバッグパラメータを行うのをサポートします。多くのテストネットは、Proof-of-Authority/その他のコンセンサスメカニズムと少数のバリデーターを使用して速度を最適化し、テストネット上のトークンには実際の価値がありません。したがって、ユーザーは水道からトークンを取得する以外の方法がありません。多くのテストネットは、EthereumのRinkeby、Kovan、Ropstenなど、メインネットL1上のいくつかのプロジェクトを模倣するために構築されています。

各方法にはそれぞれの利点と欠点があり、もちろん相互排他的ではなく、異なるテストスタイルは通常、プロジェクト開発の異なる段階で使用されます:

  • 第1段階:コントラクトを構築する際に単体テストを作成します。
  • 第2段階:より高レベルのプログラム抽象が構築されると、統合テストはモジュール間の相互作用をテストするために非常に重要になります。
  • 第3段階:コード監査はテストネット/メインネットのリリースまたは大規模な機能リリース時に行われます。
  • 第4段階:形式的検証は通常、コード監査と組み合わせて行われ、追加のセキュリティ保証を使用します。一度プログラムが指定されると、残りのプロセスは自動化でき、Continuous IntegrationやContinuous Deploymentツールと簡単に組み合わせることができます。
  • 第5段階:テストネットでアプリケーションを起動し、スループット、トラフィック、その他のスケーリングパラメータを確認します。
  • 第6段階:メインネットにデプロイされた後、バグバウンティプログラムを開始し、コミュニティリソースを活用して問題を見つけて修正します。

開発者ツール

あらゆる技術やエコシステムの成長は、その開発者の成功に依存しています---特に暗号分野ではそうです。私たちは開発者ツールを4つの主要なカテゴリに分けます:

  • 即使用可能なツール
  • 新しいL1を開発するためのSDKは、コンセンサスモデルの作成とデプロイのプロセスを抽象化するのに役立ちます。事前構築されたモジュールは柔軟性とカスタマイズを可能にしますが、開発速度と標準化に最適化されています。Cosmos SDKはその良い例であり、Cosmosエコシステム内で新しい検証済みのブロックチェーンを迅速に開発することをサポートします。Binance ChainやTerraは、Cosmosを基盤とした公的なブロックチェーンの有名な例です。
  • スマートコントラクト開発----開発者がスマートコントラクトを迅速に開発するのを助けるための多くのツールがあります。例えば、Truffle boxesには、シンプルで便利なSolidityコントラクト(投票など)の例が含まれています。コミュニティはこのリポジトリに付録を推薦することもできます。
  • フロントエンド/バックエンドツール---アプリケーションの開発を簡素化するための多くのツールがあります。アプリケーションをチェーンに接続する(つまり、ethers.js、web3.jsなど)。
  • アップグレードとコントラクトとのインタラクション(例えばOpenZeppelin SDK)---さまざまなエコシステムに特化したさまざまなツールがあります(例えば、SolanaスマートコントラクトのAnchor IDL、ParityスマートコントラクトのInkなど)、これらはRPCリクエストハンドラーの作成、IDLの発行、IDからクライアントを生成することを処理します。
  • 言語とIDE---ブロックチェーンのプログラミングモデルは、通常、従来のソフトウェアシステムのプログラミングモデルとは大きく異なります。ブロックチェーン開発に使用されるプログラミング言語は、このモデルを支援するために設計されています。EVM互換チェーンでは、SolidityとVyperが広く使用されています。他の言語は、RustがSolanaやTerraのような公的なブロックチェーンで広く使用されています。

結論

ブロックチェーンインフラストラクチャは、過負荷で混乱を招く用語かもしれませんが、通常はスマートコントラクト監査からクロスチェーンブリッジに至るまでの一連の製品やサービスの同義語です。したがって、暗号インフラストラクチャに関する議論は、あまりにも広範で雑然としているか、一般の読者にとってはあまりにも具体的でターゲットを絞ったものになっています。私たちはこの記事が、暗号業界に新しく入った人々や、より深い概要を求める人々にとって適切なバランスを見つける手助けになることを願っています。

もちろん、暗号業界は急速に変化しており、この記事で引用されたプロトコルは、2か月後または3か月後にはエコシステムの代表的なサンプルではなくなる可能性が高いです。それでも、私たちはこの記事の主な目標(つまり、インフラストラクチャをより理解しやすく理解できる部分に分解すること)が将来的により大きな関連性を持つと考えています。しかし、ブロックチェーンインフラストラクチャの状況が進化するにつれて、私たちの考えを明確に一貫した形で更新し続けることを確実にします。

質問やコメントがある場合は、Rahul Maganti(@rahulmaganti)およびSaurabh Sharma(@zsparta)にご連絡ください。私たちがどこで間違っているか、またはあなたがどこで異なる意見を持っているかを教えてください!特にNikhil Suri(@nsuri)に感謝します。そして、Lucas Beck(@sansgravitas)にも、貴重なフィードバックを提供してくれたことに感謝します。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
banner
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する