Реалізація протоколу доказу спалення на Cardano: команда Iagon створює рішення для боротьби з цензурою

Протокол спалювання: інноваційний застосунок на Cardano

Команда Iagon нещодавно завершила виклик, розробивши протокол Proof of Burn (PoB) для екосистеми Cardano. Це відповідь на питання, поставлене відомою особистістю в сфері блокчейну. У цій статті буде представлено рішення команди Iagon, яке в основному охоплює такі аспекти:

  1. Огляд механізму підтвердження спалення та його застосування
  2. Деталі реалізації PoB рішення Iagon в мережі Cardano
  3. Розгортання та тестування смарт-контракту в тестовій мережі
  4. Виконання протоколу PoB шляхом надсилання токенів на адресу "чорна дірка"

Підтвердження спалювання та його застосування

Спалювання токенів ( знищення ) є поширеною практикою, по суті, це надсилання токенів на адресу "чорної діри", яка недоступна. Ця адреса не має приватного ключа, тому знищені токени більше не можуть бути повернуті. Громадськість може перевірити, що знищення дійсно відбулося, але знає лише одне "таємне" значення зобов'язання. Цей механізм може запобігти перевірці знищених коштів посередниками.

Механізм спалювання має кілька застосувань, може підвищити цінність залишкових токенів, а також слугувати доказом зобов'язань протоколу блокчейн. Масове спалювання токенів може викликати дефляційний тиск, оскільки зменшує загальну кількість токенів в обігу. Хоча спалювання є звичайною транзакцією блокчейн, все ж потрібно, щоб майнери це прийняли. Хоча ці механізми мають певні переваги, є також ті, хто виступає проти спалювання токенів. У відповідь на це Iagon прагне розробити протокол спалювання токенів, який не підлягає цензурі. Ця спеціальна нецензурована операція привернула увагу відомих осіб в індустрії.

Безпека доказу згоряння базується на тій же механіці, що й транзакції переказу токенів, а саме на криптографічній хеш-функції. Ці функції легко обчислюються, але важко обертаються назад. По суті, навіть незначні зміни вхідних даних призводять до абсолютно різних виходів. Це означає, що зворотне обчислення з виходу хеш-функції займе багато часу. Кажучи коротко, перевернувши найменший біт криптографічної хеш-функції, можна створити чорну діру адреси. Все, що надсилається на цю адресу, стане важким або неможливим для відновлення.

Безпека криптографічних транзакцій повністю базується на відкритих ключах криптографії та криптографічних хеш-функціях: "Кожного разу, коли відправляються кошти, створюється новий незатрачений вихід транзакції (UTxO)." Цей UTxO фіксує кількість коштів та хеш відкритого ключа отримувача. Якщо отримувач хоче використати ці кошти, він повинен підписати нову транзакцію витрат з тим самим відкритим ключем.

Чому потрібно перевертати найменший біт виходу хеш-функції, а не використовувати хеш-значення 0x0? Причина в тому, що використання відомого значення робить спалювання відразу видимим. Проте, дизайн цього протоколу полягає в тому, щоб спочатку спалити кошти, а потім ( у окремому кроці ) довести, що вони були спалені. Для цього потрібно спочатку створити хеш зобов'язуючого значення. Після цього зобов'язуюче значення показує, що було створено адресу чорної діри.

!

Смарт-контракт на підтвердження спалення в мережі Cardano

Смарт-контракти Cardano - це програми, які працюють у мережі Cardano, що дозволяють розробникам виконувати фінансові ( транзакції відповідно до заздалегідь визначених правил ). Смарт-контракти призначені для встановлення прозорих і перевіряємих угод між сторонами. Нещодавно зростання децентралізованих фінансових послуг та децентралізованих організацій сприяло швидкому зростанню застосування смарт-контрактів.

На відміну від смарт-контрактів Ethereum, Cardano використовує іншу структуру. Це дозволяє користувачам симулювати кожну транзакцію у своєму гаманці, щоб ускладнити атаки на мережу. Зміни, що виникають внаслідок транзакцій, записуються після перевірки вузлами блокчейну. Для цього смарт-контракти Cardano містять три складові:

  • Скрипт викупника: дозволяє або забороняє витрати eUTxOs
  • Скрипт гаманця: представляє користувача, використовується для викупу коштів та створення нових eUTxOs
  • eUTxOs: кожен eUTxO містить кошти та одну точку даних ( datum ), яка використовується для визначення того, коли можна повторно використовувати ці кошти.

Це означає, що смарт-контракти Cardano не мають централізованого стану в реєстрі. Кожен eUTxO має незалежний стан ( даних ), і є невід'ємним від своїх коштів. Це призводить до наступних чотирьох можливих операцій:

  • Спалювання: надсилання коштів на адресу чорної діри з секретним значенням хеш-пропису
  • Підтвердження спалення: підтвердження того, що спалення певного зобов'язання дійсно відбулося
  • Закриття: Надішліть кошти на адресу з ключем
  • Викуп: викуп раніше заблокованих коштів

