
// Блокчейн
// Блокчейн
Опишем, что такое Polkadot и как он работает. Расскажем, как запустить приложение или вебсайт, используя решения на базе Polkadot.
Polkadot — это один из немногих блокчейн-стартапов, который на закате ICO сумел без проблем собрать больше 100 миллионов долларов. Это объясняется тем, что у истоков проекта стоит Гэвин Вуд, который, помимо прочего, является соучредителем Ethereum и создателем языка программирования смарт-контрактов Solidity.
Его новый проект — это платформа для запуска смарт-контрактов, токенов и DApp. В этой статье мы расскажем, как Polkadot работает, чем эта платформа отличается от конкурентов и как создать свое приложение или веб-сайт с помощью Polkadot.
Как и Ethereum, Polkadot — это не просто криптовалюта, а целая экосистема для смарт-контрактов, децентрализованных приложений, токенов и автоматизированных маркетмейкеров. Главная особенность проекта — это уникальная архитектура для обмена и преобразования данных между разнородными блокчейн-системами, поддерживающая создание индивидуализированных сайдчейнов для организации взаимодействия с публичными блокчейн-сетями и протоколами.
Сама сеть Polkadot в этой экосистеме выступает в роли ретранслятора, на базе которого может осуществляться построение многочисленных верифицируемых и связанных между собой динамических структур данных. То есть на основе Polkadot можно будет запускать пользовательские блокчейны (парачейны) со своей логикой, смарт-контрактами Dapps и токенами. При этом все такие цепочки будут соединены с Polkadot с помощью специальных протоколов-мостов, которые позволят проводить операции между всеми парачейнами без посредников и сторонних сетей.
Это очень похоже на то, как будет работать Ethereum 2.0, который создается на технологии шардинга, где шарды — это, по сути, одинаковые блокчейны, способные взаимодействовать друг с другом через сеть Ethereum 2.0. Только у Polkadot вместо шардов будут парачейны — настраиваемые блокчейны, каждый из которых сможет иметь свои особенности, что позволит сделать его максимально эффективным для выполнения конкретных задач, например, запуска криптобирж или видеоигр.
При этом парачейны будут совместимы друг с другом, что позволит без особых проблем проводить обмен токенами и данными между такими сетями. Кроме того, у Polkadot безопасность сети коллективная, общая для всех и объединена в единый пул, в то время как в Ethereum каждый шард сам отвечает за свою безопасность.
Вот еще несколько важных различий между Polkadot и Эфириумом:
Экосистема Polkadot работает иначе, чем Ethereum (или будущая Ethereum 2.0). В ее основе три типа цепочек: парачейны (parachains) и парапотоки (parathreads), которые связаны с основной цепочкой ретрансляций (relay chain).
Parachains — это настраиваемые, автономные и независимые блокчейны, подключенные к платформе Polkadot. Они позволяют создавать новые блокчейн-сети для решения специализированных задач, както: запуск очень быстрой биржи или очень надежного кошелька. Для этого создателям парачейнов предоставляется свобода разрабатывать свои собственные системы управления при использовании общей функции безопасности Polkadot и вычислительные ресурсы Polkadot для проверки точности транзакций. Такой подход позволяет сделать парачейны очень гибкими по функционалу и при этом максимально надежными и безопасными.
Чтобы иметь право запустить парачейн на Polkadot, нужно арендовать слот в Relay Chain через аукцион слотов. Об этом будет рассказано ниже, в разделе о стоимости разработки и запуска приложений и веб-сайтов на Polkadot.
Parathreads — эти цепочки платформы Polkadot обладают той же функциональностью, что и парачейны, но с некоторыми отличиями. Так, парапотоки построены на базе модели с оплатой по мере использования, а не на основе аренды слота. Кроме того, парапотоки в первую очередь рассчитаны на запуск приложений и смарт-контрактов, не требующих постоянного доступа к сети.
Другие функции Polkadot включают в себя:
Неоднородный шардинг. В отличие от Эфириума, Polkadot основывается на модели гетерогенного шардинга. Это значит, что подключаемые к основной сети пользовательские цепочки могут иметь самую разную функциональность, при этом эти цепочки могут обрабатывать транзакции параллельно и безопасно обмениваться данными друг с другом. Благодаря этому на Polkadot можно запускать любые смарт-контракты и dapps, а не только шаблонные проекты с небольшими различиями.
Простота обновления цепочки. Каждое приложение нужно время от времени обновлять, чтобы устранять ошибки и добавлять новую функциональность. Однако если мы говорим о блокчейне, то процесс обновления не так прост, поскольку в этом случае обновление требует разветвления сети, на что необходимо много времени и усилий, а также может привести к разделению сообщества (после хард-форка). В Polkadot с обновлениями не будет проблем, поскольку данная система позволяет обновлять цепочки без вилок в цепочках. Эта функция позволяет проектам, разработанным на Polkadot, оставаться гибкими, адаптироваться и развиваться в соответствии с темпами развития технологий и потребностями рынка и пользователей.
Кросс-чейн компоновка. Polkadot поддерживает межсетевое взаимодействие. Подключенные пользовательские цепочки, смарт-контракты и приложения могут передавать сообщения, обмениваться данными, ценностями и функциональными возможностями, а также взаимодействовать с внешними цепочками блокчейнов.
Прозрачное управление. Держатели токенов DOT поддерживают сеть Polkadot. Они могут проголосовать за существующее предложение или создать предложения по обновлению / внесению изменений в протокол Polkadot.
Высокая скорость. После того как все оптимизации технологии парачейнов будут завершены и их количество вырастет до 100 слотов, система, как ожидается, сможет обрабатывать около 1 миллиона транзакций в секунду. Сейчас занято 20 слотов, которые обеспечивают скорость в 100 тысяч операций в секунду.
Расходы. Ожидается, что запуск сайтов, токенов, смарт-контрактов и dapps на Polkadot будет более выгодным, чем использование одиночной цепочки или запуск проектов поверх существующей платформы смарт-контрактов (например, Ethereum). Стартапы смогут экономить как на сетевых сборах, так и на самой разработке.
Запуск собственного веб-сайта или приложения на Polkadot подразумевает два основных этапа. Первый — это создание самого сайта или приложения. Второй — развертывание вашего проекта на Polkadot. О первом этапе мы много писали в статьях вроде «Как создать сайт онлайн-аукциона» или «Как разработать блокчейн-приложение для Android и iOS». Поэтому в этой статье мы не будем повторятся и перейдем сразу к процессу развертывания проектов на блокчейне Polkadot.
Polkadot предоставляет для этого несколько способов: в виде смарт-контракта на существующем парачейне, в качестве вашего собственного парачейна или в виде парапотока. В каждом из них есть свои нюансы, которые вам нужно учитывать при запуске своего веб-сайта или приложения. Кроме того, для этого также желательно иметь знания и опыт запуска блокчейн-проектов. Если их нет, то эту задачу лучше всего поручить компании, которая специализируется на этом, такой как Merehead.
Парачейны — это «параллельные» цепочки, содержащие собственную логику выполнения. Они обеспечивают высокую степень гибкости и настройки, но требуют больше усилий для разработки, развертывания и поддержки. Кроме того, в отличие от смарт-контрактов, парачейны лишены обязательной системы учета газа, что как создает массу возможностей, так и делает их уязвимыми для ошибок, вызывающих бесконечные циклы. И хотя эта уязвимость смягчается системой весов Substrate, но вместе с этим она возлагает большую нагрузку на разработчика парачейна.
Все это говорит о том, что парачейны отлично подходят для запуска сложных приложений, которые ориентированы на большой трафик и пользовательскую базу. Но при этом их разработка и развертывание будет более сложной, нежели запуск парацепочек или смарт-контрактов. В частности, создание парачейна Polkadot требует глубокого знания Substrate (язык Rust) и PDK: Substrate и Cumulus.
Кроме того, чтобы включить парачейн в сеть Polkadot, необходимо приобрести слот парачейна. Эти слоты продаются на открытых аукционах, механизм которых можно найти на странице аукциона Parachain wiki.
Парапотоки позволяют разработчику контролировать логику своего приложения на более низком уровне, чем парачейны. Кроме того, парапотоки более «дешевые», так как их защита намного экономичнее. Это обусловлено тем, что что парапотоки будут создавать блок только тогда, когда это необходимо (dapp), в отличие от парачейнов, которые защищают слот для создания блока в каждом блоке relay chain.
Другими словами, парацепочки стоит использовать, если вы хотите запустить небольшой сайт или приложение на Polkadot, которым не нужно контролировать большой трафик и поток данных. Кроме того, парацепочки подходят для dapps, которым не нужно постоянное подключение к интернету и / или сети Polkadot.
При создании парацепочки вы будете использовать те же инструменты и получите почти все преимущества парачейна, но сможете сэкономить.
Смарт-контракты — это исполняемые программы, которые существуют только в одной цепочке и имеют ограниченную сложность. Развертывание смарт-контракта в Polkadot будет немного отличаться в зависимости от того, какой парачейн вы будете использовать. Скорее всего, вам придется внести соответствующую плату за логику инициализации и любое хранилище, которое использует ваш контракт.
Процесс развертывания смарт-контрактов на Polkadot осуществляется посредством:
Стоимость развертывания. В сети Polkadot сейчас только 100 слотов для парачейнов. При этом проектов, желающих их занять, значительно больше. Поэтому команда Polkadot проводит parachain аукционы (краудлоаны) и компания, которая захочет запустить свой парачейн, должна будет арендовать слот через аукцион.
Механизм аукциона довольно прост: участники торгов подают все более высокие ставки, и победителем считается участник, предложивший самую высокую цену по завершении аукциона. Подробнее можно узнать на официальном сайте. Посмотреть, что сейчас происходит с аукционами и краудлоанами, можно на Polkadot.js.
Стоимость запуска парацепочек определяется другим способом. Они платят парачейну за использование его ресурсов, по примеру того, как это происходит в AWS. Либо несколько проектов, которые хотят запустить свои парапотоки на Polkadot, объединяются и вместе арендуют слот под парачейн.
Сколько стоит разработка и запуск смарт-контракта на Polkadot, зависит от его сложности и транзакционных сборов.