Переслати оригінальну назву: 另一个角度看「AI+Blockchain」:AI 如何革新以太坊?
Минулого року, коли генеративний ШІ неодноразово розбивав очікування громадськості, хвиля революції продуктивності ШІ прокотилася криптовалютною спільнотою. Ми бачили, як багато проектів на тему АІ на вторинному ринку створюють легенди про багатство, і все частіше розробники починають розробляти власні проекти "АІ+криптовалюта". Однак, при ближчому розгляді стає очевидним, що ці проекти дуже однорідні і більшість з них спрямовані лише на покращення "виробничих відносин", наприклад, організацію обчислювальних потужностей через децентралізовані мережі або створення "децентралізованих облич, що обіймаються". Небагато проектів намагаються по-справжньому інтегрувати та впроваджувати інновації в технічному ядрі. Ми вважаємо, що це пов'язано з "доменним упередженням" між сферами ШІ та блокчейну. Незважаючи на їх широкий перетин, мало хто має глибоке розуміння обох сфер. Наприклад, розробникам штучного інтелекту може бути складно розібратися в технічній реалізації та історичній інфраструктурі Ethereum, що ускладнює пропозицію рішень для глибокої оптимізації.
Візьмемо для прикладу машинне навчання (ML), найпростішу галузь ШІ, - це технологія, яка дозволяє машинам приймати рішення на основі даних без чітких програмних інструкцій. Машинне навчання продемонструвало величезний потенціал в аналізі даних та розпізнаванні образів і стало звичним явищем у web2. Однак через обмеження епохи на етапі її зародження, навіть такі передові інноваційні технології блокчейн, як Ethereum, їхня архітектура, мережа та механізми управління досі не використовують машинне навчання як ефективний інструмент для вирішення складних проблем.
"Великі інновації часто виникають на перетині сфер". Наша основна мета написання цієї статті - допомогти розробникам ШІ краще зрозуміти світ блокчейну, а також надати нові ідеї для розробників спільноти Ethereum. У статті ми спочатку представляємо технічну реалізацію Ethereum, а потім пропонуємо застосувати машинне навчання, базовий алгоритм штучного інтелекту, до мережі Ethereum, щоб підвищити її безпеку, ефективність і масштабованість. Ми сподіваємося, що цей кейс стане відправною точкою, яка запропонує унікальні перспективи та стимулюватиме більше інноваційних комбінацій "ШІ+Блокчейн" в екосистемі розробників.
За своєю суттю, блокчейн - це ланцюжок, який з'єднує блоки між собою, причому відмінність між ланцюжками полягає насамперед у конфігурації ланцюжка. Ця конфігурація є невід'ємною частиною генезису блокчейну, початкової фази будь-якого блокчейну. У випадку з Ethereum, конфігурація ланцюжка розрізняє різні ланцюжки Ethereum і визначає важливі протоколи оновлення і знакові події. Наприклад, DAOForkBlock позначає висоту хардфорку після атаки DAO, а ConstantinopleBlock - висоту блоку, на якому відбулося оновлення Constantinople. Для більших оновлень, які охоплюють численні пропозиції щодо покращення, встановлюються спеціальні поля для позначення відповідних висот блоків. Крім того, Ethereum включає в себе безліч тестових мереж і основну мережу, кожна з яких унікально ідентифікується ідентифікатором ChainID, що окреслює її мережеву екосистему.
Блок генезису, будучи найпершим блоком всього блокчейну, прямо чи опосередковано посилається на інші блоки. Таким чином, дуже важливо, щоб вузли завантажували правильну інформацію про блок генезису під час запуску без будь-яких змін. Ця конфігурація генезисного блоку включає конфігурацію ланцюжка, згадану вище, а також додаткову інформацію, таку як винагорода за видобуток, часові мітки, складність і ліміти газу. Зокрема, Ethereum перейшла від механізму консенсусу майнінгу з доказом роботи до механізму доказу частки (proof-of-stake).
Рахунки Ethereum поділяються на зовнішні та контрактні. Зовнішні рахунки контролюються унікальним приватним ключем, тоді як контрактні рахунки, що не мають приватних ключів, можуть управлятися тільки через виконання коду контракту зовнішніми рахунками. Обидва типи акаунтів мають унікальну адресу. "Світовий стан" Ethereum - це дерево акаунтів, де кожному акаунту відповідає листовий вузол, який зберігає стан акаунту, включаючи різну інформацію про акаунт і код.
Ethereum, як децентралізована платформа, фундаментально полегшує транзакції та контракти. Ethereum блокує транзакції пакета разом з деякою додатковою інформацією. Зокрема, блок поділяється на заголовок і тіло блоку. Заголовок блоку містить докази, що пов'язують всі блоки в ланцюжок, під яким розуміється хеш попереднього блоку, а також корінь стану, корінь транзакції, корінь квитанції та інші дані, такі як складність і nonce, які позначають стан всього світу Ethereum. Тіло блоку містить список транзакцій і список заголовків блоків-дядьків (хоча, з переходом Ethereum на proof-of-stake, посилання на блоки-дядьки припинилися).
Квитанції про транзакції надають результати та додаткову інформацію після виконання транзакції, пропонуючи інформацію, яку неможливо отримати безпосередньо з самих транзакцій. Ці деталі включають зміст консенсусу, інформацію про транзакцію та інформацію про блок, яка вказує на те, чи була транзакція успішною, а також журнали транзакцій та витрати газу. Аналіз інформації в квитанціях допомагає налагодити код смарт-контракту та оптимізувати використання газу, слугує підтвердженням того, що транзакція була оброблена мережею, а також дозволяє вивчити результати та вплив транзакції.
В Ethereum плата за газ може бути спрощена як плата за транзакції, необхідна для таких операцій, як надсилання токенів, укладання контрактів, переказ ефіру або інших дій в блоці. Ці операції вимагають плати за газ, оскільки віртуальна машина Ethereum повинна обчислювати і використовувати мережеві ресурси для обробки транзакції, таким чином вимагаючи оплати за ці обчислювальні послуги. Зрештою, вартість палива, або плата за транзакцію, сплачується шахтарям за формулою Плата = Використаний газ * Ціна газу, де ціна газу встановлюється ініціатором транзакції. Сума значною мірою впливає на швидкість обробки транзакцій в ланцюжку. Занадто низьке значення може призвести до невиконаних транзакцій. Крім того, дуже важливо встановити ліміт газу, щоб запобігти непередбаченому споживанню газу через помилки в контрактах.
В Ethereum існує величезна кількість транзакцій. У порівнянні з централізованими системами, швидкість обробки транзакцій в секунду в децентралізованих системах значно нижча. Через наплив транзакцій у вузли, вузли повинні підтримувати пул транзакцій для належного управління цими транзакціями. Трансляція транзакцій здійснюється через однорангову (P2P) мережу, де один вузол транслює виконувані транзакції своїм сусіднім вузлам, які, в свою чергу, транслюють транзакції своїм сусідам. Завдяки цьому процесу транзакція може поширитися по всій мережі Ethereum протягом 6 секунд.
Транзакції в пулі транзакцій поділяються на виконувані та невиконувані. Виконувані транзакції мають вищий пріоритет, виконуються і включаються в блоки, в той час як всі нові транзакції в пулі є невиконуваними і лише згодом можуть стати виконуваними. Виконувані та невиконувані транзакції відповідно записуються в контейнери "pending" та "queue".
Крім того, пул транзакцій підтримує список локальних транзакцій, які мають кілька переваг: вони мають вищий пріоритет, на них не впливають обмеження на обсяг транзакцій і можуть бути негайно перезавантажені в пул транзакцій при перезавантаженні вузла. Локальне збереження локальних транзакцій досягається за рахунок використання журналу (для перезавантаження при перезапуску вузла), з метою не втратити незавершені локальні транзакції, і він періодично оновлюється.
Перед тим, як потрапити в чергу, транзакції проходять перевірку на легальність, включаючи різні види перевірок, такі як запобігання DOS-атакам, негативним транзакціям та транзакціям, що перевищують ліміти газу. Базовий склад пулу транзакцій можна розділити на: черга + відкладені (формують всі транзакції). Після проходження перевірки законності виконуються подальші перевірки, включаючи перевірку того, чи не досягла черга транзакцій свого ліміту, а також визначення того, чи є віддалені транзакції (тобто нелокальні транзакції) найдешевшими в пулі транзакцій, щоб замінити транзакцію з найнижчою ціною. За замовчуванням, тільки транзакції з комісією, збільшеною на 10%, можуть замінити транзакції, що очікують виконання, і зберігаються як невиконані транзакції. Крім того, під час обслуговування пулу транзакцій видаляються недійсні транзакції та транзакції з перевищенням ліміту, а прийнятні транзакції замінюються на прийнятні.
Рання теорія консенсусу Ethereum була заснована на обчисленні хеш-значення складності, тобто хеш-значення блоку повинно було відповідати цільовому значенню складності, щоб блок вважався дійсним. Оскільки алгоритм консенсусу Ethereum перейшов від Proof of Work (POW) до Proof of Stake (POS), обговорення теорій, пов'язаних з майнінгом, тут опущено. Короткий огляд алгоритму POS виглядає наступним чином: У вересні 2022 року Ethereum завершив злиття ланцюжка Beacon Chain, реалізувавши алгоритм POS. Зокрема, в POS-платформі Ethereum час блоку стабілізовано на рівні 12 секунд. Користувачі ставлять свій Ефір, щоб отримати право стати валідаторами. Група валідаторів випадковим чином обирається з тих, хто бере участь у стейкінгу. У кожному циклі, що складається з 32 слотів, валідатор обирається як пропонент для кожного слоту для створення блоків, тоді як решта валідаторів для цього слоту діють як комітет для перевірки легальності блоку пропонента і винесення суджень про легальність блоків з попереднього циклу. Алгоритм POS значно стабілізує і збільшує швидкість виробництва блоків, при цьому значно зменшуючи втрати обчислювальних ресурсів.
Ethereum успадкував стандарт алгоритму підпису від Bitcoin, також прийнявши криву secp256k1. Алгоритм підпису, який він використовує, - це ECDSA, що означає, що розрахунок підпису базується на хеші оригінального повідомлення. Склад всього підпису можна просто розглядати як R+S+V. Кожен розрахунок відповідно вводить випадкове число, де R+S - вихідні результати ECDSA. Останнє поле, V, відоме як поле відновлення, вказує на кількість переборів, необхідних для успішного відновлення відкритого ключа за вмістом і підписом, оскільки на еліптичній кривій може бути декілька координатних точок, які задовольняють вимогам, що базуються на значенні R.
Весь процес можна просто організувати наступним чином: Дані транзакції та інформація, пов'язана з підписантом, хешується після RLP-кодування, а остаточний підпис можна отримати за допомогою ECDSA-підпису з приватним ключем, де крива, що використовується в ECDSA, є еліптичною кривою secp256k1. Нарешті, об'єднавши дані підпису з даними транзакції, можна отримати підписані дані транзакції і передати їх в ефір.
Структура даних Ethereum спирається не тільки на традиційну технологію блокчейн, але також впроваджує дерево Меркла-Патриції, також відоме як Трійка Меркла, для ефективного зберігання і перевірки великих обсягів даних. MPT поєднує криптографічну функцію хешування дерева Меркла з функцією стиснення ключового шляху дерева Патриції, забезпечуючи рішення, яке одночасно гарантує цілісність даних і підтримує швидкий пошук.
В Ethereum MPT використовується для зберігання всіх даних про стан і транзакції, гарантуючи, що будь-яка зміна даних буде відображена в кореневому хеші дерева. Це означає, що перевірка кореневого хешу дозволяє довести цілісність і точність даних без перевірки всієї бази даних. MPT складається з чотирьох типів вузлів: листові вузли, вузли розширення, вузли відгалуження та нульові вузли, які разом утворюють дерево, здатне адаптуватися до динамічних змін даних. З кожним оновленням даних MPT відображає ці зміни, додаючи, видаляючи або змінюючи вузли та оновлюючи кореневий хеш дерева. Оскільки кожен вузол зашифрований за допомогою хеш-функції, будь-які незначні зміни в даних призведуть до значної зміни кореневого хешу, таким чином забезпечуючи безпеку та узгодженість даних. Крім того, дизайн MPT підтримує верифікацію "легкого клієнта", що дозволяє вузлам перевіряти наявність або стан певної інформації, зберігаючи лише кореневий хеш дерева та необхідні вузли шляху, що значно зменшує вимоги до зберігання та обробки даних.
Завдяки MPT Ethereum не тільки досягає ефективного управління і швидкого доступу до даних, але також забезпечує безпеку і децентралізацію мережі, підтримуючи роботу і розвиток всієї мережі Ethereum.
В основі архітектури Ethereum лежить концепція машини станів, де віртуальна машина Ethereum (EVM) слугує середовищем виконання для виконання всього коду смарт-контракту, а сам Ethereum можна розглядати як глобальну систему переходу станів, що розділяється на глобальному рівні. Виконання кожного блоку можна розглядати як процес переходу від одного стану до іншого, що розділяється глобально. Такий дизайн не тільки забезпечує узгодженість і децентралізацію мережі Ethereum, але і робить результати виконання смарт-контрактів передбачуваними і захищеними від підробки.
В Ethereum стан - це поточна інформація всіх облікових записів, включаючи баланс кожного облікового запису, збережені дані і код смарт-контракту. Щоразу, коли відбувається транзакція, EVM обчислює і змінює стан на основі вмісту транзакції - процес, який ефективно і безпечно реєструється за допомогою дерева Меркла-Патриції (MPT). Кожен перехід стану не тільки змінює дані облікового запису, але й призводить до оновлення MPT, що відображається у зміні хеш-значення кореня дерева.
Взаємозв'язок між EVM і MPT має вирішальне значення, оскільки MPT гарантує цілісність даних при переходах станів Ethereum. Коли EVM виконує транзакції і змінює стан рахунку, відповідні вузли MPT оновлюються, щоб відобразити ці зміни. Оскільки кожен вузол в MPT пов'язаний хешами, будь-яка модифікація стану викликає зміну кореневого хешу, який потім включається в новий блок, забезпечуючи узгодженість і безпеку всього стану Ethereum. Нижче ми представляємо віртуальну машину EVM.
Віртуальна машина EVM має фундаментальне значення для побудови Ethereum, забезпечуючи виконання смарт-контрактів і переходи станів. Завдяки EVM, Ethereum дійсно можна уявити як світовий комп'ютер. EVM є Тьюрінг-повним, що означає, що смарт-контракти на Ethereum можуть виконувати як завгодно складні логічні обчислення, а впровадження газового механізму успішно запобігає нескінченним циклам всередині контрактів, забезпечуючи стабільність і безпеку мережі. З більш глибокої технічної точки зору, EVM - це віртуальна машина на основі стеку, яка виконує смарт-контракти, використовуючи специфічний для Ethereum байт-код. Розробники зазвичай використовують мови високого рівня, такі як Solidity, для написання смарт-контрактів, які потім компілюються в байт-код, зрозумілий EVM для виконання. EVM є ключем до інноваційного потенціалу блокчейну Ethereum, не тільки підтримуючи роботу смарт-контрактів, але й забезпечуючи міцну основу для розробки децентралізованих додатків. Завдяки EVM Ethereum формує децентралізоване, безпечне і відкрите цифрове майбутнє.
Рисунок 1 Історичний огляд Ethereum
Смарт-контракти - це комп'ютерні програми, які працюють на блокчейні Ethereum. Вони дозволяють розробникам створювати та розгортати різноманітні додатки, зокрема програми для кредитування, децентралізовані біржі, страхування, вторинного фінансування, соціальні мережі та NFT, але не обмежуючись ними. Безпека смарт-контрактів має вирішальне значення для цих додатків, оскільки вони безпосередньо обробляють і контролюють криптовалюти. Будь-яка вразливість смарт-контрактів або зловмисні атаки можуть становити пряму загрозу безпеці коштів, що потенційно може призвести до значних фінансових втрат. Наприклад, 26 лютого 2024 року протокол DeFi-кредитування Blueberry Protocol зазнав атаки через ваду в логіці смарт-контрактів, що призвело до втрати близько 1 400 000 доларів.
Вразливості смарт-контрактів є багатогранними і включають в себе нерозумну бізнес-логіку, неналежний контроль доступу, неадекватну перевірку даних, атаки на повторний вхід та DOS-атаки (відмова в обслуговуванні), серед іншого. Ці вразливості можуть призвести до проблем у виконанні контрактів, що впливає на ефективну роботу смарт-контрактів. Наприклад, DOS-атаки передбачають надсилання зловмисниками великого обсягу транзакцій для виснаження ресурсів мережі, що перешкоджає своєчасній обробці звичайних користувацьких транзакцій. Таке погіршення користувацького досвіду може також призвести до збільшення плати за транзакційний газ, оскільки користувачам, можливо, доведеться платити вищу плату за пріоритетність своїх транзакцій у перевантаженій мережі.
Крім того, користувачі Ethereum також стикаються з інвестиційними ризиками, оскільки безпека фондів знаходиться під загрозою. Наприклад, "лайномонети" - це криптовалюти, які вважаються такими, що не мають практично ніякої цінності або довгострокового потенціалу зростання. Шіткоїни часто використовуються як інструмент для шахрайства або для схем "перекачування". Інвестиційний ризик, пов'язаний з лайномонетами, є високим, що потенційно може призвести до значних фінансових втрат. Через низьку ціну та ринкову капіталізацію вони дуже чутливі до маніпуляцій та волатильності. Ці криптовалюти зазвичай використовуються в схемах "pump-and-dump" і "медових горщиках", коли інвесторів заманюють фейковими проектами, а потім грабують їхні кошти. Ще одним поширеним ризиком, пов'язаним з лайткоінами, є "витягування килима", коли творці раптово виводять всю ліквідність з проекту, що призводить до різкого падіння вартості токена. Ці шахрайські схеми часто реалізуються через фальшиві партнерства та схвалення, а коли ціна токена зростає, шахраї продають свої токени, отримують прибуток і зникають, залишаючи інвесторів з нічого не вартими токенами. Крім того, інвестиції в лайткоіни можуть відволікти увагу і ресурси від легальних криптовалют з реальним застосуванням і потенціалом зростання.
Крім shitcoins, "повітряні монети" та "монети піраміди" також є методами швидкого заробітку. Для користувачів, яким бракує професійних знань і досвіду, відрізнити їх від легальних криптовалют особливо складно.
Двома прямими показниками для оцінки ефективності Ethereum є швидкість транзакцій і плата за газ. Швидкість транзакцій - це кількість транзакцій, які мережа Ethereum може обробити за одиницю часу. Ця метрика безпосередньо відображає обчислювальні можливості мережі Ethereum, де вища швидкість вказує на вищу ефективність. Кожна транзакція в Ethereum вимагає певної суми газових зборів, які компенсують майнерів за перевірку транзакцій. Нижчі тарифи на газ вказують на вищу ефективність в Ethereum.
Зменшення швидкості транзакцій призводить до збільшення плати за газ. Як правило, коли швидкість обробки транзакцій зменшується, через обмежений простір блоку, конкуренція між транзакціями за потрапляння в наступний блок може зростати. Щоб виділитися в цій конкуренції, трейдери часто підвищують плату за газ, оскільки під час верифікації майнери, як правило, надають перевагу угодам з вищою платою за газ. Таким чином, вищі тарифи на газ можуть погіршити досвід користувачів.
Транзакції - це лише основні дії в Ethereum. У межах цієї екосистеми користувачі також можуть займатися різними видами діяльності, такими як кредитування, інвестування, страхування тощо, і все це можна робити за допомогою спеціальних додатків DApp. Однак, зважаючи на широке розмаїття DApps та відсутність персоналізованих рекомендаційних сервісів, подібних до тих, що існують у традиційних галузях, користувачам може бути складно обирати правильні додатки та продукти для себе. Така ситуація може призвести до зниження задоволеності користувачів, тим самим впливаючи на загальну ефективність екосистеми Ethereum.
Візьмемо для прикладу кредитування. Деякі платформи DeFi кредитування використовують механізм надмірного забезпечення для підтримки безпеки та стабільності своєї платформи. Це означає, що позичальникам потрібно надати більше активів як заставу, які не можуть бути використані для інших видів діяльності протягом періоду кредитування. Це призводить до зниження коефіцієнта використання капіталу позичальниками, тим самим зменшуючи ліквідність ринку.
Моделі машинного навчання, такі як модель RFM, генеративні змагальні мережі (GAN), моделі дерева рішень, алгоритм K-Nearest Neighbors (KNN) та алгоритм кластеризації DBSCAN, відіграють важливу роль в Ethereum. Застосування цих моделей машинного навчання в Ethereum може допомогти оптимізувати ефективність обробки транзакцій, підвищити безпеку смарт-контрактів, впровадити сегментацію користувачів для надання більш персоналізованих послуг і сприяти стабільній роботі мережі.
Алгоритми машинного навчання - це набір інструкцій або правил, які використовуються для аналізу даних, вивчення закономірностей у даних і прийняття прогнозів або рішень на основі цих знань. Вони вдосконалюються автоматично, навчаючись на основі наданих даних, без необхідності явного програмування з боку людини. Моделі машинного навчання, такі як модель RFM, генеративні змагальні мережі (GAN), моделі дерева рішень, алгоритм K-Nearest Neighbors (KNN) та алгоритм кластеризації DBSCAN, відіграють важливу роль в Ethereum. Застосування цих моделей машинного навчання в Ethereum може допомогти оптимізувати ефективність обробки транзакцій, підвищити безпеку смарт-контрактів, впровадити сегментацію користувачів для надання більш персоналізованих послуг і сприяти стабільній роботі мережі.
Байєсівські класифікатори є одними з різних статистичних методів класифікації, спрямованих на мінімізацію ймовірності помилок класифікації або мінімізацію середнього ризику в рамках певних витрат. Їх філософія дизайну глибоко вкорінена в теоремі Байєса, яка дозволяє розрахувати ймовірність того, що об'єкт належить до певного класу, враховуючи деякі відомі характеристики. Обчислюючи апостеріорну ймовірність об'єкта, приймаються рішення. Зокрема, байєсівські класифікатори спочатку враховують попередню ймовірність об'єкта, а потім застосовують формулу Байєса, щоб врахувати спостережувані дані, таким чином оновлюючи переконання про класифікацію об'єкта. Серед усіх можливих класифікацій байєсівські класифікатори обирають категорію з найвищою апостеріорною ймовірністю для об'єкта. Основна перевага цього методу полягає в його природній здатності працювати з невизначеністю та неповною інформацією, що робить його потужним і гнучким інструментом, придатним для широкого спектру застосувань.
Як показано на рисунку 2, у контрольованому машинному навчанні рішення про класифікацію приймаються на основі даних і ймовірнісних моделей, заснованих на теоремі Байєса. Використовуючи ймовірність, попередні ймовірності категорій та ознак, байєсівські класифікатори обчислюють апостеріорні ймовірності кожної категорії для точок даних і відносять точки даних до категорії з найвищою апостеріорною ймовірністю. На діаграмі розсіювання праворуч класифікатор намагається знайти криву, яка найкраще розділяє точки різних кольорів, тим самим мінімізуючи помилки класифікації.
Рисунок 2 Байєсівський класифікатор
Алгоритми дерев рішень зазвичай використовуються для задач класифікації та регресії, застосовуючи ієрархічний підхід до прийняття рішень. Вони генерують дерева шляхом розбиття на ознаки з високим інформаційним приростом на основі відомих даних, таким чином навчаючи дерево рішень. По суті, алгоритм може самостійно навчатися правилам прийняття рішень на основі даних для визначення значень змінних. Зокрема, він спрощує складні процеси прийняття рішень до кількох простіших підрішень. Кожне більш просте рішення є похідним від батьківського критерію рішення, утворюючи деревоподібну структуру.
Як показано на рисунку 3, кожен вузол представляє рішення, визначаючи критерій для оцінки певної ознаки, тоді як гілки представляють результати рішення. Кожен вузол листа представляє кінцевий прогнозований результат і категорію. Зі структурної точки зору, модель дерева рішень є інтуїтивно зрозумілою, легкою для сприйняття і має сильну пояснювальну силу.
Зображення 3 Модель дерева рішень
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) - це алгоритм просторової кластеризації на основі щільності, який особливо ефективний для наборів даних з шумом і для виявлення кластерів будь-якої форми без необхідності вказувати кількість кластерів заздалегідь. Він має надійну продуктивність проти викидів у наборі даних. Алгоритм може ефективно виявляти викиди, визначені як точки в областях з низькою щільністю, як показано на рисунку 4.
Рисунок 4 Ідентифікація шуму за допомогою алгоритму DBSCAN
Алгоритм K-Nearest Neighbors (KNN) можна використовувати як для класифікації, так і для регресії. У класифікації категорія об'єкта, що класифікується, визначається за допомогою механізму голосування; у регресії вона прогнозується шляхом обчислення середнього або середньозваженого значення з k найближчих вибірок.
Як показано на рисунку 5, принцип роботи алгоритму KNN в класифікації полягає в тому, щоб знайти найближчих k сусідів нової точки даних і передбачити категорію нової точки даних на основі категорій цих сусідів. Якщо K=1, нову точку даних просто віднесено до категорії найближчого сусіда. Якщо K>1, категорія зазвичай визначається більшістю голосів, тобто нова точка даних відноситься до категорії, найбільш поширеної серед її сусідів. При використанні в регресії принцип залишається тим самим, але результат є середнім значенням результатів найближчих k вибірок.
Рисунок 5 Алгоритм KNN, використаний для класифікації
Генеративний штучний інтелект (ШІ) - це тип технології ШІ, який може генерувати новий контент (наприклад, текст, зображення, музику тощо) на основі вхідних даних. В основі його лежать досягнення в галузі машинного та глибокого навчання, зокрема, у застосуванні до обробки природної мови та розпізнавання зображень. Генеративний ШІ вивчає закономірності та асоціації з величезної кількості даних, а потім генерує абсолютно нові результати на основі цієї вивченої інформації. Ключ до генеративного штучного інтелекту лежить у навчанні моделей, яке вимагає високоякісних даних для навчання та тренування. Під час цього процесу модель поступово покращує свою здатність генерувати новий контент, аналізуючи та розуміючи структуру, закономірності та взаємозв'язки в наборі даних.
Трансформер, як наріжний камінь генеративного штучного інтелекту, впровадив механізм уваги в революційний спосіб. Це дозволяє обробляти інформацію, зосереджуючись на ключових моментах, а також мати глобальний погляд - унікальна можливість, яка зробила Transformer блискучим у сфері генерації текстів. Використання новітніх моделей природної мови, таких як GPT (Generative Pre-trained Transformer), для розуміння вимог користувача, виражених природною мовою, і автоматичного перетворення їх у виконуваний код може зменшити складність розробки і значно підвищити ефективність.
Як показано на рисунку 6, впровадження механізму багатоголової уваги та механізму самоуваги в поєднанні із залишковими зв'язками та повністю підключеними нейронними мережами, а також використання минулих технологій вбудовування слів, значно підвищило продуктивність генеративних моделей, пов'язаних з обробкою природної мови.
Рисунок 6 Модель трансформатора
Модель RFM - це модель аналізу, заснована на купівельній поведінці клієнтів, яка дозволяє визначити групи клієнтів з різною вартістю, аналізуючи їхню поведінку при здійсненні транзакцій. Ця модель оцінює та класифікує клієнтів на основі часу їхньої останньої покупки (Recency, R), частоти покупок (Frequency, F) та витраченої суми (Monetary value, M).
Як показано на Рисунку 7, ці три індикатори формують ядро моделі RFM. Модель оцінює клієнтів за цими трьома параметрами і сортує їх на основі отриманих балів, щоб визначити найбільш цінні групи клієнтів. Крім того, ця модель ефективно сегментує клієнтів на різні групи, полегшуючи функціональність стратифікації клієнтів.
Рисунок 7 Модель шаруватості RFM
Застосовуючи технологію машинного навчання для вирішення проблем безпеки Ethereum, ми провели дослідження з чотирьох основних аспектів:
Потенційне застосування
Вирішуючи проблеми безпеки Ethereum за допомогою методів машинного навчання, ми провели дослідження з чотирьох основних аспектів:
Виявлення та фільтрація шкідливих транзакцій на основі байєсівського класифікатора**
Побудувавши байєсівський класифікатор, можна виявити та відфільтрувати потенційні спам-транзакції, зокрема ті, що спричиняють DOS-атаки через великі обсяги частих дрібних транзакцій, але не обмежуючись ними. Цей метод ефективно підтримує здоров'я мережі, аналізуючи характеристики транзакцій, такі як ціни на газ і частота транзакцій, забезпечуючи таким чином стабільну роботу мережі Ethereum.
Генерація безпечного коду смарт-контракту, що задовольняє специфічні вимоги**.
Генеративні змагальні мережі (GAN) і генеративні мережі на основі трансформаторів можуть бути використані для генерації коду смарт-контракту, який відповідає певним вимогам, забезпечуючи при цьому максимальну безпеку коду. Однак ці два підходи відрізняються типами даних, на які вони покладаються для навчання моделі: перший з них в першу чергу покладається на небезпечні зразки коду, тоді як другий - на протилежні.
Навчивши GAN вивчати існуючі безпечні шаблони контрактів і будувати моделі самообробки для генерації потенційно небезпечного коду, а потім навчившись виявляти ці небезпеки, можна автоматично генерувати високоякісний і безпечний код смарт-контрактів. Використовуючи моделі генераторних мереж на основі трансформаторів, навчаючись на великій кількості прикладів безпечних контрактів, можна генерувати коди контрактів, які відповідають конкретним потребам і оптимізують споживання газу, що, безсумнівно, підвищує ефективність і безпеку розробки смарт-контрактів.
Аналіз ризиків смарт-контрактів на основі дерев рішень**
Використання дерев рішень для аналізу характеристик смарт-контрактів, таких як частота виклику функцій, вартість транзакцій і складність вихідного коду, може ефективно визначити потенційні рівні ризику контрактів. Аналіз шаблонів роботи та структури коду контрактів дозволяє передбачити можливі вразливості та точки ризику, надаючи розробникам та користувачам оцінку безпеки. Очікується, що цей метод значно підвищить безпеку смарт-контрактів в екосистемі Ethereum, тим самим зменшивши втрати, спричинені вразливостями або шкідливим кодом.
Побудова моделі оцінки криптовалют для зниження інвестиційних ризиків**
Аналізуючи торгові дані, активність у соціальних мережах та ринкові показники криптовалют за допомогою алгоритмів машинного навчання, можна побудувати модель оцінки, яка може передбачити ймовірність того, що криптовалюта є "сміттєвою монетою". Ця модель може запропонувати інвесторам цінну інформацію, яка допоможе їм уникнути інвестиційних ризиків і тим самим сприятиме здоровому розвитку ринку криптовалют.
Крім того, застосування машинного навчання також має потенціал для подальшого підвищення ефективності Ethereum. Ми можемо дослідити це у трьох ключових вимірах:
Застосування дерев рішень для оптимізації моделі черги пулу транзакцій
Використання дерев рішень може ефективно оптимізувати механізм черги в пулі транзакцій Ethereum. Аналізуючи характеристики транзакцій, такі як ціни на газ та розмір транзакції, дерева рішень можуть оптимізувати вибір та впорядкування транзакцій. Цей метод може значно підвищити ефективність обробки транзакцій, ефективно зменшити перевантаження мережі та зменшити час очікування користувачів на транзакції.
Модель RFM (Recency, Frequency, Monetary value) - широко використовуваний інструмент в управлінні взаємовідносинами з клієнтами - може ефективно сегментувати користувачів, оцінюючи час їхньої останньої транзакції (Recency), частоту транзакцій (Frequency) та суму транзакції (Monetary value). Застосування моделі RFM на платформі Ethereum може допомогти визначити групи користувачів з високою цінністю, оптимізувати розподіл ресурсів і надавати більш персоналізовані послуги, тим самим підвищуючи задоволеність користувачів і загальну ефективність платформи. Модель RFM (Recency, Frequency, Monetary value), широко використовуваний інструмент в управлінні взаємовідносинами з клієнтами, може ефективно сегментувати користувачів, оцінюючи час їх останньої транзакції (Recency), частоту транзакцій (Frequency) і суму транзакції (Monetary value). Застосування моделі RFM на платформі Ethereum може допомогти визначити групи користувачів з високою цінністю, оптимізувати розподіл ресурсів і надавати більш персоналізовані послуги, тим самим підвищуючи задоволеність користувачів і загальну ефективність платформи.
Алгоритм DBSCAN також може аналізувати поведінку користувачів у транзакціях, допомагаючи ідентифікувати різні групи користувачів Ethereum і надалі надавати більш персоналізовані фінансові послуги різним користувачам. Ця стратегія сегментації користувачів може оптимізувати маркетингові стратегії, підвищити задоволеність клієнтів та ефективність обслуговування.
Алгоритм K-Nearest Neighbors (KNN) може оцінювати кредитоспроможність користувачів, аналізуючи їхню історію транзакцій і моделі поведінки в Ethereum, що відіграє надзвичайно важливу роль у фінансовій діяльності, такій як кредитування. Кредитний скоринг допомагає фінансовим установам і кредитним платформам оцінювати платоспроможність позичальників і кредитний ризик, приймаючи більш точні кредитні рішення. Це може запобігти надмірному запозиченню та покращити ліквідність ринку.
З точки зору розподілу макрокапіталу, Ethereum, як найбільший у світі розподілений комп'ютер, ніколи не може бути надмірно інвестований в інфра-рівень, тому необхідно залучати більше розробників з різним бекграундом для участі у спільному створенні. У цій статті, розглядаючи технічну реалізацію Ethereum і проблеми, з якими вона стикається, ми передбачаємо ряд інтуїтивно зрозумілих застосувань машинного навчання і сподіваємося, що розробники ШІ в спільноті втілять ці бачення в реальну цінність.
Оскільки обчислювальна потужність ланцюжка поступово зростає, ми можемо передбачити розробку більш складних моделей для управління мережею, моніторингу транзакцій, аудиту безпеки і т.д., що підвищить ефективність і безпеку мережі Ethereum.
Крім того, механізми управління, керовані штучним інтелектом/агентами, також можуть стати значним нововведенням в екосистемі Ethereum. Цей механізм, що забезпечує більш ефективні, прозорі та автоматизовані процеси прийняття рішень, може надати Ethereum більш гнучку та надійну структуру управління. Ці майбутні розробки не тільки сприятимуть інноваціям в технології Ethereum, але й нададуть користувачам більш якісний досвід роботи в мережі.
Переслати оригінальну назву: 另一个角度看「AI+Blockchain」:AI 如何革新以太坊?
Минулого року, коли генеративний ШІ неодноразово розбивав очікування громадськості, хвиля революції продуктивності ШІ прокотилася криптовалютною спільнотою. Ми бачили, як багато проектів на тему АІ на вторинному ринку створюють легенди про багатство, і все частіше розробники починають розробляти власні проекти "АІ+криптовалюта". Однак, при ближчому розгляді стає очевидним, що ці проекти дуже однорідні і більшість з них спрямовані лише на покращення "виробничих відносин", наприклад, організацію обчислювальних потужностей через децентралізовані мережі або створення "децентралізованих облич, що обіймаються". Небагато проектів намагаються по-справжньому інтегрувати та впроваджувати інновації в технічному ядрі. Ми вважаємо, що це пов'язано з "доменним упередженням" між сферами ШІ та блокчейну. Незважаючи на їх широкий перетин, мало хто має глибоке розуміння обох сфер. Наприклад, розробникам штучного інтелекту може бути складно розібратися в технічній реалізації та історичній інфраструктурі Ethereum, що ускладнює пропозицію рішень для глибокої оптимізації.
Візьмемо для прикладу машинне навчання (ML), найпростішу галузь ШІ, - це технологія, яка дозволяє машинам приймати рішення на основі даних без чітких програмних інструкцій. Машинне навчання продемонструвало величезний потенціал в аналізі даних та розпізнаванні образів і стало звичним явищем у web2. Однак через обмеження епохи на етапі її зародження, навіть такі передові інноваційні технології блокчейн, як Ethereum, їхня архітектура, мережа та механізми управління досі не використовують машинне навчання як ефективний інструмент для вирішення складних проблем.
"Великі інновації часто виникають на перетині сфер". Наша основна мета написання цієї статті - допомогти розробникам ШІ краще зрозуміти світ блокчейну, а також надати нові ідеї для розробників спільноти Ethereum. У статті ми спочатку представляємо технічну реалізацію Ethereum, а потім пропонуємо застосувати машинне навчання, базовий алгоритм штучного інтелекту, до мережі Ethereum, щоб підвищити її безпеку, ефективність і масштабованість. Ми сподіваємося, що цей кейс стане відправною точкою, яка запропонує унікальні перспективи та стимулюватиме більше інноваційних комбінацій "ШІ+Блокчейн" в екосистемі розробників.
За своєю суттю, блокчейн - це ланцюжок, який з'єднує блоки між собою, причому відмінність між ланцюжками полягає насамперед у конфігурації ланцюжка. Ця конфігурація є невід'ємною частиною генезису блокчейну, початкової фази будь-якого блокчейну. У випадку з Ethereum, конфігурація ланцюжка розрізняє різні ланцюжки Ethereum і визначає важливі протоколи оновлення і знакові події. Наприклад, DAOForkBlock позначає висоту хардфорку після атаки DAO, а ConstantinopleBlock - висоту блоку, на якому відбулося оновлення Constantinople. Для більших оновлень, які охоплюють численні пропозиції щодо покращення, встановлюються спеціальні поля для позначення відповідних висот блоків. Крім того, Ethereum включає в себе безліч тестових мереж і основну мережу, кожна з яких унікально ідентифікується ідентифікатором ChainID, що окреслює її мережеву екосистему.
Блок генезису, будучи найпершим блоком всього блокчейну, прямо чи опосередковано посилається на інші блоки. Таким чином, дуже важливо, щоб вузли завантажували правильну інформацію про блок генезису під час запуску без будь-яких змін. Ця конфігурація генезисного блоку включає конфігурацію ланцюжка, згадану вище, а також додаткову інформацію, таку як винагорода за видобуток, часові мітки, складність і ліміти газу. Зокрема, Ethereum перейшла від механізму консенсусу майнінгу з доказом роботи до механізму доказу частки (proof-of-stake).
Рахунки Ethereum поділяються на зовнішні та контрактні. Зовнішні рахунки контролюються унікальним приватним ключем, тоді як контрактні рахунки, що не мають приватних ключів, можуть управлятися тільки через виконання коду контракту зовнішніми рахунками. Обидва типи акаунтів мають унікальну адресу. "Світовий стан" Ethereum - це дерево акаунтів, де кожному акаунту відповідає листовий вузол, який зберігає стан акаунту, включаючи різну інформацію про акаунт і код.
Ethereum, як децентралізована платформа, фундаментально полегшує транзакції та контракти. Ethereum блокує транзакції пакета разом з деякою додатковою інформацією. Зокрема, блок поділяється на заголовок і тіло блоку. Заголовок блоку містить докази, що пов'язують всі блоки в ланцюжок, під яким розуміється хеш попереднього блоку, а також корінь стану, корінь транзакції, корінь квитанції та інші дані, такі як складність і nonce, які позначають стан всього світу Ethereum. Тіло блоку містить список транзакцій і список заголовків блоків-дядьків (хоча, з переходом Ethereum на proof-of-stake, посилання на блоки-дядьки припинилися).
Квитанції про транзакції надають результати та додаткову інформацію після виконання транзакції, пропонуючи інформацію, яку неможливо отримати безпосередньо з самих транзакцій. Ці деталі включають зміст консенсусу, інформацію про транзакцію та інформацію про блок, яка вказує на те, чи була транзакція успішною, а також журнали транзакцій та витрати газу. Аналіз інформації в квитанціях допомагає налагодити код смарт-контракту та оптимізувати використання газу, слугує підтвердженням того, що транзакція була оброблена мережею, а також дозволяє вивчити результати та вплив транзакції.
В Ethereum плата за газ може бути спрощена як плата за транзакції, необхідна для таких операцій, як надсилання токенів, укладання контрактів, переказ ефіру або інших дій в блоці. Ці операції вимагають плати за газ, оскільки віртуальна машина Ethereum повинна обчислювати і використовувати мережеві ресурси для обробки транзакції, таким чином вимагаючи оплати за ці обчислювальні послуги. Зрештою, вартість палива, або плата за транзакцію, сплачується шахтарям за формулою Плата = Використаний газ * Ціна газу, де ціна газу встановлюється ініціатором транзакції. Сума значною мірою впливає на швидкість обробки транзакцій в ланцюжку. Занадто низьке значення може призвести до невиконаних транзакцій. Крім того, дуже важливо встановити ліміт газу, щоб запобігти непередбаченому споживанню газу через помилки в контрактах.
В Ethereum існує величезна кількість транзакцій. У порівнянні з централізованими системами, швидкість обробки транзакцій в секунду в децентралізованих системах значно нижча. Через наплив транзакцій у вузли, вузли повинні підтримувати пул транзакцій для належного управління цими транзакціями. Трансляція транзакцій здійснюється через однорангову (P2P) мережу, де один вузол транслює виконувані транзакції своїм сусіднім вузлам, які, в свою чергу, транслюють транзакції своїм сусідам. Завдяки цьому процесу транзакція може поширитися по всій мережі Ethereum протягом 6 секунд.
Транзакції в пулі транзакцій поділяються на виконувані та невиконувані. Виконувані транзакції мають вищий пріоритет, виконуються і включаються в блоки, в той час як всі нові транзакції в пулі є невиконуваними і лише згодом можуть стати виконуваними. Виконувані та невиконувані транзакції відповідно записуються в контейнери "pending" та "queue".
Крім того, пул транзакцій підтримує список локальних транзакцій, які мають кілька переваг: вони мають вищий пріоритет, на них не впливають обмеження на обсяг транзакцій і можуть бути негайно перезавантажені в пул транзакцій при перезавантаженні вузла. Локальне збереження локальних транзакцій досягається за рахунок використання журналу (для перезавантаження при перезапуску вузла), з метою не втратити незавершені локальні транзакції, і він періодично оновлюється.
Перед тим, як потрапити в чергу, транзакції проходять перевірку на легальність, включаючи різні види перевірок, такі як запобігання DOS-атакам, негативним транзакціям та транзакціям, що перевищують ліміти газу. Базовий склад пулу транзакцій можна розділити на: черга + відкладені (формують всі транзакції). Після проходження перевірки законності виконуються подальші перевірки, включаючи перевірку того, чи не досягла черга транзакцій свого ліміту, а також визначення того, чи є віддалені транзакції (тобто нелокальні транзакції) найдешевшими в пулі транзакцій, щоб замінити транзакцію з найнижчою ціною. За замовчуванням, тільки транзакції з комісією, збільшеною на 10%, можуть замінити транзакції, що очікують виконання, і зберігаються як невиконані транзакції. Крім того, під час обслуговування пулу транзакцій видаляються недійсні транзакції та транзакції з перевищенням ліміту, а прийнятні транзакції замінюються на прийнятні.
Рання теорія консенсусу Ethereum була заснована на обчисленні хеш-значення складності, тобто хеш-значення блоку повинно було відповідати цільовому значенню складності, щоб блок вважався дійсним. Оскільки алгоритм консенсусу Ethereum перейшов від Proof of Work (POW) до Proof of Stake (POS), обговорення теорій, пов'язаних з майнінгом, тут опущено. Короткий огляд алгоритму POS виглядає наступним чином: У вересні 2022 року Ethereum завершив злиття ланцюжка Beacon Chain, реалізувавши алгоритм POS. Зокрема, в POS-платформі Ethereum час блоку стабілізовано на рівні 12 секунд. Користувачі ставлять свій Ефір, щоб отримати право стати валідаторами. Група валідаторів випадковим чином обирається з тих, хто бере участь у стейкінгу. У кожному циклі, що складається з 32 слотів, валідатор обирається як пропонент для кожного слоту для створення блоків, тоді як решта валідаторів для цього слоту діють як комітет для перевірки легальності блоку пропонента і винесення суджень про легальність блоків з попереднього циклу. Алгоритм POS значно стабілізує і збільшує швидкість виробництва блоків, при цьому значно зменшуючи втрати обчислювальних ресурсів.
Ethereum успадкував стандарт алгоритму підпису від Bitcoin, також прийнявши криву secp256k1. Алгоритм підпису, який він використовує, - це ECDSA, що означає, що розрахунок підпису базується на хеші оригінального повідомлення. Склад всього підпису можна просто розглядати як R+S+V. Кожен розрахунок відповідно вводить випадкове число, де R+S - вихідні результати ECDSA. Останнє поле, V, відоме як поле відновлення, вказує на кількість переборів, необхідних для успішного відновлення відкритого ключа за вмістом і підписом, оскільки на еліптичній кривій може бути декілька координатних точок, які задовольняють вимогам, що базуються на значенні R.
Весь процес можна просто організувати наступним чином: Дані транзакції та інформація, пов'язана з підписантом, хешується після RLP-кодування, а остаточний підпис можна отримати за допомогою ECDSA-підпису з приватним ключем, де крива, що використовується в ECDSA, є еліптичною кривою secp256k1. Нарешті, об'єднавши дані підпису з даними транзакції, можна отримати підписані дані транзакції і передати їх в ефір.
Структура даних Ethereum спирається не тільки на традиційну технологію блокчейн, але також впроваджує дерево Меркла-Патриції, також відоме як Трійка Меркла, для ефективного зберігання і перевірки великих обсягів даних. MPT поєднує криптографічну функцію хешування дерева Меркла з функцією стиснення ключового шляху дерева Патриції, забезпечуючи рішення, яке одночасно гарантує цілісність даних і підтримує швидкий пошук.
В Ethereum MPT використовується для зберігання всіх даних про стан і транзакції, гарантуючи, що будь-яка зміна даних буде відображена в кореневому хеші дерева. Це означає, що перевірка кореневого хешу дозволяє довести цілісність і точність даних без перевірки всієї бази даних. MPT складається з чотирьох типів вузлів: листові вузли, вузли розширення, вузли відгалуження та нульові вузли, які разом утворюють дерево, здатне адаптуватися до динамічних змін даних. З кожним оновленням даних MPT відображає ці зміни, додаючи, видаляючи або змінюючи вузли та оновлюючи кореневий хеш дерева. Оскільки кожен вузол зашифрований за допомогою хеш-функції, будь-які незначні зміни в даних призведуть до значної зміни кореневого хешу, таким чином забезпечуючи безпеку та узгодженість даних. Крім того, дизайн MPT підтримує верифікацію "легкого клієнта", що дозволяє вузлам перевіряти наявність або стан певної інформації, зберігаючи лише кореневий хеш дерева та необхідні вузли шляху, що значно зменшує вимоги до зберігання та обробки даних.
Завдяки MPT Ethereum не тільки досягає ефективного управління і швидкого доступу до даних, але також забезпечує безпеку і децентралізацію мережі, підтримуючи роботу і розвиток всієї мережі Ethereum.
В основі архітектури Ethereum лежить концепція машини станів, де віртуальна машина Ethereum (EVM) слугує середовищем виконання для виконання всього коду смарт-контракту, а сам Ethereum можна розглядати як глобальну систему переходу станів, що розділяється на глобальному рівні. Виконання кожного блоку можна розглядати як процес переходу від одного стану до іншого, що розділяється глобально. Такий дизайн не тільки забезпечує узгодженість і децентралізацію мережі Ethereum, але і робить результати виконання смарт-контрактів передбачуваними і захищеними від підробки.
В Ethereum стан - це поточна інформація всіх облікових записів, включаючи баланс кожного облікового запису, збережені дані і код смарт-контракту. Щоразу, коли відбувається транзакція, EVM обчислює і змінює стан на основі вмісту транзакції - процес, який ефективно і безпечно реєструється за допомогою дерева Меркла-Патриції (MPT). Кожен перехід стану не тільки змінює дані облікового запису, але й призводить до оновлення MPT, що відображається у зміні хеш-значення кореня дерева.
Взаємозв'язок між EVM і MPT має вирішальне значення, оскільки MPT гарантує цілісність даних при переходах станів Ethereum. Коли EVM виконує транзакції і змінює стан рахунку, відповідні вузли MPT оновлюються, щоб відобразити ці зміни. Оскільки кожен вузол в MPT пов'язаний хешами, будь-яка модифікація стану викликає зміну кореневого хешу, який потім включається в новий блок, забезпечуючи узгодженість і безпеку всього стану Ethereum. Нижче ми представляємо віртуальну машину EVM.
Віртуальна машина EVM має фундаментальне значення для побудови Ethereum, забезпечуючи виконання смарт-контрактів і переходи станів. Завдяки EVM, Ethereum дійсно можна уявити як світовий комп'ютер. EVM є Тьюрінг-повним, що означає, що смарт-контракти на Ethereum можуть виконувати як завгодно складні логічні обчислення, а впровадження газового механізму успішно запобігає нескінченним циклам всередині контрактів, забезпечуючи стабільність і безпеку мережі. З більш глибокої технічної точки зору, EVM - це віртуальна машина на основі стеку, яка виконує смарт-контракти, використовуючи специфічний для Ethereum байт-код. Розробники зазвичай використовують мови високого рівня, такі як Solidity, для написання смарт-контрактів, які потім компілюються в байт-код, зрозумілий EVM для виконання. EVM є ключем до інноваційного потенціалу блокчейну Ethereum, не тільки підтримуючи роботу смарт-контрактів, але й забезпечуючи міцну основу для розробки децентралізованих додатків. Завдяки EVM Ethereum формує децентралізоване, безпечне і відкрите цифрове майбутнє.
Рисунок 1 Історичний огляд Ethereum
Смарт-контракти - це комп'ютерні програми, які працюють на блокчейні Ethereum. Вони дозволяють розробникам створювати та розгортати різноманітні додатки, зокрема програми для кредитування, децентралізовані біржі, страхування, вторинного фінансування, соціальні мережі та NFT, але не обмежуючись ними. Безпека смарт-контрактів має вирішальне значення для цих додатків, оскільки вони безпосередньо обробляють і контролюють криптовалюти. Будь-яка вразливість смарт-контрактів або зловмисні атаки можуть становити пряму загрозу безпеці коштів, що потенційно може призвести до значних фінансових втрат. Наприклад, 26 лютого 2024 року протокол DeFi-кредитування Blueberry Protocol зазнав атаки через ваду в логіці смарт-контрактів, що призвело до втрати близько 1 400 000 доларів.
Вразливості смарт-контрактів є багатогранними і включають в себе нерозумну бізнес-логіку, неналежний контроль доступу, неадекватну перевірку даних, атаки на повторний вхід та DOS-атаки (відмова в обслуговуванні), серед іншого. Ці вразливості можуть призвести до проблем у виконанні контрактів, що впливає на ефективну роботу смарт-контрактів. Наприклад, DOS-атаки передбачають надсилання зловмисниками великого обсягу транзакцій для виснаження ресурсів мережі, що перешкоджає своєчасній обробці звичайних користувацьких транзакцій. Таке погіршення користувацького досвіду може також призвести до збільшення плати за транзакційний газ, оскільки користувачам, можливо, доведеться платити вищу плату за пріоритетність своїх транзакцій у перевантаженій мережі.
Крім того, користувачі Ethereum також стикаються з інвестиційними ризиками, оскільки безпека фондів знаходиться під загрозою. Наприклад, "лайномонети" - це криптовалюти, які вважаються такими, що не мають практично ніякої цінності або довгострокового потенціалу зростання. Шіткоїни часто використовуються як інструмент для шахрайства або для схем "перекачування". Інвестиційний ризик, пов'язаний з лайномонетами, є високим, що потенційно може призвести до значних фінансових втрат. Через низьку ціну та ринкову капіталізацію вони дуже чутливі до маніпуляцій та волатильності. Ці криптовалюти зазвичай використовуються в схемах "pump-and-dump" і "медових горщиках", коли інвесторів заманюють фейковими проектами, а потім грабують їхні кошти. Ще одним поширеним ризиком, пов'язаним з лайткоінами, є "витягування килима", коли творці раптово виводять всю ліквідність з проекту, що призводить до різкого падіння вартості токена. Ці шахрайські схеми часто реалізуються через фальшиві партнерства та схвалення, а коли ціна токена зростає, шахраї продають свої токени, отримують прибуток і зникають, залишаючи інвесторів з нічого не вартими токенами. Крім того, інвестиції в лайткоіни можуть відволікти увагу і ресурси від легальних криптовалют з реальним застосуванням і потенціалом зростання.
Крім shitcoins, "повітряні монети" та "монети піраміди" також є методами швидкого заробітку. Для користувачів, яким бракує професійних знань і досвіду, відрізнити їх від легальних криптовалют особливо складно.
Двома прямими показниками для оцінки ефективності Ethereum є швидкість транзакцій і плата за газ. Швидкість транзакцій - це кількість транзакцій, які мережа Ethereum може обробити за одиницю часу. Ця метрика безпосередньо відображає обчислювальні можливості мережі Ethereum, де вища швидкість вказує на вищу ефективність. Кожна транзакція в Ethereum вимагає певної суми газових зборів, які компенсують майнерів за перевірку транзакцій. Нижчі тарифи на газ вказують на вищу ефективність в Ethereum.
Зменшення швидкості транзакцій призводить до збільшення плати за газ. Як правило, коли швидкість обробки транзакцій зменшується, через обмежений простір блоку, конкуренція між транзакціями за потрапляння в наступний блок може зростати. Щоб виділитися в цій конкуренції, трейдери часто підвищують плату за газ, оскільки під час верифікації майнери, як правило, надають перевагу угодам з вищою платою за газ. Таким чином, вищі тарифи на газ можуть погіршити досвід користувачів.
Транзакції - це лише основні дії в Ethereum. У межах цієї екосистеми користувачі також можуть займатися різними видами діяльності, такими як кредитування, інвестування, страхування тощо, і все це можна робити за допомогою спеціальних додатків DApp. Однак, зважаючи на широке розмаїття DApps та відсутність персоналізованих рекомендаційних сервісів, подібних до тих, що існують у традиційних галузях, користувачам може бути складно обирати правильні додатки та продукти для себе. Така ситуація може призвести до зниження задоволеності користувачів, тим самим впливаючи на загальну ефективність екосистеми Ethereum.
Візьмемо для прикладу кредитування. Деякі платформи DeFi кредитування використовують механізм надмірного забезпечення для підтримки безпеки та стабільності своєї платформи. Це означає, що позичальникам потрібно надати більше активів як заставу, які не можуть бути використані для інших видів діяльності протягом періоду кредитування. Це призводить до зниження коефіцієнта використання капіталу позичальниками, тим самим зменшуючи ліквідність ринку.
Моделі машинного навчання, такі як модель RFM, генеративні змагальні мережі (GAN), моделі дерева рішень, алгоритм K-Nearest Neighbors (KNN) та алгоритм кластеризації DBSCAN, відіграють важливу роль в Ethereum. Застосування цих моделей машинного навчання в Ethereum може допомогти оптимізувати ефективність обробки транзакцій, підвищити безпеку смарт-контрактів, впровадити сегментацію користувачів для надання більш персоналізованих послуг і сприяти стабільній роботі мережі.
Алгоритми машинного навчання - це набір інструкцій або правил, які використовуються для аналізу даних, вивчення закономірностей у даних і прийняття прогнозів або рішень на основі цих знань. Вони вдосконалюються автоматично, навчаючись на основі наданих даних, без необхідності явного програмування з боку людини. Моделі машинного навчання, такі як модель RFM, генеративні змагальні мережі (GAN), моделі дерева рішень, алгоритм K-Nearest Neighbors (KNN) та алгоритм кластеризації DBSCAN, відіграють важливу роль в Ethereum. Застосування цих моделей машинного навчання в Ethereum може допомогти оптимізувати ефективність обробки транзакцій, підвищити безпеку смарт-контрактів, впровадити сегментацію користувачів для надання більш персоналізованих послуг і сприяти стабільній роботі мережі.
Байєсівські класифікатори є одними з різних статистичних методів класифікації, спрямованих на мінімізацію ймовірності помилок класифікації або мінімізацію середнього ризику в рамках певних витрат. Їх філософія дизайну глибоко вкорінена в теоремі Байєса, яка дозволяє розрахувати ймовірність того, що об'єкт належить до певного класу, враховуючи деякі відомі характеристики. Обчислюючи апостеріорну ймовірність об'єкта, приймаються рішення. Зокрема, байєсівські класифікатори спочатку враховують попередню ймовірність об'єкта, а потім застосовують формулу Байєса, щоб врахувати спостережувані дані, таким чином оновлюючи переконання про класифікацію об'єкта. Серед усіх можливих класифікацій байєсівські класифікатори обирають категорію з найвищою апостеріорною ймовірністю для об'єкта. Основна перевага цього методу полягає в його природній здатності працювати з невизначеністю та неповною інформацією, що робить його потужним і гнучким інструментом, придатним для широкого спектру застосувань.
Як показано на рисунку 2, у контрольованому машинному навчанні рішення про класифікацію приймаються на основі даних і ймовірнісних моделей, заснованих на теоремі Байєса. Використовуючи ймовірність, попередні ймовірності категорій та ознак, байєсівські класифікатори обчислюють апостеріорні ймовірності кожної категорії для точок даних і відносять точки даних до категорії з найвищою апостеріорною ймовірністю. На діаграмі розсіювання праворуч класифікатор намагається знайти криву, яка найкраще розділяє точки різних кольорів, тим самим мінімізуючи помилки класифікації.
Рисунок 2 Байєсівський класифікатор
Алгоритми дерев рішень зазвичай використовуються для задач класифікації та регресії, застосовуючи ієрархічний підхід до прийняття рішень. Вони генерують дерева шляхом розбиття на ознаки з високим інформаційним приростом на основі відомих даних, таким чином навчаючи дерево рішень. По суті, алгоритм може самостійно навчатися правилам прийняття рішень на основі даних для визначення значень змінних. Зокрема, він спрощує складні процеси прийняття рішень до кількох простіших підрішень. Кожне більш просте рішення є похідним від батьківського критерію рішення, утворюючи деревоподібну структуру.
Як показано на рисунку 3, кожен вузол представляє рішення, визначаючи критерій для оцінки певної ознаки, тоді як гілки представляють результати рішення. Кожен вузол листа представляє кінцевий прогнозований результат і категорію. Зі структурної точки зору, модель дерева рішень є інтуїтивно зрозумілою, легкою для сприйняття і має сильну пояснювальну силу.
Зображення 3 Модель дерева рішень
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) - це алгоритм просторової кластеризації на основі щільності, який особливо ефективний для наборів даних з шумом і для виявлення кластерів будь-якої форми без необхідності вказувати кількість кластерів заздалегідь. Він має надійну продуктивність проти викидів у наборі даних. Алгоритм може ефективно виявляти викиди, визначені як точки в областях з низькою щільністю, як показано на рисунку 4.
Рисунок 4 Ідентифікація шуму за допомогою алгоритму DBSCAN
Алгоритм K-Nearest Neighbors (KNN) можна використовувати як для класифікації, так і для регресії. У класифікації категорія об'єкта, що класифікується, визначається за допомогою механізму голосування; у регресії вона прогнозується шляхом обчислення середнього або середньозваженого значення з k найближчих вибірок.
Як показано на рисунку 5, принцип роботи алгоритму KNN в класифікації полягає в тому, щоб знайти найближчих k сусідів нової точки даних і передбачити категорію нової точки даних на основі категорій цих сусідів. Якщо K=1, нову точку даних просто віднесено до категорії найближчого сусіда. Якщо K>1, категорія зазвичай визначається більшістю голосів, тобто нова точка даних відноситься до категорії, найбільш поширеної серед її сусідів. При використанні в регресії принцип залишається тим самим, але результат є середнім значенням результатів найближчих k вибірок.
Рисунок 5 Алгоритм KNN, використаний для класифікації
Генеративний штучний інтелект (ШІ) - це тип технології ШІ, який може генерувати новий контент (наприклад, текст, зображення, музику тощо) на основі вхідних даних. В основі його лежать досягнення в галузі машинного та глибокого навчання, зокрема, у застосуванні до обробки природної мови та розпізнавання зображень. Генеративний ШІ вивчає закономірності та асоціації з величезної кількості даних, а потім генерує абсолютно нові результати на основі цієї вивченої інформації. Ключ до генеративного штучного інтелекту лежить у навчанні моделей, яке вимагає високоякісних даних для навчання та тренування. Під час цього процесу модель поступово покращує свою здатність генерувати новий контент, аналізуючи та розуміючи структуру, закономірності та взаємозв'язки в наборі даних.
Трансформер, як наріжний камінь генеративного штучного інтелекту, впровадив механізм уваги в революційний спосіб. Це дозволяє обробляти інформацію, зосереджуючись на ключових моментах, а також мати глобальний погляд - унікальна можливість, яка зробила Transformer блискучим у сфері генерації текстів. Використання новітніх моделей природної мови, таких як GPT (Generative Pre-trained Transformer), для розуміння вимог користувача, виражених природною мовою, і автоматичного перетворення їх у виконуваний код може зменшити складність розробки і значно підвищити ефективність.
Як показано на рисунку 6, впровадження механізму багатоголової уваги та механізму самоуваги в поєднанні із залишковими зв'язками та повністю підключеними нейронними мережами, а також використання минулих технологій вбудовування слів, значно підвищило продуктивність генеративних моделей, пов'язаних з обробкою природної мови.
Рисунок 6 Модель трансформатора
Модель RFM - це модель аналізу, заснована на купівельній поведінці клієнтів, яка дозволяє визначити групи клієнтів з різною вартістю, аналізуючи їхню поведінку при здійсненні транзакцій. Ця модель оцінює та класифікує клієнтів на основі часу їхньої останньої покупки (Recency, R), частоти покупок (Frequency, F) та витраченої суми (Monetary value, M).
Як показано на Рисунку 7, ці три індикатори формують ядро моделі RFM. Модель оцінює клієнтів за цими трьома параметрами і сортує їх на основі отриманих балів, щоб визначити найбільш цінні групи клієнтів. Крім того, ця модель ефективно сегментує клієнтів на різні групи, полегшуючи функціональність стратифікації клієнтів.
Рисунок 7 Модель шаруватості RFM
Застосовуючи технологію машинного навчання для вирішення проблем безпеки Ethereum, ми провели дослідження з чотирьох основних аспектів:
Потенційне застосування
Вирішуючи проблеми безпеки Ethereum за допомогою методів машинного навчання, ми провели дослідження з чотирьох основних аспектів:
Виявлення та фільтрація шкідливих транзакцій на основі байєсівського класифікатора**
Побудувавши байєсівський класифікатор, можна виявити та відфільтрувати потенційні спам-транзакції, зокрема ті, що спричиняють DOS-атаки через великі обсяги частих дрібних транзакцій, але не обмежуючись ними. Цей метод ефективно підтримує здоров'я мережі, аналізуючи характеристики транзакцій, такі як ціни на газ і частота транзакцій, забезпечуючи таким чином стабільну роботу мережі Ethereum.
Генерація безпечного коду смарт-контракту, що задовольняє специфічні вимоги**.
Генеративні змагальні мережі (GAN) і генеративні мережі на основі трансформаторів можуть бути використані для генерації коду смарт-контракту, який відповідає певним вимогам, забезпечуючи при цьому максимальну безпеку коду. Однак ці два підходи відрізняються типами даних, на які вони покладаються для навчання моделі: перший з них в першу чергу покладається на небезпечні зразки коду, тоді як другий - на протилежні.
Навчивши GAN вивчати існуючі безпечні шаблони контрактів і будувати моделі самообробки для генерації потенційно небезпечного коду, а потім навчившись виявляти ці небезпеки, можна автоматично генерувати високоякісний і безпечний код смарт-контрактів. Використовуючи моделі генераторних мереж на основі трансформаторів, навчаючись на великій кількості прикладів безпечних контрактів, можна генерувати коди контрактів, які відповідають конкретним потребам і оптимізують споживання газу, що, безсумнівно, підвищує ефективність і безпеку розробки смарт-контрактів.
Аналіз ризиків смарт-контрактів на основі дерев рішень**
Використання дерев рішень для аналізу характеристик смарт-контрактів, таких як частота виклику функцій, вартість транзакцій і складність вихідного коду, може ефективно визначити потенційні рівні ризику контрактів. Аналіз шаблонів роботи та структури коду контрактів дозволяє передбачити можливі вразливості та точки ризику, надаючи розробникам та користувачам оцінку безпеки. Очікується, що цей метод значно підвищить безпеку смарт-контрактів в екосистемі Ethereum, тим самим зменшивши втрати, спричинені вразливостями або шкідливим кодом.
Побудова моделі оцінки криптовалют для зниження інвестиційних ризиків**
Аналізуючи торгові дані, активність у соціальних мережах та ринкові показники криптовалют за допомогою алгоритмів машинного навчання, можна побудувати модель оцінки, яка може передбачити ймовірність того, що криптовалюта є "сміттєвою монетою". Ця модель може запропонувати інвесторам цінну інформацію, яка допоможе їм уникнути інвестиційних ризиків і тим самим сприятиме здоровому розвитку ринку криптовалют.
Крім того, застосування машинного навчання також має потенціал для подальшого підвищення ефективності Ethereum. Ми можемо дослідити це у трьох ключових вимірах:
Застосування дерев рішень для оптимізації моделі черги пулу транзакцій
Використання дерев рішень може ефективно оптимізувати механізм черги в пулі транзакцій Ethereum. Аналізуючи характеристики транзакцій, такі як ціни на газ та розмір транзакції, дерева рішень можуть оптимізувати вибір та впорядкування транзакцій. Цей метод може значно підвищити ефективність обробки транзакцій, ефективно зменшити перевантаження мережі та зменшити час очікування користувачів на транзакції.
Модель RFM (Recency, Frequency, Monetary value) - широко використовуваний інструмент в управлінні взаємовідносинами з клієнтами - може ефективно сегментувати користувачів, оцінюючи час їхньої останньої транзакції (Recency), частоту транзакцій (Frequency) та суму транзакції (Monetary value). Застосування моделі RFM на платформі Ethereum може допомогти визначити групи користувачів з високою цінністю, оптимізувати розподіл ресурсів і надавати більш персоналізовані послуги, тим самим підвищуючи задоволеність користувачів і загальну ефективність платформи. Модель RFM (Recency, Frequency, Monetary value), широко використовуваний інструмент в управлінні взаємовідносинами з клієнтами, може ефективно сегментувати користувачів, оцінюючи час їх останньої транзакції (Recency), частоту транзакцій (Frequency) і суму транзакції (Monetary value). Застосування моделі RFM на платформі Ethereum може допомогти визначити групи користувачів з високою цінністю, оптимізувати розподіл ресурсів і надавати більш персоналізовані послуги, тим самим підвищуючи задоволеність користувачів і загальну ефективність платформи.
Алгоритм DBSCAN також може аналізувати поведінку користувачів у транзакціях, допомагаючи ідентифікувати різні групи користувачів Ethereum і надалі надавати більш персоналізовані фінансові послуги різним користувачам. Ця стратегія сегментації користувачів може оптимізувати маркетингові стратегії, підвищити задоволеність клієнтів та ефективність обслуговування.
Алгоритм K-Nearest Neighbors (KNN) може оцінювати кредитоспроможність користувачів, аналізуючи їхню історію транзакцій і моделі поведінки в Ethereum, що відіграє надзвичайно важливу роль у фінансовій діяльності, такій як кредитування. Кредитний скоринг допомагає фінансовим установам і кредитним платформам оцінювати платоспроможність позичальників і кредитний ризик, приймаючи більш точні кредитні рішення. Це може запобігти надмірному запозиченню та покращити ліквідність ринку.
З точки зору розподілу макрокапіталу, Ethereum, як найбільший у світі розподілений комп'ютер, ніколи не може бути надмірно інвестований в інфра-рівень, тому необхідно залучати більше розробників з різним бекграундом для участі у спільному створенні. У цій статті, розглядаючи технічну реалізацію Ethereum і проблеми, з якими вона стикається, ми передбачаємо ряд інтуїтивно зрозумілих застосувань машинного навчання і сподіваємося, що розробники ШІ в спільноті втілять ці бачення в реальну цінність.
Оскільки обчислювальна потужність ланцюжка поступово зростає, ми можемо передбачити розробку більш складних моделей для управління мережею, моніторингу транзакцій, аудиту безпеки і т.д., що підвищить ефективність і безпеку мережі Ethereum.
Крім того, механізми управління, керовані штучним інтелектом/агентами, також можуть стати значним нововведенням в екосистемі Ethereum. Цей механізм, що забезпечує більш ефективні, прозорі та автоматизовані процеси прийняття рішень, може надати Ethereum більш гнучку та надійну структуру управління. Ці майбутні розробки не тільки сприятимуть інноваціям в технології Ethereum, але й нададуть користувачам більш якісний досвід роботи в мережі.