Как создать блокчейн - руководство по построению основной сети блокчейна
В 2023 году на блокчейн-решения было потрачено 606 млрд рублей, и интерес к этой технологии продолжает расти. Теперь это не только технология, лежащая в основе биткойнов и других видов криптовалют. Нет, учитывая, сколько отраслей уже успешно используют блокчейн и сколько различных способов, с помощью которых эта технология может помочь бизнесу во всем мире, блокчейн должен произвести революцию. Например, 52% экспертов считают, что в будущем блокчейн будет играть важную роль в проверке личности клиентов и выявлении мошеннических операций или действий. Блокчейн также будет незаменим для преобразования нашей нынешней очень централизованной финансовой системы в гораздо более быструю и безопасную децентрализованную (Defi - от decentralized finance).
Однако как создать сеть блокчейн самостоятельно? При наличии большого количества платформ существует несколько различных способов, в зависимости от того, какое решение вы выберете.
В этой статье мы расскажем, как запустить собственную сеть на примере платформы Corda и почему вообще стоит задуматься о создании своего нового приложения на блокчейне.
Каковы преимущества создания блокчейна?
Банковское дело, здравоохранение, сельское хозяйство, разработка программного обеспечения и многие другие отрасли либо уже используют блокчейн, либо планируют использовать его в будущем. По оценкам специалистов, использование блокчейн может увеличить мировой ВВП на 176 трлн. рублей. к 2030 году.
Чем именно блокчейн может помочь бизнесу?
- Повышение безопасности и скорости транзакций за счет хранения данных не в единой базе данных, а в децентрализованной блокчейн-сети
- Снижение операционных затрат и упрощение процессов (например, в логистике и цепочках поставок)
- Обеспечение гораздо большей прозрачности данных, чем когда-либо прежде, благодаря тому, что данные немедленно обновляются и передаются всем узлам.
- защита бизнес-данных от манипуляций, поскольку узлы бухгалтерской книги не могут быть отредактированы после добавления в блокчейн.
Поскольку блокчейн работает как недоверенная среда (то есть место, где доверие не требуется, поскольку каждый участник сети может проверить каждую транзакцию и сеть в бухгалтерской книге), это гораздо более безопасное место для хранения конфиденциальной деловой информации.
Разработчики программного обеспечения также используют преимущества технологии blockchain для решения ряда проблем, связанных с разработкой мобильных и IoT-приложений. Например, с безопасностью данных. В блокчейн-приложениях (так называемых децентрализованных приложениях или Dapps) все данные зашифрованы криптографическим хэшем, а все изменения видны всем участникам сети, что делает приложения гораздо более безопасными. А поскольку каждый узел в сети имеет точную копию хранимой информации и любые изменения должны подтверждаться путем консенсуса, вся система практически не подвержена взлому и устойчива к сбоям.

