У каждого блокчейн протокола есть mainnet. Это компонент блокчейна, где происходят транзакции криптовалюты с реальной денежной стоимостью. Он отличается от testnet, которая используется для тестирования, и транзакции в ней не имеют реальной денежной стоимости.
В mainnet все функции продукта или его особенности уже протестированы и опробованы, они готовы к публичному использованию. Любые потенциальные ошибки были замечены и устранены на этапе testnet. Все транзакции, которые происходят между отправителем и получателем, могут быть проверены и отслежены в распределенном реестре (основном блокчейне).
Если что-то добавлено в mainnet, то скорее всего, его проверили разработчики, и оно готово к использованию. В случае ICO, очень редко бывает, что mainnet запускается предварительно. Это связано с тем, что во многих случаях большая часть собранных средств уходит на разработку testnet и mainnet.
Testnet
Testnet фактически является генеральной репетицией для mainnet и запускается с ограниченным доступом. Иногда разработчики специально предлагают людям опробовать какие-либо функции в testnet, прежде чем они будут представлены широкой публике.
Testnet используется для тестирования функциональных возможностей и обеспечения их правильной работы перед запуском в mainnet. Он имеет те же функции, что и testnet, и цели преследует он такие же, как и mainnet.
Используя testnet, разработчики программного обеспечения могут экспериментировать в безопасной среде, не беспокоясь о взломе основного блокчейна. По сути, разница лишь в том, что testnet – это прототип.
Таким образом, любые криптовалюты, которые работают в testnet, также не являются реальными – это тесткоины. Любые сделки внутри сети нереальные. Поэтому важно помнить, что не следует отправлять какие-либо реальные криптовалюты на адрес тестовой сети, так как их будет очень трудно получить назад.
Важность грамотного тестирования.
Есть несколько реальных примеров из мира криптовалют, которые иллюстрируют важность правильного тестирования на этапе testnet.
- Запуск mainnet EOS (2018)
Mainnet платформы EOS был запущен в 2018 году и наделал шума в сообществе крипто. Рекламировалась она как потенциальный “убийца Эфириума” (при запуске она могла обрабатывать более 1000 транзакций в секунду по сравнению с 15 транзакциями в секунду в эфириуме), и на этапе ICO было привлечено более 4 миллиардов долларов. Однако ряд проблем омрачил запуск.
Всего за несколько дней до запланированного запуска mainnet китайская компания, занимающаяся интернет-безопасностью Qihoo 360, обнаружила проблемы в сети EOS, которые позволили бы хакерам взять под контроль ноды блокчейна.
Block.one, компания, работающая на EOS, после этого выпустила программу Bug bounty. Один хакер заработал 120 000 долларов всего за неделю, обнаружив множество багов в блокчейне. Это было доказательством того, что с фазой testnet разработчики слишком поторопились, причиной этому могло стать недостаточное количество времени до запуска mainnet.
2. Провал testnet Эфириума 2.0 Spadina
Testnet Эфириума 2.0 под названием Spadina был запущен в сентябре 2020 и должен быть стать коротким тестом, запущенным параллельно основному testnet Medalla, до запуска mainnet. Он был создан для тестирования функций депозита и генезиса. Однако все пошло не так, как планировалось.
В течение всего нескольких часов после его запуска разработчики окрестили его провальным. По словам основного исследователя Дэнни Райана, возникли «критические проблемы пиринга», что означало, что от этого testnetпришлось отказаться почти сразу. Затем была запущена еще одна тестовая сеть, названная Zinken, её тестирование прошло успешно. В отличие от запуска EOS, надлежащие процедуры, проведенные вовремя, позволили быстро и эффективно найти проблемы в блокчейне. Оба этих случая показывают важность тщательного тестирования на этапе testnet.
Подписывайтесь на Bybit в соц.сетях: VK | Twitter | Telegram | Instagram