原标题:《OpenRank: підтримка програм за допомогою контекстних і персоналізованих графічних каналів》
Автор: Ендрю Гонг
Упорядник: Ladyfinger, BlockBeats
Примітка редактора:
У цій статті автор глибоко занурюється в алгоритм Eigentrust OpenRank, нову технологію, яка зараз використовується Metamask Snaps, Degen tips і Supercast. OpenRank, як обчислювальний рівень, може запускати кілька алгоритмів репутації. Автори розповідають, навіщо вам потрібні графіки, створені спільнотою, ключові поняття алгоритму, як він працює та як створювати власні графіки. Крім того, автор попередньо переглядає майбутні завдання Bytexexplorers і заохочує читачів підписатися, щоб отримувати останні оновлення.
Більшість сучасних інтерфейсів криптовалюти складаються з простих таблиць лідерів із найпопулярнішими монетами, відсортованими за обсягом торгів, ліквідністю, карбуванням, балами, голосами тощо. Якщо ми хочемо отримати криптовалюту споживчого рівня, яка може перевершити сьогоднішніх гігантів Web2, нам потрібно більше, ніж таблиці лідерів у наших програмах.
OpenRank є одним із наріжних каменів, який допомагає нам досягти цього, і вже використовується Metamask Snaps, Degen Tips і Supercast. OpenRank — це обчислювальний рівень, який може запускати кілька алгоритмів графіка репутації, першим з яких є алгоритм власної довіри.
У цій статті я познайомлю вас з алгоритмом eigenttrust OpenRank і обговорю наступне:
Важливість схем побудови спільноти та навіщо вони потрібні
Ключові поняття алгоритму та принцип його роботи
Як створити власний графік, зверніться до графіка, який я зробив у блокноті Python
Давайте почнемо!
Навіщо будувати графік рекомендацій із спільнотою, а не просто покладатися на власну команду машинного навчання?
Під час створення алгоритмів і потоків рекомендацій у криптовалютах ви швидко зіткнетеся з деякими проблемами з даними:
· Транзакції містять багато рівнів операцій
· Відносини між адресами можуть стати нескінченно складними через численні транзакції
· Сама адреса містить часткові ідентичності, кожна з яких актуальна в різних контекстах
Усі три перераховані вище елементи розвиваються з експоненціальною швидкістю. Назвемо ці зростаючі елементи «контекст».
Ваша маленька команда ML не може встигати за нескінченним потоком ідей
Ви також не хочете, щоб ваші команди серверної обробки даних або інженерів даних вирішували ці проблеми, зрештою, у них є продукт для створення. Дні додатків із користувачами та структурами даних минули, у вас більше немає простого посилання, ідентифікатора користувача, лайка/відповіді/поділу та ідентифікатора публікації, але ви можете використовувати викупи, поділи, відкидання, обміни, ставки, делегування, голосування, карбування тощо. Майже щодня з’являються нові «операції», а також нові ланцюжки, нові типи гаманців, нові типи ідентифікаторів тощо.
Я вважаю, що протягом наступного року індустрія криптовалют розробить наукову спільноту графових даних на основі протоколу та продуктів OpenRank
Я був частиною спільноти чарівників Dune протягом багатьох років і бачив, наскільки потужною може бути спільнота, яка перевершує можливості невеликої команди. Я також бачив, як майже кожна невелика криптографічна команда переходила від «Так, ми можемо зробити це незалежно за допомогою вузла та бази даних RDS» до «Нам потрібно використовувати інструменти даних, створені спільнотою, такі як The Graph і Dune». Для мене створення комбінації запитів і графіків, налаштованих на певний тип потоку рекомендацій і спільноти, є схожою проблемою. Нам потрібно почати збирати та тестувати графіки, які можуть надати потік рекомендацій для кожної програми, від клієнтів Farcaster до дослідників блоків.
Поняття потоку рекомендацій є міметичним і буде вилучено. Користувачі стають кураторами контенту
У сфері криптовалют користувачі хочуть перенести не лише свої соціальні графіки в різні програми, але й контекст, прихований у цих графіках. Якщо я активно стежу за спільнотою /degen на Farcaster, я хочу, щоб мене рекомендували на Zora, Roam.xyz або OnceUpon щодо діяльності цієї спільноти, і я хочу мати можливість переключати цю рекомендацію на контекст іншої спільноти, членом якої я є наприклад, колекціонер артблоків. У майбутньому користувачі будуть знаходити та вибирати власні канали, а не обмежуватись певною групою чи функцією каналу на одній платформі.
Як працює алгоритм Eigentrust OpenRank?
Алгоритм Eigentrust подібний до PageRank тим, що він ранжує вузли в мережі графів. Різниця полягає в тому, що він зосереджений на охопленні складних однорангових стосунків як розподілу довіри. Спочатку він був створений для призначення балів довіри в мережах обміну файлами. У світі криптовалют ви можете уявити, що використовуєте її для проксі високоякісних принципалів управління або визначення надійних смарт-контрактів.
Ось формула Eigentrust:
Вище є два ключові вхідні дані: попередньо довірені вузли та локальний граф довіри. «P» — ваш попередній траст, а «S» — ваш локальний траст.
· Локальна довіра: це ваше вимірювання взаємодії між двома вузлами, коли вузол «i» передає певне значення вузлу «j». Це можуть бути перекази токенів, атестації, відповіді на голосування/лайки тощо.
· Pretrust: це ваш вибір «початкового матеріалу» для вузлів у мережі, які мають бути більш надійними.
· "c": ця константа (між 0 і 1) є вагою значення довіри між загальним локальним графом довіри та початковим значенням перед довірою. Графіки взаємодії зазвичай мають степеневий розподіл, тому вищі ваги перед довірою допомагають нормалізувати розподіл кінцевих значень ранжирування.
Якщо математику нелегко зрозуміти, подумайте про це як про аналогію із соціальним графіком, таким як Twitter, де вплив, як-от підписники, лайки, відповіді тощо, часто зосереджується на невеликій кількості людей, що призводить до степеневого закону динамічний. Встановлюючи набір впливових осіб і вибираючи постійне значення «с» 0,5 або вище, фактично люди, з якими ці довірені особи взаємодіють, успадковують половину значення цього впливу. Таким чином ви балансуєте та рівномірніше розподіляєте показники довіри в мережі.
Як це пов’язано з вибором будь-якого контексту та створенням будь-якого потоку рекомендацій?
Припустімо, ви хочете відсортувати 10 000 пропозицій грантів у потоці рефералів. Ви можете ранжувати всіх виборців і пропозицій на основі набору взаємодій при голосуванні (локальна довіра) і набору довірених виборців за вашим власним вибором (перед довірою). Ви можете вибрати тих, хто голосує попередньо, вибравши 10 найкращих голосуючих, яким ви делегували голоси в кількох DAO. Eigentrust працюватиме на основі цих двох вхідних даних і надасть вам більший список виборців, ранжованих на графіку на основі довіри, успадкованої від попередньо довірених вузлів.
Таким чином, тепер ви можете використовувати цей ранжований список цінностей, щоб зважити пропозиції щодо управління в режимі реального часу для більш персоналізованого потоку рекомендацій!
Це все ще може бути занадто абстрактним, тому я поясню це на конкретних прикладах коду в наступному розділі. Майте на увазі, що OpenRank обробляє та зберігає ці графіки Eigentrust і рекомендує вам використовувати вихідний потік рекомендацій. Все, що вам потрібно зробити, це визначитися з попередніми та локальними вхідними даними.
Як побудувати графік Eigentrust за допомогою OpenRank?
кінцева мета
У цьому прикладі я хочу надати потік рекомендованих контрактів для підписки на основі гаманця користувача Farcaster/base (Farcaster — це програма, схожа на Twitter). Результатом є лише список ідентифікаторів і значень, на моїй діаграмі кожен ідентифікатор пов’язаний з ідентифікатором користувача Farcaster (fid).
Джерело даних
Після створення графіка рейтингу ми створили цей потік рекомендацій на основі їхніх основних контрактних взаємодій за останній тиждень:
Джерело даних
Ви можете переглянути інформаційну панель, щоб побачити інші потоки рефералів, створені на основі цього графіка, наприклад карбування NFT, торгівлю токенами DEX і діяльність каналу Farcaster.
Реалізація коду
Тепер, коли ви побачили цілі, давайте поговоримо про те, як я створив цю таблицю рейтингу.
Увесь код для цього прикладу можна знайти в блокноті hex.tech, або ви можете використовувати блокнот jupyter, якщо бажаєте запускати його локально.
Спочатку я створив два запити для попереднього довіри та локального довіри:
Перший запит — наш «попередньо довірений вузол». Цей запит виводить найпопулярніших користувачів каналу на основі отриманих взаємодій (лайки, ретвіти, відповіді). Моя формула така: (лайки + 3 ретвіти + 10 відповідей). Ми візьмемо перші 100 ідентифікаторів із цього запиту як наші довірчі вузли.
Джерело даних
Другий запит використовується для відстеження взаємодії між вузлами в ланцюжку за допомогою адреси посилання користувача в каналі /base. Оскільки потік підписки рекомендуватиме дії в ланцюжку, я хочу переконатися, що ви вибираєте графік взаємодії на основі кількості взаємодій у ланцюжку. Використання вартості в доларах США, що передається між вузлами, є хорошим загальним проксі – я відстежував перекази стейблкойнів і ETH на Optimism, Base і в основній мережі Ethereum.
Джерело даних
Проаналізуйте вхідний графік і протестуйте вихідний графік Eigentrust
Тепер, коли у нас є попередньо довірені вузли та локальний графік довіри, давайте подивимося на деяку підсумкову статистику. 65 755 користувачів каналу /base передали токени іншим користувачам каналу, і 19% графіка (тобто підключених вузлів) можна пройти з наших попередньо довірених вузлів. Цей відсоток може змінюватися залежно від того, наскільки локальні довірчі дані графіка Sybil. Передача токенів може бути високим сигналом, але це також може бути чиста торгівля, тому не дивно, що більша частина графіка не пов’язана.
Переконавшись, що розмір вхідних даних і з’єднань прийнятний, ми можемо запустити та зберегти наш графік Eigentrust. Я зберіг свій графік з ідентифікатором "base_transfer_50" - ви можете побачити нижче, що для навчання графіка потрібно лише 10 рядків коду. Подумайте про OpenRank SDK як про інструмент для вивчення моделей криптографії.
Пам’ятаєте константу «с» у попередній формулі? Давайте виконаємо пошук у сітці для різних значень c (я буду називати це альфа) і різних початкових розмірів до довіри, щоб побачити, яке з них дає нам найбільший логарифмічний показник довіри та найвище покриття:
Тут є багато компромісів, і немає жодного найкращого варіанту. Висока регулярізація та охоплення є хорошим вибором, якщо ви хочете отримати значну різноманітність у рекомендаціях, але для голосування з високими ставками щодо управління вам може знадобитися більша концентрація довіри. Використовуйте тут свою інтуїцію.
Звідси ми можемо вставляти значення в запит на підписку, пов’язаний на початку інформаційної панелі Dune, щоб отримати потік контрактних взаємодій для довірених користувачів у каналі /base. Цей вихід суб’єктивної рекомендації допомагає нам краще пов’язати попередні загальні показники з нашим очікуваним інтуїтивним уявленням про якість результату рекомендації.
прибив це! Ви можете використовувати цей Dune API для будь-якої своєї програми одразу.
Навчіться будувати власний графік OpenRank Eigentrust
Ви готові взяти ситуацію в свої руки? Ви можете розщепити мій блокнот і спробувати самі, усі необхідні посилання наведено нижче:
· Документи OpenRank
· Сховище Python SDK
· Блокнот Python
· Приладова панель Dune feed
Я збираюся провести місію Bytexexplorers протягом наступного місяця, де ми будемо змагатися за створення найкращого графіка потоку підписок для найпопулярніших криптододатків.