Marlin: レイヤー 0 のスケーラブルな方法
蓝狐笔记
2020-12-11 07:26
本文约6504字,阅读全文需要约26分钟
レイヤ 0 とパブリック チェーンのスケーラビリティ。

編集者注: この記事は以下から引用しましたブルーフォックスノート (ID:lanhubiji)、許可を得てOdailyによって転載されました。

編集者注: この記事は以下から引用しました

ブルーフォックスノート (ID:lanhubiji)

、許可を得てOdailyによって転載されました。

私はこれまでパブリック チェーンのスケーラビリティについて何度も話してきましたが、ほとんどの場合、シャーディング、プラズマ、ZK ロールアップ、オプティミスティック ロールアップ、ステート チャネル、サイド チェーンなどのレイヤー 1 とレイヤー 2 のスケーラビリティについて説明しています。 。現在、Blue Fox Notes はレイヤー 0 に焦点を当てています。

レイヤ 0 によるスケーラビリティは、イーサリアムのようなブロックチェーンに何をもたらしますか?

副題

レイヤ 0 とスケーラビリティ

レイヤ 0 は、ノード間で情報を受け渡すための通信層です。情報の構造化の方法は、合意に達する効率に直接関係します。合意に達する速度は、ブロックチェーンのスケーラビリティとセキュリティに関係します。この観点から見ると、レイヤー0はブロックチェーンのスケーラビリティの向上にも貢献できます。

ブロックチェーン ネットワークと集中型ネットワークの違いは、ブロックチェーン ネットワークは許可を必要とせず、インターネット自体からの制限を考慮する必要があることです。集中型企業の場合は、専用回線を使用して、CDN および SD-WAN を通じてネットワーク パフォーマンスを向上させることができます。分散型ネットワークの場合、これは現実的ではありません。

それでは、上記の問題を解決する可能性はあるのでしょうか?

副題

マーリンのレイヤー0

カジキとは世界一速い魚と言われているカジキのこと。 Marlin はブロックチェーンにサービスを提供する通信層であり、その推進により、カジキのようにブロックチェーン ネットワークの速度がますます速くなることを期待しています。 Marlin は、レイヤー 0 を介したブロックチェーンのスケーラビリティの開発に独自のソリューションを貢献したいと考えています。

画像の説明

(カジキは最も速く泳ぐ魚と言われています、Marlin.pro)

ブロックチェーンのTPSを向上させるには、一般にチェーンの観点からブロック容量を増やす方法とブロック生成時間を短縮する方法の2つがあります(ここでは水平シャーディングは考慮していません) )。

大きなブロックを使用する方法を採用すると、ノードが受信した情報を確認するのに時間がかかり、ブロックブロードキャストの速度が遅くなりますが、ブロック生成時間を短縮し、ブロック生成レートを高めると、フォーク問題が発生します。その理由の 1 つは、ブロックの伝播速度によっても制限されることです。ブロックの生成を高速化するには、ブロックの伝播を高速化する必要があります。現在のブロックの伝播速度では、ブロックの生成速度を上げることができません。ビットコインのブロックサイズを1Mの上限から32M、さらには2Gに変更したり、ブロック時間を約10分からさらに短い時間に短縮したりすると、スケーラビリティは向上しますが、より大きな問題が生じます。たとえば、ノード全体がオフラインではデータを同期できず、ブロックの再編成も必要になります。ブロックが大きすぎてブロックの生成時間が速すぎると、ネットワークの一貫性や可用性に問題が生じます。最も重要な理由の 1 つは、フル ノードがネットワークとハードウェアの物理的条件によって制限されることです。 、検証も放送も間に合わない。

Marlin ネットワークには、Marlin ノードと呼ばれる中継専用のノードがあり、ノード間で情報をやり取りすることで伝播速度を高速化できます。 Marlin は CDN 高速化技術を借用してネットワークを分割しているため、多数の中継ネットワークが存在します。

