Książka: „OpenRank: wspomaganie aplikacji za pomocą kontekstowych i spersonalizowanych wykresów”

Autor: Andrew Hong

Opracowano przez: Ladyfinger, BlockBeats

 

Notatka redaktora:

W tym artykule autor szczegółowo omawia algorytm Eigentrust OpenRank, nową technologię używaną obecnie przez Metamask Snaps, Degen Tips i Supercast. OpenRank, jako warstwa obliczeniowa, może uruchamiać wiele algorytmów wykresów reputacji. Pierwszym wprowadzonym jest algorytm eigentrust. Autorzy dzielą się informacjami, dlaczego potrzebne są wykresy tworzone przez społeczność, kluczowymi koncepcjami algorytmu, sposobem jego działania i sposobem tworzenia własnych wykresów. Ponadto autor podgląda nadchodzące zadania Bytexexplorers i zachęca czytelników do subskrypcji, aby otrzymywać najnowsze aktualizacje.

Większość dzisiejszych interfejsów kryptowalutowych składa się z prostych tabel wyników z najlepszymi monetami posortowanymi według wolumenu obrotu, płynności, bicia, punktów, głosów itp. Jeśli chcemy uzyskać dostęp do kryptowalut na poziomie konsumenckim, który może przewyższyć dzisiejszych gigantów Web2, potrzebujemy czegoś więcej niż tylko rankingów w naszych aplikacjach.

OpenRank jest jednym z kamieni węgielnych, który pomaga nam to osiągnąć i jest już używany przez Metamask Snaps, Degen Tips i Supercast. OpenRank to warstwa obliczeniowa, na której można uruchomić wiele algorytmów wykresów reputacji, z których pierwszym jest algorytm eigentrust.

W tym artykule przedstawię algorytm eigentrust OpenRank i omówię następujące kwestie:

Znaczenie diagramów budowania społeczności i dlaczego ich potrzebujesz

Kluczowe pojęcia dotyczące algorytmu i sposobu jego działania

Jak stworzyć własny wykres, zobacz wykres, który zrobiłem w notatniku Pythona

zaczynajmy!

Po co tworzyć wykres rekomendacji wspólnie ze społecznością, zamiast po prostu polegać na własnym zespole zajmującym się uczeniem maszynowym?

Budując algorytmy i przepływy rekomendacji w kryptowalutach, szybko napotkasz pewne problemy z danymi:

· Transakcje obejmują wiele poziomów operacji

· Relacje między adresami mogą stać się nieskończenie złożone w wyniku wielu transakcji

· Sam adres zawiera częściowe tożsamości, z których każda jest istotna w innym kontekście

Wszystkie trzy powyższe ewoluują w tempie wykładniczym. Nazwijmy te rosnące elementy „kontekstem”.

Twój mały zespół ML nie nadąża za niekończącym się przepływem pomysłów

Nie chcesz też, aby Twoje zespoły zajmujące się backendem lub inżynierią danych zajmowały się tymi problemami, w końcu mają produkt do zbudowania. Skończyły się czasy, gdy aplikacje miały użytkowników i struktury danych użytkowników. Nie masz już prostego linku, identyfikatora użytkownika, polubienia/odpowiedzi/udostępnienia i identyfikatora postu, ale możesz skorzystać z wykupu, podziału, upuszczenia, zamiany, stakingu, delegowania, głosowanie, bicie monet i nie tylko. Niemal codziennie pojawiają się nowe „operacje”, a także nowe sieci, nowe typy portfeli, nowe typy tożsamości i tak dalej.

Wierzę, że w ciągu najbliższego roku branża kryptowalut rozwinie społeczność analityki danych grafowych w oparciu o protokół i produkty OpenRank

Należę do społeczności czarodziejów Dune od wielu lat i widziałem, jak potężna może być ta społeczność, wykraczająca poza możliwości małego zespołu. Widziałem też, jak prawie każdy mały zespół zajmujący się kryptowalutami przeszedł od „Tak, możemy to zrobić niezależnie za pomocą węzła i bazy danych RDS” do „Musimy wykorzystać narzędzia danych stworzone przez społeczność, takie jak The Graph i Dune”. Dla mnie tworzenie kombinacji zapytań i wykresów dostosowanych do określonego typu przepływu rekomendacji i społeczności jest podobnym problemem. Musimy zacząć zbierać i testować wykresy, które mogą zapewnić przepływ rekomendacji w każdej aplikacji, od klientów Farcaster po eksploratorów bloków.

Koncepcja przepływu rekomendacji ma charakter mimetyczny i zostanie wyeliminowana. Użytkownicy stają się kuratorami treści

