Rumah  >  Artikel  >  Menyelam mendalam ke dalam algoritma Eigentrust OpenRank: Bagaimana untuk membina lapisan pengkomputeran sosial?

Menyelam mendalam ke dalam algoritma Eigentrust OpenRank: Bagaimana untuk membina lapisan pengkomputeran sosial?

WBOY
WBOYasal
2024-06-24 13:33:20486semak imbas

Tajuk asal: "OpenRank: Memperkasakan Apl dengan Suapan Graf Kontekstual dan Diperibadikan"

Nota Editor:

Dalam artikel ini, pengarang melihat secara mendalam pada algoritma OpenRank oleh Metama, yang kini digunakan oleh algoritma Metama oleh OpenRank. Snaps, petua Degen dan Teknologi baharu yang digunakan oleh Supercast. OpenRank, sebagai lapisan pengkomputeran, boleh menjalankan berbilang algoritma graf reputasi Yang pertama diperkenalkan ialah algoritma eigentrust. Pengarang berkongsi sebab anda memerlukan graf binaan komuniti, konsep utama algoritma, cara ia berfungsi dan cara mencipta graf anda sendiri. Di samping itu, pengarang melihat pratonton tugas Bytexexplorers yang akan datang dan menggalakkan pembaca melanggan untuk mendapatkan kemas kini terkini.

Sebahagian besar bahagian hadapan mata wang kripto hari ini terdiri daripada papan pendahulu mudah dengan syiling teratas yang diisih mengikut volum dagangan, kecairan, pencetakan, mata, undian, dsb. Jika kami ingin memasuki pengalaman mata wang kripto gred pengguna yang boleh mengatasi gergasi Web2 hari ini, kami memerlukan lebih daripada papan pendahulu dalam apl kami.

OpenRank ialah salah satu asas yang membantu kami mencapai ini dan sudah digunakan oleh Metamask Snaps, Degen Tips dan Supercast. OpenRank ialah lapisan pengiraan yang boleh menjalankan beberapa algoritma graf reputasi, yang pertama ialah algoritma eigentrust.

Dalam artikel ini, saya akan memperkenalkan anda kepada algoritma eigentrust OpenRank dan membincangkan perkara berikut:

Kepentingan graf yang dibina komuniti, dan sebab anda memerlukannya

Konsep utama algoritma dan cara ia berfungsi

Untuk mengetahui cara untuk membuat graf anda sendiri, rujuk graf yang saya buat dalam buku nota Python

Jom mulakan!

Mengapa membina graf pengesyoran dengan komuniti dan bukannya hanya bergantung pada pasukan pembelajaran mesin anda sendiri?

Apabila membina algoritma dan aliran pengesyoran dalam mata wang kripto, anda akan menghadapi beberapa masalah data dengan cepat:

· Transaksi mengandungi banyak lapisan operasi

· Hubungan antara alamat boleh menjadi sangat kompleks dengan berbilang transaksi

· Alamat itu sendiri mengandungi identiti separa , setiap satunya adalah relevan dalam konteks yang berbeza

Ketiga-tiga perkara di atas berkembang pada kadar eksponen, mari kita panggil elemen yang semakin meningkat ini sebagai "konteks".

Pasukan ML kecil anda tidak dapat bersaing dengan idea kreatif yang tidak berkesudahan ini

Anda juga tidak mahu bahagian belakang atau pasukan kejuruteraan data anda menangani masalah ini, lagipun mereka mempunyai produk untuk dibina. Zaman apl yang mempunyai struktur data pengguna dan pengguna telah berakhir, anda bukan lagi hanya mempunyai pautan ringkas, ID pengguna, suka/balas/kongsi dan ID siaran, tetapi anda boleh mempunyai penebusan, pemisahan, penurunan, pertukaran, Staking, perwakilan, mengundi, mencetak dan banyak lagi. Terdapat "operasi" baharu muncul hampir setiap hari, serta rantaian baharu, jenis dompet baharu, jenis identiti baharu dan sebagainya.

Saya percaya bahawa pada tahun hadapan, industri mata wang kripto akan membangunkan komuniti sains data graf berdasarkan protokol dan produk OpenRank

Saya telah berada dalam komuniti ahli sihir Dune selama bertahun-tahun dan telah menyaksikan kuasa komuniti itu. di luar kemampuan pasukan kecil. Saya juga telah melihat hampir setiap pasukan crypto kecil pergi daripada "Ya, kami boleh melakukan ini secara bebas dengan nod dan pangkalan data RDS" kepada "Kami perlu memanfaatkan alatan data binaan komuniti seperti The Graph dan Dune." Bagi saya, mencipta gabungan pertanyaan dan graf yang ditala untuk jenis aliran pengesyoran dan komuniti tertentu adalah masalah yang sama. Kami perlu mula mengumpul dan menguji graf yang boleh memberikan aliran pengesyoran pada setiap aplikasi, daripada pelanggan Farcaster hingga menyekat penjelajah.

Konsep aliran cadangan adalah mimetik dan akan dihapuskan. Pengguna menjadi kurator kandungan

