原标题:《OpenRank: potenziare le app con feed grafici contestuali e personalizzati》

Autore: Andrew Hong

Compilato da: Ladyfinger, BlockBeats

 

Nota dell'editore:

In questo articolo, l'autore approfondisce l'algoritmo Eigentrust di OpenRank, una nuova tecnologia attualmente utilizzata da Metamask Snaps, Degentips e Supercast. OpenRank, come livello di elaborazione, può eseguire più algoritmi di grafici di reputazione. Il primo introdotto è l'algoritmo eigentrust. Gli autori spiegano perché sono necessari grafici creati dalla comunità, i concetti chiave dell'algoritmo, come funziona e come creare i propri grafici. Inoltre, l'autore prevede in anteprima le prossime attività di Bytexexplorers e incoraggia i lettori a iscriversi per ricevere gli ultimi aggiornamenti.

La maggior parte dei frontend di criptovaluta di oggi sono costituiti da semplici classifiche con le monete migliori ordinate per volume di scambi, liquidità, conio, punti, voti, ecc. Se vogliamo vivere un'esperienza di criptovaluta di livello consumer in grado di superare i giganti Web2 di oggi, abbiamo bisogno di qualcosa di più delle classifiche nelle nostre app.

OpenRank è uno dei pilastri che ci aiuta a raggiungere questo obiettivo ed è già utilizzato da Metamask Snaps, Degen Tips e Supercast. OpenRank è un livello computazionale che può eseguire una serie di algoritmi grafici di reputazione, il primo dei quali è l'algoritmo eigentrust.

In questo articolo, ti presenterò l'algoritmo eigentrust di OpenRank e discuterò di quanto segue:

L'importanza dei diagrammi per la costruzione di comunità e perché ne hai bisogno

Concetti chiave dell'algoritmo e come funziona

Come creare il tuo grafico, fai riferimento a un grafico che ho realizzato in un notebook Python

Iniziamo!

Perché creare un grafico delle raccomandazioni con la community invece di affidarsi semplicemente al proprio team di machine learning?

Quando crei algoritmi e flussi di raccomandazioni nelle criptovalute, dovrai affrontare rapidamente alcuni problemi relativi ai dati:

· Le transazioni contengono molti livelli di operazioni

· Le relazioni tra gli indirizzi possono diventare infinitamente complesse attraverso transazioni multiple

· L'indirizzo stesso contiene identità parziali, ciascuna delle quali è rilevante in contesti diversi

Tutti e tre questi elementi si stanno evolvendo a un ritmo esponenziale. Chiameremo questi elementi in crescita “contesto”.

Il tuo piccolo team di ML non riesce a tenere il passo con il flusso infinito di idee

Inoltre, non vuoi che i tuoi team di backend o di ingegneria dei dati si occupino di questi problemi, dopo tutto hanno un prodotto da costruire. Sono finiti i giorni in cui le app avevano utenti e strutture dati utente, non hai più solo un semplice collegamento, ID utente, mi piace/rispondi/condividi e ID post, ma puoi avere riscatti, suddivisioni, rilasci, scambi, staking, delega, voto, conio e altro ancora. Quasi ogni giorno compaiono nuove "operazioni", così come nuove catene, nuovi tipi di portafogli, nuovi tipi di identità e così via.

Credo che nel corso del prossimo anno l'industria delle criptovalute svilupperà una comunità di data science basata sul protocollo e sui prodotti OpenRank

Faccio parte della comunità dei maghi di Dune da molti anni e ho visto quanto potente possa essere la comunità oltre le capacità di un piccolo team. Ho anche visto quasi tutti i piccoli team di crittografia passare da "Sì, possiamo farlo in modo indipendente con un nodo e un database RDS" a "Dobbiamo sfruttare strumenti di dati creati dalla comunità come The Graph e Dune". Per me, creare una combinazione di query e grafici ottimizzati per un tipo specifico di flusso di raccomandazioni e comunità è un problema simile. Dobbiamo iniziare a raccogliere e testare grafici in grado di fornire un flusso di raccomandazioni su ogni applicazione, dai client Farcaster ai block explorer.

Il concetto di flusso di raccomandazioni è mimetico e verrà eliminato. Gli utenti diventano curatori dei contenuti