W przestrzeni kryptowalut użytkownicy chcą przenieść do różnych aplikacji nie tylko swoje wykresy społecznościowe, ale także kontekst ukryty w tych wykresach. Jeśli aktywnie obserwuję społeczność /degen w Farcaster, chciałbym, żeby mnie rekomendowano w Zora, Roam.xyz lub OnceUpon w związku z działaniami tej społeczności i chciałbym mieć możliwość przeniesienia tej rekomendacji do kontekstu innego społeczność, której jestem członkiem, np. kolekcjoner artblocków. Przyszłość będzie taka, w której użytkownicy będą odkrywać i wybierać własne kanały, zamiast ograniczać się do określonej grupy lub funkcji kanału na jednej platformie.

Jak działa algorytm Eigentrust OpenRank?

Algorytm Eigentrust jest podobny do PageRank w tym sensie, że klasyfikuje węzły w sieci grafów. Różnica polega na tym, że koncentruje się na uchwyceniu złożonych relacji peer-to-peer jako dystrybucji zaufania. Pierwotnie został zbudowany do przypisywania ocen zaufania w sieciach udostępniania plików. W świecie kryptowalut można sobie wyobrazić użycie go do zastępowania wysokiej jakości zasad zarządzania lub identyfikowania godnych zaufania inteligentnych kontraktów.

Oto wzór Eigentrusta:

Powyżej znajdują się dwa kluczowe dane wejściowe: wstępnie zaufane węzły i lokalny wykres zaufania. „P” to Twój fundusz powierniczy, a „S” to lokalny fundusz powierniczy.

· Localtrust: Jest to miara interakcji pomiędzy dwoma węzłami, gdy węzeł „i” przekazuje pewną wartość do węzła „j”. Mogą to być transfery tokenów, zaświadczenia, odpowiedzi na głosy/polubienia itp.

· Pretrust: To jest Twój wybór „ziarna” dla węzłów w sieci, które powinny być bardziej godne zaufania.

· „c”: Ta stała (od 0 do 1) jest wagą wartości zaufania pomiędzy ogólnym lokalnym wykresem zaufania a początkowym ziarnem zaufania. Wykresy interakcji mają zazwyczaj rozkład potęgowy, więc wyższe wagi przed zaufaniem pomagają normalizować rozkład ostatecznych wartości rankingowych.

Jeśli matematyka nie jest łatwa do zrozumienia, pomyśl o niej jako o analogii do wykresu społecznościowego, takiego jak Twitter, gdzie wpływ, taki jak obserwujący, polubienia, odpowiedzi itp., często koncentruje się na małej liczbie osób, co skutkuje prawem władzy dynamiczny. Tworząc zbiór wpływowych osób i wybierając stałą wartość „c” wynoszącą 0,5 lub wyższą, w efekcie osoby, z którymi te zaufane osoby wchodzą w interakcję, odziedziczą połowę wartości tego wpływu. W ten sposób równoważysz i rozprowadzasz wyniki zaufania w sieci bardziej równomiernie.

Jak to się ma do wyboru dowolnego kontekstu i stworzenia przepływu rekomendacji?

Załóżmy, że chcesz posortować 10 000 wniosków o dotacje w strumieniu poleceń. Możesz ocenić wartość wszystkich wyborców i wnioskodawców w oparciu o zestaw interakcji związanych z głosowaniem (lokalne zaufanie) i zestaw wybranych przez Ciebie zaufanych wyborców (wstępne zaufanie). Możesz wybrać wyborców z wstępnym wotum zaufania, wybierając 10 najlepszych wyborców, którym delegowałeś głosy w wielu DAO. Eigentrust będzie działać w oparciu o te dwa dane wejściowe i wyświetli większą listę wyborców, uszeregowanych na wykresie w oparciu o zaufanie odziedziczone z wstępnie zaufanych węzłów.

W ten sposób możesz teraz używać tej rankingowej listy wartości do ważenia propozycji zarządzania w czasie rzeczywistym w celu uzyskania bardziej spersonalizowanego przepływu rekomendacji!

Może to być wciąż zbyt abstrakcyjne, więc wyjaśnię to na konkretnych przykładach kodu w następnej sekcji. Należy pamiętać, że OpenRank obsługuje obliczanie i przechowywanie tych wykresów Eigentrust i zaleca korzystanie ze strumienia rekomendacji wyjściowych. Wszystko, co musisz zrobić, to zdecydować się na dane wejściowe przed zaufaniem i zaufaniem lokalnym.

Jak zbudować wykres Eigentrust za pomocą OpenRank?

Ostateczny cel

W tym przykładzie chcę zapewnić strumień subskrypcji rekomendowanych umów w oparciu o portfel użytkownika Farcaster/base (Farcaster to aplikacja podobna do Twittera). Dane wyjściowe to tylko lista identyfikatorów i wartości. Na moim diagramie każdy identyfikator jest powiązany z identyfikatorem użytkownika Farcaster (fid).

Źródła danych