Dalam ruang mata wang kripto, pengguna bukan sahaja mahu membawa graf sosial mereka ke aplikasi yang berbeza, tetapi juga konteks yang tersembunyi dalam graf ini. Jika saya mengikuti komuniti /degen secara aktif di Farcaster, saya ingin disyorkan pada Zora, Roam.xyz atau OnceUpon untuk aktiviti komuniti itu dan saya ingin dapat menukar pengesyoran itu kepada konteks yang lain komuniti yang saya sertai, cth. Masa depan adalah tempat pengguna menemui dan memilih suapan mereka sendiri, dan bukannya terhad kepada kumpulan atau ciri saluran tertentu pada satu platform.

Bagaimanakah algoritma Eigentrust OpenRank berfungsi?

Algoritma Eigentrust adalah serupa dengan PageRank kerana ia menyusun nod dalam rangkaian graf. Perbezaannya ialah ia memberi tumpuan kepada menangkap hubungan rakan-ke-rakan yang kompleks sebagai pengagihan kepercayaan. Ia pada asalnya dibina untuk memberikan skor kepercayaan dalam rangkaian perkongsian fail. Dalam dunia mata wang kripto, anda boleh bayangkan menggunakannya untuk memproksi pengetua tadbir urus berkualiti tinggi atau mengenal pasti kontrak pintar yang boleh dipercayai.

Berikut ialah formula untuk Eigentrust:

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

Terdapat dua input utama: nod pra-dipercayai dan graf amanah tempatan. "P" ialah pra-amanah anda dan "S" ialah amanah tempatan anda.

· Localtrust: Ini ialah ukuran interaksi antara dua nod anda, apabila nod "i" menghantar beberapa nilai kepada nod "j". Ini mungkin pemindahan token, pengesahan, balasan undian/suka, dsb.

· Pretrust: Ini adalah pilihan "benih" anda untuk nod dalam rangkaian yang sepatutnya lebih boleh dipercayai.

· "c": Pemalar ini (antara 0 dan 1) ialah berat nilai amanah antara graf amanah tempatan keseluruhan dan benih pra-amanah. Graf interaksi biasanya mempunyai taburan undang-undang kuasa, jadi wajaran pra-amanah yang lebih tinggi membantu menormalkan taburan nilai kedudukan akhir.

Jika formula matematik ini tidak mudah difahami, anda boleh membandingkannya dengan graf sosial seperti Twitter, di mana pengaruh seperti pengikut, suka, balasan dan lain-lain biasanya tertumpu kepada sebilangan kecil orang, mengakibatkan dinamik undang-undang kuasa . Dengan menubuhkan satu set individu yang berpengaruh dan memilih nilai "c" malar 0.5 atau lebih tinggi, sebenarnya, orang yang berinteraksi dengan individu yang dipercayai ini akan mewarisi separuh daripada nilai pengaruh itu. Beginilah cara anda mengimbangi dan mengagihkan skor kepercayaan dengan lebih sekata merentas rangkaian.

Apakah kaitannya dengan memilih mana-mana konteks dan mencipta sebarang aliran pengesyoran?

Katakan anda ingin mengisih 10,000 cadangan geran dalam aliran cadangan. Anda boleh menilai semua pengundi dan pencadang berdasarkan satu set interaksi pengundian (amanah tempatan) dan satu set pengundi yang dipercayai pilihan anda sendiri (pra-amanah). Anda boleh memilih pengundi pra-keyakinan anda dengan memilih 10 pengundi teratas yang telah anda wakilkan undian merentas berbilang DAO. Eigentrust akan dijalankan berdasarkan dua input ini dan memberi anda senarai pengundi yang lebih besar, disenaraikan dalam graf berdasarkan kepercayaan yang diwarisi daripada nod pra-dipercayai.

Dengan ini, anda kini boleh menimbang cadangan tadbir urus masa nyata menggunakan senarai nilai terperingkat ini untuk aliran pengesyoran yang lebih diperibadikan!

Ini mungkin masih terlalu abstrak, jadi saya akan menerangkannya dengan contoh kod konkrit dalam bahagian seterusnya. Perlu diingat bahawa OpenRank mengendalikan pengiraan dan penyimpanan graf Eigentrust ini dan mengesyorkan agar anda boleh menggunakan aliran pengesyoran output. Apa yang anda perlu lakukan ialah memutuskan input pra-amanah dan amanah tempatan.

Bagaimana untuk membina graf Eigentrust menggunakan OpenRank?

Matlamat Akhir

Dalam contoh ini, saya ingin menyediakan aliran langganan kontrak yang disyorkan berdasarkan dompet pengguna Farcaster/base (Farcaster ialah aplikasi seperti Twitter). Outputnya hanyalah senarai id dan nilai, dalam rajah saya setiap id dikaitkan dengan id pengguna Farcaster (fid).

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

<em><span style="font-size: 14px;">数据来源</span></em>

Selepas mencipta graf kedudukan, kami menjana aliran rujukan ini berdasarkan interaksi kontrak utama mereka minggu lepas:

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