現在のネットワーク層も分散型プロトコルには向いていません。一部のプロトコルの現在のメカニズム設計では、競争のため、マイナーは自分のブロックを中継して最新のブロックを受信する動機はありますが、他のマイナーを積極的に拡散する動機はほとんどありません。マイナーはブロックを最初に掘り出すことを望んでいます。ノードは、他のノードが自身をブロードキャストしてヒッチハイクすることを期待し、帯域幅コストを節約します。同時に、このメカニズムは集中化にもつながります。これは、最終的には、これらのトランザクションを転送するインセンティブを持つのは大規模なノードのみであるためです。利己的なマイニングなどの問題を解決するために、Marlin には経済的インセンティブのメカニズムが組み込まれています。ネットワーク内のノードは、情報の中継に成功する限り報酬を得ることができるため、情報の送信速度が促進されます。インセンティブ機構を備えたネットワーク層を導入することで、スパム/DDoSなどの攻撃も防止できます。

パブリック チェーンにスケーラビリティを提供することに加えて、Marlin は DeFi アプリケーションに高速化されたサービスも提供できます。Siddhartha 氏は Marlin の創設者であり、パブリック チェーン プロジェクト Zilliqa の元コア開発者の 1 人です。彼はかつてこう述べた: 「たとえば、DeFi 分野では、Marlin のリレー フレームワークは周辺インターフェイスを提供でき、DeFi トレーダーに低遅延の利点を提供します。DApp の初期段階では、Infura、Alchemy、Graph などの API をクエリするとき、読み込み時間は 10 秒ほどかかることが多く、非常に遅いです。Marlin Cache を使用すると、この遅延を約 250 ミリ秒に短縮でき、DApp で Web2.0 のようなパフォーマンスを実現できます。」

すべての P2P アプリケーションはノード通信にネットワーク層を使用するため、分散ストレージまたはコンピューティングを使用するアプリケーションも Marlin のサービスを利用できます。たとえば、現在 IPFS を使用しているアプリケーションは、ユーザーのパフォーマンス向上を支援するために集中型 CDN を使用する必要があります。 Marlin の利点は、Filecoin/Arweave を使用するこれらのアプリケーションが CDN がなくても優れたパフォーマンスを達成できることです。この観点から見ると、Marlin は Web 2 時代の Akamai に似ています。

Marlin のレイヤー 0 のスケーラビリティ

Marlin は、レイヤー 0 上のパブリック チェーンのスケーラビリティの問題を解決します。コアは、リレー ネットワークとトークン インセンティブ メカニズムという 2 つの側面での設計に由来しています。

1. 中継ネットワーク

Marlinプロトコルは、中継ネットワークを構築するためのプロトコルです。プロトコル要件に従っている Marlin ノードは中継ネットワークを形成します。 Marlin ノードに加えて、リレー ノードとリレー ネットワークがパフォーマンスと SLA 保証を遵守していることを保証する監査ノードがあります。 Marlin ネットワークのユーザーはマイナーとフル ノードを持つことができます。マイナーは Marlin リレー ネットワークを使用してデータ パケットとブロックをブロードキャストし、フル ノード (ウォレットやマーチャントなど) は Marlin ネットワークを使用して最新のトランザクションとブロックを受信します。したがって、Marlin ネットワークは本質的にリレー ネットワーク マーケットです。

画像の説明

(Marlin ネットワークの主要プレーヤー、Marlin.pro)

上の図では、Marlin は参加者をプロデューサー、レシーバー、リレーラー、リレー クラスター (リレー ネットワーク) に分割しています。ここで、プロデューサーは、リレー ネットワークにブロックを導入するノードのグループです。プロデューサーは通常マイナーであり、ブロックをできるだけ早くブロードキャストします。プロデューサーはブロックの有効性に対して責任を負い、無効なブロックを導入したプロデューサーはペナルティを受けます。