Необхідно звернути увагу, що кінцевий пункт працює у гаманці користувача. Після завершення виконання сценарію кінцевого пункту в гаманці, згенерована транзакція буде переміщена на блокчейн. У цьому випадку ця транзакція перемістить кошти до сценарію викупу. Цей сценарій перевіряє, що кошти можуть бути доступні лише адресою, що має його хеш.

У процесі блокування хеш-значення може бути нашою власною адресою. У процесі спалювання хеш-значення вказує на адресу чорної діри. Ми реалізуємо це, надаючи хешу секретне зобов'язання, а потім інвертуємо його. Оскільки використовується криптографічна хеш-функція, практично неможливо знайти хеш-значення, яке відповідало б результату.

Посередник, що здійснює угоду, не може знати, чи є ця угода спаленням, чи блокуванням. Використовуючи цей скрипт, посередник не може вибірково перевіряти жодну угоду на спалення. Спалення та блокування використовують однаковий формат викуплювача, тільки ініціатор угоди знає, чи це угода на спалення, чи блокування. Значення спалення можна перевірити, використовуючи верифікацію спалювальної точки з даним значенням зобов'язання. До публікації значення зобов'язання ніхто не знає, яка кількість коштів була знищена.

!

Розгортання тестової мережі смарт-контрактів

Щоб розгорнути смарт-контракт в тестовій мережі, потрібно виконати такі кроки:

  1. Встановлення інструментів Haskell
  2. Побудова скриптів Plutus
  3. Запустіть контейнер, який з'єднує вузол Cardano з гаманцем
  4. Відновлення гаманця та отримання ID гаманця
  5. Виконання операції спалювання токенів
  6. Виконання операції підтвердження спалювання

Виконуючи зазначені кроки, зовнішні спостерігачі не можуть дізнатися, чи є ця транзакція спаленням чи блокуванням. Однак після публікації цього скрипта люди можуть спробувати скомпілювати відмову від погашення, відповідно до хешу запропонованого скрипта погашення. Це вимагатиме величезних зусиль, але може призвести до певної перевірки спалення. Щоб запобігти такій ситуації та ускладнити реалізацію порушень, Iagon працює над підвищенням безпеки цього рішення.

!

Від смарт-контрактів до скриптів гаманця

Використовуючи той факт, що більшість операцій зі смарт-контрактами відбувається у гаманцях користувачів, можна створити виконувані схеми, які використовують лише гаманці, що робить смарт-контракти непотрібними. Практичне значення цього підходу полягає в тому, що неможливо вибірково блокувати відповідні транзакції смарт-контрактів на знищення. Однак, щоб заблокувати всіх рецензентів на знищення, можна досягти цього, заблокувавши всі скрипти. Використовуючи лише гаманці, єдиний спосіб рецензувати знищення - це рецензувати всі транзакції Cardano. Це є остаточним опором щодо рецензування.

Щоб це реалізувати, потрібно замінити хеш публічного ключа на хеш значення зобов'язання та перевернути найменший біт значення зобов'язання. Але цього недостатньо. Cardano перевіряє структуру та код CRC, щоб запобігти помилкам введення в адресі. Отже, найпростіший спосіб отримати адресу з зобов'язання - це використовувати спеціальний скрипт та бібліотеку Cardano API.

Можна використовувати наданий код для генерації адреси спалення, а потім подати транзакцію до блокчейну Cardano. Щоб перевірити спалення, потрібно переглянути транзакцію, надіслану на адресу спалення.

!

Висновок

Ця стаття розділяє реалізацію протоколу доказу спалювання на два способи: смарт-контракти та гаманцеві транзакції. Однак, через те, що смарт-контракти Alonzo наразі не мають необхідної інфраструктури (, такої як бібліотека PAB ), ми рекомендуємо використовувати скрипти гаманців. У будь-якому випадку, бібліотека PAB найближчим часом буде підтримувати розробку додатків на базі Cardano, у поєднанні зі скриптами гаманців, це може створити більш складне та стійке до цензури рішення для смарт-контрактів. Якщо ви хочете дізнатися більше про це рішення, ви можете переглянути всю відповідну інформацію на Github.

!

ADA-3.92%
IAG-5.67%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 2
  • Поділіться
Прокоментувати
0/400
GasFeeNightmarevip
· 19год тому
Відкриття падіння інфляційної ставки
Переглянути оригіналвідповісти на0
MetaDreamervip
· 19год тому
Технологія, на яку варто чекати
Переглянути оригіналвідповісти на0
  • Закріпити