Тестова мережа — це окрема блокчейн-мережа, яка віддзеркалює правила та функціональність основної мережі, але використовує токени без грошової вартості. Саме тут розробники ламають речі, тестують оновлення та виявляють помилки до того, як ці помилки можуть коштувати комусь реальних грошей.
Підсумок
- Тестова мережа — це блокчейн-мережа, яка працює на тому ж програмному забезпеченні, що й основна мережа, але використовує токени без вартості, що дозволяє розробникам тестувати смарт-контракти, оновлення протоколу та додатки без фінансового ризику.
- Ethereum мав кілька тестових мереж протягом своєї історії, причому Sepolia та Holesky слугували основними публічними тестовими середовищами станом на 2026 рік після виведення з експлуатації Goerli.
- Токени тестової мережі безкоштовні, їх можна отримати з кранів, які є веб-сервісами, що розподіляють невеликі суми тестових токенів на адреси гаманців розробників.
- Основні оновлення протоколу, такі як Pectra від Ethereum та хардфорк van Rossem від Cardano, були розгорнуті в тестових мережах за місяці до виходу в основну мережу, де вони тестувалися в умовах, призначених для виявлення крайових випадків та режимів відмов.
- Тестові мережі не є ідеальними копіями умов основної мережі. Зазвичай вони мають менше валідаторів, нижчий обсяг транзакцій та інші економічні стимули, що означає, що деякі категорії помилок з'являються лише після розгортання в основній мережі.
Кожне програмне забезпечення виходить з помилками. Питання в тому, чи виявляються ці помилки в контрольованому середовищі, чи в продакшні, де вони можуть знищити цінність. У традиційній розробці програмного забезпечення для цього слугують проміжні середовища та процеси забезпечення якості. У блокчейні тестові мережі виконують ту ж функцію, але з критичною відмінністю: помилки блокчейну часто незворотні.
Смарт-контракт, який містить вразливість у тестовій мережі, нічого не втрачає, оскільки токени нічого не варті. Та сама вразливість в основній мережі може викачати мільйони доларів за лічені хвилини. Історія децентралізованих фінансів рясніє експлойтами, які можна було б виявити в тестовій мережі, якби тестування було ретельнішим.
Ця стаття пояснює, що таке тестові мережі, як вони працюють, чому вони важливі для безпеки кожного блокчейн-протоколу та які їхні обмеження. Якщо ви взаємодієте з будь-яким блокчейн-додатком, якість його тестової фази безпосередньо впливає на безпеку ваших коштів.
Як працюють тестові мережі
Тестова мережа працює на тому ж програмному забезпеченні вузла, що й відповідна основна мережа, але функціонує в окремій мережі з власним genesis-блоком, власним ланцюжком блоків та власним набором валідаторів або майнерів. Транзакції в тестовій мережі обробляються за тими ж правилами консенсусу, тим самим віртуальною машиною та тим самим форматом транзакцій, що й транзакції основної мережі. Єдина принципова відмінність полягає в тому, що токени не мають ринкової вартості.
Це розділення забезпечується на рівні мережі. Вузли тестової мережі з'єднуються з іншими вузлами тестової мережі, а не з вузлами основної мережі. Ідентифікатори ланцюжка різні, що запобігає повторному відтворенню транзакцій тестової мережі в основній мережі та навпаки. Коли розробник розгортає смарт-контракт у тестовій мережі, цей контракт існує лише в тестовій мережі та не впливає на стан основної мережі.
Токени тестової мережі розподіляються через крани, які є простими веб-додатками, що надсилають невелику кількість тестових токенів на будь-яку адресу гаманця, яка їх запитує. Більшість кранів встановлюють обмеження швидкості, щоб запобігти зловживанням. Деякі вимагають проходження капчі або підключення облікового запису в соціальних мережах. Токени не мають грошової вартості за задумом, хоча були випадки, коли токени тестової мережі торгувалися на вторинних ринках, що суперечить їхньому призначенню і зазвичай не схвалюється командами протоколу.
Розробники використовують тестові мережі для розгортання та взаємодії зі смарт-контрактами точно так, як вони це робили б в основній мережі. Вони можуть тестувати виклики функцій, моделювати взаємодію користувачів, вимірювати споживання газу та перевіряти, чи правильно працює обробка помилок. Гаманцеві додатки, децентралізовані біржі, кредитні протоколи та NFT-маркетплейси проходять розгортання в тестовій мережі перед запуском в основній мережі.
Типи тестових мереж
Не всі тестові мережі служать одній меті. Публічні тестові мережі відкриті для всіх і максимально точно відображають умови основної мережі. Вони використовуються для фінального етапу тестування перед розгортанням в основній мережі та для членів спільноти, які хочуть спробувати нові функції. Sepolia та Holesky від Ethereum є публічними тестовими мережами. Тестова мережа Beryl від Base є ще одним прикладом публічної тестової мережі, яка використовується для тестування оновлень протоколу перед розгортанням в основній мережі.
Приватні або дозволені тестові мережі керуються конкретними командами розробників і не відкриті для публічної участі. Вони використовуються для раннього етапу розробки, коли протокол може бути нестабільним або коли команда хоче контролювати умови тестування. Багато проєктів запускають приватні тестові мережі протягом місяців, перш ніж відкрити публічну тестову мережу.
Локальні мережі розробки, іноді звані devnets, працюють на власній машині розробника. Такі інструменти, як Hardhat і Foundry для Ethereum, дозволяють розробникам швидко створити локальний екземпляр блокчейну, розгорнути контракти та запускати тести за лічені секунди без підключення до будь-якої зовнішньої мережі. Це не справжні тестові мережі, але вони виконують подібну функцію для модульного тестування та швидкої ітерації.
Тіньові форки — це новіша концепція, коли тестова мережа відтворює реальні дані транзакцій основної мережі проти модифікованої версії протоколу. Це дозволяє розробникам тестувати оновлення на реалістичних шаблонах транзакцій і розмірах стану, а не на синтетичних і часто нереалістичних умовах стандартної тестової мережі. Ethereum широко використовував тіньові форки під час підготовки до The Merge у 2022 році.
Чому фази тестової мережі важливі для оновлень протоколу
Великі оновлення блокчейну проходять передбачуваний життєвий цикл: специфікація, впровадження, розгортання в тестовій мережі, моніторинг і, нарешті, активація в основній мережі. Фаза тестової мережі — це місце, де впровадження стикається з реальністю. Помилки, які були непомітні в модульних тестах, стають очевидними, коли код працює в розподіленій мережі з незалежними операторами, мережевою затримкою та одночасними транзакціями.
Оновлення Pectra від Ethereum, яке впровадило абстракцію облікових записів і збільшило пропускну здатність блоків, було розгорнуто в тестовій мережі Hoodi за місяці до досягнення основної мережі. Під час фази тестової мережі розробники виявили крайові випадки в реалізації абстракції облікових записів, які могли спричинити збої транзакцій для підмножини користувачів. Вони були виправлені перед розгортанням в основній мережі.
Хардфорк van Rossem від Cardano пройшов подібний шлях: оновлення досягло публічної тестової мережі за тижні до голосування з управління в основній мережі, яке його активувало. Фаза тестової мережі дозволила операторам пулів для стейкінгу оновити свої вузли та перевірити сумісність до запуску хардфорку.
Тривалість фази тестової мережі варіюється залежно від складності та ризику оновлення. Прості зміни параметрів можуть зайняти дні в тестовій мережі. Фундаментальні зміни консенсусу, як The Merge, зайняли місяці в кількох тестових мережах. Тиск щодо швидкого впровадження завжди присутній, але вартість випуску помилки в основній мережі, яку можна було б виявити в тестовій мережі, є достатньо високою, тому більшість серйозних команд протоколу віддають перевагу довшим періодам тестування.
Розрив між тестовою та основною мережами
Тестові мережі є цінними, але недосконалими. Кілька категорій проблем важко або неможливо відтворити в тестовій мережі. Економічні атаки, коли зловмисник використовує зв'язок між цінами токенів і механізмами протоколу, вимагають реальних економічних стимулів, яких не існує в тестовій мережі. Стратегії вилучення цінності майнерами або валідаторами, фронт-ранінг і сендвіч-атаки залежать від реальної фінансової мотивації.
Помилки, пов'язані з масштабом, також часто уникають виявлення в тестовій мережі. Тестова мережа зі 100 валідаторами обробляє транзакції інакше, ніж основна мережа з 1 000 валідаторів. Моделі мережевого перевантаження, розростання стану та поведінка шару gossip-протоколу під навантаженням змінюються з масштабом. Деякі помилки проявляються лише тоді, коли база даних стану перевищує певний розмір або коли обсяг транзакцій перевищує рівні, які тестові мережі рідко відчувають.
Соціальні та управлінські аспекти блокчейну також відрізняються між тестнетом і мейннетом. У тестнеті немає реальних зацікавлених сторін з фінансовими ризиками, які могли б чинити опір оновленню. Політика координації хардфорку, яка може залучати біржі, постачальників гаманців, великих власників токенів і розробників додатків, не існує в тестнеті. Зміна протоколу, яка ідеально працює в тестнеті, все одно може зазнати невдачі в мейннеті, якщо координація, необхідна для її активації, порушиться.
Цей розрив є причиною того, чому багато блокчейн-проєктів тепер використовують стимульовані тестнети, де учасники отримують винагороди за пошук помилок, стрес-тестування мережі або запуск валідаторів. Тестнет мережі Robinhood зафіксував 4 мільйони транзакцій за перший тиждень, частково завдяки програмам стимулювання, які залучили реальних користувачів, що виконували реалістичні взаємодії, а не синтетичні тестові сценарії.
Що тестнети не покривають
Тестнети не тестують економічну безпеку. Вартість токенів у тестнеті дорівнює нулю, що означає, що раціональні економічні суб'єкти поводяться інакше, ніж у мейннеті. Протокол, який виглядає безпечним у тестнеті, може бути вразливим до економічних експлойтів, які стають очевидними лише тоді, коли на кону реальні гроші.
Тестнети не тестують довгострокову стабільність. Більшість тестнетів періодично скидаються, що означає, що проблеми, пов'язані зі зростанням стану, продуктивністю бази даних з часом та накопиченням крайових випадків у довготривалих ланцюгах, не тестуються. Деякі протоколи запускають довгоживучі тестнети спеціально для виявлення цих проблем, але ця практика не є універсальною.
Тестнети не тестують поведінку користувачів. У тестнеті користувачі не мають причин оптимізувати використання газу, поспішати завершити транзакції до дедлайну або займатися арбітражем. Патерни транзакцій у тестнеті принципово відрізняються від патернів мейннету, що означає, що показники продуктивності, виміряні в тестнеті, можуть не відповідати умовам мейннету.
Практичні перевірки для використання тестнетів
Якщо ви розробник, завжди розгортайте в тестнеті перед мейннетом. Це звучить очевидно, але напрочуд багато експлойтів смарт-контрактів включають код, який був розгорнутий безпосередньо в мейннеті без належного покриття тестнетом. Використовуйте автоматизовані фреймворки тестування, щоб запускати ваш тестовий набір проти розгортання в тестнеті, а не лише локального вузла.
Якщо ви користувач, перевірте, чи пройшли застосунки, які ви використовуєте, публічну фазу тестнету. Серйозні проєкти публікують адреси тестнету, запрошують спільноту до тестування і часто запускають програми винагород за виявлення помилок під час фази тестнету. Проєкт, який пропускає публічну фазу тестнету і запускається безпосередньо в мейннеті, ризикує коштами своїх користувачів.
Під час взаємодії з тестнетами використовуйте окремий гаманець від вашого основного гаманця. Хоча транзакції тестнету не можуть вплинути на мейннет, використання того самого приватного ключа в обох мережах є поганою практикою безпеки. Якщо застосунок тестнету скомпрометовано або містить шкідливий код, наявність вашого приватного ключа мейннету в тому самому гаманці створює непотрібний ризик.
Слідкуйте за фазою тестнету оновлень мереж, де ви зберігаєте активи. Якщо серйозне оновлення стикається з проблемами в тестнеті, воно може бути відкладене або змінене перед розгортанням у мейннеті. Розуміння графіка тестнету дає вам завчасне попередження про потенційні збої або можливості.
Часті запитання
Що таке тестова мережа простими словами?
Тестова мережа — це практична версія блокчейну. Вона працює так само, як і справжній блокчейн, але використовує фіктивні токени, які не мають цінності. Розробники використовують її для тестування своїх застосунків і пошуку помилок перед запуском у реальній мережі, де задіяні реальні гроші.
Чи мають токени тестової мережі якусь цінність?
Ні. Токени тестової мережі за задумом не мають грошової цінності. Вони існують виключно для тестування і можуть бути отримані безкоштовно з кранів. Хоча були випадки торгівлі токенами тестової мережі на вторинних ринках, це не рекомендується і суперечить меті безкоштовного тестового середовища.
Як отримати токени тестової мережі?
Токени тестової мережі доступні з кранів, які є веб-сервісами, що розповсюджують безкоштовні тестові токени. Для тестової мережі Sepolia від Ethereum ви можете знайти кран Sepolia, ввести адресу свого гаманця та отримати тестові ETH протягом секунд. Більшість кранів мають обмеження швидкості, щоб запобігти зловживанням.
Яка різниця між тестовою мережею та основною мережею?
Основна мережа — це робочий блокчейн, де транзакції включають реальні токени з реальною цінністю. Тестова мережа — це окрема мережа, яка працює на тому ж програмному забезпеченні, але використовує токени без цінності. Тестові мережі призначені для розробки та тестування. Основні мережі — для фактичного використання. Вони мають однакові правила, але працюють незалежно.
Чому блокчейнам потрібні тестові мережі?
Транзакції в блокчейні, як правило, незворотні, тому помилки у виробничому середовищі можуть призвести до постійної втрати коштів. Тестові мережі дозволяють розробникам знаходити та виправляти ці помилки в безпечному середовищі, де помилки нічого не коштують. Великі оновлення протоколу завжди тестуються на тестових мережах перед активацією в основній мережі.
Чи можу я протестувати власний смарт-контракт у тестовій мережі?
Так. Будь-хто може розгортати смарт-контракти в публічних тестових мережах, таких як Sepolia від Ethereum. Вам потрібен гаманець, безкоштовні токени тестової мережі з крана та фреймворк для розробки, наприклад Hardhat або Foundry. Процес розгортання ідентичний розгортанню в основній мережі, просто використовується інша кінцева точка мережі.
Що відбувається, коли тестову мережу виводять з експлуатації?
Коли тестову мережу виводять з експлуатації, її валідатори припиняють обробку транзакцій, і мережа зрештою вимикається. Будь-які контракти, розгорнуті в ній, стають недоступними. Це відбувається періодично в міру розвитку протоколів. Ethereum вивів з експлуатації тестові мережі Ropsten, Rinkeby та Goerli на користь Sepolia та Holesky.
Чи безпечно використовувати тестові мережі?
Самі тестові мережі безпечні, оскільки токени не мають цінності, тому ви не можете втратити гроші. Однак слід використовувати окремий гаманець від основного гаманця і ніколи не ділитися закритими ключами між мережами. Будьте обережні з застосунками тестової мережі, які запитують підключення до основного гаманця або дозволи.