Po utworzeniu wykresu rankingowego wygenerowaliśmy następujący przepływ rekomendacji na podstawie głównych interakcji między nimi w ramach umów w ciągu ostatniego tygodnia:

Źródła danych

Możesz wyświetlić pulpit nawigacyjny, aby zobaczyć inne przepływy poleceń utworzone na podstawie tego wykresu, takie jak wybicie NFT, handel tokenami DEX i aktywność kanału Farcaster.

Kod

Teraz, gdy znasz już cele, porozmawiajmy o tym, jak stworzyłem ten wykres rankingowy.

Cały kod tego przykładu można znaleźć w notatniku hex.tech lub możesz użyć notatnika jupyter, jeśli wolisz uruchomić go lokalnie.

Najpierw utworzyłem dwa zapytania dla naszego zaufania wstępnego i lokalnego:

Pierwsze zapytanie to nasz „wstępnie zaufany węzeł”. To zapytanie wyświetla najlepszych użytkowników na kanale na podstawie otrzymanych interakcji (polubienia, retweety, odpowiedzi). Moja formuła to (polubienia + 3 retweety + 10 odpowiedzi). Weźmiemy pierwszych 100 identyfikatorów z tego zapytania jako nasze węzły zaufania.

Źródła danych

Drugie zapytanie służy do śledzenia interakcji w łańcuchu pomiędzy węzłami przy użyciu adresu łącza użytkownika w kanale /base. Ponieważ przepływ subskrypcji będzie zalecić działania w łańcuchu, chcę mieć pewność, że wybiorę wykres interakcji na podstawie liczby interakcji w łańcuchu. Korzystanie z wartości USD przesyłanej między węzłami jest dobrym ogólnym rozwiązaniem — śledziłem transfery monet stabilnych i ETH w sieciach Optimism, Base i Ethereum.

Źródła danych

Przeanalizuj wykres wejściowy i przetestuj wyjściowy wykres Eigenttrusta

Teraz, gdy mamy już wstępnie zaufane węzły i wykres zaufania lokalnego, przyjrzyjmy się podsumowującym statystykom. 65 755 użytkowników w kanale /base przekazało tokeny innym osobom w kanale, a 19% wykresu (tj. połączonych węzłów) można przejść z naszych wstępnie zaufanych węzłów. Odsetek ten może się różnić w zależności od tego, jakie są lokalne dane dotyczące zaufania Sybil na wykresie. Transfery tokenów mogą być wysokimi sygnałami, ale mogą być również transakcjami pędzlowymi, więc nie jest zaskakujące, że większość wykresu jest niepołączona.

Po potwierdzeniu, że rozmiar danych wejściowych i połączeń jest rozsądny, możemy uruchomić i zapisać nasz wykres Eigentrust. Zapisałem mój wykres z identyfikatorem „base_transfer_50” - poniżej widać, że wytrenowanie wykresu zajmuje tylko 10 linii kodu. Pomyśl o OpenRank SDK jako o narzędziu do nauki modeli kryptografów w formacie scikit.

Pamiętasz stałą „c” w poprzednim wzorze? Przeszukajmy siatkę pod kątem różnych wartości c (nazwę to alfa) i różnych rozmiarów nasion przed zaufaniem, aby zobaczyć, który z nich daje nam najbardziej logarytmiczno-normalny wynik zaufania i największe pokrycie:

Istnieje wiele kompromisów i nie ma jednej najlepszej wartości do wyboru. Wysoka regularność i zasięg to dobry wybór, jeśli zależy Ci na dużej różnorodności rekomendacji, ale w przypadku głosów dotyczących zarządzania o wysoką stawkę możesz w rzeczywistości chcieć większej koncentracji zaufania. Użyj tutaj swojej intuicji.

Stąd możemy wstawić wartości do zapytania subskrypcyjnego, do którego link znajduje się na początku dashboardu Dune, aby uzyskać przepływ interakcji kontraktowych dla zaufanych użytkowników w kanale /base. Te subiektywne rekomendacje pomagają nam lepiej połączyć poprzednie wspólne wskaźniki z naszą oczekiwaną intuicją dotyczącą jakości rekomendacji.

udało się! Możesz użyć tego interfejsu API Dune do natychmiastowego zasilania dowolnej aplikacji.

Naucz się budować własny wykres OpenRank Eigentrust

Czy jesteś gotowy wziąć sprawy w swoje ręce? Możesz rozwidlić mój notatnik i spróbować sam, wszystkie potrzebne linki znajdują się poniżej:

·Dokumenty OpenRank

·Repozytorium SDK Pythona

·Notatnik Pythona

· Pulpit nawigacyjny z wydmami

Przez następny miesiąc będę prowadził misję Bytexexplorers, podczas której będziemy rywalizować o stworzenie najlepszego wykresu przepływu subskrypcji dla najlepszych aplikacji kryptograficznych.