見出し画像

Lens Protocol|あらゆるアプリケーションにプラグインできるユーザー所有のオープンなWeb3型ソーシャルグラフ

Lens Protocolは、Polygon Proof-of-Stakeブロックチェーン上のWeb3ソーシャルグラフであり、作成者が自分自身とコミュニティの間のリンクを所有できるように設計されており、完全に構成可能なユーザー所有のソーシャルグラフを形成します。このプロトコルは、モジュール性を念頭に置いてゼロから構築されており、ユーザーが所有する不変のコンテンツと社会的関係を確保しながら、新しい機能や修正を追加できます。

レンズプロトコルは、既存のソーシャルネットワークやグラフとどのように比較されますか?


Lens Protocolは、既存のソーシャルメディアネットワークの主要な問題を解決しようとしています。つまり、Web2ネットワークはすべて、独自の集中型データベースから読み取られます。移植性はありません。あなたのプロフィール、友達、コンテンツは特定のネットワークにロックされており、ネットワークオペレーターが所有しています。これにより、各ネットワークはあなたの注意を引くためにゼロサムゲームと戦います。

Lens Protocolは、あらゆるアプリケーションがプラグインできるユーザー所有のオープンなソーシャルグラフになることで、これを修正します。ユーザーは自分のデータを所有しているため、LensProtocol上に構築された任意のアプリケーションにデータを持ち込むことができます。コンテンツの真の所有者として、クリエイターは、個々のプラットフォームのアルゴリズムとポリシーの気まぐれに基づいて、コンテンツ、視聴者、生計を失うことを心配する必要がなくなりました。さらに、Lens Protocolを使用する各アプリケーションは、エコシステム全体にメリットをもたらし、ゼロサムゲームをコラボレーションゲームに変えます。開発者は、ユーザーの注意を引くためにフィードバックメカニズムに頼る必要なしに、意味のあるソーシャルエクスペリエンスを設計できます。

Lens Protocolの目的は、作成者が自分自身とコミュニティの間のリンクを所有できるようにし、完全に構成可能な分散型ソーシャルグラフを形成することです。これは、ユーザーがプロファイルを作成し、これらのプロファイルを介して対話できるようにすることで実現されます。「プロファイル」(ここで使用)は、特にレンズプロファイルを指します。「ユーザー」とは、標準の暗号ウォレットを指します。

プロトコルは、モジュール性を念頭に置いてゼロから構築されています。Lens Protocolは現在、マルチシグによって監視されています。マルチシグは、新しいモジュールと拡張された機能を開発して投票できる、より広範なDAOに拡張されます。

アーキテクチャ


上の図は、ユーザーとプロトコル間のフローを示しています。左側には、プロファイルを作成して公開するユーザーがいます。右側では、ユーザーがプロファイルをフォローし、その出版物を収集しています。

まず、プロファイルの作成と公開のケースを掘り下げてみましょう。ユーザーはハブ上にプロファイルを作成する必要があります。このプロファイルに対して、順次IDが付けられたプロファイルNFTを受け取ります。このNFTはプロファイルを制御するため、その所有者は特定のプロファイルの事実上のコントローラーです。

プロファイルの所有者は次のことができます。

  1. プロファイルに公開します。パブリケーションの種類は次のとおりです。

    1. 投稿:標準的なコンテンツ。

    2. コメント:別の出版物へのポインターを含む標準的なコンテンツ。

      1. コメントにはポインタが含まれているため、これにより、指定されたパブリケーションの「参照モジュール」ロジックが実行されます(存在する場合)。

    3. ミラー:従来の意味での「共有」に相当し、コンテンツはなく、別の出版物へのポインタがあります。

      1. ミラーにはポインタしか含まれていないため、これにより、指定されたパブリケーションの「参照モジュール」ロジックが実行されます(存在する場合)。

  2. プロファイルの「フォローモジュール」を設定します。

    1. このホワイトリストに登録されたロジックコントラクトは、ウォレットが特定のプロファイルに従おうとしたときに実行する必要のあるロジックを決定します。たとえば、一部のフォロワーは、料金フォローモジュールコントラクトを介してプロファイル所有者に料金を負担する場合があります。

  3. プロファイルの画像URIを設定します

  4. プロファイルの「ディスパッチャ」を設定します。

    1. これは、プロファイルの所有者に代わって機能できるアドレスです。できる:

      1. 指定されたプロファイルに公開します。

      2. 指定されたプロファイルのURIを設定します。

通常のウォレットは次のことができます。

  1. プロファイルに従ってください:

    1. これにより、プロファイルの「モジュールのFollow」ロジックが実行されます(存在する場合)。

    2. これにより、次のウォレットがそのプロファイルに固有の「FollowNFT」になり、順次IDが付けられます。

      1. FollowNFTには、プロファイル所有者によって設定されたカスタムURIがあります。

  2. 出版物を収集する:

    1. これにより、パブリケーションの「Collectモジュール」内のロジックが実行されます。

      1. パブリケーションがミラーである場合、これは、参照を使用して最初にミラーリングされたパブリケーションで実行されます。

    2. これにより、Collectウォレットがそのパブリケーションに固有の「CollectNFT」になり、順次IDが付けられます。

      1. CollectNFTURIは、収集されたパブリケーションのURIを指します。