Nello spazio delle criptovalute, gli utenti vogliono portare non solo i loro grafici sociali in diverse applicazioni, ma anche il contesto nascosto all'interno di quei grafici. Se seguo attivamente la comunità /degen su Farcaster, mi piacerebbe essere consigliato su Zora, Roam.xyz o OnceUpon per le attività di quella comunità e mi piacerebbe poter spostare tale raccomandazione nel contesto di un'altra community di cui sono membro, ad es. artblocks collector. Il futuro sarà quello in cui gli utenti scopriranno e sceglieranno i propri feed, anziché essere limitati a un determinato gruppo o canale su un’unica piattaforma.

Come funziona l'algoritmo Eigentrust di OpenRank?

L'algoritmo Eigentrust è simile al PageRank in quanto classifica i nodi in una rete di grafi. La differenza è che si concentra sulla cattura di complesse relazioni peer-to-peer come distribuzione di fiducia. È stato originariamente creato per assegnare punteggi di affidabilità nelle reti di condivisione di file. Nel mondo delle criptovalute, potresti immaginare di usarlo per delegare principi di governance di alta qualità o identificare contratti intelligenti affidabili.

Ecco la formula di Eigentrust:

Ci sono due input chiave sopra: i nodi pre-attendibili e il grafico della fiducia locale. "P" è il tuo pre-trust e "S" è il tuo trust locale.

· Fiducia locale: questa è la misura dell'interazione tra due nodi, quando il nodo "i" passa un valore al nodo "j". Potrebbero trattarsi di trasferimenti di token, attestati, risposte al voto/Mi piace, ecc.

· Pretrust: questa è la tua scelta di "seme" per i nodi della rete che dovrebbero essere più affidabili.

· "c": Questa costante (tra 0 e 1) è il peso del valore di fiducia tra il grafico della fiducia locale complessiva e il seme pre-trust. I grafici di interazione hanno in genere una distribuzione basata sulla legge di potenza, quindi pesi pre-trust più elevati aiutano a normalizzare la distribuzione dei valori di classificazione finale.

Se i calcoli non sono facili da capire, considerali come un'analogia con un grafico sociale come Twitter, dove l'influenza come follower, Mi piace, risposte, ecc. è spesso concentrata in un piccolo numero di persone, risultando in una legge di potere dinamico. Impostando un insieme di individui influenti e scegliendo un valore "c" costante pari a 0,5 o superiore, in effetti, le persone con cui questi individui fidati interagiscono erediteranno la metà del valore di tale influenza. In questo modo puoi bilanciare e distribuire i punteggi di affidabilità in modo più uniforme sulla rete.

In che modo questo si collega alla selezione di un contesto e alla creazione di un flusso di raccomandazioni?

Supponiamo che tu voglia ordinare 10.000 proposte di sovvenzione in un flusso di riferimento. Puoi classificare in base al valore tutti gli elettori e i proponenti in base a una serie di interazioni di voto (fiducia locale) e a una serie di elettori fidati di tua scelta (pre-fiducia). Puoi selezionare i tuoi elettori di pre-fiducia selezionando i primi 10 elettori a cui hai delegato i voti su più DAO. Eigentrust verrà eseguito in base a questi due input e fornirà un elenco più ampio di elettori, classificati nel grafico in base alla fiducia ereditata dai nodi pre-attendibili.

In questo modo, ora puoi utilizzare questa lista di valori classificata per valutare le proposte di governance in tempo reale per un flusso di raccomandazioni più personalizzato!

Questo potrebbe essere ancora troppo astratto, quindi lo spiegherò con esempi di codice concreti nella prossima sezione. Tieni presente che OpenRank gestisce il calcolo e l'archiviazione di questi grafici Eigentrust e consiglia di utilizzare il flusso di consigli di output. Tutto quello che devi fare è decidere sugli input di pre-trust e di fiducia locale.

Come costruire un grafico Eigentrust utilizzando OpenRank?

obiettivo finale