<span style="font-size: 14px;">数据来源</span>

Anda boleh melihat papan pemuka untuk melihat aliran rujukan lain yang dibuat daripada graf ini, mis. Dagangan token DEX dan aktiviti saluran Farcaster.

Pelaksanaan Kod

Sekarang anda telah melihat matlamatnya, mari bercakap tentang cara saya mencipta carta kedudukan ini.

Semua kod untuk contoh ini boleh didapati dalam buku nota hex.tech, atau anda boleh menggunakan buku nota jupyter jika anda lebih suka menjalankannya secara setempat.

Mula-mula, saya mencipta dua pertanyaan masing-masing untuk pra-amanah dan kepercayaan tempatan kami:

Pertanyaan pertama adalah untuk "nod pra-amanah" kami. Pertanyaan ini mengeluarkan pengguna teratas dalam saluran berdasarkan interaksi yang diterima (suka, tweet semula, balasan), formula saya ialah (suka + 3 tweet semula + 10 balasan). Kami akan mengambil 100 id pertama daripada pertanyaan ini sebagai nod kepercayaan kami.

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

<em><span style="font-size: 14px;">数据来源</span></em>

Pertanyaan kedua digunakan untuk menjejaki interaksi dalam rantaian antara nod, menggunakan alamat pautan pengguna dalam saluran /base. Oleh kerana aliran langganan akan mengesyorkan tindakan dalam rantaian, saya ingin memastikan untuk memilih graf interaksi berdasarkan jumlah interaksi dalam rantaian. Menggunakan nilai USD yang dipindahkan antara nod ialah proksi umum yang baik - Saya telah menjejaki pemindahan stablecoin dan ETH pada Optimisme, Base dan mainnet Ethereum.

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

<em><span style="font-size: 14px;">数据来源</span></em>

Analisis graf input dan uji output graf Eigentrust

Kini setelah kita mempunyai nod pra-dipercayai dan graf amanah tempatan, mari lihat beberapa statistik ringkasan. 65,755 pengguna dalam saluran /base memindahkan token kepada orang lain dalam saluran dan 19% daripada graf (iaitu nod yang disambungkan) boleh dilalui dari nod pra-dipercayai kami. Peratusan ini mungkin berbeza-beza bergantung pada bagaimana Sybil data amanah tempatan graf itu. Pemindahan token boleh menjadi isyarat tinggi, tetapi ia juga boleh menjadi perdagangan berus, jadi tidak menghairankan bahawa majoriti graf tidak bersambung.

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

Selepas mengesahkan bahawa saiz data input dan sambungan adalah munasabah, kami boleh menjalankan dan menyimpan graf Eigentrust kami. Saya menyimpan graf saya dengan id "base_transfer_50" - anda boleh lihat di bawah bahawa ia hanya memerlukan 10 baris kod untuk melatih graf. Fikirkan OpenRank SDK sebagai model kriptografi scikit-belajar.

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

Adakah anda masih ingat pemalar "c" dalam formula sebelum ini? Mari kita lakukan carian grid pada nilai c yang berbeza (saya akan memanggilnya alfa) dan saiz benih pra-amanah yang berbeza untuk melihat yang mana satu memberi kita skor amanah log-normal yang paling banyak dan liputan tertinggi:

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

Di sana terdapat banyak pertukaran di sini dan tiada satu nilai terbaik untuk dipilih. Penyelarasan dan liputan yang tinggi ialah pilihan yang baik jika anda mahukan kepelbagaian yang kukuh dalam pengesyoran, tetapi untuk undian tadbir urus berkepentingan tinggi anda sebenarnya mungkin mahukan penumpuan kepercayaan yang lebih tinggi. Gunakan intuisi anda di sini.

Dari sini, kami boleh memasukkan nilai ke dalam pertanyaan langganan yang dipautkan pada permulaan papan pemuka Dune untuk mendapatkan aliran interaksi kontrak untuk pengguna yang dipercayai dalam saluran /base. Output pengesyoran subjektif ini membantu kami menghubungkan metrik biasa sebelumnya dengan lebih baik dengan gerak hati kami yang dijangkakan tentang kualiti output pengesyoran.

深入探讨 OpenRank 的 Eigentrust 算法:如何构建社交计算层?

Selesai! Anda boleh menggunakan API Dune ini untuk menghidupkan mana-mana apl anda dengan segera.

Belajar membina graf OpenRank Eigentrust anda sendiri

Adakah anda bersedia untuk melakukannya sendiri? Anda boleh fork buku nota saya dan cuba sendiri, semua pautan yang diperlukan adalah di bawah:

· OpenRank Docs

· Python SDK repo

· Python Notebook

· Dune feed dashboard

Saya akan menjalankan misi Bytexplorers bulan depan, kami akan bersaing untuk mencipta graf aliran langganan terbaik untuk aplikasi crypto teratas.

Atas ialah kandungan terperinci Menyelam mendalam ke dalam algoritma Eigentrust OpenRank: Bagaimana untuk membina lapisan pengkomputeran sosial?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn