Autor: Andrew Hong
Sestavil: Ladyfinger, BlockBeats
Poznámka redakce:
V tomto článku se autor hluboce ponoří do OpenRank's Eigentrust algoritmu, nové technologie, kterou v současnosti používají Metamask Snaps, Degen tips a Supercast. OpenRank jako výpočetní vrstva může spouštět několik algoritmů grafů reputace. Prvním z nich je algoritmus eigentrust. Autoři sdílejí, proč potřebujete grafy vytvořené komunitou, klíčové koncepty algoritmu, jak to funguje a jak vytvořit své vlastní grafy. Kromě toho autor zobrazuje náhled nadcházejících úkolů Bytexexplorers a vyzývá čtenáře, aby se přihlásili k odběru nejnovějších aktualizací.
Většina dnešních frontendů pro kryptoměny se skládá z jednoduchých žebříčků s nejlepšími mincemi seřazenými podle objemu obchodování, likvidity, ražby, bodů, hlasů atd. Pokud se chceme dostat do spotřebitelského prostředí s kryptoměnami, které dokáže překonat dnešní giganty Web2, potřebujeme v našich aplikacích víc než jen žebříčky.
OpenRank je jedním ze základních kamenů, které nám toho pomáhají dosáhnout, a již ho používají Metamask Snaps, Degen Tips a Supercast. OpenRank je výpočetní vrstva, která může spouštět řadu algoritmů grafů reputace, z nichž první je algoritmus eigentrust.
V tomto článku vám představím algoritmus OpenRank eigentrust a prodiskutuji následující:
Význam schémat budování komunity a proč je potřebujete
Klíčové pojmy algoritmu a jak to funguje
Jak vytvořit svůj vlastní graf, podívejte se na graf, který jsem vytvořil v notebooku Python
Začněme!
Proč vytvářet graf doporučení s komunitou místo toho, abyste se spoléhali na svůj vlastní tým strojového učení?
Při vytváření algoritmů a toků doporučení v kryptoměnách budete rychle čelit některým problémům s daty:
· Transakce obsahují mnoho úrovní operací
· Vztahy mezi adresami se mohou stát nekonečně složitými prostřednictvím více transakcí
· Adresa samotná obsahuje dílčí identity, z nichž každá je relevantní v jiném kontextu
Všechny tři výše uvedené se vyvíjejí exponenciální rychlostí, nazvěme tyto rostoucí prvky „kontext“.
Váš malý tým ML nemůže držet krok s nekonečným tokem nápadů
Také nechcete, aby se těmito problémy zabývaly vaše backendové nebo datové inženýrské týmy, koneckonců mají produkt k vytvoření. Doby aplikací, které měly uživatele a struktury uživatelských dat, jsou pryč, už nemáte jen jednoduchý odkaz, ID uživatele, lajk/odpověď/sdílení a ID příspěvku, ale můžete mít zpětné odkupy, rozdělení, poklesy, swapy, staking, delegování, hlasování, ražba a další. Téměř každý den se objevují nové „operace“, stejně jako nové řetězce, nové typy peněženek, nové typy identit a tak dále.
Věřím, že v průběhu příštího roku se v odvětví kryptoměn rozvine komunita vědy o grafech založených na protokolu a produktech OpenRank.
Byl jsem součástí kouzelnické komunity Duny po mnoho let a viděl jsem, jak mocná komunita může být nad možnosti malého týmu. Také jsem viděl, jak téměř každý malý krypto tým přešel od „Jo, můžeme to udělat nezávisle s uzlem a databází RDS“ k „Potřebujeme využít komunitně vytvořené datové nástroje jako The Graph a Dune.“ Podobným problémem je pro mě vytvoření kombinace dotazů a grafů vyladěných pro konkrétní typ toku doporučení a komunity. Musíme začít shromažďovat a testovat grafy, které mohou poskytnout tok doporučení pro každou aplikaci, od klientů Farcaster po blokové průzkumníky.
Koncept toku doporučení je mimetický a bude odstraněn. Uživatelé se stávají kurátory obsahu
V kryptoměnovém prostoru chtějí uživatelé přenést nejen své sociální grafy do různých aplikací, ale také kontext skrytý v těchto grafech. Pokud aktivně sleduji komunitu /degen na Farcasteru, chtěl bych být doporučen na Zora, Roam.xyz nebo OnceUpon pro aktivity této komunity a chtěl bych mít možnost přepnout toto doporučení do kontextu jiného společenství, jehož jsem členem, např. sběratel uměleckých bloků. Budoucnost bude taková, kde uživatelé budou objevovat a vybírat své vlastní zdroje, spíše než být omezeni na určitou skupinu nebo funkci kanálu na jediné platformě.
Jak funguje algoritmus Eigentrust OpenRank?
Algoritmus Eigentrust je podobný PageRank v tom, že řadí uzly v grafové síti. Rozdíl je v tom, že se zaměřuje na zachycení komplexních vztahů peer-to-peer jako distribuce důvěry. Původně byl vytvořen pro přidělování skóre důvěry v sítích pro sdílení souborů. Ve světě kryptoměn si dokážete představit, že jej použijete k proxy vysoce kvalitním principům správy nebo k identifikaci důvěryhodných chytrých kontraktů.
Zde je vzorec Eigentrust:
Výše jsou dva klíčové vstupy: předem důvěryhodné uzly a místní graf důvěryhodnosti. „P“ je vaše předdůvěra a „S“ je vaše místní důvěra.
· Místní důvěryhodnost: Toto je vaše měření interakce mezi dvěma uzly, když uzel „i“ předá nějakou hodnotu uzlu „j“. Mohou to být převody tokenů, atestace, odpovědi na hlasování/lajky atd.
· Předdůvěra: Toto je vaše volba "seed" pro uzly v síti, které by měly být důvěryhodnější.
· "c": Tato konstanta (mezi 0 a 1) je váha hodnoty důvěryhodnosti mezi celkovým místním grafem důvěryhodnosti a předdůvěryhodným semínkem. Interakční grafy mají obvykle mocninné rozložení, takže vyšší předdůvěryhodné váhy pomáhají normalizovat rozložení konečných hodnot pořadí.
Pokud matematika není snadno pochopitelná, představte si ji jako analogii k sociálnímu grafu, jako je Twitter, kde se vliv jako sledující, lajky, odpovědi atd. často soustředí na malý počet lidí, což vede k mocenskému zákonu dynamický. Nastavením množiny vlivných jedinců a volbou konstantní hodnoty „c“ 0,5 nebo vyšší ve skutečnosti lidé, se kterými tito důvěryhodní jedinci interagují, zdědí poloviční hodnotu tohoto vlivu. Tímto způsobem můžete rovnoměrněji vyvážit a distribuovat skóre důvěry v síti.
Jak to souvisí s výběrem jakéhokoli kontextu a vytvořením toku doporučení?
Řekněme, že chcete seřadit 10 000 grantových návrhů v toku doporučení. Můžete hodnotit hodnocení všech voličů a navrhovatelů na základě sady hlasovacích interakcí (místní důvěra) a sady důvěryhodných voličů dle vlastního výběru (předběžná důvěra). Své voliče s předběžnou důvěrou si můžete vybrat tak, že vyberete 10 nejlepších voličů, kterým jste delegovali hlasy ve více DAO. Eigentrust poběží na základě těchto dvou vstupů a poskytne vám větší seznam voličů seřazených v grafu na základě důvěry zděděné od předem důvěryhodných uzlů.
Tímto způsobem můžete nyní použít tento seřazený seznam hodnot ke zvážení návrhů správy v reálném čase pro personalizovanější tok doporučení!
To může být stále příliš abstraktní, takže to vysvětlím na konkrétních příkladech kódu v další části. Mějte na paměti, že OpenRank zpracovává výpočet a ukládání těchto grafů Eigentrust a doporučuje, abyste mohli použít výstupní proud doporučení. Vše, co musíte udělat, je rozhodnout se pro předdůvěru a místní důvěryhodné vstupy.
Jak vytvořit graf Eigentrust pomocí OpenRank?
konečný cíl
V tomto příkladu chci poskytnout proud předplatného doporučených smluv založených na uživatelské peněžence Farcaster/base (Farcaster je aplikace podobná Twitteru). Výstupem je pouze seznam ID a hodnot, v mém diagramu je každé ID spojeno s ID uživatele Farcaster (fid).
Zdroj dat
Po vytvoření grafu hodnocení jsme vygenerovali tento tok doporučení na základě jejich hlavních smluvních interakcí za poslední týden:
Zdroj dat
Na řídicím panelu si můžete prohlédnout další toky doporučení vytvořené z tohoto grafu, jako je ražba NFT, obchodování s tokeny DEX a aktivita kanálu Farcaster.
Implementace kódu
Nyní, když jste viděli cíle, pojďme si promluvit o tom, jak jsem vytvořil tento žebříček.
Veškerý kód pro tento příklad lze nalézt v notebooku hex.tech, nebo můžete použít notebook jupyter, pokud jej chcete spouštět lokálně.
Nejprve jsem vytvořil dva dotazy pro naši předdůvěru a místní důvěru:
První dotaz je náš „předdůvěryhodný uzel“. Tento dotaz zobrazuje nejlepší uživatele v kanálu na základě přijatých interakcí (lajky, retweety, odpovědi), můj vzorec je (lajky + 3 retweety + 10 odpovědí). Vezmeme prvních 100 ID z tohoto dotazu jako naše důvěryhodné uzly.
Zdroj dat
Druhý dotaz se používá ke sledování interakcí v řetězci mezi uzly pomocí adresy odkazu uživatele v kanálu /base. Protože tok předplatného doporučí akce v řetězci, chci se ujistit, že zvolím graf interakcí na základě množství interakcí v řetězci. Použití hodnoty USD přenášené mezi uzly je dobrý obecný proxy - sledoval jsem převody stablecoinů a ETH na Optimism, Base a mainnetu Ethereum.
Zdroj dat
Analyzujte vstupní graf a otestujte výstupní graf Eigentrust
Nyní, když máme předem důvěryhodné uzly a místní graf důvěryhodnosti, podívejme se na některé souhrnné statistiky. 65 755 uživatelů v kanálu /base převedlo tokeny ostatním v kanálu a 19 % grafu (tj. připojených uzlů) lze procházet z našich předem důvěryhodných uzlů. Toto procento se může lišit v závislosti na tom, jak jsou místní údaje důvěryhodnosti Sybil v grafu. Převody tokenů mohou být vysoké signály, ale mohou to být také obchody se štětcem, takže není divu, že většina grafu je nepropojená.
Po potvrzení, že velikost vstupních dat a připojení jsou přiměřené, můžeme spustit a uložit náš graf Eigentrust. Uložil jsem svůj graf s id "base_transfer_50" - níže můžete vidět, že k trénování grafu trvá pouze 10 řádků kódu. Představte si OpenRank SDK jako scikit-learning modelů kryptografů.
Pamatujete na konstantu "c" v předchozím vzorci? Pojďme prohledat mřížku na různých hodnotách c (nazývám to alfa) a různých velikostech předdůvěryhodných semen, abychom zjistili, která z nich nám poskytuje nejvyšší logaritmicky normální skóre důvěryhodnosti a nejvyšší pokrytí:
Existuje mnoho kompromisů a neexistuje žádná nejlepší hodnota na výběr. Vysoká regularizace a pokrytí je dobrou volbou, pokud chcete silnou rozmanitost v doporučeních, ale u vysoce sázkových hlasů o správě můžete ve skutečnosti chtít vyšší koncentraci důvěry. Zde použijte svou intuici.
Odtud můžeme vkládat hodnoty do dotazu na předplatné propojeného na začátku řídicího panelu Dune, abychom získali tok interakcí se smlouvou pro důvěryhodné uživatele v kanálu /base. Tento subjektivní výstup doporučení nám pomáhá lépe propojit předchozí společné metriky s naší očekávanou intuicí o kvalitě výstupu doporučení.
trefil to! Toto rozhraní Dune API můžete použít k okamžitému napájení jakékoli ze svých aplikací.
Naučte se sestavit svůj vlastní graf OpenRank Eigentrust
Jste připraveni vzít věci do svých rukou? Můj notebook můžete rozložit a vyzkoušet sami, všechny potřebné odkazy jsou níže:
·OpenRank Docs
·Python SDK repo
· Python Notebook
· Řídicí panel podávání duny
Během příštího měsíce budu provozovat misi Bytexexplorers, kde budeme soutěžit o vytvoření nejlepšího grafu toku předplatného pro nejlepší kryptoaplikace.