Executors t3rn | Виконавці t3rn Життєвий цикл виконання (Частина 2)
Етап подання заявок на участь у торгах (Bidding)
Ласкаво просимо до другої частини нашої трисерійної статті про виконавців, ключових гравців в екосистемі t3rn. У частині 1 "Виконавці t3rn, Що таке виконавці t3rn", ми розповіли про роль виконавців в екосистемі t3rn, пояснивши всі відповідні аспекти, такі як їхня роль та типи транзакцій, які вони полегшують.
Коротко нагадаємо, що виконавці отримують дохід, виконуючи транзакції від імені користувачів, перевіряючи їх виконання в цільовому ланцюжку та отримуючи винагороду за побічний ефект. Вони також повинні розподіляти свої кошти між кількома чейнами та конкурувати один з одним, щоб стимулювати ефективну комісію для користувачів.
Окрім виконавців, ми також розглянули різні типи транзакцій. Наприклад, існують ескроу-транзакції, які залежать від ескроу-контракту, розгорнутого в таргет (цільовому) блокчейні, та оптимістичні транзакції, які не потребують наявності смарт-контракту в таргет чейні. Розуміння різних типів транзакцій має вирішальне значення для ефективного використання системи Executor.
Життєвий цикл виконання
У цьому новому пості ми пірнемо в життєвий цикл виконання, який має важливе значення для всіх, хто хоче стати виконавцем. Розуміння трьох етапів життєвого циклу XTX об'єкта - Bidding, Execution і Finalization - життєво важливо для успішного виконання мультичейн транзакцій і отримання доходу в t3rn.
Етап подання заявок на участь у торгах (Bidding)
При створенні XTX користувач встановлює максимальну винагороду, яку він готовий заплатити за виконання кожного SFX (побочного еффекту). Це загальна винагорода, яку користувач готовий заплатити за виконання SFX. Винагорода повинна покривати вартість активів, комісію за транзакцію і премію за ризик для виконавця. Оскільки важко оцінити, скільки коштуватиме виконання SFX (або, точніше, його власної транзакції в таргет чейні), t3rn покладається на механізм зворотних торгів для визначення розміру винагороди. Проста ідея полягає в тому, щоб покладатися на відкриту маркет систему.
У заявках на оптимістичні SFX-и автоматично розраховується і резервується бонд. Бонд - це сума винагород всіх інших оптимістичних SFX відповідного XTX.
Наприкінці етапу торгів право на виконання SFX отримує виконавець, який запропонував найнижчу ціну. Це означає, що виконавець повинен виконати побічний ефект під час етапу виконання. Виконавці, які не виграли тендер, не мають жодних зобов'язань і можуть повернути свої кошти, зарезервовані під час торгів.
Якщо не всі SFX успішно знайшли Виконавця, виконання повертається, і всі залучені сторони отримують компенсацію.
Етап виконання (Execution)
Далі починається етап виконання. Виконавці які перемогли повинні виконати SFX, на які вони зробили ставку. SFX може бути ескроу-транзакцією, коли виконавець робить депозит суми, яка вказана в ескроу-контракті. Після завершення транзакції Виконавець створює підтвердження включення для депозитної транзакції. Виконавець чекає, поки легкий (light) клієнт в t3rn не отримає необхідний заголовок блоку. Як тільки це станеться, Виконавець може відправити доказ, що підтверджує завершення транзакції.
Етап виконання складається з двох фаз виконання:
- Всі задепоновані SFX-и згруповані, виконані та підтверджені.
- Потім виконуються та підтверджуються всі оптимістичні побічні ефекти. Підтвердження оптимістичних побічних ефектів може розпочатися лише після підтвердження всіх ескроу-транзакцій.
У фазі виконання порядок підтвердження не має значення. Виконання та підтвердження SFX можна розпаралелити.
Завжди існує ймовірність того, що SFX-виконавець не підтвердить виконання до закінчення тайм-ауту. У цій ситуації може бути запущено повторне виконання. Виконавець, який не підтвердив замовлення, отримує свій страховий депозит, який додається до винагороди за непідтверджене замовлення. В результаті прибутковість SFX збільшується, що робить його більш привабливим для інших виконавців. Це зменшує розчарування користувачів і знижує ймовірність повернення, що приносить користь усім Виконавцям. Виконавці повинні звернути увагу, що цей аспект протоколу не буде частиною нашого початкового релізу і буде включений на більш пізньому етапі.
Після того, як всі SFX-и підтверджені, етап виконання завершується командою "commit". Це означає, що виконання було завершено, що запускає виплату винагороди виконавцю. Винагорода, за виконаний SFX, тепер може бути отримана виконавцем в блокчейні t3rn.
Якщо не всі SFX-и підтверджено до досягнення ліміту таймауту, етап виконання завершується командою "revert", що призводить до повернення коштів Виконавцю та Користувачу.
Ескроу відшкодування (refund):
- Користувач - отримує всі раніше заблоковані суми "max_reward"
- Виконавець - отримує кошти, що знаходяться на ескроу-контракті, розблоковані на етапі фіналізації
- Користувач: отримує всі суми max_reward, які він раніше заблокував
- Виконавець-порушник - втрачує всю заставу, яку він вніс під час торгів
- Чесний виконавець - оскільки облігація покриває винагороду для всіх інших виконавців, отримує очікувану винагороду
Етап доопрацювання (Finalization)
Етап фіналізації стосується лише умовно-депонованих SFX, оскільки він необхідний для розблокування коштів на таргет рахунку. Результатом етапу фіналізації може бути або повернення коштів виконавцю, або перерахування коштів отримувачу.
Щоб розблокувати кошти з ескроу-контракта, t3rn має надійно передати транзакції розблокування XTX з ланцюга t3rn до таргет блокчейну. Для цього t3rn покладається на групу учасників мережі, які називаються атестерами (Attesters). Атестерам потрібна багато застейканих токенів в блокчейні t3rn, що дозволяє їм підписувати розблокування транзакцій ескроу поточного пакету (batch). Спочатку ми плануємо активувати близько 30-50 атестаторів, відібраних за сумою застейканих токенів, для досягнення консенсусу необхідна більшість => 2/3 голосів. В майбутньому ми хочемо збільшити цей набір, в кінцевому підсумку використовуючи zkSNARKS для активації сотень атестаторів. Набір атестаторів такого розміру зробить ретрансляцію більш децентралізованою і стійкою до атак змови (collusion attack).
Ці транзакції розблокування об'єднуються в пакети для кожної цілі та надсилаються виконавцям. Пакетна (batching) передача значно знижує комісію, необхідну для розблокування. При надсиланні XTX (кросс-чейн транзакції) стягується комісія за завершеність для кожного депонованого SFX (побочного ефекту). Транзакція розблокування на цільовому об'єкті оплачується цією комісією. Користувач також сплачує цю комісію у разі повернення, тому Виконавці не несуть ніяких додаткових витрат.
Бачення t3rn | t3rn vision
(під словом vision мається на увазі "бачення майбутнього")
Майбутнє Web3 - це мультичейн. t3rn був створений, щоб забезпечити цю нову парадигму мультичейн програмування, яка не потребує довіри, є відмовостійкою та інтероперабельною (легко обмінюваною між різними чейнами).
Ми віримо в співпрацю без довіри, тому мережа запропонує відкритий доступ для всіх, хто бажає приєднатися і зіграти важливу роль в якості коллатора, виконавця, асесора або розробника реєстру контрактів.
Команда t3rn буде використовувати поетапний підхід до розгортання протоколу, поступово випускаючи різні функції, демонструючи і тестуючи мережу спочатку в середовищі на основі сабстрейту (Substrate — rust фреймворк для блокчейнів), а потім інтегруючи її з деякими з провідними екосистемами в індустрії.
Про t3rn
t3rn - це багатоланцюговий протокол, який забезпечує відмовостійке, інтероперабельне виконання та сумісність смарт-контрактів в екосистемі Polkadot та за її межами.
Кінцева мета t3rn - зробити можливою співпрацю між блокчейнами без довіри (тобто мультичейн) і створити екосистему, в якій будь-хто може використовувати і розгортати сумісні смарт-контракти, в екосистемі, де розробники отримують справедливу винагороду за свій внесок.
Ласкаво просимо до наступного покоління багатоланцюгової композитності.
Словник
t3rn Circuit - назва блокчейну t3rn.
XTX - міжланцюгове виконання, що містить N побічних ефектів на довільній кількості різних цільових ланцюгів. Кожен побічний ефект належить певному виконанню
Етап виконання - Виконання згрупованих за типом транзакцій з побічним ефектом, а саме: ескроу та оптимістичні. Ці етапи повинні бути підтверджені послідовно, при цьому порядок всередині групи не має значення.
Side Effect (SFX) - одна транзакція в цільовому (target) блокчейні.
Страховий депозит - невеликий депозит, який сплачує виконавець, що переміг у тендері на побічний ефект. Цей депозит стимулює виконавців до виконання побічних ефектів, за які вони виграли тендер. Якщо до закінчення терміну виконання не буде надано підтвердження виконання, застава буде зменшена. Користувач встановлює страхову суму для кожного побічного ефекту окремо.
Side Effect Reward - Винагорода, яку користувач платить за виконання одного побічного ефекту (тобто SFX). Це загальна сума, яка виплачується виконавцям. На етапі торгів Виконавці можуть подавати пропозиції щодо виконання, знижуючи суму винагороди, що виплачується (діючи по принципу зворотнього аукціону).
Attesters (Свідки) - Стейкери на t3rn використовуються для авторизації транзакцій розблокування в цільовому ескроу-контракті. Користувачі можуть номінувати свої токени TRN для отримання пропорційної частки інфляції, що виплачується їм.
Escrow Contract (ескроу-контракт) - Смарт-контракт, розгорнутий на блокчейні, до якого підключається t3rn. Результати побічних ефектів ескроу транзакцый тимчасово зберігаються там, поки виконання не завершиться. Для розблокування транзакцій з контракту необхідно узгодження більшості атестаторів.
Дякую за увагу! Якщо в перекладі були допущені помилки прошу написати мені в діскорд - Yanis Irving#0886 або в телеграм - @leniencyy.