受信者には、他のマイナー、取引所、ウォレット、ブロックエクスプローラー、または他のノードなどが含まれ、できるだけ早くブロックを受信したいと考えています。受信者が受信者になるには、プロトコルの購読料を支払う必要があります。リレイヤーは、プロデューサーから受信者にブロックを中継するノードのグループです。中継者はブロックをできるだけ早く配布することで報酬を受け取り、ブロックの中継配布に参加したノードのみが報酬を獲得する機会を持ちます。リレーラー クラスタは、リレーラーで構成されるリレー ネットワークのセットです。彼らはブロックを伝播することに集団的に責任を負い、そうすることで報酬を受け取ります。

さらに、マーリンプロトコルのネットワークはどのように構成されているのでしょうか?

Marlin ネットワークは、作成、管理、パケット ブロードキャスト、監視の 4 つの部分に分けることができます。

*作成する

Marlin ネットワークは多数の Marlin ノードで構成されており、Marlin ノードになるには、まず Marlin リレー ノード ソフトウェアを実行し、後述する一定量のトークンをプレッジする必要があります。これらのノードは、良好なネットワーク接続、エンド ユーザーに近い場所の分布など、特定の要件を満たす必要があります。

Marlin ノードになった後、ノードとリレー ネットワークは、IP アドレス、帯域幅の中央値、経度、緯度、誓約されたトークンの公開キーなどを含む独自の機能、機能、価格をターゲット ユーザー (マイナーやフル ノードなど) に表示できます。 。また、マイナーとフルノードは、ニーズに応じて中継ネットワークを選択できます。これにより取引市場が形成されます。

ノードはリレー クラスターを作成し、参加を許可されるノードの最大数、地理的位置に応じた参加ノードの最大数と最小数、ノードの最小プレッジ量、ノードの最小構成要件 (帯域幅、CPU コア、など)、最小 SLA 要件など。リレー ネットワークが作成されると、自動的に Marlin マーケットプレイスに表示されます。

*管理

ノードが中継ネットワークを作成した後は、ノードの参加、パラメータの調整、ノードの離脱などを含む中継ネットワークを管理する必要があります。

ノードは、招待されるか参加を申請することによってリレー ネットワークに参加できます。投票の過半数が同意した後、ノードはリレー ネットワークへの参加を招待でき、招待されたノードは、招待が期限切れになる前に招待トランザクションを発行する限り参加できます。もう 1 つの方法は、参加を申請し、過半数が同意した場合に中継ネットワークに参加することができます。

リレー ネットワークは、作成後は不変ではありません。ただし、その中のノードは最初は初期パラメータに従います。ただし、後続のノードが参加すると、これらのノードも発言する権利を持つようになります。ユーザーのニーズの変化や中継ネットワークの競争環境に応じて、中継ネットワークのパラメータも調整される可能性があります。これらはすべてガバナンスを通じて変える必要があります。現在、マリリン ネットワークはパラメータの調整に投票を使用しています。少数のノードが同意しない場合、ノードは離脱して独自の中継ネットワークを作成することを選択できます。

最後に、ノードは中継ネットワークから出るときに挨拶する必要があります。ノードが何の通知もなくリレー ネットワークを終了すると、リレー ネットワークとそのユーザーに非常に悪影響を及ぼします。 Marlin のリレー ネットワークでは、ノードがサイレントに終了するか、早期に終了すると、誓約されたトークンが減ります。リレーネットワークから出るノードは、exit ステートメントトランザクションを開始できます。リレー ネットワークが代替ノードを見つけた場合、そのノードはその請求期間が終了する前に終了することが許可されます。さらに、強制終了モードがあり、大多数のノードがノードの動作が不正であると判断した場合、そのノードをリレー ネットワークから追い出すこともできます。

※パケット放送