トークン化:LensHub/FollowNFT/CollectNFT


Lensプロトコルには、ERC721NFTを介した3層のトークン化があります。3つすべてがERC721に準拠しており、完全に構成可能です。

LensHub:アップグレード可能なコントラクトは、レンズプロトコルの相互作用の大部分のコアエントリポイントです。ほぼすべての対話が開始され、プロファイル作成時に作成されるプロファイルNFTのERC721NFTコントラクトとしても機能します。

FollowNFT:プロファイルの最初のフォロー時に、プロファイルに固有のコントラクトが(最小限のプロキシクローンを介して)展開されます。これは、フォロワーの位置を表すERC721NFTコントラクトです。

CollectNFT:最後に、パブリケーションの最初の収集時に、パブリケーションに固有のコントラクトが展開されます(これも最小限のプロキシクローンを介して)。これは、収集された出版物を表すERC721NFTコントラクトです。

FollowおよびCollectNFTは、それぞれ最初のFollow/Collect時にのみ展開されることに注意してください。これにより、プロファイル作成のガスオーバーヘッドが削減されます。

モジュール性

モジュール性はレンズプロトコルの中核です。すべては、コミュニティの拡大と新しい革新的な機能の継続的な開発を念頭に置いて構築されています。

モジュールは、特定のインターフェースに準拠する、スタンドアロンのガバナンスホワイトリストに登録されたコントラクトです。それらは状態を保持し、インターフェースに固執することを超えて潜在的な範囲で無制限です。

モジュールには次の3つのタイプがあります。

  1. モジュールに従ってください:
    a。これらのモジュールはプロファイルに関連付けられており、ユーザーが特定のプロファイルをたどろうとしたときに実行されるロジックが含まれています。

  2. モジュールを収集
    します。これらのモジュールは、特定のパブリケーション(収集できないミラーを除く)に関連付けられており、特定のパブリケーションを収集しようとするユーザーに対して実行されるロジックが含まれています。

  3. 参照モジュール:
    a。これらのモジュールは特定のパブリケーションに関連付けられており、ユーザーが特定のパブリケーションにコメントまたはミラーリングしようとしたときに実行されるロジックが含まれています。
    b。ミラーがミラーをポイントしようとする場合は、元のコンテンツとその参照モジュールが使用されることに注意してください。

クロージングノート

Lens Protocolは、コミュニティが所有し、進化し続けるように構築された、構成可能なソーシャルグラフプロトコルです。ソーシャルグラフをどのように作成し、どのように収益化するかをユーザーが決定できるようにすることで、ユーザーに力を与えます。

さらに、プロトコルはモジュール性の概念を中核として設計されており、無限に拡大するユースケースを可能にします。これは、ユーザーの観点からは、Web2では不可能な(または経済的に実現可能な)所有権とカスタマイズの新しいパラダイムに変換されます。

プロトコルの展開


Lens Protocolは、Polygon MumbaiTestnetにのみ展開されます。

公式のfaucetとブロックエクスプローラーはここにあります:

Polygon Testnet Faucet

Polygon Mumbai Block Explorer

Mumbai Testnet Addresses

Contract Address

LensHubProxy

0xF6BF84E5df229029C9D36dC7ABaCDBE9c0bd7b4F

LensHubImplementation

0x4F0c856b2FA2c1e0E1AC971B462FCCF4654E8045

PublishingLogicLibrary

0xBFe82126B2f18918842dBE03D5d81A7B35B69821

InteractionLogicLibrary

0x28CE33b49EC8836Aa6f0199Cf764B82b9BEDb5ea

FollowNFTImplementation

0xB7141BA444bEf189Cdf8CeF52F8DaBAB3bFCFB69

CollectNFTImplementation

0x51063D3A1c677b6B02FA2b478799F9D160894cCB

ModuleGlobals

0xB39d1a0BB7515bc19621088103F3c4C9fC328e21

FeeCollectModule

0x78B307d9bBF0Be3af93C57D0c9ac1fC8Da068edE

LimitedFeeCollectModule

0xa32a0D9BAb649dE02De63B6b55FDB13FeE38D5ae

TimedFeeCollectModule

0xC99436e87e0aC55BA104245723D302C5E56e6776

LimitedTimedFeeCollectModule

0xe7a875bc035FdaABdDA67667B57dDa607Ebf25B6

RevertCollectModule

0xC33Efc049976d0929185F468CE68bAd0753f0068

EmptyCollectModule

0xEDeB556d916d9e6E154A083Ac18Da52cc5eD8b1c

FeeFollowModule

0xBc20957342419BE3449DB77f89DEAdcb95cb32f5

ApprovalFollowModule

0x7DE0A9fC8a3ab4EcdBCd8666B9983ab041dcB407

FollowerOnlyReferenceModule

0xB5082D5f84EA6Dcb27184B7380B92411818A62B6

MockProfileCreationProxy

0x08C4fdC3BfF03ce4E284FBFE61ba820c23722540


この記事が気に入ったらサポートをしてみませんか?