Повышенная безопасность - это лишь одно из преимуществ, которые могут использовать компании, чтобы опередить конкурентов и привлечь больше пользователей к своим продуктам. Сегодня многие приложения также позволяют пользователям оплачивать товары и услуги с помощью криптовалюты или специальных токенов платформы, и интерес к таким способам оплаты также растет, поскольку 39% потребителей считают, что криптовалюты должны использоваться для платежей, а не только для инвестиций.
Как выбрать блокчейн-платформу
Если вы хотите добавить в свое новое приложение криптовалютные платежи или начать размещать данные на блокчейне, то сначала вам нужно выбрать одно из основных блокчейн-решений. И это может оказаться несколько сложным делом.
Если вы уже начали изучать платформы, то, несомненно, ваше внимание привлекло огромное количество вариантов. Earthweb утверждает, что на рынке существует не менее 1000 блокчейн-платформ - Ethereum, Ripple, Stellar или Corda, и это только некоторые из них. Какую из них выбрать?
При таком большом количестве вариантов целесообразно сначала изучить и записать свои цели, планы и ожидания от блокчейн-решения, поскольку это поможет сравнить возможности каждой платформы. В частности, следует учесть следующее:
- Устраивает ли вас публичная (открытая для всех пользователей) сеть блокчейн или вам нужна частная (доступная только по приглашениям) сеть, созданная только для вашей компании.
- Какие функции необходимы вам для вашей бизнес-сети (например, не все платформы блокчейн пока предлагают смарт-контракты, поэтому, если это необходимо, убедитесь, что выбранная платформа поддерживает их).
- Количество транзакций, которые будут проходить через блокчейн (чем больше транзакций требуется от блокчейна, тем выше должен быть показатель TPS (транзакций в секунду)).
Еще больше усложняет принятие решения тот факт, что большинство платформ различаются по своим возможностям и функциям, а некоторые из них были разработаны с учетом специфики конкретных отраслей. Об основных факторах, на которые следует обратить особое внимание при выборе блокчейн-решений, мы рассказали в нашей другой статье "Выбор идеальной блокчейн-платформы - список must-know блокчейн-платформ". В ней мы также добавили краткое описание наиболее популярных платформ, чтобы дать вам представление о том, на что следует обратить внимание при сравнении блокчейн-решений, чтобы убедиться, что вы выбрали лучшее из них.
Как построить сеть блокчейн - пример Corda
Теперь мы рассмотрим некоторые технические подробности о том, что нужно для создания новой сети и как можно самостоятельно создать новую блокчейн-сеть. Для руководства мы выбрали платформу Corda, поскольку она хорошо документирована и относительно легко расширяется, поэтому она должна дать вам хорошее представление о том, как создать сеть блокчейн.
Corda - это разрешенная одноранговая (P2P) технология распределенных книг, которая изначально разрабатывалась в основном для финансовых организаций, чтобы помочь им снизить операционные расходы и ускорить обработку транзакций. Однако платформа оказалась не менее ценной и для других отраслей. Например, в здравоохранении Corda используется для соединения различных баз данных медицинских учреждений и создания единого, обновляемого профиля пациента. А поскольку записи хранятся в цепочке блоков с временными метками, зашифрованных и неизменяемых, риск того, что кто-то неавторизованный сможет получить доступ к данным или изменить их, минимален.
Corda также набирает популярность в различных отраслях, включая цифровые активы, проверку подлинности и государственный сектор.
Мы выбрали эту платформу для данного руководства по нескольким причинам:
- Благодаря P2P-архитектуре и архитектуре приложений "строительных блоков" ее легко масштабировать.
- Corda работает как частная сеть (к ней могут присоединиться только те, кого вы пригласили в сеть), поэтому она отлично подходит для размещения на ней конфиденциальных бизнес-данных.
- Платформа Corda очень гибкая и подвижная, поэтому компании могут создавать свои приложения и сети именно так, как они хотят.
- Благодаря наличию в ней интеграционных функций, предназначенных для корпоративных систем, сеть блокчейн можно легко подключить к основным инструментам компании.
- Поскольку вокруг платформы Corda сосредоточено большое сообщество, она регулярно получает обновления, дополнения и усовершенствования.
Что такое CorDapps?
CorDapps (Corda Distributed Applications) - это приложения, работающие на платформе Corda, с помощью которых узлы сети Corda могут взаимодействовать и выполнять действия. Для работы они должны быть установлены на узлах Corda.
Приложения могут быть написаны на любом JVM-совместимом языке, поэтому если вы знакомы с Javascript или языком программирования Kotlin, то у вас не должно возникнуть особых проблем с созданием собственных приложений. Что еще больше упрощает создание Dapps, так это то, что приложения можно создавать быстрее, используя доступные шаблоны приложений, которые пользователи могут настраивать, а в дальнейшем разработчики могут быстро добавлять новые функции с помощью модульного API.
CordApp состоит из трех основных элементов:
- Состояния: Состояние - это неизменяемый объект, хранящий факт, известный одному или нескольким узлам Corda. Они могут содержать любые данные - от идентификационной информации до данных KYC, акций и т.д. Состояния также являются неизменяемыми, что означает, что ни один из предыдущих блоков не может быть отредактирован - вместо этого все изменения добавляются в виде новых блоков.
- Контракты: Контракты Corda пишутся на языке Java или Kotlin и определяют критерии проверки транзакций или данных. Если и входное состояние, и выходное состояние подтверждают правильность транзакции, то транзакция принимается и добавляется в бухгалтерскую книгу. Если нет, то транзакция отклоняется. Один CorDapp может хранить один или несколько контрактов, относящихся к одному или нескольким состояниям сети.
- Потоки: Поток Corda - это последовательность шагов, которая указывает узлу, как добавить данные в бухгалтерскую книгу, например, при выпуске актива или расчете по сделке. Но вместо того чтобы заставлять пользователей выполнять эти шаги вручную, потоки могут автоматизировать эти задачи. Corda также предоставляет разработчикам готовую библиотеку потоков для решения наиболее распространенных задач, что означает, что разработчикам не нужно писать их самостоятельно.
Присоединение к сети Corda
Теперь, когда мы рассмотрели Corda изнутри, давайте поговорим о сети и о том, как вы можете присоединиться к ней самостоятельно. Сеть Corda состоит из узлов, то есть пользователей, которые были приглашены присоединиться к сети. На каждом узле работает экземпляр Corda и одно или несколько CorDapp, установленных на нем.
Отличие Corda от других распределенных бухгалтерских книг заключается в том, что связь между узлами осуществляется по принципу "точка-точка", а обмен данными происходит только в случае необходимости. Поскольку узлы в сети могут отправлять сообщения непосредственно друг другу, нет необходимости делиться данными между всеми узлами сети. А если получатель находится вне сети, сообщение будет ожидать в очереди на отправку до тех пор, пока он снова не появится в сети - примерно так же, как электронная почта.
Алгоритм консенсуса также отличается от других блокчейнов, поскольку в Corda используются два алгоритма: один - для обеспечения уникальности обновлений бухгалтерской книги, а другой - для проверки достоверности обновления. Благодаря этому Corda не нуждается в использовании алгоритмов proof-of-work или proof-of-stake, как другие блокчейны.
Что касается работы самой сети, то внутри нее существует четыре категории узлов, выполняющих различные роли в сети. К ним относятся:
- Карта сети: Узел карты сети позволяет узлам обнаруживать другие совместимые узлы и подключаться к ним.
- Нотариус: Нотариальный узел отвечает за проверку входного состояния в каждой транзакции и либо подписывает, либо отклоняет транзакцию. Нотариус также выступает в качестве органа, устанавливающего временные метки.
- Оракул (Oracle): Узел, поставляющий внешнюю информацию для смарт-контрактов и работающий в качестве моста между бухгалтерской книгой и внешним миром. По сути, он собирает запрашиваемую внешнюю информацию, подтверждает или опровергает ее и передает обратно узлу. Если полученная информация соответствует условиям смарт-контракта, Oracle может автоматически его исполнить. Важно, что оракулу не нужно видеть содержание всего договора - только ту его часть, которую необходимо подтвердить.
- Обычные узлы: Отдельные пользователи, которые могут общаться с другими узлами, нотариусами и оракулами и принимать обновления в бухгалтерскую книгу.
Каждый узел сети имеет идентифицирующее имя (в виде имени X.500) и публичный адрес, через который узел может общаться с другими узлами сети. Для этого узлы используют сервис network map, который хранит и публикует список узлов и их сервисов, а также информацию о них.
Присоединение к платформе Corda
Чтобы начать использовать Corda, сначала необходимо зарегистрироваться в сети R3. Если у вас еще нет учетной записи на R3, то сначала необходимо заполнить форму Contact Us, ответив на следующие вопросы:
- Вы планируете создать новое приложение Corda, у вас уже есть готовое приложение или вы хотите использовать уже существующее блокчейн-приложение?
- Если у вас уже есть готовое приложение, необходимо написать его название и назначение.
- Планируете ли вы использовать Corda Open Source или Enterprise-версию?
После этого с вами свяжется представитель R3, обсудит ваши потребности и цены на использование платформы и поможет пройти процесс регистрации.
После этого вы сможете зарегистрироваться в сети - не забывайте, что, поскольку Corda является разрешенной блокчейн-сетью, ваша регистрация должна быть сначала одобрена.
После этого необходимо выполнить некоторые технические требования, такие как настройка и развертывание узла, а затем его регистрация в сервисе - все требования и шаги можно найти в руководстве по регистрации на Corda.
Когда стоит нанять специалиста по разработке блокчейна?
Если вы хорошо знаете язык Java или Kotlin, то создание собственного приложения
Если же у вас нет времени заниматься кодированием самостоятельно или вы хотите ускорить процесс разработки нового приложения, то лучше всего обратиться к разработчикам блокчейна, которые помогут вам с проектированием и настройкой сети.
Если же вы не совсем понимаете, как вообще работает эта технология, и хотите, чтобы к вашей команде присоединился человек с опытом работы в сфере финтеха/криптовалют/блокчейна, то обращение за помощью к человеку, имеющему опыт разработки приложений на основе блокчейна, сэкономит вам много времени (и денег) в долгосрочной перспективе.
Поскольку мы работали над множеством приложений, включающих создание сети блокчейн или добавление поддержки криптовалюты (для iGaming, спортивных ставок, MedTech и финтех-индустрии), мы знаем этот сектор как свои пять пальцев.
Поэтому, если вы задумались о создании приложения для блокчейна или создании частной сети для своей компании, мы с большой долей вероятности сможем вам в этом помочь.
Заключение
С учетом того, что технология блокчейн позволяет реализовать множество возможностей, мы можем быть уверены, что в будущем эта технология будет только набирать популярность. Вне зависимости от того, работаете ли вы в сфере бизнеса, финансов или здравоохранения, внедрение сети блокчейн может дать вам массу преимуществ, начиная от высокой, как никогда ранее, безопасности данных и заканчивая гораздо более быстрыми транзакциями с полной прозрачностью.
Наше руководство должно немного помочь вам в ознакомлении вашего бизнеса с индустрией блокчейн. А если у вас возникнут сомнения или вопросы, мы готовы ответить на них - или помочь вам продвинуть ваш новый блокчейн-проект.