マイナーとマーチャントは Marlin リレー ネットワークのユーザーであり、Marlin SDK を統合するだけで Marlin ノードと通信できます。柔軟なサービスを提供するために、Marlin はモジュール構造を採用しており、プロトコル開発者はプラグインを作成して一部の機能をカスタマイズしたり、プロトコル関連のデータ パケットに対して Marlin ノードおよびフル ノード上でカスタム コードを実行したりできます。たとえば、さまざまなリレー ネットワークを選択するための戦略、特定の条件が満たされた場合のリレー ネットワークのランダムな選択、またはハードコードされたリレー ネットワークのリストなどです。

マイナーがブロックを生成すると、それを独自の戦略に従って中継ネットワークに送信できます。このとき、手数料の支払い(エントリ ノードのブロック検証コストをカバー)という問題に直面する可能性がありますが、手数料を支払うとさらに遅延が発生します。もう 1 つの方法は、最初のホップでのブロック検証を軽減するために、マイナーにトークンのプレッジを要求することです。スパムの場合は、ペナルティを課すことができます。

Marlin のリレー ネットワークは、ソースに基づいて最適化されたマルチキャスト パスを備えたメッシュ ネットワークです。さまざまな経路のパケットロス率、帯域幅、待ち時間を常に監視し、最短時間でのブロックのマルチキャスト送信を実現します。

ブロックとトランザクションの受信に関しては、マイナーは隣接する Marlin リレー ノードをサブスクライブして、新しいブロックとトランザクションの通知を受け取ります。 Marlin ノードは新しいブロックを受信するたびに、そのハッシュをすべてのサブスクライバーに送信します。新しいブロックとトランザクションを受信する加入者は、少額の料金を支払います。同時に、追加の遅延を避けるために、ノードはホワイトリストのマイナーに直接プッシュし、後で支払うことができます。

*監視

これらの監査ノードはまず匿名であり、通常のマイナーまたはフルノードとまったく同じように見えます。監査ネットワークは中継ネットワークから独立しています。特定のノードが良好にパフォーマンスしているかどうかを確認するために、監査ノードはシェリング ポイント メカニズムを通じて投票し、それによってこれらのノードが SLA 義務を満たしているかどうかを確認します。ノードが要件を満たさない場合、その誓約されたトークンはスラッシュされます。

2. トークンインセンティブのメカニズム

画像の説明

文章

まず第一に、POND は料金の支払い、中継ノードの動機付けに使用でき、またノードの悪行を抑制するためにも使用できます。前述したように、現在のブロックチェーン ネットワークのノードは、場合によってはトランザクションやブロックを積極的に転送しません。 Marlin のトークン メカニズムは、トランザクションとブロックを転送する動機をノードに与え、パフォーマンスを継続的に向上させ、できるだけ早くデータ パケットを転送するようにノードを動機付け、データ パケットを作成するノードの動機を低下させようとして、この問題を解決しようとします。伝播経路におけるシビルのアイデンティティなど

中継ノードの料金割り当てメカニズムは、孤立防止、秩序の維持を満たす必要があります。この問題を解決するには、トランザクションとブロックに、元のコンテンツ本文に添付された証人を含める必要があります。 1 つは署名付きリンクです。コンテンツを転送する伝播パス内の各ノードは公開キーを添付し、その本体に秘密キーで署名します。さらに、キーリストがあり、ノードは新しくキーペアを作成します

文章

文章

文章

文章

文章

文章

文章

文章

文章

文章

文章

文章

副題

文章

要約すると、Marlin がパブリック チェーンのスケーラビリティ向上を支援できる理由は、最適化されたリレー ネットワーク システムの構築にあります。この中継ネットワーク システムでは、中継者はプロデューサーのブロックとトランザクションを最短時間で受信者にブロードキャストすると同時に、対応する手数料収入を得ることができます。この中継ネットワークシステムでは、そのトークンメカニズムが中継ネットワーク市場全体の維持に重要な役割を果たしています。

蓝狐笔记
作者文库