著者: Andrew Hong
コンピレーション:レディフィンガー、BlockBeats
編集後記:
この記事では、著者がOpenRankのEigentrustアルゴリズムについて詳しく説明しています。これは現在、Metamask Snaps、Degen tips、Supercastで使用されている新しい技術です。OpenRankは計算レイヤーとして機能し、さまざまな信頼グラフアルゴリズムを実行できますが、最初に紹介されるのはeigentrustアルゴリズムです。著者は、なぜコミュニティ構築のグラフが必要なのか、アルゴリズムのキープ概念、動作方法、独自のグラフを作成する方法について共有しています。さらに、著者は近日開催されるBytexplorersのタスクについても予告しており、最新の情報を入手するために読者にサブスクリプションをお勧めしています。
現在の暗号資産フロントエンドのほとんどは、取引量、流動性、ミント、ポイント、投票などでランク付けされたトップトークンを含んでいます。現在のWeb2の巨人を超える消費者向け暗号資産体験に入りたい場合、アプリケーションにはランキングだけではなく、他のものも必要です。
OpenRankは、Metamask Snaps、Degen Tips、Supercastなどで使用されている、私たちの目標を達成するための基盤の一つです。OpenRankは、多くの信頼グラフアルゴリズムを実行できる計算レイヤーであり、最初のものはeigentrustアルゴリズムです。
この記事では、OpenRankのeigentrustアルゴリズムについて説明し、以下の内容について議論します。
コミュニティ構築図の重要性、およびなぜそれが必要なのか
そのアルゴリズムの重要な概念と動作原理
あなた自身のグラフを作成する方法については、私がPythonノートブックで作成したグラフを参照してください
さあ、始めましょう!
暗号資産を構築し、アルゴリズムと推奨フローを推進する際には、すぐにいくつかのデータの問題に直面することになります:
· 取引には多くのレベルの操作が含まれています
・アドレス之间の関係は、複数の取引によって無限に複雑になることができます
· アドレス本身には一部の身元情報が含まれており、それぞれの身元は異なる文脈で関連しています
上記の3つの要素は指数関数的に成長しており、これらの成長要素を「context」と呼びます。
あなたのバックエンドやデータエンジニアリングチームにこれらの問題を処理させたくないでしょう、彼らは製品を構築するために存在します。アプリケーションには、ユーザーとユーザーデータの構造がある時代は終わりました。単純なリンク、ユーザーID、いいね/返信/共有、投稿IDだけでなく、交換、分割、ドロップ、交換、ステーク、委託、投票、ミントなどが可能です。ほぼ毎日、「操作」の新しい形が現れ、新しいチェーン、新しいタイプのウォレット、新しいタイプのアイデンティティなどもあります。
私はDuneのwizardコミュニティで長年過ごしており、コミュニティの力が小規模なチームの能力を超えていることを目撃してきました。また、ほとんどの小さな暗号化チームが、「はい、1つのノードとRDSデータベースで独立してこれを行うことができます」という段階から、「The GraphやDuneのようなコミュニティで構築されたデータツールを利用する必要があります」という段階まで進化しているのを見てきました。私にとって、特定の種類の推奨ストリームとコミュニティの調整のためのクエリとチャートの組み合わせを作成することは類似した問題です。私たちは、Farcasterクライアントからブロックエクスプローラーまで、各アプリケーションで推奨ストリームを提供できるチャートを収集し、テストする必要があります。
暗号資産の領域では、ユーザーは自分たちのソーシャルグラフをさまざまなアプリケーションに持ち込むだけでなく、これらのグラフに潜む文脈も一緒に持ち出すことを望んでいます。Farcasterで積極的に/degenコミュニティに注目している場合、Zora、Roam.xyz、OnceUponなどのプラットフォームで、そのコミュニティの活動が推奨され、ArtBlocksのコレクターなど、他のコミュニティの文脈に切り替えることができることを望んでいます。将来は、ユーザーが自分自身のフィードを発見し、選択する時代であり、単一のプラットフォームの特定のグループやチャネル機能に制限される時代ではありません。
Eigentrust アルゴリズムは、PageRank に類似しており、ノードをランク付けするグラフネットワークにおいて、異なる点は複雑なピア・ツー・ピアの関係を捉え、信頼の分布として重点を置いていることです。このアルゴリズムは元々ファイル共有ネットワークにおいて信頼スコアを割り当てるために構築されました。暗号資産の領域では、このアルゴリズムを使用して、高品質なガバナンス委任者を代理したり、信頼できるスマートコントラクトを特定することができます。
Eigentrustの式は次のとおりです。
上記には2つの重要な入力があります:事前信頼ノードとローカル信頼グラフ。「P」は事前信頼であり、「S」はローカル信頼です。
· ローカルトラスト(localtrust):これは、2つのノード間の相互作用を測定するものであり、ノード「i」がノード「j」に価値を転送するときのことです。これにはトークンの移動、証明、投票の返信/いいねなどが含まれる可能性があります。
・事前信頼(pretrust):これは、選択したネットワークでより信頼できるノードを選択するための「シード」です。
· 「c」:この定数(0から1の間)は、総合的なローカル信頼グラフと事前信頼シードの間の信頼値の重み付けです。相互信頼グラフは通常、べき乗則分布を持っているため、高い事前信頼重み付けは最終的なランキング値の分布を規範化するのに役立ちます。
これらの数学の式が理解しにくい場合、それらをTwitterのようなソーシャルグラフと比較することができます。たとえば、フォロワー、いいね、返信などの影響力が通常は一部の人々に集中し、べき乗則の動態を引き起こします。影響力のある個人のグループを設定し、定数「c」の値を0.5以上に設定することにより、実際にはこれらの信頼された個人が相互作用する人々はその影響力の半分の価値を継承します。これは、信頼スコアをネットワーク内でより均等にバランスさせ、分散させる方法です。
假设あなたが10000の提案を並べ替えたいとします。一連の投票相互作用(ローカル信頼)とあなた自身が選んだ信頼された投票者のグループ(事前信頼)に基づいて、すべての投票者と提案者に価値のランキングを付けることができます。あなたは、複数のDAOであなたの投票を委任しているトップ10の投票者を選ぶことで、事前信頼投票者を選ぶことができます。Eigentrustはこれら2つの入力に基づいて動作し、あなたにより大きな投票者リストを提供し、事前信頼ノードから継承した信頼に基づいてグラフ内でランク付けされます。
これにより、リアルタイムのガバナンス提案をバランスするためにこのランキングの価値リストを使用して、より個性的な推奨フローを得ることができます!
これはおそらくまだ抽象的すぎるかもしれませんが、次のセクションでは具体的なコード例を使用して説明します。OpenRank はこれらの Eigentrust グラフの計算と保存を処理し、推奨される出力推奨フローの使用をお勧めします。あなたがする必要があるのは、事前信頼とローカル信頼の入力を決定することだけです。
この例では、Farcaster/baseのユーザーウォレットに基づいて、推奨契約のサブスクリプションフローを提供したいと思います(FarcasterはTwitterのようなアプリケーションです)。出力は、idと値を含むリストのみで、私のグラフでは、各idはFarcasterユーザーid(fid)に関連付けられています。
データソース
ランキングチャートを作成した後、前週の主要契約に基づいて自動的にこの推奨フローが生成されます:
あなたはダッシュボードを見て、NFTのミント、DEXトークン取引、およびFarcasterチャネルイベントなど、このチャートから作成された他の推奨ストリームを見ることができます。
今、あなたはターゲットを見ていますが、このランキンググラフを作成する方法について話しましょう。
この例のすべてのコードは、hex.techノートブックで入手できます。ローカルで実行する場合は、jupyter notebookを使用することもできます。
まず、2つのクエリをそれぞれプリトラストとローカルトラストに作成しました:
最初のクエリは当社の「予備信頼ノード」です。このクエリは、受信したインタラクション(いいね、転送、返信)に基づいて、/baseチャネル内のトップユーザーを出力します。私の式は(いいね + 3転送 + 10返信)です。このクエリから上位100のIDを取得し、信頼ノードとします。
第2つのクエリは、ユーザーのアドレスを使用して/baseチャネルでユーザー間のチェーン上の相互作用を追跡するためのものです。サブスクリプションフローがチェーン上の操作を推奨するため、チェーン上の相互作用量に基づいた相互作用グラフを選択することを確認したいと思います。ノード間でのドル価値の移動を使用することは非常に一般的な代理です - 私はOptimism、Base、およびETHメインネットワーク上のステーブルコインとETHの移動を追跡しています。
現在、私たちは予め信頼されたノードとローカル信頼グラフを持っています。いくつかの集計統計データを見てみましょう。/base チャンネルでは、65,755人のユーザーがチャンネル内の他の人にトークンを送りました。予め信頼されたノードからは、グラフの19%(つまり接続されたノード)をトラバースできます。この割合は、グラフのローカル信頼データのシビル度合いに応じて異なる可能性があります。トークンの転送は高い信号であるかもしれませんが、スワイプである可能性もあります。そのため、グラフの大部分が未接続であることは驚くに値しません。
入力データのサイズと接続の妥当性を確認した後、Eigentrustグラフを実行して保存することができます。私は自分のグラフをid「base_transfer_50」として保存しました-下記の10行のコードでグラフをトレーニングできます。OpenRank SDKは、暗号化グラフモデルのscikit-learnと考えることができます。
前の式で言及した定数「c」を覚えていますか?異なる c 値(私はこれをアルファと呼びます)と異なる先行信頼セットサイズについてグリッドサーチを行い、どれが最も対数正規分布の信頼スコアを提供し、最も高いカバレッジ率を提供するかを見てみましょう:
ここでは多くのトレードオフがあり、最適な値が選択できません。強い多様性を推奨する場合、高い正則化とカバレッジは良い選択肢ですが、高リスクのガバナンス投票に対しては、実際にはより高い信頼度を持つことを望む場合があります。ここでは直感を使うことができます。
ここから、我々はDuneのダッシュボードの開始時にリンクされたサブスクリプションクエリに値を挿入し、/baseチャネルで信頼されたユーザーの契約相互作用フローを取得できます。この主観的な推奨出力は、以前の一般的な指標と推奨出力の品質に対する私たちの期待感覚をより良く関連付けるのに役立ちます。
完了!あなたはすぐにこのDune APIを使って、あなたのどんなアプリにも動力を提供できます。
あなたは自分でやってみる準備ができていますか?私のノートブックをフォークして自分で試すことができます。必要なすべてのリンクは次のとおりです:
·OpenRankドキュメント
· Python SDK リポジトリ
·Pythonノートブック
·Duneフィードダッシュボード
私は次の月に一度Bytexplorersミッションを開始し、トップ暗号化アプリケーションに適した最高のサブスクリプションフローチャートを競争させます。
7k 人気度
160k 人気度
15k 人気度
97k 人気度
84k 人気度
OpenRankのEigentrustアルゴリズムの詳細な調査:ソーシャルコンピューティングレイヤーの構築方法は?
著者: Andrew Hong
コンピレーション:レディフィンガー、BlockBeats
編集後記:
この記事では、著者がOpenRankのEigentrustアルゴリズムについて詳しく説明しています。これは現在、Metamask Snaps、Degen tips、Supercastで使用されている新しい技術です。OpenRankは計算レイヤーとして機能し、さまざまな信頼グラフアルゴリズムを実行できますが、最初に紹介されるのはeigentrustアルゴリズムです。著者は、なぜコミュニティ構築のグラフが必要なのか、アルゴリズムのキープ概念、動作方法、独自のグラフを作成する方法について共有しています。さらに、著者は近日開催されるBytexplorersのタスクについても予告しており、最新の情報を入手するために読者にサブスクリプションをお勧めしています。
現在の暗号資産フロントエンドのほとんどは、取引量、流動性、ミント、ポイント、投票などでランク付けされたトップトークンを含んでいます。現在のWeb2の巨人を超える消費者向け暗号資産体験に入りたい場合、アプリケーションにはランキングだけではなく、他のものも必要です。
OpenRankは、Metamask Snaps、Degen Tips、Supercastなどで使用されている、私たちの目標を達成するための基盤の一つです。OpenRankは、多くの信頼グラフアルゴリズムを実行できる計算レイヤーであり、最初のものはeigentrustアルゴリズムです。
この記事では、OpenRankのeigentrustアルゴリズムについて説明し、以下の内容について議論します。
コミュニティ構築図の重要性、およびなぜそれが必要なのか
そのアルゴリズムの重要な概念と動作原理
あなた自身のグラフを作成する方法については、私がPythonノートブックで作成したグラフを参照してください
さあ、始めましょう!
なぜあなた自身の機械学習チームに依存せずに、コミュニティと一緒に推薦グラフを構築する必要があるのですか?
暗号資産を構築し、アルゴリズムと推奨フローを推進する際には、すぐにいくつかのデータの問題に直面することになります:
· 取引には多くのレベルの操作が含まれています
・アドレス之间の関係は、複数の取引によって無限に複雑になることができます
· アドレス本身には一部の身元情報が含まれており、それぞれの身元は異なる文脈で関連しています
上記の3つの要素は指数関数的に成長しており、これらの成長要素を「context」と呼びます。
あなたの小さな ML チームはこれらの果てしないアイデアについていけません
あなたのバックエンドやデータエンジニアリングチームにこれらの問題を処理させたくないでしょう、彼らは製品を構築するために存在します。アプリケーションには、ユーザーとユーザーデータの構造がある時代は終わりました。単純なリンク、ユーザーID、いいね/返信/共有、投稿IDだけでなく、交換、分割、ドロップ、交換、ステーク、委託、投票、ミントなどが可能です。ほぼ毎日、「操作」の新しい形が現れ、新しいチェーン、新しいタイプのウォレット、新しいタイプのアイデンティティなどもあります。
私は、来年には、暗号資産業界がOpenRankプロトコルと製品に基づくグラフデータサイエンスコミュニティを発展させると信じています。
私はDuneのwizardコミュニティで長年過ごしており、コミュニティの力が小規模なチームの能力を超えていることを目撃してきました。また、ほとんどの小さな暗号化チームが、「はい、1つのノードとRDSデータベースで独立してこれを行うことができます」という段階から、「The GraphやDuneのようなコミュニティで構築されたデータツールを利用する必要があります」という段階まで進化しているのを見てきました。私にとって、特定の種類の推奨ストリームとコミュニティの調整のためのクエリとチャートの組み合わせを作成することは類似した問題です。私たちは、Farcasterクライアントからブロックエクスプローラーまで、各アプリケーションで推奨ストリームを提供できるチャートを収集し、テストする必要があります。
推薦ストリームの概念は模倣的であり、廃止される予定です。ユーザーはコンテンツのキュレーターとして機能します。
暗号資産の領域では、ユーザーは自分たちのソーシャルグラフをさまざまなアプリケーションに持ち込むだけでなく、これらのグラフに潜む文脈も一緒に持ち出すことを望んでいます。Farcasterで積極的に/degenコミュニティに注目している場合、Zora、Roam.xyz、OnceUponなどのプラットフォームで、そのコミュニティの活動が推奨され、ArtBlocksのコレクターなど、他のコミュニティの文脈に切り替えることができることを望んでいます。将来は、ユーザーが自分自身のフィードを発見し、選択する時代であり、単一のプラットフォームの特定のグループやチャネル機能に制限される時代ではありません。
OpenRankのEigentrustアルゴリズムはどのように動作しますか?
Eigentrust アルゴリズムは、PageRank に類似しており、ノードをランク付けするグラフネットワークにおいて、異なる点は複雑なピア・ツー・ピアの関係を捉え、信頼の分布として重点を置いていることです。このアルゴリズムは元々ファイル共有ネットワークにおいて信頼スコアを割り当てるために構築されました。暗号資産の領域では、このアルゴリズムを使用して、高品質なガバナンス委任者を代理したり、信頼できるスマートコントラクトを特定することができます。
Eigentrustの式は次のとおりです。
上記には2つの重要な入力があります:事前信頼ノードとローカル信頼グラフ。「P」は事前信頼であり、「S」はローカル信頼です。
· ローカルトラスト(localtrust):これは、2つのノード間の相互作用を測定するものであり、ノード「i」がノード「j」に価値を転送するときのことです。これにはトークンの移動、証明、投票の返信/いいねなどが含まれる可能性があります。
・事前信頼(pretrust):これは、選択したネットワークでより信頼できるノードを選択するための「シード」です。
· 「c」:この定数(0から1の間)は、総合的なローカル信頼グラフと事前信頼シードの間の信頼値の重み付けです。相互信頼グラフは通常、べき乗則分布を持っているため、高い事前信頼重み付けは最終的なランキング値の分布を規範化するのに役立ちます。
これらの数学の式が理解しにくい場合、それらをTwitterのようなソーシャルグラフと比較することができます。たとえば、フォロワー、いいね、返信などの影響力が通常は一部の人々に集中し、べき乗則の動態を引き起こします。影響力のある個人のグループを設定し、定数「c」の値を0.5以上に設定することにより、実際にはこれらの信頼された個人が相互作用する人々はその影響力の半分の価値を継承します。これは、信頼スコアをネットワーク内でより均等にバランスさせ、分散させる方法です。
これは、どんなコンテキストを選択し、どんな推奨フローを作成することと関係がありますか?
假设あなたが10000の提案を並べ替えたいとします。一連の投票相互作用(ローカル信頼)とあなた自身が選んだ信頼された投票者のグループ(事前信頼)に基づいて、すべての投票者と提案者に価値のランキングを付けることができます。あなたは、複数のDAOであなたの投票を委任しているトップ10の投票者を選ぶことで、事前信頼投票者を選ぶことができます。Eigentrustはこれら2つの入力に基づいて動作し、あなたにより大きな投票者リストを提供し、事前信頼ノードから継承した信頼に基づいてグラフ内でランク付けされます。
これにより、リアルタイムのガバナンス提案をバランスするためにこのランキングの価値リストを使用して、より個性的な推奨フローを得ることができます!
これはおそらくまだ抽象的すぎるかもしれませんが、次のセクションでは具体的なコード例を使用して説明します。OpenRank はこれらの Eigentrust グラフの計算と保存を処理し、推奨される出力推奨フローの使用をお勧めします。あなたがする必要があるのは、事前信頼とローカル信頼の入力を決定することだけです。
OpenRankで固有信頼グラフを作成するには?
最終目標
この例では、Farcaster/baseのユーザーウォレットに基づいて、推奨契約のサブスクリプションフローを提供したいと思います(FarcasterはTwitterのようなアプリケーションです)。出力は、idと値を含むリストのみで、私のグラフでは、各idはFarcasterユーザーid(fid)に関連付けられています。
データソース
ランキングチャートを作成した後、前週の主要契約に基づいて自動的にこの推奨フローが生成されます:
データソース
あなたはダッシュボードを見て、NFTのミント、DEXトークン取引、およびFarcasterチャネルイベントなど、このチャートから作成された他の推奨ストリームを見ることができます。
コードの実装
今、あなたはターゲットを見ていますが、このランキンググラフを作成する方法について話しましょう。
この例のすべてのコードは、hex.techノートブックで入手できます。ローカルで実行する場合は、jupyter notebookを使用することもできます。
まず、2つのクエリをそれぞれプリトラストとローカルトラストに作成しました:
最初のクエリは当社の「予備信頼ノード」です。このクエリは、受信したインタラクション(いいね、転送、返信)に基づいて、/baseチャネル内のトップユーザーを出力します。私の式は(いいね + 3転送 + 10返信)です。このクエリから上位100のIDを取得し、信頼ノードとします。
データソース
第2つのクエリは、ユーザーのアドレスを使用して/baseチャネルでユーザー間のチェーン上の相互作用を追跡するためのものです。サブスクリプションフローがチェーン上の操作を推奨するため、チェーン上の相互作用量に基づいた相互作用グラフを選択することを確認したいと思います。ノード間でのドル価値の移動を使用することは非常に一般的な代理です - 私はOptimism、Base、およびETHメインネットワーク上のステーブルコインとETHの移動を追跡しています。
データソース
输入グラフを分析し、出力されたEigentrustグラフをテストする
現在、私たちは予め信頼されたノードとローカル信頼グラフを持っています。いくつかの集計統計データを見てみましょう。/base チャンネルでは、65,755人のユーザーがチャンネル内の他の人にトークンを送りました。予め信頼されたノードからは、グラフの19%(つまり接続されたノード)をトラバースできます。この割合は、グラフのローカル信頼データのシビル度合いに応じて異なる可能性があります。トークンの転送は高い信号であるかもしれませんが、スワイプである可能性もあります。そのため、グラフの大部分が未接続であることは驚くに値しません。
入力データのサイズと接続の妥当性を確認した後、Eigentrustグラフを実行して保存することができます。私は自分のグラフをid「base_transfer_50」として保存しました-下記の10行のコードでグラフをトレーニングできます。OpenRank SDKは、暗号化グラフモデルのscikit-learnと考えることができます。
前の式で言及した定数「c」を覚えていますか?異なる c 値(私はこれをアルファと呼びます)と異なる先行信頼セットサイズについてグリッドサーチを行い、どれが最も対数正規分布の信頼スコアを提供し、最も高いカバレッジ率を提供するかを見てみましょう:
ここでは多くのトレードオフがあり、最適な値が選択できません。強い多様性を推奨する場合、高い正則化とカバレッジは良い選択肢ですが、高リスクのガバナンス投票に対しては、実際にはより高い信頼度を持つことを望む場合があります。ここでは直感を使うことができます。
ここから、我々はDuneのダッシュボードの開始時にリンクされたサブスクリプションクエリに値を挿入し、/baseチャネルで信頼されたユーザーの契約相互作用フローを取得できます。この主観的な推奨出力は、以前の一般的な指標と推奨出力の品質に対する私たちの期待感覚をより良く関連付けるのに役立ちます。
完了!あなたはすぐにこのDune APIを使って、あなたのどんなアプリにも動力を提供できます。
独自のOpenRank Eigentrustグラフの作成方法を学ぶ
あなたは自分でやってみる準備ができていますか?私のノートブックをフォークして自分で試すことができます。必要なすべてのリンクは次のとおりです:
·OpenRankドキュメント
· Python SDK リポジトリ
·Pythonノートブック
·Duneフィードダッシュボード
私は次の月に一度Bytexplorersミッションを開始し、トップ暗号化アプリケーションに適した最高のサブスクリプションフローチャートを競争させます。