Akamon Beta - Покращення в епоху Беббіджа 🚀
Розвиток та підвищення ефективності з наближенням хардфорку Vasil
Akamon - нативний шлюз між Cardano та Polygon 🌉
Контракти Cardano в Akamon Beta спочатку були розроблені для роботи в епоху Алонзо, оскільки ми не знали, коли відбудеться хард-форк Vasil (або ви можете назвати це епохою Беббіджа). Однак, як ви вже знаєте, Хардфорк Vasil був успішно запущений у загальнодоступній тестовій мережі 3 липня.
Оскільки бета-версія Akamon знаходиться лише на ранній стадії, ми зрозуміли, що це чудовий шанс застосувати всі оптимізації та покращення, які доступні лише завдяки хардфорку. Ми хочемо, щоб спільнота ознайомилася з останніми покращеннями Cardano і знала, чого очікувати, коли хард-форк Vasil з'явиться в основній мережі наприкінці цього року.
Ми класифікуємо покращення, що з'явилися в результаті хардфорку, на дві категорії:
- Пасивна : розробникам не потрібно вносити будь-які зміни до своїх dApp, щоб скористатися цими поліпшеннями.
Приклад: Diffusion Pipelining, сховище UTXO на диску. - Активна : розробники повинні самі вносити зміни до своїх децентралізованих програм.
«Активні» покращення — це те, в чому ми зацікавлені і те, з чим ми раді працювати:
- CIP-31: Еталонні входи
- CIP-32: Вбудовані бази даних
- CIP-33: Довідкові сценарії
- CIP-40: Супутній висновок
- CIP-42: Новий вбудований Plutus:
serialiseBuiltinData
Ми припускаємо, що читачі вже певною мірою знайомі з цими CIP і як вони можуть поліпшити децентралізовані додатки Cardano в теорії. Тому ми зосередимося тільки на тому, що ми зробили в Akamon Beta, використовуючи такі покращення:
Інструменти та бібліотеки Скрипти Розгортання Вбудовані дані Інші оптимізації «Фактично» Рішення Oracle
⚒️ Інструменти та бібліотеки
Навіть наприкінці червня і на початку липня, коли ми готувалися до хард-форку, багато популярних інструментів та бібліотек все ще не були готові до епохи Беббіджа, і на момент написання статті це все ще було правдою. Однак ми передбачили це і вирішили глибоко присвятити себе вітчизняним рішенням, таким cardano-index
як cardano-tx-builder
. В результаті ми змогли адаптувати Akamon Beta до епохи Беббіджа і швидше експериментувати з новими покращеннями — замість того, щоб чекати, доки зовнішні бібліотеки будуть готові і стануть стабільними.
На жаль, ми не можемо реалізувати все самі, і нам все ще потрібно дочекатися, коли екосистема Cardano зрушить з місця в цілому. Наприклад, на момент написання статті багато браузерних гаманців не могли підписати транзакцію за допомогою вбудованих даних або вихідних даних… Ми очікуємо, що ситуація з цим стане набагато кращою в найближчі кілька тижнів, коли хардфорк наблизиться до основної мережі.
📄 Розгортання скриптів
До хард-форку Vasil, щоб використовувати заблокований скрипт UTXO або карбувати токени, вам завжди потрібно було включати до транзакції необхідні скрипти. Як наслідок, транзакції із використанням смарт-контрактів Plutus були величезні за розміром. Вже одне це викликає кілька проблем:
- Всі ми чули про відому проблему «розміру скрипту» в Cardano: розмір транзакцій обмежений 16 КБ; тому розробники що неспроможні створювати складні транзакції, потребують взаємодії 3-4 скриптів, навіть якщо їх скрипти оптимізовані з погляду виконавчих одиниць.
- Також існує обмеження на розмір блоку, що означає, що в один блок може потрапити лише невелика кількість складних транзакцій, що створює у спільноти дещо «хибне» враження про низьку пропускну здатність Cardano.
- Комісія за транзакцію залежить від розміру транзакції (поряд з одиницями виконання та деякою фіксованою сумою); Найбільші транзакції мають вищі комісії.
Все повністю змінилося в епоху Беббіджа; з CIP-31 (еталонні входи) та CIP-33 (еталонні сценарії) сценарії більше не потрібно включати безпосередньо у транзакції. Натомість їх можна «розгорнути», створивши UTXO з еталонними сценаріями (CIP-33). Транзакції, що вимагають цих сценаріїв, можуть просто посилатися (CIP-31) на ці розгортання UTXO, і вони будуть дозволені і доступні в контексті оцінки вузлами Cardano.
За допомогою цієї техніки ми можемо зменшити розмір транзакцій валідаторів у 5-10 разів (залежно від складності), скоротивши при цьому комісію за транзакцію у 2-3 рази. На наш погляд, це механізм, що змінює правила гри, тому що він приносить користь не тільки нам, але й усьому співтовариству: якщо всі децентралізовані програми використовують однакові методи, в один блок Cardano можна включити набагато більше транзакцій, а пропускна спроможність усієї мережі та ефективність буде набагато вищим.
📑 Вбудовані бази
До хард-форку Vasil ви могли створювати UTXO з блокуванням скриптів тільки з хешами даних, але для використання цих UTXO вам необхідно було надати дані, що відповідають збереженому хеш даних. Це мало зменшити обсяг даних, які у ланцюжку. Однак це не завжди може бути правдою:
- У багатьох наших контрактах нам також необхідно перевіряти дані виходів, щоб побачити, чи вони задовольняють певним умовам, тому нам зазвичай доводиться включати дані як додаткові в транзакцію, що створює UTXO.
- Щоб побудувати транзакцію, яка споживає UTXO, нам потрібно отримати відповідні дані. Без централізованих баз даних єдине місце, де ми можемо їх зберігати, це фактичний блокчейн Cardano.
Це призводить до того, що в більшості випадків дані необхідно включати як у виробляючу, так і споживаючу транзакцію, фактично двічі включаючи їх у транзакцію, двічі оплачуючи комісію.
З CIP-32 (Inline Datums) ми можемо просто включити датум у транзакцію, що виробляє, і він буде доступний всім. Це не є перешкодою для Akamon Beta, але, безумовно, є хорошим загальним поліпшенням, що дозволяє знизити розмір транзакції (знову) та усунути деяку плутанину для розробників dApp щодо того, коли та як вони мають робити ці дані доступними для використання транзакцій.
🔮 «Майже» рішення Oracle
Але використання CIP-32 (Inline Datums) на цьому не закінчується, у поєднанні з CIP-31 (Reference Inputs) ми можемо мати UTXO, подібні до Oracle, що виступають як джерело даних для інших контрактів. Це дійсно ефективний метод для даних, що рідко оновлюються. Це дозволяє нам зробити ці взаємодії без перевантажень в Akamon Beta:
- Розподілити зібрані збори між валідаторами
- Перенесення заблокованих засобів користувачів децентралізованим способом
Ми проводимо великі дослідження та дослідження на тему Oracle, і нам ще багато що треба написати. Тим не менш, давайте залишимо це для наших наступних технічних звітів 😉
⚙️ Інші оптимізації
Поряд із покращеннями, внесеними хард-форком Vasil, ми також серйозно оптимізували контракти. Після проведення внутрішніх тестів ми очікуємо, що пропускна спроможність Polygon → Cardano буде в 5 разів більшою, ніж було у нас спочатку в загальнодоступній тестовій мережі, і приблизно в 10 разів більше, ніж у нас було з Akamon Alpha. Але ми обов'язково надамо докладнішу статистику після збору реальних даних від користувачів, коли в загальнодоступній тестовій мережі ситуація стане стабільнішою.
Одна оптимізація, яку ми намагалися використовувати, використовувала CIP-42 (New Plutus Builtin: serialiseBuiltinData
); це дозволяє нам перевіряти узгодженість запитів між твердженнями з ефективнішими обчисленнями.
Ми також плануємо використовувати CIP-40 (виведення застави) для кращого управління UTXO валідаторів та захисту їх від втрати непотрібних застав при виникненні аномалій.
🔗Акамон Посилання
Akamon FAQ
Докладний покроковий досвід користувача передачі Akamon Akamon Public Issue Tracker
MELD - будь своїм власним банком
Ми вважаємо важливим, щоб кожен отримав контроль над своїм фінансовим життям та мав рівний доступ до фінансових інструментів, які використовуються професіоналами, а не лише централізованими установами, урядами чи 1%. Ми хочемо надати фінансову свободу та контроль масам, у тому числі тим, хто не користується банківськими послугами.
Ми маємо довгострокову мету — забезпечити доступ до цих інструментів для 15 трильйонів доларів, які нині заблоковані у світовій економіці, включаючи 2 мільярди людей у всьому світі, які не мають доступу до банківських послуг. Ці люди, платять найвищі комісійні, отримують найгірше клієнтське обслуговування, і у них найбільше проблем.
Наше бачення полягає в тому, щоб створити екосистему, яка дозволить людям відновити фінансовий контроль, надавши їм інструменти та послуги, необхідні для управління своїми грошима на їх умовах. Будь то створення забезпеченої боргової позиції (CDP) за допомогою криптовалюти, отримання відсоткового доходу за кредитування фіату позичальникам або навіть участь у програмах заохочення, ми прагнемо надати нашим користувачам функції, необхідні їм для керування своїм фінансовим життям.