理論から実践へ、Lens ProtocolのLayer3拡張ソリューションMomokaを一文で理解する
編纂:Peng SUN,Foresight News
4月27日、Web3ソーシャルグラフプロトコルLens Protocolは、Optimistic L3拡張ソリューションMomokaのベータ版(旧名Bonsai)を発表し、Lens開発者が利用できるようになりました。Momokaが解決しようとしているのは、ブロックチェーンのストレージとスケーラビリティの制限、およびWeb3ソーシャルの大規模採用との矛盾の問題です。このソリューションは、ユーザーの主権を犠牲にすることなく、ネットワークのスループットを向上させ、コストを削減しようとしています。Momokaの特徴は、トランザクションをL1に圧縮するのではなく、データ可用性層に送信して保存することです。
一、ブロックスペースを超えた拡張:データ可用性層
Web3ソーシャルグラフプロトコルとして、Lens Protocolはユーザーが自分のデジタルアイデンティティとソーシャルグラフを所有し、管理できることをサポートし、また、ユーザー生成コンテンツ(テキスト、音楽、ビデオ)をNFTとしてミントすることを可能にし、クリエイターがNFTを通じて収益を上げることを許可します。今日までに、Lensユーザーはすでに340万枚以上のNFTを作成・収集しており、平均収益は約50万ドルです。コンテンツをNFTとしてトークン化するには、ブロックチェーンが提供するセキュリティとトランザクション保証のために一定の手数料コストを支払う必要がありますが、コンテンツクリエイターにとって重要なのは、特定のコンテンツがトークン化に適しているかどうかを判断することです。一部のコンテンツは、そのレベルのセキュリティと保証を必要としない場合があります。
データ可用性層(Data availability layers)は、データをオンチェーンに保存することを避け、オンチェーンリソースを既存のデータ可用性の場所(ストレージ)に指向させることでコストを削減します。これは、NFTなどのオンチェーンの所有権に関連する情報を拡張する便利な方法です。同様に、Lens上のコンテンツには実際のオンチェーントランザクションが含まれる場合がありますが、コンテンツデータ自体はArweaveなどのデータ可用性の場所にリンクされています。
別のソリューションであるBundlrは、Arweaveのスケーラビリティを実現し、データ可用性の保証を提供し、EVMをサポートするウォレットを使用してDAロジックを保存し、迅速にデータをArweaveに公開します。DA層は、投稿、コメント、ミラー(Mirrors)、いいねなどのLensのネイティブ操作を保存するために使用できます。
しかし、オンチェーンにデータを保存するコストは高く、EVMは各ブロック内の限られた数のトランザクションを、1つのブロックに設定された最大Gas制限に基づいて処理することしかできません。Polygon PoSは、ブロック時間が2秒の共有ブロックスペースです。したがって、いくつかの遅延は避けられず、各ブロックの最大Gas制限は、高需要のソーシャルメディア操作のスケーラビリティを困難にします。しかし、Polygon PoSは、ブロックチェーンに基づくLensのアーティファクト(たとえば、プロフィールやユーザーネットワークの所有権)を保護するための優れたソリューションです。実際、多くのユーザー生成コンテンツのトークン化は、zkEVMロールアップ上でミントされ、Ethereumネットワークを最終層として使用できます。
一般的に、高需要のソーシャル体験のピークは25,000 TPSです。Lens Protocolは今日、このレベルの容量を必要としないかもしれませんが、スケーラビリティは依然として考慮すべき重要な要素であり、LensがWeb3にソーシャルレイヤーを提供し、あらゆるソーシャルネットワークのユースケースをサポートできるようにします。Momokaを使用することで、Lensのスケーラビリティはブロックスペースに制限されなくなります。
Lensでは、Web3の社会インフラストラクチャスタックは、異なるネットワークアーティファクトのタイプに応じて、精緻で特別に構築されるべきだと考えています。ユーザーのプロフィールなどの高価値のアーティファクトには、より高いセキュリティが価値があります。コメントなどのよりカジュアルなネットワークアーティファクトには、より軽量なDAインフラストラクチャ層が実行可能なソリューションとなるかもしれません。
二、Lensネイティブの超大規模ソリューション
Momokaは、Optimistic L3拡張ソリューションであり、Polygonトランザクションをオフチェーンで処理して超大規模を実現し、トランザクションコストを削減します。ブロックチェーンを使用してユーザーに所有権と制御を提供することは重要ですが、Momokaはソーシャルネットワークに新しいソリューションを追加し、Lensがより大規模なスケーラビリティを提供できるようにします。Momokaは、トランザクションをL2ソリューションのようにL1に圧縮するのではなく、トランザクションをデータ可用性層に送信してコストを最適化し、ソーシャルメディアネットワークに必要なより高いスケーラビリティを実現します。これにより、ブロックスペースやブロック時間の設定制限を考慮する必要がなくなります。
Momokaはオープンソースソフトウェアであり、誰でもノードとしてリアルタイムで実行でき、信頼のないトランザクション提出者と検証者を操作してLensデータ可用性コンテンツの出版物(Publication)と関連操作を検証します。理想的には、唯一の検証者を実行するだけで決定論的な結果が得られます。長期的な目標は、Momokaを完全なネットワークプロトコルインフラストラクチャに拡張することであり、1つのコンテンツ出版物が複数のMomokaノードによって提出および検証され、コンテンツ出版物の有効性を高めることができます。
Momokaの構築方法は、Lens APIなどの接続層に依存していません。ノード運営者は完全に独立してノードを運営できるため、Lens APIやLens Protocolへのアクセスポイントが存在しなくなっても、コンテンツの有効性を常に証明できます。Momokaはインデックスもサポートしており、これによりノード運営者はMomokaを通じてLensデータをストリーミングおよびインデックス化でき、第三者がLensの無許可データインフラストラクチャを保持および拡張する必要がありません。
即日、Momokaノードを運営し、Lensエコシステムに貢献したい場合は、GitHubにアクセスしてLensデータ可用性トランザクションの検証を開始してください。
三、Momokaの運用方法
Lens Protocolは現在、EVMベースのPolygonネットワークにデプロイされており、投稿、コメント、ミラー、フォロー、コレクションなどのすべての操作は、EVM上に構築、署名、送信されて保存されるトランザクションです。EVMプロセスとは異なり、Momokaはトランザクションを構築するためにウォレットからの署名を必要とします(これはオンチェーンで状態を伝達します)が、実際のトランザクションをオンチェーンで送信およびブロードキャストすることはありません。
代わりに、トランザクションの署名と型付けされたデータは、DAメタデータをトランザクションとして作成するために使用されます。その後、このトランザクションはDA層に送信され、トランザクション作成時のブロック番号とブロックハッシュ、署名された型付けデータ、トランザクション署名、およびその他の重要な詳細などの情報が含まれます。このデータの構造は、アーカイブノード1つで完全に検証できます。
EVMの機能は大規模な状態機械です。EVMのJSON-RPCメソッドは、eth_callを使用してトランザクションをシミュレートすることを許可し、実際に送信することなくトランザクションの結果を決定できます(一定の制限があります)。ブロック番号を指定してシミュレーショントランザクションを実行し、署名された型付けデータトランザクションと型付けデータを一緒に使用できます。これは、Lens Protocolスマートコントラクト上の各withSigメソッドを介して行うことができます。Polygonノード1つで、誰でもDA層のデータが正確であり、その時点で有効であり、Lens Protocolスマートコントラクトのルールに準拠していることを検証できます。
Momokaは、Lensエコシステムが現在のEVMチェーンでは実現できないより高いTPSに拡張できるようにし、コスト効率が高く低遅延のソリューションを提供します。これにより、ユーザーが自分のプロフィールやソーシャルグラフに対する所有権と制御を維持するというコアバリューに影響を与えることなく、実現できます。同時に、インデックスプロセスはアプリケーション開発者にとって馴染みのあるものです。Momokaの使用は任意であり、Momokaを好む人は、すべての情報をPolygonに保存し続けることができます。ただし、コンテンツ出版物が信頼のない実行層の機能を必要としない場合、EVM状態を使用する必要はありません。
Momokaは、ノード運営者が特定の操作がLens Protocolスマートコントラクトのルールに従ってオンチェーンで実行されたか(または他のスマートコントラクトのルールに基づいて検証されたか)を確認できるようにし、トランザクション自体は検証のためにデータ可用性層に保存されます。
Momokaは、EVMチェーン上で同じ署名操作を実行することを含みますが、オンチェーンで実際にトランザクションを送信し、EVM状態でトランザクションを実行するために必要なGasを消費する必要はありません。代わりに、データ可用性トランザクションはMomokaのルールに基づいて作成され、DA層にエクスポートされ、証明と必要な情報が添付されます。このソリューションにより、誰でもデータをクロスチェックし、その操作がトランザクション署名を作成し提出する能力を持つユーザーによって実行されたことを証明する保証された証拠を提供できます。トランザクション自体はシミュレーションによって示されます。このアプローチにより、Lensはブロックチェーンが提供する所有権と信頼を維持しながら、ユースケースやコンテンツタイプに応じて、いつでもどこでも拡張できます。
データが分散型層に保存されているため、中央集権的なエンティティがコンテンツを制御することはありません。ユーザーは自分のコンテンツ出版物の所有権を保持し、Lensエコシステムのいかなる部分が失敗しても、データは依然として検証可能でアクセス可能であり、誰でも使用できる状態です。分散型は、ユーザーのデータ提出が改ざんされないことを保証します。
四、Momokaネットワークの構成要素
提出者(Submitters)
提出者は、DAメタデータを検証し構築し、Arweaveに提出する責任があります。DA提出が証明を生成した後、データはBundlrを介してArweaveにアップロードされ、即座に応答を得ることができます。提出者は、誰でも異議を唱えることができる証明を提供する必要があります。検証者ソフトウェアは、ホワイトリストに登録された提出者アドレスから送信されたDAコンテンツ出版物を監視し、その有効性を確認します。
信頼を維持するために、提出者は自分の行動に責任を持ち、ネットワークプロトコルによって検証される不正行為に対する潜在的な罰則に直面します。最初は、提出者のホワイトリストには、Lensコアチームが運営する単一のアドレスが含まれます。この方法が証明されると、システムは拡大され、誰でも提出者になることができ、良好な行動に対して報酬が与えられ、不正行為に対して罰が与えられます。提出者に損失が発生しない場合、無効な提出でシステムを混乱させ、検証者を圧倒し、遅延を引き起こす可能性があります。
テスト段階では、Lensチームがすべてのエラーを修正する責任を負い、テスト終了後にエラーに対してバグ報奨金を提供する予定です。
検証者(Verifiers)
検証者の任務は、提出者のDAコンテンツ出版物を監視し、その有効性を確認することです。彼らは、発表されるコンテンツ出版物を評価する際に特定の基準に従う必要があり、主な目標は提出者が本物であることを確認することです。誰でもオープンソースソフトウェアを使用して、いくつかのコマンドで検証者を実行できます。検証者はLevelDBを利用して結果を迅速に保存します。このコードは、フォークアーカイブノードをFoundryのanvilと一緒にローカルマシンで実行するために使用できます。しかし、最良の速度を得るためには、現在はアーカイブノードの使用が推奨されています。検証者を実行するために必要なのは、アーカイブノード1つだけです。
タイムスタンプ(Timestamps)
提出者がどのブロックで提出したかについてあなたを欺く可能性があることを心配しているかもしれませんが、これはBundlrのタイムスタンプ証明が機能する場所です。さらに、各署名には締切があり、その締切はマイニングブロックのタイムスタンプに対応しており、送信されると署名は無効になります。Bundlrは、タイムスタンプ証明を要求でき、保存時に現在のタイムスタンプを返し、誰でもそのタイムスタンプを検証できるようにします。これは、適切なブロック番号を使用するための真のソースを特定するためのものです。Bundlrが生成したタイムスタンプに最も近いブロック番号を使用する必要があります。ノードソフトウェアの理由により、遅延は避けられないため、ブロック番号を選択し、検証された場合、1つのブロック番号に遅れた場合でも、許容範囲内です。
五、署名不要の後方互換性
優れたユーザー体験はLensユーザーにとって非常に重要です。DAコンテンツ出版物は、ユーザーを代表して投稿、ミラー、またはコメントするディスパッチャー(dispatcher)と連携して機能します。これが有効な場合、状態チェックを介して行われます。Lens Protocol契約ロジックは、ディスパッチャーがユーザーを代表して署名した場合、トランザクションが有効であることを規定しています。ディスパッチャーを信頼したくないユーザーは、ウォレットで型付けデータに署名し、提出者を介して提出することができます。このプロセスは現在のプロセスに似ていますが、トランザクションはPolygonノードではなくMomoka提出者に送信されます。
無Gas
DA操作はGasを必要とせず、無料で使用できます。クライアントは依然としてcontentURIを解決可能な場所にアップロードする必要があります。提出者はBundlrを介してArweaveにDAメタデータを保存する費用を支払い、これは実行可能なEVMトランザクションのコストよりもはるかに低い(1000倍低い)です。
コレクション
ユーザー生成コンテンツをNFTとしてコレクションすることは、Lensプロトコルにおける重要なマネタイズ層です。Momokaトランザクションはオンチェーントランザクションではありませんが、クリエイターがこれらのパラメータを設定してトークン化を有効にする場合、クリエイターまたはコンテンツ消費者はクリエイターのために「怠惰なミント」(lazy mint)を行うことができます。これは、アイデアがあれば、任意のコンテンツをマネタイズできることを意味します。私たちは、統合業者がPolygon上で怠惰なミントを機能として実装し、Momokaで展開することを期待しています。
六、Momokaエクスプローラー
Momokaを使用したトランザクションを簡単に見つけるために、LensはMomoka Explorer(momoka.lens.xyz)を構築し、Momokaトランザクションを追跡および検索し、Momokaのスループットを監視します。トランザクションのすべての詳細と関連データを見つけることができます。Momoka Explorerは、独自のノードを介してトランザクションを検証することも許可します。
七、Momokaロードマップ
Momokaのベータ版が現在オンラインです。誰でもMomokaノード検証者を使用してトランザクションを証明および検証できます。現在、Momokaがサポートするトランザクションには、コンテンツ出版物の公開、コメント、ミラーが含まれます。近い将来、Momokaはデータ可用性コメントをオンチェーンコンテンツ出版物に公開することをサポートし、その逆も可能になります。
将来的には、Momokaトランザクションがネットワークプロトコルとして機能する可能性があり、複数のノードがトランザクションの有効性を確認するために検証し、ノード間で相互に検証に異議を唱えることができます。ネットワークプロトコルは、プロトコルの有効性を維持するためにインセンティブと罰則メカニズムを伴うこともできます。
Momokaはオープンソースソフトウェアであり、誰でも貢献し、改善を手助けできます。Momokaが超大規模でどのように機能するかをより多く理解するにつれて、チームはソースコードを継続的に改善し、機能を追加していきます。
Momokaは、ノードネットワークとして設計されており、汎用のデータ拡張ソリューションとして機能することも、ソーシャルネットワーク以外の他のユースケースで使用されることもできます。