Yazarı: Andrew Hong
Derleyen: Ladyfinger, BlockBeats
Editörün Notu:
Bu makalede yazar, şu anda Metamask Snaps, Degen ipuçları ve Supercast tarafından kullanılan yeni bir teknoloji olan OpenRank'ın Eigentrust algoritmasını derinlemesine inceliyor. OpenRank, bir bilgi işlem katmanı olarak birden fazla itibar grafiği algoritmasını çalıştırabilir. İlk tanıtılan öz güven algoritmasıdır. Yazarlar neden topluluk tarafından oluşturulmuş grafiklere ihtiyacınız olduğunu, algoritmanın temel kavramlarını, nasıl çalıştığını ve kendi grafiklerinizi nasıl oluşturacağınızı paylaşıyor. Ayrıca yazar, yaklaşan Bytexexplorers görevlerini önizliyor ve okuyucuları en son güncellemeleri almak için abone olmaya teşvik ediyor.
Günümüzün kripto para birimi ön uçlarının çoğu, işlem hacmi, likidite, basım, puanlar, oylar vb.'ye göre sıralanan en iyi madeni paraların yer aldığı basit lider tablolarından oluşur. Günümüzün Web2 devlerini geride bırakabilecek, tüketici düzeyinde bir kripto para birimi deneyimine girmek istiyorsak, uygulamalarımızda liderlik tablolarından daha fazlasına ihtiyacımız var.
OpenRank bunu başarmamıza yardımcı olan temel taşlardan biridir ve halihazırda Metamask Snaps, Degen Tips ve Supercast tarafından kullanılmaktadır. OpenRank, bir dizi itibar grafiği algoritmasını çalıştırabilen bir hesaplama katmanıdır; bunlardan ilki özgüven algoritmasıdır.
Bu yazıda size OpenRank'ın özgüven algoritmasını tanıtacağım ve aşağıdaki konuları tartışacağım:
Topluluk Oluşturma Diyagramlarının Önemi ve Onlara Neden İhtiyacınız Var?
Algoritmanın temel kavramları ve nasıl çalıştığı
Kendi grafiğinizi nasıl oluşturabilirsiniz, Python not defterinde hazırladığım grafiğe bakın
Hadi başlayalım!
Neden yalnızca kendi makine öğrenimi ekibinize güvenmek yerine toplulukla birlikte bir öneri grafiği oluşturasınız ki?
Kripto para birimlerinde algoritmalar ve öneri akışları oluştururken hızlı bir şekilde bazı veri sorunlarıyla karşılaşacaksınız:
· İşlemler birçok düzeyde işlem içerir
· Adresler arasındaki ilişkiler birden fazla işlem nedeniyle son derece karmaşık hale gelebilir
· Adresin kendisi, her biri farklı bağlamlarla ilgili olan kısmi kimlikler içerir
Yukarıdakilerin üçü de üstel bir hızla gelişiyor. Bu büyüyen unsurlara "bağlam" adını verelim.
Küçük makine öğrenimi ekibiniz hiç bitmeyen fikir akışına ayak uyduramaz
Ayrıca arka uç veya veri mühendisliği ekiplerinizin bu sorunlarla ilgilenmesini de istemezsiniz, çünkü onların da geliştirecekleri bir ürünleri vardır. Kullanıcıların ve kullanıcı veri yapılarının olduğu uygulamaların günleri bitti; artık yalnızca basit bir bağlantınız, kullanıcı kimliğiniz, beğenme/yanıtlama/paylaşma ve gönderi kimliğiniz yok, aynı zamanda kullanım, bölme, bırakma, takas, Staking, delegasyon, oy verme, para basma ve daha fazlası. Neredeyse her gün yeni "işlemler" ortaya çıkıyor, ayrıca yeni zincirler, yeni cüzdan türleri, yeni kimlik türleri vb.
Önümüzdeki yıl kripto para birimi endüstrisinin OpenRank protokolüne ve ürünlerine dayalı bir grafik veri bilimi topluluğu geliştireceğine inanıyorum.
Uzun yıllardır Dune'un büyücü topluluğunun bir parçasıyım ve bir topluluğun gücünün küçük bir ekibin yeteneklerini aştığını gördüm. Ayrıca neredeyse her küçük kripto ekibinin "Evet, bunu bir düğüm ve RDS veritabanıyla kendi başımıza yapabiliriz"den "The Graph ve Dune gibi topluluk tarafından oluşturulmuş veri araçlarından yararlanmamız gerekiyor"a geçtiğini gördüm. Benim için belirli bir öneri akışı ve topluluğa göre ayarlanmış sorgu ve grafiklerin bir kombinasyonunu oluşturmak da benzer bir sorundur. Farcaster istemcilerinden blok kaşiflerine kadar her uygulamada öneri akışı sağlayabilecek grafikleri toplamaya ve test etmeye başlamamız gerekiyor.
Tavsiye akışı kavramı taklitçidir ve ortadan kaldırılacaktır. Kullanıcılar içeriğin küratörü haline gelir
Kripto para alanında kullanıcılar, yalnızca sosyal grafiklerini farklı uygulamalara değil, aynı zamanda bu grafiklerin içinde saklı olan bağlamı da taşımak isterler. Farcaster'da /degen topluluğunu aktif olarak takip ediyorsam, bu topluluğun etkinlikleri için Zora, Roam.xyz veya OnceUpon'da önerilmek isterim ve bu öneriyi başka bir topluluğun bağlamına çevirebilmek isterim üyesi olduğum topluluk, örneğin artblock koleksiyoncusu. Gelecek, kullanıcıların tek bir platformda belirli bir grup veya kanal özelliğiyle sınırlı olmak yerine, kendi akışlarını keşfedip seçebilecekleri bir gelecek olacak.
OpenRank'ın Eigentrust algoritması nasıl çalışır?
Eigentrust algoritması, bir grafik ağındaki düğümleri sıralaması açısından PageRank'a benzer. Aradaki fark, bir güven dağıtımı olarak karmaşık eşler arası ilişkileri yakalamaya odaklanmasıdır. Başlangıçta dosya paylaşım ağlarında güven puanları atamak için tasarlandı. Kripto para dünyasında, bunu yüksek kaliteli yönetişim ilkelerini temsil etmek veya güvenilir akıllı sözleşmeleri belirlemek için kullanmayı hayal edebilirsiniz.
İşte Eigentrust'un formülü:
Yukarıda iki önemli girdi vardır: önceden güvenilen düğümler ve yerel güven grafiği. "P" ön güveninizdir ve "S" yerel güveninizdir.
· Yerel güven: Bu, "i" düğümü "j" düğümüne bir değer ilettiğinde, iki düğüm arasındaki etkileşimin ölçümüdür. Bu, jeton transferleri, onaylar, oy yanıtları/beğenmeleri vb. olabilir.
· Ön güven: Bu, ağdaki daha güvenilir olması gereken düğümler için "tohum" seçiminizdir.
· "c": Bu sabit (0 ile 1 arasında), genel yerel güven grafiği ile ön güven tohumu arasındaki güven değerinin ağırlığıdır. Etkileşim grafikleri genellikle bir güç yasası dağılımına sahiptir, bu nedenle daha yüksek güven öncesi ağırlıklar, nihai sıralama değerlerinin dağılımının normalleştirilmesine yardımcı olur.
Eğer matematiğin anlaşılması kolay değilse bunu, Twitter gibi, takipçiler, beğeniler, yanıtlar vb. etkinin genellikle az sayıda insanda yoğunlaştığı ve bir güç yasasıyla sonuçlanan bir sosyal grafiğe benzetme olarak düşünün. dinamik. Etkili bireylerden oluşan bir grup oluşturarak ve 0,5 veya daha yüksek bir sabit "c" değeri seçerek, aslında bu güvenilen bireylerin etkileşimde bulunduğu kişiler, bu etkinin değerinin yarısını devralacaktır. Güven puanlarını ağ genelinde bu şekilde daha eşit bir şekilde dengeleyip dağıtırsınız.
Bunun herhangi bir bağlamın seçilmesi ve herhangi bir öneri akışının oluşturulmasıyla nasıl bir ilişkisi var?
Diyelim ki bir yönlendirme akışında 10.000 hibe teklifini sıralamak istiyorsunuz. Tüm seçmenleri ve teklif sahiplerini bir dizi oylama etkileşimine (yerel güven) ve kendi seçtiğiniz bir dizi güvenilir seçmene (ön güven) dayalı olarak değer sıralaması yapabilirsiniz. Birden fazla DAO'da oy yetkisi verdiğiniz ilk 10 seçmeni seçerek ön güven seçmenlerinizi seçebilirsiniz. Eigentrust, bu iki girdiye dayalı olarak çalışacak ve size, önceden güvenilen düğümlerden devralınan güvene göre grafikte sıralanan daha geniş bir seçmen listesi sunacaktır.
Bu şekilde, artık daha kişiselleştirilmiş bir öneri akışı için gerçek zamanlı yönetim önerilerini tartmak amacıyla bu sıralanmış değer listesini kullanabilirsiniz!
Bu hala çok soyut olabilir, bu yüzden bir sonraki bölümde bunu somut kod örnekleriyle açıklayacağım. OpenRank'ın bu Eigentrust grafiklerinin hesaplanmasını ve depolanmasını gerçekleştirdiğini ve çıktı öneri akışını kullanmanızı önerdiğini unutmayın. Tek yapmanız gereken ön güven ve yerel güven girdilerine karar vermek.
OpenRank kullanarak bir Eigentrust grafiği nasıl oluşturulur?
Nihai amaç
Bu örnekte, Farcaster/base'in kullanıcı cüzdanına (Farcaster Twitter benzeri bir uygulamadır) dayalı olarak önerilen sözleşmelerden oluşan bir abonelik akışı sağlamak istiyorum. Çıktı yalnızca kimliklerin ve değerlerin bir listesidir; diyagramımda her kimlik, bir Farcaster kullanıcı kimliğiyle (fid) ilişkilidir.
Veri kaynakları
Sıralama grafiğini oluşturduktan sonra, geçtiğimiz haftadaki ana sözleşme etkileşimlerine dayanarak bu öneri akışını oluşturduk:
Veri kaynakları
Bu grafikten oluşturulan NFT basımı, DEX token ticareti ve Farcaster kanal etkinliği gibi diğer yönlendirme akışlarını görmek için kontrol panelini görüntüleyebilirsiniz.
Kod
Artık hedefleri gördüğünüze göre bu sıralama grafiğini nasıl oluşturduğumdan bahsedelim.
Bu örneğin tüm kodu hex.tech not defterinde bulunabilir veya yerel olarak çalıştırmayı tercih ederseniz jupyter not defterini kullanabilirsiniz.
Öncelikle ön güvenimiz ve yerel güvenimiz için iki sorgu oluşturdum:
İlk sorgu bizim "önceden güvenilen düğümümüz"dür. Bu sorgu, alınan etkileşimlere (beğeniler, retweetler, yanıtlar) dayalı olarak kanaldaki en iyi kullanıcıların çıktısını alır; formülüm şu şekildedir (beğeniler + 3 retweet + 10 yanıt). Bu sorgudaki ilk 100 kimliği güven düğümlerimiz olarak alacağız.
Veri kaynakları
İkinci sorgu, kullanıcının /base kanalındaki bağlantı adresini kullanarak düğümler arasındaki zincir içi etkileşimleri izlemek için kullanılır. Abonelik akışı zincir içi eylemler önereceğinden, zincir içi etkileşimlerin miktarına dayalı bir etkileşim grafiği seçtiğinizden emin olmak istiyorum. Düğümler arasında aktarılan USD değerini kullanmak iyi bir genel vekildir - Optimism, Base ve Ethereum ana ağında stablecoin ve ETH transferlerini takip ettim.
Veri kaynakları
Giriş grafiğini analiz edin ve çıkış Özgüven grafiğini test edin
Artık önceden güvenilen düğümlere ve yerel güven grafiğine sahip olduğumuza göre, bazı özet istatistiklere bakalım. /base kanalındaki 65.755 kullanıcı, kanaldaki diğer kullanıcılara token aktardı ve grafiğin %19'u (yani bağlı düğümler), önceden güvenilen düğümlerimizden geçilebilir. Bu yüzde, Sybil'in grafiğin yerel güven verilerinin ne kadar olduğuna bağlı olarak değişebilir. Token transferleri yüksek sinyaller olabilir, ancak bunlar aynı zamanda fırça ticareti de olabilir, bu nedenle grafiğin çoğunluğunun bağlantısız olması şaşırtıcı değildir.
Giriş verilerinin ve bağlantıların boyutunun makul olduğunu doğruladıktan sonra Eigentrust grafiğimizi çalıştırıp kaydedebiliriz. Grafiğimi "base_transfer_50" kimliğiyle kaydettim - aşağıda grafiği eğitmek için yalnızca 10 satır kod gerektiğini görebilirsiniz. OpenRank SDK'yı kriptograf modellerinin scikit-learn'ı olarak düşünün.
Önceki formüldeki "c" sabitini hatırlıyor musunuz? Hangisinin bize en fazla log-normal güven puanını ve en yüksek kapsamı verdiğini görmek için farklı c değerleri (ben buna alfa diyeceğim) ve farklı ön-güven tohum boyutları üzerinde bir ızgara araştırması yapalım:
Burada pek çok değiş tokuş vardır ve aralarından seçim yapabileceğiniz en iyi değer yoktur. Önerilerde güçlü bir çeşitlilik istiyorsanız yüksek düzenleme ve kapsam iyi bir seçimdir, ancak yüksek riskli yönetişim oyları için aslında daha yüksek bir güven konsantrasyonu isteyebilirsiniz. Burada sezginizi kullanın.
Buradan, /base kanalındaki güvenilir kullanıcılar için sözleşme etkileşimlerinin akışını elde etmek amacıyla Dune'un kontrol panelinin başında bağlantısı verilen abonelik sorgusuna değerler ekleyebiliriz. Bu öznel öneri çıktısı, önceki ortak metrikleri, öneri çıktısının kalitesine ilişkin beklenen sezgilerimizle daha iyi ilişkilendirmemize yardımcı olur.
başarmak! Uygulamalarınızdan herhangi birine anında güç sağlamak için bu Dune API'sini kullanabilirsiniz.
Kendi OpenRank Eigentrust grafiğinizi oluşturmayı öğrenin
Meseleyi kendi elinize almaya hazır mısınız? Defterimi çatallayıp kendiniz deneyebilirsiniz, gerekli tüm bağlantılar aşağıda:
·OpenRank Dokümanları
·Python SDK deposu
·Python Not Defteri
·Dune besleme paneli
Önümüzdeki ay, en iyi kripto uygulamaları için en iyi abonelik akış grafiğini oluşturmak üzere yarışacağımız bir Bytexexplorers görevini yürüteceğim.