Originaltitel: „OpenRank: Powering Apps with Contextual and Personalized Graph Feeds“
Anmerkung des Herausgebers:
In diesem Artikel wirft der Autor einen detaillierten Blick auf den Eigentrust-Algorithmus von OpenRank, der derzeit von Metamask verwendet wird Schnappschüsse, Degen-Tipps und eine neue Technologie, die von Supercast verwendet wird. OpenRank kann als Rechenschicht mehrere Reputationsgraphalgorithmen ausführen. Der erste eingeführte ist der Eigentrust-Algorithmus. Die Autoren erklären, warum Sie von der Community erstellte Diagramme benötigen, welche Schlüsselkonzepte der Algorithmus hat, wie er funktioniert und wie Sie Ihre eigenen Diagramme erstellen. Darüber hinaus gibt der Autor eine Vorschau auf bevorstehende Bytexexplorers-Aufgaben und ermutigt die Leser, sich anzumelden, um die neuesten Updates zu erhalten.
Die meisten heutigen Kryptowährungs-Frontends bestehen aus einfachen Bestenlisten mit Top-Coins, sortiert nach Handelsvolumen, Liquidität, Prägung, Punkten, Stimmen usw. Wenn wir in ein Kryptowährungserlebnis der Verbraucherklasse einsteigen wollen, das die heutigen Web2-Giganten übertreffen kann, brauchen wir mehr als nur Bestenlisten in unseren Apps.
OpenRank ist einer der Eckpfeiler, der uns dabei hilft, dies zu erreichen und wird bereits von Metamask Snaps, Degen Tips und Supercast verwendet. OpenRank ist eine Rechenschicht, die eine Reihe von Reputationsgraph-Algorithmen ausführen kann, von denen der erste der Eigentrust-Algorithmus ist.
In diesem Artikel stelle ich Ihnen den Eigentrust-Algorithmus von OpenRank vor und bespreche Folgendes:
Die Bedeutung von von der Community erstellten Diagrammen und warum Sie sie benötigen
Schlüsselkonzepte des Algorithmus und wie er funktioniert
Erfahren Sie, wie Um Ihr eigenes Diagramm zu erstellen, beziehen Sie sich auf ein Diagramm, das ich in einem Python-Notizbuch erstellt habe.
Lass uns beginnen!
Beim Erstellen von Algorithmen und Empfehlungsflüssen in Kryptowährungen werden Sie schnell auf einige Datenprobleme stoßen:
· Transaktionen enthalten viele Ebenen von Operationen
· Beziehungen zwischen Adressen können bei mehreren Transaktionen unendlich komplex werden
· Die Adresse selbst enthält Teilidentitäten , von denen jeder in unterschiedlichen Kontexten relevant ist
Alle drei oben genannten Punkte entwickeln sich exponentiell. Nennen wir diese wachsenden Elemente „Kontext“.
Sie möchten auch nicht, dass Ihr Backend- oder Data-Engineering-Team diese Probleme löst, schließlich müssen sie ein Produkt entwickeln. Die Zeiten, in denen Apps Benutzer und Benutzerdatenstrukturen hatten, sind vorbei. Sie haben nicht mehr nur einen einfachen Link, eine Benutzer-ID, „Gefällt mir“/Antworten/Teilen und eine Beitrags-ID, sondern Sie können auch Rücknahmen, Teilungen, Drops, Swaps, Einsätze, Delegation usw. durchführen. Abstimmung, Prägung und mehr. Fast täglich tauchen neue „Operationen“ auf, ebenso neue Ketten, neue Arten von Geldbörsen, neue Arten von Identitäten und so weiter.
Ich bin seit vielen Jahren in der Zauberer-Community von Dune und habe die Kraft der Community miterlebt. über die Möglichkeiten kleiner Teams hinaus. Ich habe auch gesehen, wie fast jedes kleine Krypto-Team von „Ja, wir können das unabhängig mit einem Knoten und einer RDS-Datenbank machen“ zu „Wir müssen von der Community erstellte Datentools wie The Graph und Dune nutzen“ übergingen. Für mich ist das Erstellen einer Kombination aus Abfragen und Diagrammen, die auf eine bestimmte Art von Empfehlungsfluss und Community abgestimmt sind, ein ähnliches Problem. Wir müssen damit beginnen, Diagramme zu sammeln und zu testen, die einen Empfehlungsfluss für jede Anwendung bereitstellen können, von Farcaster-Clients bis hin zu Block-Explorern.
Im Kryptowährungsbereich möchten Benutzer nicht nur ihre sozialen Diagramme in verschiedene Anwendungen bringen, sondern auch den in diesen Diagrammen verborgenen Kontext. Wenn ich der /degen-Community auf Farcaster aktiv folge, möchte ich auf Zora, Roam.xyz oder OnceUpon für die Aktivitäten dieser Community empfohlen werden, und ich möchte diese Empfehlung auf den Kontext einer anderen Community übertragen können, der ich angehöre ein Mitglied z.B. von Artblocks Collector. Die Zukunft wird eine sein, in der Benutzer ihre eigenen Feeds entdecken und auswählen, anstatt auf eine bestimmte Gruppen- oder Kanalfunktion auf einer einzigen Plattform beschränkt zu sein.
Der Eigentrust-Algorithmus ähnelt PageRank darin, dass er Knoten in einem Graphennetzwerk einordnet. Der Unterschied besteht darin, dass der Schwerpunkt auf der Erfassung komplexer Peer-to-Peer-Beziehungen als Vertrauensverteilung liegt. Es wurde ursprünglich für die Zuweisung von Vertrauenswerten in Filesharing-Netzwerken entwickelt. In der Welt der Kryptowährungen könnte man sich vorstellen, damit hochwertige Governance-Prinzipien zu vertreten oder vertrauenswürdige Smart Contracts zu identifizieren.
Hier ist die Formel für Eigentrust:
Es gibt zwei wichtige Eingaben: vorab vertrauenswürdige Knoten und das lokale Vertrauensdiagramm. „P“ ist Ihr Pre-Trust und „S“ Ihr lokaler Trust.
· Localtrust: Dies ist Ihr Maß für die Interaktion zwischen zwei Knoten, wenn Knoten „i“ einen Wert an Knoten „j“ übergibt. Dies können Token-Übertragungen, Bescheinigungen, Abstimmungsantworten/Likes usw. sein.
· Pretrust: Dies ist Ihre Wahl des „Seeds“ für Knoten im Netzwerk, die vertrauenswürdiger sein sollen.
· „c“: Diese Konstante (zwischen 0 und 1) ist das Gewicht des Vertrauenswerts zwischen dem gesamten lokalen Vertrauensdiagramm und dem Vor-Vertrauens-Seed. Interaktionsdiagramme weisen typischerweise eine Potenzgesetzverteilung auf, sodass höhere Gewichte vor der Vertrauenswürdigkeit dazu beitragen, die Verteilung der endgültigen Rangfolgewerte zu normalisieren.
Wenn diese mathematischen Formeln nicht leicht zu verstehen sind, kann man sie mit einem sozialen Diagramm wie Twitter vergleichen, wo Einfluss wie Follower, Likes, Antworten usw. normalerweise auf eine kleine Anzahl von Personen konzentriert sind, was zu einer Potenzgesetzdynamik führt . Indem Sie eine Gruppe einflussreicher Personen zusammenstellen und einen konstanten „c“-Wert von 0,5 oder höher wählen, erben die Personen, mit denen diese vertrauenswürdigen Personen interagieren, tatsächlich die Hälfte des Wertes dieses Einflusses. Auf diese Weise können Sie die Vertrauenswerte gleichmäßiger im gesamten Netzwerk verteilen.
Angenommen, Sie möchten 10.000 Fördervorschläge in einem Empfehlungsstrom sortieren. Sie können alle Wähler und Antragsteller anhand einer Reihe von Abstimmungsinteraktionen (lokales Vertrauen) und einer Reihe vertrauenswürdiger Wähler Ihrer Wahl (Vorvertrauen) bewerten. Sie können Ihre vorvertraulichen Wähler auswählen, indem Sie die zehn besten Wähler auswählen, an die Sie Stimmen über mehrere DAOs delegiert haben. Eigentrust wird auf der Grundlage dieser beiden Eingaben ausgeführt und stellt Ihnen eine größere Wählerliste zur Verfügung, die in der Grafik auf der Grundlage des von den vorab vertrauenswürdigen Knoten geerbten Vertrauens geordnet wird.
Damit können Sie jetzt Governance-Vorschläge in Echtzeit anhand dieser Rangliste abwägen, um einen personalisierteren Empfehlungsfluss zu erzielen!
Das ist wahrscheinlich noch zu abstrakt, daher erkläre ich es im nächsten Abschnitt anhand konkreter Codebeispiele. Beachten Sie, dass OpenRank die Berechnung und Speicherung dieser Eigentrust-Diagramme übernimmt und empfiehlt, dass Sie den Ausgabeempfehlungsstream verwenden können. Sie müssen sich lediglich für Pre-Trust- und Local-Trust-Eingaben entscheiden.
In diesem Beispiel möchte ich einen Abonnement-Stream mit empfohlenen Verträgen basierend auf dem Benutzer-Wallet von Farcaster/base bereitstellen (Farcaster ist eine Twitter-ähnliche Anwendung). Die Ausgabe ist lediglich eine Liste von IDs und Werten. In meinem Diagramm ist jede ID einer Farcaster-Benutzer-ID (fid) zugeordnet.
<em><span style="font-size: 14px;">数据来源</span></em>
Nach der Erstellung des Ranking-Diagramms haben wir diesen Empfehlungsfluss basierend auf ihren wichtigsten Vertragsinteraktionen letzte Woche generiert:
<span style="font-size: 14px;">数据来源</span>
Sie können das Dashboard anzeigen, um andere Empfehlungsflüsse zu sehen, die aus diesem Diagramm erstellt wurden, z. B. NFT-Minting, DEX-Token-Handel und Farcaster-Kanalaktivität.
Da Sie nun das Ziel gesehen haben, sprechen wir darüber, wie ich dieses Ranking-Diagramm erstellt habe.
Der gesamte Code für dieses Beispiel finden Sie im hex.tech-Notebook. Wenn Sie es lieber lokal ausführen möchten, können Sie auch das Jupyter-Notebook verwenden.
Zuerst habe ich zwei Abfragen für unseren Pre-Trust bzw. Local Trust erstellt:
Die erste Abfrage ist für unseren „Pre-Trust-Knoten“. Diese Abfrage gibt die Top-Benutzer im Kanal basierend auf den erhaltenen Interaktionen (Likes, Retweets, Antworten) aus. Meine Formel lautet (Likes + 3 Retweets + 10 Antworten). Wir werden die ersten 100 IDs dieser Abfrage als unsere Vertrauensknoten verwenden.
<em><span style="font-size: 14px;">数据来源</span></em>
Die zweite Abfrage wird verwendet, um On-Chain-Interaktionen zwischen Knoten zu verfolgen, indem die Linkadresse des Benutzers im /base-Kanal verwendet wird. Da der Abonnementablauf Aktionen in der Kette empfiehlt, möchte ich sicherstellen, dass ein Interaktionsdiagramm basierend auf der Anzahl der Interaktionen in der Kette ausgewählt wird. Die Verwendung des zwischen Knoten übertragenen USD-Werts ist ein guter allgemeiner Proxy – ich habe Stablecoin- und ETH-Transfers auf Optimism, Base und dem Ethereum-Mainnet verfolgt.
<em><span style="font-size: 14px;">数据来源</span></em>
Nachdem wir nun die vorab vertrauenswürdigen Knoten und das lokale Vertrauensdiagramm haben, schauen wir uns einige zusammenfassende Statistiken an. 65.755 Benutzer im /base-Kanal haben Token an andere im Kanal übertragen, und 19 % des Diagramms (d. h. verbundene Knoten) können von unseren vorab vertrauenswürdigen Knoten aus durchlaufen werden. Dieser Prozentsatz kann variieren, je nachdem, wie hoch die lokalen Vertrauensdaten des Diagramms sind. Token-Transfers können hohe Signale sein, sie können aber auch Brush-Trades sein, daher ist es nicht verwunderlich, dass der Großteil der Grafik unzusammenhängend ist.
Nachdem wir bestätigt haben, dass die Größe der Eingabedaten und Verbindungen angemessen ist, können wir unser Eigentrust-Diagramm ausführen und speichern. Ich habe mein Diagramm mit der ID „base_transfer_50“ gespeichert – Sie können unten sehen, dass zum Trainieren des Diagramms nur 10 Codezeilen erforderlich sind. Stellen Sie sich OpenRank SDK als das Scikit-Learn von Kryptografiemodellen vor.
Erinnern Sie sich noch an die Konstante „c“ in der vorherigen Formel? Lassen Sie uns eine Rastersuche nach verschiedenen C-Werten (ich nenne es Alpha) und verschiedenen Pre-Trust-Seed-Größen durchführen, um zu sehen, welches uns den logarithmisch normalsten Vertrauenswert und die höchste Abdeckung bietet:
Da Hier gibt es viele Kompromisse und es gibt nicht das beste Preis-Leistungs-Verhältnis, aus dem man wählen kann. Eine hohe Regularisierung und Abdeckung ist eine gute Wahl, wenn Sie eine starke Diversität bei den Empfehlungen wünschen, aber für Governance-Abstimmungen mit hohem Risiko wünschen Sie sich möglicherweise tatsächlich eine höhere Vertrauenskonzentration. Nutzen Sie hier Ihre Intuition.
Von hier aus können wir Werte in die Abonnementabfrage einfügen, die am Anfang des Dune-Dashboards verlinkt ist, um einen Fluss von Vertragsinteraktionen für vertrauenswürdige Benutzer im /base-Kanal zu erhalten. Diese subjektive Empfehlungsausgabe hilft uns, die vorherigen gemeinsamen Metriken besser mit unserer erwarteten Intuition über die Qualität der Empfehlungsausgabe zu verbinden.
Fertig! Sie können diese Dune-API verwenden, um jede Ihrer Apps sofort zu betreiben.
Sind Sie bereit, es selbst zu tun? Sie können mein Notizbuch teilen und es selbst ausprobieren. Alle benötigten Links finden Sie unten:
· OpenRank Docs
· Python SDK Repo
· Python Notebook
· Dune Feed Dashboard
Ich werde eine Byteexplorers-Mission innerhalb durchführen Nächsten Monat werden wir gegeneinander antreten, um das beste Abonnementflussdiagramm für Top-Kryptoanwendungen zu erstellen.
Das obige ist der detaillierte Inhalt vonEin tiefer Einblick in den Eigentrust-Algorithmus von OpenRank: Wie baut man eine Social-Computing-Schicht auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!