In questo esempio, voglio fornire un flusso di abbonamento di contratti consigliati in base al portafoglio utente di Farcaster/base (Farcaster è un'applicazione simile a Twitter). L'output è solo un elenco di ID e valori, nel mio diagramma ogni ID è associato a un ID utente Farcaster (fid).

Origine dei dati

Dopo aver creato il grafico della classifica, abbiamo generato questo flusso di raccomandazioni in base alle principali interazioni contrattuali dell'ultima settimana:

Origine dei dati

Puoi visualizzare la dashboard per vedere altri flussi di referral creati da questo grafico, come il mining NFT, lo scambio di token DEX e l'attività del canale Farcaster.

Codice

Ora che hai visto gli obiettivi, parliamo di come ho creato questa classifica.

Tutto il codice per questo esempio può essere trovato nel notebook hex.tech oppure puoi utilizzare il notebook jupyter se preferisci eseguirlo localmente.

Innanzitutto, ho creato due query per il nostro pre-trust e il trust locale:

La prima query è il nostro "nodo pre-attendibile". Questa query restituisce gli utenti principali del canale in base alle interazioni ricevute (Mi piace, retweet, risposte), la mia formula è (Mi piace + 3 retweet + 10 risposte). Prenderemo i primi 100 ID da questa query come nostri nodi di fiducia.

Origine dei dati

La seconda query viene utilizzata per tenere traccia delle interazioni sulla catena tra i nodi, utilizzando l'indirizzo del collegamento dell'utente nel canale /base. Poiché il flusso di sottoscrizione consiglierà le azioni on-chain, voglio assicurarmi di scegliere un grafico di interazione basato sulla quantità di interazioni on-chain. L'uso del valore USD trasferito tra i nodi è un buon proxy generale: ho monitorato i trasferimenti di stablecoin ed ETH su Optimism, Base e sulla rete principale di Ethereum.

Origine dei dati

Analizzare il grafico di input e testare il grafico Eigentrust di output

Ora che abbiamo i nodi pre-attendibili e il grafico della fiducia locale, diamo un'occhiata ad alcune statistiche riassuntive. 65.755 utenti nel canale /base hanno trasferito token ad altri nel canale e il 19% del grafico (ovvero i nodi connessi) può essere attraversato dai nostri nodi pre-attendibili. Questa percentuale può variare a seconda di come sono i dati di fiducia locale del grafico Sybil. I trasferimenti di token possono essere segnali elevati, ma possono anche essere operazioni a pennello, quindi non sorprende che la maggior parte del grafico non sia collegata.

Dopo aver confermato che la dimensione dei dati di input e delle connessioni è ragionevole, possiamo eseguire e salvare il nostro grafico Eigentrust. Ho salvato il mio grafico con l'ID "base_transfer_50": di seguito puoi vedere che sono necessarie solo 10 righe di codice per addestrare il grafico. Pensa a OpenRank SDK come allo scikit-learn dei modelli crittografici.

Ricordi la costante "c" nella formula precedente? Facciamo una ricerca a griglia per diversi valori di c (lo chiamerò alfa) e diverse dimensioni del seed pre-trust per vedere quale ci dà il punteggio di fiducia più log-normale e la copertura più alta:

Ci sono molti compromessi qui e non esiste un valore migliore tra cui scegliere. Un’elevata regolarizzazione e copertura è una buona scelta se desideri una forte diversità nelle raccomandazioni, ma per i voti di governance ad alto rischio potresti effettivamente desiderare una maggiore concentrazione di fiducia. Usa la tua intuizione qui.

Da qui, possiamo inserire valori nella query di abbonamento collegata all'inizio della dashboard di Dune per ottenere un flusso di interazioni contrattuali per gli utenti fidati nel canale /base. Questo output di raccomandazione soggettiva ci aiuta a collegare meglio le metriche comuni precedenti con la nostra intuizione prevista sulla qualità dell'output di raccomandazione.

azzeccato! Puoi utilizzare questa API Dune per potenziare subito qualsiasi tua app.

Impara a costruire il tuo grafico OpenRank Eigentrust

Sei pronto a prendere in mano la situazione? Puoi biforcare il mio notebook e provarlo tu stesso, tutti i collegamenti necessari sono di seguito:

·Documenti OpenRank

·Repository SDK Python

·Taccuino Python

·Pannello di alimentazione Dune

Nel prossimo mese condurrò una missione Bytexexplorers in cui competeremo per creare il miglior grafico del flusso di abbonamenti per le migliori app di crittografia.