Технология блокчейн уже пережила период становления и хайпа, драматические падения и, кажется, вошла в фазу практического осмысления и развития.
Ошибочно считать, что блокчейн универсален и способен решить все существующие проблемы. Массовое закрытие ICO-проектов, собравших немалые средства в течение 2017 года, лишнее тому подтверждение.
Однако для тех сфер деятельности, где существует реальная проблема доверия между пользователями, блокчейн может принести дополнительную ценность.
Специально для ForkLog руководитель отдела исследований MixBytes Сергей Прилуцкий рассмотрел целесообразность применения блокчейна для бизнеса, а также наиболее популярные сети, существующие на рынке.
Когда блокчейн оправдан?
Для начала разберемся в ключевых преимуществах и недостатках этой технологии. Обычно в этом месте пишут о «децентрализации», но что это означает на практике?
Современный блокчейн — это программное обеспечение, устанавливаемое на множество компьютеров, каждый из которых защищается независимо. Этим он принципиально отличается от централизованных систем, где для изменения данных необходимо получить доступ лишь к одному аккаунту. Блокчейн позволяет организовывать сети, где участники хотят взаимодействовать друг с другом, но не хотят разделять риски безопасности. В этих сетях каждый сам за себя.
Блокчейн применим, когда есть некоторое количество участников, взаимодействие между которыми происходит в полностью недоверенной среде (например, группа конкурирующих между собой компаний, частные лица или филиалы большой компании). Главное — это распределение рисков безопасности между всеми участниками.
Такие сети могут быть действительно «непотопляемыми», потому что потребуется синхронная атака большого количества компьютеров, каждый из которых защищается независимо от других. Чем разнообразней защита — тем защищенней блокчейн.
Поэтому один из основных критериев для применения блокчейна касается безопасности: «Требуется ли вашему проекту функционирование в полностью недоверенной среде и полное распределение рисков безопасности?»
Если в дизайне системы вы предусматриваете «спасателей», «экстренных инженеров» и прочих лиц, которые могут блокировать транзакции и исполнение смарт-контрактов, вы раскрываете «слабое место», атака на которое может сломать всю систему.
Если же вы готовы пожертвовать многим ради безопасности сети, и хорошо спланировали защиту административных функций, то следующим вопросом будет: «Вы готовы оплачивать каждую транзакцию?»
Бесплатные транзакции позволяют любому участнику сети наполнять блокчейн бесполезной информацией, которая тиражируется сотни и тысячи раз. Так что без криптовалюты, комиссий за транзакции и ограничений на исполнение, хороший защищенный блокчейн для публичных сетей не построить.
Проблемы с оплатой транзакций решаются с помощью дополнительного функционала, позволяющего одним участникам платить за других. Обычно такую роскошь предлагают разово и только новым пользователям блокчейна, но владельцам системы в любом случае придется иметь дело с комиссиями за каждую транзакцию.
Следующий критерий: «Есть ли в бизнес-модели взаиморасчеты и передача прав владения некоторой информацией от одного участника другому?»
Блокчейны — это сети, в которых права владения цифровой информацией передаются от одного блокчейн-аккаунта к другому. Самый простой вид информации — это число, поэтому данные в блокчейнах напоминают банковские балансы. Один идентификатор — одно число. Блокчейн защищает «балансы» и способы их передачи между разными адресами.
Взаиморасчетами в блокчейне могут быть не только платежи, а любой обмен цифровыми ценностями (например, репутационные баллы, информация, позволяющая получать доступ к ценным ресурсам, игровые предметы).
Если ваш проект предусматривает обмен такими цифровыми ценностями — блокчейн может быть отличным фундаментом, устойчивым к взломам.
Публичный или собственный блокчейн?
Если вам нужно только принимать платежи в криптовалютах, создайте адрес для платежей и решите юридические вопросы. Если же для проекта необходимо автоматизировать более сложные сделки — возможно разместить смарт-контракты в одной из публичных сетей (о них ниже), либо запустить собственный блокчейн.
Публичные блокчейны
Для работы в публичных блокчейнах достаточно кода вашего сервиса и смарт-контрактов. Смарт-контракты дешевле, чем привычная база данных, — не нужно арендовать серверы и отвечать за безопасность пользовательских аккаунтов. К тому же публичные блокчейны более безопасны: в случае сбоя данные можно будет скачать или перенести в другой блокчейн.
К недостаткам публичного блокчейна можно отнести комиссии за транзакции в «родной» криптовалюте блокчейна. Вы не сможете влиять на ее курс или на скорость обработки транзакций. Также на данный момент не существует решения, позволяющего обрабатывать множество параллельных операций десятков и сотен тысяч пользователей, что в свою очередь может спровоцировать сильный рост комиссий.
Публичные блокчейны подходят для проектов, которым требуется “непотопляемость” в любых условиях и с достаточно ценными сделками, в которых пользователи готовы платить за каждую операцию.
Свой блокчейн
Альтернативой публичным блокчейнам являются блокчейны, запущенные собственными силами. Для запуска, помимо собственного кода блокчейна, необходимо подготовить или сделать форк: web-сервисы для просмотра блокчейна (типа Etherscan), клиентский софт (кошельки), различные инструменты и интерфейсы, документацию.
Следом идет запуск тестовой сети, устранение недочетов, процедуры обновления кода и запуск основной сети. Поскольку разработка ведется публично, код придется писать качественно и аудировать у независимых команд.
Еще одним неприятным свойством блокчейн-разработки является высокая стоимость владения: дорогие разработчики, задачи, которые до вас мало кто решал (поэтому только документации и готового софта мало), сложное тестирование (требует много облачных ресурсов и сложные сценарии тестов).
Поэтому, решившись на собственный блокчейн, нужно трезво оценивать свои силы.
Существующие решения
Какое решение принять за основу? Вопрос сродни выбору операционной системы: параметров — огромное количество, вариантов конфигурации — тоже.
Для начала рассмотрим пару наиболее надежных решений, уже работающих в публичных сетях и имеющих открытый код. Прежде всего, это сети с поддержкой универсальных Тьюринг-полных смарт-контрактов, которые позволяют автоматизировать практически любые бизнес-процессы, так что биткоин сюда не попадает.
Ethereum-based networks
Это наиболее зрелое и универсальное решение, которое успешно работает уже много лет и отвечает за большие суммы криптовалюты. У Ethereum самая развитая экосистема, удобные языки для написания смарт-контрактов, множество инструментов и готовых алгоритмов.
В случае любых проблем, данные и смарт-контракты могут быть перенесены из одной Ethereum-сети в другую, и вы можете выбрать для размещения один из форков. Например, в случае PoA Network или Loom Network, вы получите более быстрые и дешевые транзакции.
Ethereum более удобен, чем биткоин: в пару кликов вы сможете проводить очень сложные сделки.
Если у вас мало транзакций, а пользователям необходима высокая степень безопасности криптоактивов, то публичный Ethereum — ваш выбор.
EOS-based networks
EOS — быстрый публичный блокчейн, наиболее развитый из использующих консенсус типа «Delegated Proof-of-Stake». EOS позволяет писать системы смарт-контрактов любой сложности, имеет удобную систему аккаунтов и голосования за валидаторов.
Публичный EOS еще называют «китайским Ethereum», так как основные пользователи и валидаторы этой сети находятся в Китае. В EOS есть биржи, различные децентрализованные финансовые и гемблинг-приложения, игры.
Также как и экосистема Ethereum, EOS — это большой комплекс готового ПО, которое уже было протестировано в реальных условиях. В EOS все разработано на языке C++, поэтому можно довольно быстро найти хороших разработчиков.
Используйте EOS, если вам нужна удобная система управления аккаунтами, быстрые криптовалютные платежи и много разных смарт-контрактов. Например, EOS хорошо подходит для обслуживания платежных сетей, терминалов, ATM или криптоматов.
Hyperledger
Семейство блокчейнов Hyperledger изначально заточено под корпоративное использование. Современные проекты на HL не имеют внутренней экономики, и обычно используются для внутреннего документооборота в больших компаниях.
HL написан на Java и создавался с учетом потребностей корпоративных клиентов, поэтому некоторые преимущества публичных сетей у него отсутствуют. Тем не менее, использование распределенного реестра может быть оправдано: компании пробуют применять Hyperledger для сервисных операций с редким и критически важным оборудованием, специализированной логистики и организации внутреннего документооборота.
Используйте HL, если вам нужна мощная логика на Java и вы готовы запускать свой блокчейн внутри корпоративной сети.
Parity Substrate & Cosmos SDK
Parity Substrate — это фреймворк-конструктор блокчейнов, который позволяет быстро и легко собрать свой блокчейн (в терминологии Polkadot — парачейн) и запустить его со своими валидаторами и логикой.
Архитектурно парачейн можно рассматривать как блокчейн с одним, сколь угодно большим и многофункциональным смарт-контрактом, который можно обновлять и дорабатывать.
Парачейн на основе Substrate позволяет выбрать из готовых модулей тип консенсуса, возможность работать со смарт-контрактами и реализовать сложную внутреннюю логику. При этом вы получите набор опенсорсных инструментов для пользователей.
Cosmos SDK — это сходный с Parity Substrate комплекс ПО для построения собственных блокчейнов с произвольной логикой на базе консенсуса Tendermint.
При разработке используется язык Go, также присутствует большое количество готового ПО для поддержки разработанных блокчейнов.
Использование решений типа Substrate или Cosmos SDK — наиболее быстрый и надежный способ сделать свой собственный блокчейн.
Другие блокчейны
Вы также можете использовать для проекта новые блокчейны, которые зачастую имеют только тестовую сеть. Новые проекты — это рискованный путь, так как очень велика вероятность серьезных проблем как в программной, так и в бизнес-части.
Тем не менее новые решения часто позволяют решить важные проблемы блокчейнов (Near Protocol, NuCypher, Coda). Если проект релевантен вашей бизнес-логике — возможно, имеет смысл положиться на его команду и код.
Заключение
Выбор блокчейна сегодня ограничивается тремя основными блокчейнами и их форками: Ethereum, EOS и Hyperledger, а также конструкторами Substrate и Cosmos. Если проекту требуется выход в публичные сети, то выбор сужается до двух вариантов: Ethereum и EOS. Это не так мало, так как оба решения имеют множество форков, обладающих более широким функционалом.
Если вы выбираете работу в публичном блокчейне, вы будете избавлены от огромного числа дорогостоящих работ по разработке и поддержке блокчейна. В этом случае можно сосредоточиться только на бизнес логике, интерфейсах и вспомогательных сервисах (типа IPFS).
Если вы решили разрабатывать собственный блокчейн или делать форк существующего, то должны хорошо понимать, что это дорого и сложно. Форк в будущем придется поддерживать, применять исправления ошибок, делать форки сопутствующего софта и также обновлять их код.
Блокчейн-технологии крайне специфичны и имеют много внутренних нюансов. Рекомендуется тщательно продумывать, как блокчейн будет использоваться вашем проекте, какие расходы вы понесете и чего это будет стоить пользователям.
Блокчейн сегодня прочно занял место в цифровой экономике и стал неотъемлемой частью финансового и технологического…
Криптовалюты давно стали частью финансового мира, однако не все активы этого цифрового пространства имеют серьезное…
В последние годы майнинг криптовалют становится все более сложной и высококонкурентной деятельностью. Постоянно появляются новые…
Криптовалюты стали неотъемлемой частью современного финансового рынка, привлекая внимание не только инвесторов, но и новичков,…
В эпоху цифровой экономики и стремительного развития криптовалют стейблкоины становятся важным элементом финансовой экосистемы. Эти…
Тем, кто только начал изучать английский язык, важно понять основы: это грамматика, лексика и произношение.…