Ядерний контракт є основним компонентом протоколу Wormhole на блокчейні. Він розгортається на кожному підтримуваному блокчейні і відповідає за випуск і перевірку повідомлень, які дозволяють крос-ланцюгову комунікацію. Коли dApp або токенний міст взаємодіє з Wormhole, зазвичай він надсилає повідомлення через цей контракт. Ядерний контракт виступає першою точкою контакту для будь-якої дії, яку потрібно передати на інший ланцюг.
Коли повідомлення генерується на вихідному ланцюгу, Основний контракт фіксує подію, яка включає в себе корисне навантаження повідомлення, адресу емітера, номер послідовності та рівень узгодженості. Ці дані потім спостерігаються Мережею охоронців. Важливо, що Основний контракт специфічний для ланцюга, що означає, що кожен ланцюг в екосистемі Wormhole має свою власну версію контракту, що розгортається і незалежно моніториться.
Основний контракт не виконує логіку, що виходить за межі емісії повідомлень і верифікації. Його роль полягає в надійному публікуванні подій у журнал транзакцій, які пізніше можуть бути прочитані та перевірені офлайн-компонентами. Проста логіка є навмисною - вона зменшує поверхні атак і покращує аудитованість на всіх інтегрованих ланцюгах.
На цільовій ланцюзі Основний контракт також відповідає за отримання VAA та перевірку їх підписів. Повідомлення не може бути виконане на цільовій ланцюзі, якщо VAA не відповідає необхідному порогу підпису, який зазвичай становить 13 з 19 підписів Охоронців. Це забезпечує послідовну та перевірену модель безпеки на всіх ланцюгах.
Емітент – це будь-який смарт-контракт, який викликаєопублікуватиПовідомлення
функція в основному контракті для генерації міжланцюгового повідомлення. Це можуть бути специфічні для застосування контракти або інші інтеграції на рівні протоколу, які хочуть надсилати дані на інший блокчейн. Випромінювачі призначають унікальний номер послідовності кожному повідомленню, яке вони створюють, що допомагає Охоронцям точно відстежувати та перевіряти кожну подію.
Кожне повідомлення, яке надсилається, містить три основні компоненти: корисну навантаження (те, що програма хоче надіслати), нонс (для запобігання повторному використанню) та номер послідовності (для збереження порядку). Корисне навантаження зазвичай є закодованими даними, які представляють інструкції, що повинні бути виконані на призначеному ланцюзі, такі як карбування токена, оновлення стану або виконання дії.
Емітери не обробляють повідомлення — вони просто їх подають. Їхня відповідальність закінчується, як тільки повідомлення записується в журнал транзакцій. Після цього повідомлення покладається на Мережу Охоронців для валідації, підписання та передачі на цільовий ланцюг, де його може виконати інший смарт-контракт.
Ключовою перевагою цієї моделі є модульність. Будь-який контракт може бути емітентом, якщо він інтегрує відповідний інтерфейс і викликає опублікуватиПовідомлення
функціонувати правильно. Це дозволяє розробникам створювати власні потоки повідомлень, використовуючи Wormhole, без необхідності розуміти або змінювати внутрішню частину основного протоколу.
Журнал транзакцій — це спосіб, яким Wormhole забезпечує безпечну комунікацію без необхідності повних сканувань ланцюга. Коли повідомлення публікується через Основний Контракт, контракт викликає подію журналу, яка записується в журнал подій блокчейну. Ці журнали доступні в ланцюгу і слугують джерелом істини для спостереження за повідомленнями.
Охоронці спостерігають за цими журналами, щоб визначити, коли було надіслано дійсне повідомлення. Вони аналізують журнали в реальному часі та витягують відповідні дані (адреса емітента, корисне навантаження, номер nonce, номер послідовності). Журнали також містять часовий штамп блоку, який можна використовувати для забезпечення політик, що базуються на часі, або залежностей порядку.
Логи є ефективним механізмом для виявлення повідомлень, оскільки вони уникають необхідності аналізувати весь стан ланцюга. Замість цього, Мережа Охоронців може моніторити конкретні підписи подій, що суттєво зменшує обчислювальні витрати. Це особливо важливо при масштабуванні на кілька ланцюгів з високою пропускною спроможністю транзакцій.
Оскільки журнали є незмінними та криптографічно перевіряються консенсусом основного ланцюга, вони забезпечують надійне джерело для валідації повідомлень. Це дозволяє Wormhole підтримувати послідовну модель безпеки на різних ланцюгах, навіть якщо ці ланцюги мають різні віртуальні машини або моделі консенсусу.
Перевіряємi дії затверджень (VAA) є основним механізмом, що дозволяє Wormhole безпечно з'єднувати події між блокчейнами. Після того як повідомлення випускається на вихідному ланцюгу і захоплюється Охоронцями, вони колективно підписують VAA, щоб підтвердити, що повідомлення було зафіксовано та перевірено. VAA — це не просто підпис; він містить повний вміст, метадані, такі як мітки часу та деталі емітера, а також схему багатопідпису, що доводить консенсус серед Охоронців.
VAA вважається дійсним лише тоді, коли він містить підписи від супербільшості набору Охоронців. На даний момент, Wormhole вимагає підписів 13 з 19 Охоронців для підписання VAA. Цей поріг забезпечує баланс між безпекою та продуктивністю, дозволяючи швидку передачу повідомлень, одночасно гарантуючи опір колаборації або компрометації. Якщо поріг не досягнуто, VAA буде відхилено приймаючим ланцюгом.
VAA містить точне повідомлення, яке було спочатку надіслано, без будь-якої трансформації або зміни. Ця незмінність важлива, оскільки дозволяє цільовому ланцюгу перевірити повідомлення на відповідність оригінальному події в ланцюгу. Якщо підписи та вантаж правильні, повідомлення обробляється; інакше воно ігнорується.
Застосунки, які використовують Wormhole, не повинні самостійно керувати процесом створення VAA. Це повністю обробляється Мережею Охоронців. Однак, розробники, які інтегрують Wormhole, повинні створити логіку на цільовому ланцюгу для валідації VAA та виконання відповідних дій. Це може включати емісію токенів, оновлення стану або виклик іншої функції смарт-контракту.
Гардіани — це децентралізовані валідатори, які забезпечують безпеку Wormhole. В даний час існує 19 вузлів Гардіанів, які управляються незалежними постачальниками інфраструктури, включаючи відомі організації в сфері блокчейн-технологій. Кожен Гардіан моніторить всі підтримувані блокчейни в екосистемі Wormhole, відстежуючи нові повідомлення, що надходять від Основних контрактів.
Охоронці спостерігають за кожним ланцюгом в режимі реального часу та аналізують журнали транзакцій, щоб виявити, коли публікується нове повідомлення. Коли це трапляється, кожен охоронець незалежно перевіряє автентичність повідомлення, формує навантаження повідомлення та підписує його своїм приватним ключем. Ці підписи потім об'єднуються в VAA, коли досягається поріг підписів.
Роль Охоронців є строгою спостережною та свідчильною — вони не виконують жодної бізнес-логіки і не обробляють кошти. Це розмежування обов'язків робить систему більш безпечною та менш схильною до експлуатації. Охоронці не здійснюють консенсус між ланцюгами; натомість, вони діють як зовнішній шар валідації, який надає криптографічні гарантії щодо спостережуваних подій.
Шпигун - це легковісний процес спостереження, який слухає повідомлення, що транслюються в мережі Guardian. Він не бере участі у валідації чи підписуванні, але забезпечує повну видимість потоку повідомлень, включаючи VAAs, спостереження та пульсації Guardian. Розробники та додатки можуть запустити свій власний екземпляр Шпигуна, щоб відстежувати активність Wormhole, не будучи частиною набору Guardian.
Шпигун підключається до мережі обміну інформацією рівний-рівному, яку використовують Охоронці, і отримує повідомлення в міру їх передачі по системі. Це включає як підписані VAA, так і необроблені спостереження — непідтверджені повідомлення, які ще не досягли порогу підпису. Це надає розробникам доступ до внутрішньої комунікації Wormhole майже в реальному часі.
Звичайним випадком використання Spy є інформаційні панелі аналітики в реальному часі або системи сповіщень, які повідомляють операторів, коли повідомлення затримуються або Guardians працюють гірше. Оскільки Spy може бачити повідомлення від усіх Guardians, він слугує прозорим вікном у здоров'я та рівні активності мережі.
Запуск Spy не вимагає спеціальних дозволів або облікових даних. Це демон з відкритим кодом, який будь-хто може розгорнути. Це робить його особливо корисним для команд dApp, які хочуть моніторити повідомлення Wormhole, пов'язані з їхнім додатком, не покладаючись на сторонні реле або інфраструктуру.
Релайери – це поза ланцюгові агенти, які передають VAA до цільових блокчейнів. Хоча будь-хто може технічно передати VAA (оскільки вони є публічними та самоперевіреними), Wormhole підтримує структуровані релайери, які забезпечують автоматизовану доставку та моніторинг. Ці релайери гарантують, що як тільки повідомлення підписано Охоронцями, воно своєчасно та надійно досягає цільового ланцюга.
Релатори не є частиною консенсусу і не вимагають довіри. Їхня єдина задача — подати підписаний VAA до основного контракту на цільовому ланцюзі, який прийме або відхилить його на основі перевірки підпису. Це означає, що навіть якщо релатор несправний або зловмисний, він не може змінити чи підробити повідомлення — VAA є єдиним джерелом правди.
Існує два основних типи релеїв у Wormhole. Стандартні релеї обробляють загальні VAA та подають їх у незмінному вигляді. Вони використовуються у базовому мостуванні токенів, обміні повідомленнями та комунікації протоколів. Спеціалізовані релеї, з іншого боку, призначені для більш складних випадків використання, таких як Wormhole Connect або перекази рідних токенів, де вони можуть об'єднувати повідомлення, оптимізувати споживання газу або виконувати логіку постобробки.
Релейери покращують досвід користувачів, усуваючи потребу в ручній подачі VAA. Без них користувачам потрібно було б завантажити VAA з кінцевої точки Guardian і вручну передати його за допомогою гаманця. Автоматизуючи цей процес, релейери дозволяють dApps забезпечувати безперешкодний крос-ланцюговий досвід.
Основні моменти
Ядерний контракт є основним компонентом протоколу Wormhole на блокчейні. Він розгортається на кожному підтримуваному блокчейні і відповідає за випуск і перевірку повідомлень, які дозволяють крос-ланцюгову комунікацію. Коли dApp або токенний міст взаємодіє з Wormhole, зазвичай він надсилає повідомлення через цей контракт. Ядерний контракт виступає першою точкою контакту для будь-якої дії, яку потрібно передати на інший ланцюг.
Коли повідомлення генерується на вихідному ланцюгу, Основний контракт фіксує подію, яка включає в себе корисне навантаження повідомлення, адресу емітера, номер послідовності та рівень узгодженості. Ці дані потім спостерігаються Мережею охоронців. Важливо, що Основний контракт специфічний для ланцюга, що означає, що кожен ланцюг в екосистемі Wormhole має свою власну версію контракту, що розгортається і незалежно моніториться.
Основний контракт не виконує логіку, що виходить за межі емісії повідомлень і верифікації. Його роль полягає в надійному публікуванні подій у журнал транзакцій, які пізніше можуть бути прочитані та перевірені офлайн-компонентами. Проста логіка є навмисною - вона зменшує поверхні атак і покращує аудитованість на всіх інтегрованих ланцюгах.
На цільовій ланцюзі Основний контракт також відповідає за отримання VAA та перевірку їх підписів. Повідомлення не може бути виконане на цільовій ланцюзі, якщо VAA не відповідає необхідному порогу підпису, який зазвичай становить 13 з 19 підписів Охоронців. Це забезпечує послідовну та перевірену модель безпеки на всіх ланцюгах.
Емітент – це будь-який смарт-контракт, який викликаєопублікуватиПовідомлення
функція в основному контракті для генерації міжланцюгового повідомлення. Це можуть бути специфічні для застосування контракти або інші інтеграції на рівні протоколу, які хочуть надсилати дані на інший блокчейн. Випромінювачі призначають унікальний номер послідовності кожному повідомленню, яке вони створюють, що допомагає Охоронцям точно відстежувати та перевіряти кожну подію.
Кожне повідомлення, яке надсилається, містить три основні компоненти: корисну навантаження (те, що програма хоче надіслати), нонс (для запобігання повторному використанню) та номер послідовності (для збереження порядку). Корисне навантаження зазвичай є закодованими даними, які представляють інструкції, що повинні бути виконані на призначеному ланцюзі, такі як карбування токена, оновлення стану або виконання дії.
Емітери не обробляють повідомлення — вони просто їх подають. Їхня відповідальність закінчується, як тільки повідомлення записується в журнал транзакцій. Після цього повідомлення покладається на Мережу Охоронців для валідації, підписання та передачі на цільовий ланцюг, де його може виконати інший смарт-контракт.
Ключовою перевагою цієї моделі є модульність. Будь-який контракт може бути емітентом, якщо він інтегрує відповідний інтерфейс і викликає опублікуватиПовідомлення
функціонувати правильно. Це дозволяє розробникам створювати власні потоки повідомлень, використовуючи Wormhole, без необхідності розуміти або змінювати внутрішню частину основного протоколу.
Журнал транзакцій — це спосіб, яким Wormhole забезпечує безпечну комунікацію без необхідності повних сканувань ланцюга. Коли повідомлення публікується через Основний Контракт, контракт викликає подію журналу, яка записується в журнал подій блокчейну. Ці журнали доступні в ланцюгу і слугують джерелом істини для спостереження за повідомленнями.
Охоронці спостерігають за цими журналами, щоб визначити, коли було надіслано дійсне повідомлення. Вони аналізують журнали в реальному часі та витягують відповідні дані (адреса емітента, корисне навантаження, номер nonce, номер послідовності). Журнали також містять часовий штамп блоку, який можна використовувати для забезпечення політик, що базуються на часі, або залежностей порядку.
Логи є ефективним механізмом для виявлення повідомлень, оскільки вони уникають необхідності аналізувати весь стан ланцюга. Замість цього, Мережа Охоронців може моніторити конкретні підписи подій, що суттєво зменшує обчислювальні витрати. Це особливо важливо при масштабуванні на кілька ланцюгів з високою пропускною спроможністю транзакцій.
Оскільки журнали є незмінними та криптографічно перевіряються консенсусом основного ланцюга, вони забезпечують надійне джерело для валідації повідомлень. Це дозволяє Wormhole підтримувати послідовну модель безпеки на різних ланцюгах, навіть якщо ці ланцюги мають різні віртуальні машини або моделі консенсусу.
Перевіряємi дії затверджень (VAA) є основним механізмом, що дозволяє Wormhole безпечно з'єднувати події між блокчейнами. Після того як повідомлення випускається на вихідному ланцюгу і захоплюється Охоронцями, вони колективно підписують VAA, щоб підтвердити, що повідомлення було зафіксовано та перевірено. VAA — це не просто підпис; він містить повний вміст, метадані, такі як мітки часу та деталі емітера, а також схему багатопідпису, що доводить консенсус серед Охоронців.
VAA вважається дійсним лише тоді, коли він містить підписи від супербільшості набору Охоронців. На даний момент, Wormhole вимагає підписів 13 з 19 Охоронців для підписання VAA. Цей поріг забезпечує баланс між безпекою та продуктивністю, дозволяючи швидку передачу повідомлень, одночасно гарантуючи опір колаборації або компрометації. Якщо поріг не досягнуто, VAA буде відхилено приймаючим ланцюгом.
VAA містить точне повідомлення, яке було спочатку надіслано, без будь-якої трансформації або зміни. Ця незмінність важлива, оскільки дозволяє цільовому ланцюгу перевірити повідомлення на відповідність оригінальному події в ланцюгу. Якщо підписи та вантаж правильні, повідомлення обробляється; інакше воно ігнорується.
Застосунки, які використовують Wormhole, не повинні самостійно керувати процесом створення VAA. Це повністю обробляється Мережею Охоронців. Однак, розробники, які інтегрують Wormhole, повинні створити логіку на цільовому ланцюгу для валідації VAA та виконання відповідних дій. Це може включати емісію токенів, оновлення стану або виклик іншої функції смарт-контракту.
Гардіани — це децентралізовані валідатори, які забезпечують безпеку Wormhole. В даний час існує 19 вузлів Гардіанів, які управляються незалежними постачальниками інфраструктури, включаючи відомі організації в сфері блокчейн-технологій. Кожен Гардіан моніторить всі підтримувані блокчейни в екосистемі Wormhole, відстежуючи нові повідомлення, що надходять від Основних контрактів.
Охоронці спостерігають за кожним ланцюгом в режимі реального часу та аналізують журнали транзакцій, щоб виявити, коли публікується нове повідомлення. Коли це трапляється, кожен охоронець незалежно перевіряє автентичність повідомлення, формує навантаження повідомлення та підписує його своїм приватним ключем. Ці підписи потім об'єднуються в VAA, коли досягається поріг підписів.
Роль Охоронців є строгою спостережною та свідчильною — вони не виконують жодної бізнес-логіки і не обробляють кошти. Це розмежування обов'язків робить систему більш безпечною та менш схильною до експлуатації. Охоронці не здійснюють консенсус між ланцюгами; натомість, вони діють як зовнішній шар валідації, який надає криптографічні гарантії щодо спостережуваних подій.
Шпигун - це легковісний процес спостереження, який слухає повідомлення, що транслюються в мережі Guardian. Він не бере участі у валідації чи підписуванні, але забезпечує повну видимість потоку повідомлень, включаючи VAAs, спостереження та пульсації Guardian. Розробники та додатки можуть запустити свій власний екземпляр Шпигуна, щоб відстежувати активність Wormhole, не будучи частиною набору Guardian.
Шпигун підключається до мережі обміну інформацією рівний-рівному, яку використовують Охоронці, і отримує повідомлення в міру їх передачі по системі. Це включає як підписані VAA, так і необроблені спостереження — непідтверджені повідомлення, які ще не досягли порогу підпису. Це надає розробникам доступ до внутрішньої комунікації Wormhole майже в реальному часі.
Звичайним випадком використання Spy є інформаційні панелі аналітики в реальному часі або системи сповіщень, які повідомляють операторів, коли повідомлення затримуються або Guardians працюють гірше. Оскільки Spy може бачити повідомлення від усіх Guardians, він слугує прозорим вікном у здоров'я та рівні активності мережі.
Запуск Spy не вимагає спеціальних дозволів або облікових даних. Це демон з відкритим кодом, який будь-хто може розгорнути. Це робить його особливо корисним для команд dApp, які хочуть моніторити повідомлення Wormhole, пов'язані з їхнім додатком, не покладаючись на сторонні реле або інфраструктуру.
Релайери – це поза ланцюгові агенти, які передають VAA до цільових блокчейнів. Хоча будь-хто може технічно передати VAA (оскільки вони є публічними та самоперевіреними), Wormhole підтримує структуровані релайери, які забезпечують автоматизовану доставку та моніторинг. Ці релайери гарантують, що як тільки повідомлення підписано Охоронцями, воно своєчасно та надійно досягає цільового ланцюга.
Релатори не є частиною консенсусу і не вимагають довіри. Їхня єдина задача — подати підписаний VAA до основного контракту на цільовому ланцюзі, який прийме або відхилить його на основі перевірки підпису. Це означає, що навіть якщо релатор несправний або зловмисний, він не може змінити чи підробити повідомлення — VAA є єдиним джерелом правди.
Існує два основних типи релеїв у Wormhole. Стандартні релеї обробляють загальні VAA та подають їх у незмінному вигляді. Вони використовуються у базовому мостуванні токенів, обміні повідомленнями та комунікації протоколів. Спеціалізовані релеї, з іншого боку, призначені для більш складних випадків використання, таких як Wormhole Connect або перекази рідних токенів, де вони можуть об'єднувати повідомлення, оптимізувати споживання газу або виконувати логіку постобробки.
Релейери покращують досвід користувачів, усуваючи потребу в ручній подачі VAA. Без них користувачам потрібно було б завантажити VAA з кінцевої точки Guardian і вручну передати його за допомогою гаманця. Автоматизуючи цей процес, релейери дозволяють dApps забезпечувати безперешкодний крос-ланцюговий досвід.
Основні моменти