Как внедрить блокчейн в бизнес?

Блокчейн прошел курс популяризации. Больше не нужно вспоминать об интересе, который был вызван технологией blockchain десяток лет назад, все больше...

Блокчейн прошел курс популяризации. Больше не нужно вспоминать об интересе, который был вызван технологией blockchain десяток лет назад, все больше и больше он внедряется в нашу с вами повседневную жизнь.

Блокчейн - это своего рода децентрализованный бухгалтерский учет (который очень сложно фальсифицировать), он позволяет проверять транзакции в режиме реального времени, не требуя разрешения у доверенной третьей стороны. Варианты использования блокчейна бесконечны, поэтому многие компании перешли от PoC (доказательство концепции) к конкретным достижениям блокчейн технологии.

Основные достижения технологии доступны с открытым исходным кодом, любой стремящийся разработчик может реализовать на своем рабочем месте небольшую частную блок-цепочку и запустить ее в сети из нескольких компьютеров. Возможность изучить на практике концепции такой среды, например, майнинг криптовалют или работу «умного контракта» вызывают большую заинтересованность у юных разработчиков.

Преимущества блокчейна

Децентрализованная система

Блок цепи размещены в децентрализованной системе. Это означает, что ни один человек или группа людей не имеет возможности захватить контроль над всей системой. Несмотря на то, что каждый узел системы имеет копии всех данных, самостоятельно изменить их или уничтожить невозможно. Эта уникальная особенность позволяет обеспечивать максимальную прозрачность и безопасность, предоставляя пользователям различные возможности.

Одноранговая сеть

Используя блокчейн технологию, взаимодействие между двумя сторонами через одноранговую модель происходит легко и без необходимости участия третьей стороны. Blockchain использует протокол P2P, который позволяет всем участникам сети хранить идентичную копию транзакций, что дает возможность одобрения действий через консенсус. Например, если вы хотите совершить какую-либо транзакцию из одной части мира в другую, используя блокчейн, вы можете сделать это самостоятельно в течение нескольких секунд. Более того, любые перерывы или дополнительные сборы не будут вычтены при транзакции.

Постоянность сети

Свойство неизменности блочной цепи свидетельствует о том, что любые данные, однажды записанные в блок-цепочке, не могут быть изменены.

После обработки данных блок не может быть изменен или удален. В случае с блочной цепью, если вы пытаетесь изменить данные одного блока, вам придется изменить данные и во всех последующих, поскольку каждый блок сохраняет хэш своего предыдущего блока. Изменение одного хеша приведет к изменению во всех следующих хэшах. Чрезвычайно сложно изменить все хеши одновременно, поскольку для этого требуется слишком много вычислительной силы. Следовательно, данные, хранящиеся в блочной цепочке, невосприимчивы к изменениям или хакерским атакам из-за неизменности сети.

Защищенность

Благодаря такому качеству, как неизменность, встроенному в блок-цепи, намного легче обнаружить подделку данных. Блок цепи считаются максимально защищенными от несанкционированного доступа, так как любое изменение даже одного блока может быть легко обнаружено. Существует два основных способа обнаружения фальсификации: хеши и блоки.

Как сказано выше, каждая хеш-функция, связанная с блоком, уникальна. Любое изменение данных приведет к изменению хэш-функции. Поскольку хэш-функция одного блока тесно связана со следующим блоком, для того, чтобы хакер мог вносить какие-либо изменения, ему придется поменять хэши всех последующих блоков, что довольно сложно сделать.

1.Выбирете тип блокчейна

Существует два вида блокчейна: публичный и приватный

Public Blockchain. Как следует из названия, публичный блокчейн - это общедоступная сеть, которую может использовать любой человек без разрешения третьих сторон. Любой, кто имеет доступ к Интернету, имеет право получить доступ к публичном блокчейну. Из особенностей такой системы, можно выделить проверку всех транзакций по всей системе. Общественные блокчейн экосистемы обычно вознаграждают своих участников за майнинг и сохранение неизменности сети. Примером использования публичной блок-цепи является Bitcoin Blockchain.

Общественные блокчейны позволяют сообществам по всему миру открыто и надежно обмениваться информацией. Однако очевидным недостатком такого типа блокчейнов является то, что он может быть скомпрометирован. Правила, принятые и применяемые с самого начала работы блокчейн системы, не могут быть изменены спустя долгое время после их принятия.

Private Blockchain. В отличие от публичной блочной цепи, частные блокчейны - это те, которые используются только доверенными участниками. Общий контроль над сетью находится в руках владельцев системы. Более того, правила частной блокчейн системы могут быть изменены в зависимости от разных уровней власти, подверженности, количества участников, авторизации и так далее.

Частные блокчейны могут работать независимо от других процессов или же могут быть объединены с другими блочными цепочками. Такой вариант использования обычно применяется предприятиями и организациями. Таким образом, уровень доверия, который требуется среди участников, выше в частных цепочках чем в общественных.

2. Выберите платформу на которой будет создана блокчейн технология

Существует множество решений для создания blockchain платформы, таких как Ethereum, Hyperledger, Multichain, Open Ledger, Chain, Bitcoin Blockchain, Corda и т. Д. Некоторые из них все еще являются незрелыми платформами. Таким образом, необходимо выбрать наиболее подходящую платформу для ваших желаний на основе ваших потребностей.

Ethereum платформа является наиболее популярной для создания блокчейн проектов. Из-за динамизма и отзывчивости Ethereum сообщества, а также богатства его документации, концепция блокчейна, построенного на этой платформе, означает, что объекты будут полностью автономными и принадлежат только самим себе.

Среда разработки Ethereum основана на наиболее распространенных языках, таких как C ++ (Cpp-ethereum), Haskell (ethereumH), JavaScript (EthereumJS-lib) или Python (Pyethapp). Тот блокчейн, который основан на языке Go, будет наиболее безопасным (Go-ethereum или Geth). Это самый используемый в мире клиент Ethereum. По умолчанию он подключается к Homestead, основной сети платформы. Первым шагом является установка Geth на его рабочую станцию ​​(она существует для Linux, iOS, Android, MacOS и Windows).

Второй по популярности платформой является Hyperledger Fabric.

Hyperledger Fabric - относительно новая платформа для построения блокчейна. Hyperledger Fabric имеет несколько отличительных характеристик по сравнению с другими современными моделями блокчейна; являются ли эти характеристики преимуществами или недостатками, часто зависит от контекста.

Hyperledger Fabric — это программный фреймворк для разработки приложений и специализированных бизнес-решений на основе блокчейна.

Одной из особенностей Hyperledger является принципиальный отказ от создания собственных криптоактивов. Участники Hyperledger развивают проекты сугубо как информационную технологию.

Независимо от того, как будет использоваться блокчейн технология, компании либо обратятся к своим партнерам-поставщикам за разработкой программного обеспечения  либо будут работать над разработкой технологии внутри компании.

Необходимо отметить, что независимо от того, выполняет ли компания внедрение блокчейн технологии через внутреннюю или внешнюю команду, важно, чтобы компания приобретала опыт работы с технологией blockchain, поскольку технология является для большинства компаний новой и сложной.

Для ИТ-магазинов, которые желают осуществить blockchain проект, существует очень широкая, хоть и незрелая, экосистема, развивающаяся вокруг блокчейн технологии. Согласно недавнему отчету 451 Research, по всему миру насчитывается почти 300 стартапов Bitcoin и blockchain, которые работают над разработкой технологий в области финансовых, продуктовых, складских услуг, интеллектуальных контрактов, социальных сетей, управления цепочками поставок, управления идентификацией, розничной торговли и IoT. Большинство крупных ИТ-производителей активно работают над блочной цепью, в частности, IBM, которая выделила значительные ресурсы для проекта Hyperledger для Linux Foundation и Microsoft, которая работает с консорциумом банковской индустрии R3 CEV, чтобы обеспечить возможность тестирования системных цепочек с использованием Microsoft Azure.

3. Создайте первую блок-цепочку

Чтобы инициализировать блок-цепочку, необходимо создать первый блок, далее блоки будут автоматически создаваться и структурироваться. Этот блок должен содержать все характеристики цепи. После этого, блоки будут доступны для всех узлов (или юзеров) сети. Чтобы запустить создание блок цепочки вам необходимо создать файл в формате JSON. Необходимо указать несколько параметров: «nonce» (обычный криптографический хеш, который генерирует случайное значение), «временную метку» (время проверки между двумя последовательными блоками) и т. Д. После заполнения файла JSON все зависит от клиента Geth. Создайте папку, содержащую блок-цепочку (chaindata), и инициализируйте ее.

Чтобы обеспечить распространение блокчейн технологии, необходимо создать собственную криптовалюту, которая будет помогать быстро осуществлять передачу данных.

Цель заключается в том, чтобы суметь реплицировать столько команд, сколько ваша сеть имеет узлов. Чтобы узлы обменивались данными в блочной цепочке, их необходимо соединить друг с другом. Чтобы Geth соединился с узлом в сети и скоординировал множество действий, он должен иметь свой идентификатор, названный enode в Ethereum.

Чтобы обеспечить распространение технологии в экосистеме Ethereum, необходимо будет иметь криптовалютность в Gas для получения необходимой вычислительной мощности от участников сети.

4. Выберите наиболее подходящий консенсусный протокол

Самым важным будущим блокчейна является децентрализация. Это распределенная база данных, которую компьютеры, вовлеченные в неё и называемые «узлами», совместно поддерживают. Все узлы представляют собой регистры, то есть они хранят всю историю транзакций в блок-цепочке. Сеть не может быть уничтожена путем выгрузки любого центрального сервера.

Записи информации, называемые «блоками», связаны между собой через протокольную программу, и ни один из существующих блоков не может быть удален или изменен. Добавление нового блока - единственный способ обновить блок-цепочку, любой узел может сделать это без какой-либо центральной команды.

Если узел игнорирует предопределенные стандарты и создает блок, другие узлы игнорируют его. Однако, если несовместимый узел продолжает создавать блоки без соблюдения стандартов и другие узлы начинают создавать блоки поверх несоответствующих блоков, тогда в сообществе возникнет конфликт. Для предотвращения появления несовместимых узлов, создающих так называемые форки, необходим консенсусный механизм.

Могут существовать вредоносные узлы, которые подавляют другие узлы сети, используя атаку «распределенного отказа в обслуживании» (DDoS). Такие узлы могут инициировать ложные действия. Для предотвращения этого также требуется механизм консенсуса.

Выбор правильного консенсусного протокола является очень важным этапом внедрения в работу вашей организации блокчейна так как это сильно повлияет на его работу и оптимизацию. Главной задачей консенсуса является решение математических задач, требующих большого количества вычислительной мощности. Например, когда один из майнеров криптовалюты находит правильное решение математической задачи, ответ должен быть легко и быстро проверен всеми участниками сети, поэтому и существуют разные консенсусные системы, например, PoW и PoC.

Существует более 25 консенсусных протоколов, каждый из которых имеет свои особенности и недостатки. Самыми популярными на данный момент являются Proof of Work и Proof of Stake. Они являются наиболее лёгкими в имплементации и понимании.

Proof-of- Work (PoW) используется тогда, когда техническое оборудование майнера решает сложные математические задачи. За добавление проверенного блока в блок-цепочку майнер получает вознаграждение в виде криптовалюты. Поиск решений - это сложный процесс, требующий значительных вычислительных мощностей. Как только компьютер находит решение, он отправляет сообщение другим компьютерам сообщества для проверки. Решение легко проверить, потому что другим компьютерам дается ответ.

Ключевая особенность этой математической задачи — асимметрия: она должна быть умеренно сложной для майнера, но достаточно простой для сети в целом. Это достигается с помощью криптографии. Каждый майнер в сети пытается найти решение задачи первым; при этом найти его фактически можно лишь методом прямого перебора, поэтому для успешного решения требуется множество попыток.

Proof of Stake (PoS) используется тогда, когда майнер блокирует заранее определенное количество монет для проверки блока транзакций. Криптографические вычисления в PoS происходят намного проще для компьютеров. Вам нужно доказать только то, что вы владеете определенным процентом всех монет, доступных в данной валюте. Например, если кому-то принадлежит 2% всего эфира (ETH), он сможет добыть 2% всех транзакций через Ethereum. Некоторые считают, что PoS будет более справедливой системой, чем PoW, поскольку технически любой человек может стать майнером. PoS предлагает линейную шкалу относительно процента блоков, которые майнер может подтвердить на основании доли этого лица в криптовалюте. Это означает, что тот человек, у которого в десять раз больше монет может создать только в 10 раз больше блоков чем другой.

Идея Proof-of-Stake была впервые предложена на форуме bitcointalk еще в 2011 году; год спустя появились первые криптовалюты, использующие этот метод, — Peercoin, ShadowCash, Nxt, BlackCoin, NuShares/NuBits, Qora и Nav Coin.

В отличие от Proof-of-Work, где алгоритм вознаграждает майнеров, которые проводят вычисления для валидации транзакций и создания новых блоков, в Proof-of-Stake создатель нового блока выбирается системой заранее на основании его состояния, то есть доли в общем количестве криптовалюты.

5. Создайте первые смарт контракты

Различные компании активно сотрудничают между собой, обмениваются информацией, товарами, услугами. Все условия сотрудничества согласовываются и подписываются будущими партнерами в форме письменных соглашений или контрактов. Однако такие бумажные контракты могут иметь ошибки и мошеннические схемы, которые ставят под сомнение фактор доверия между обеими сторонами и поднимают риски. Blockchain предлагает удивительное решение этой проблемы через Smart Contracts.

Смарт-контракты в блокчейне- это именно то, что помогает полностью удалить из любой отрасли или бизнеса третьи стороны и достигнуть истинной одноранговой модели. Как показано на практике смарт-контракты являются нерушимыми и надежными, позволяют сторонам устанавливать любые правила.

Интеллектуальные контракты способствуют развитию компаний - это удобный инструментарий для создания платформ нового поколения, где все участники системы смогут легко и быстро совершать передачу данных.

Смарт-контракты работают точно так же(в плане соглашений), как бумажные договора. Дифференцирующий фактор в отношении умных контрактов заключается в том, что они являются цифровыми, а также само исполнимыми, то есть при соблюдении ранее установленных правил, контракт выполняет сделку. Это означает, что при выполнении определенных условий в коде этих контрактов они автоматически раскрываются. Ethereum, платформа с блок цепью, работающая на открытом исходном коде, ввела интеллектуальные контракты в свою экосистему Blockchain. Смарт-контракты могут использоваться для различных ситуаций или отраслей, таких как финансовые соглашения, страхование здоровья, документы на недвижимое имущество, crowdfunding и так далее.

Референтным языком для разработки таких приложений на Ethereum является Solidity. Этот язык относительно прост и подходит к объектно-ориентированной среде программирования с понятиями класса, атрибута, функции. В дополнение к особенностям Ethereum, когда используется функция, например, каждая транзакция имеет эмитент и связанные с ним затраты. Код также более чувствителен, малейшая ошибка имеет последствия.

Оцените (6 голосов - 4.7 из 5)
Спасибо!
1
(Ужасно)
2
(Плохо)
3
(Средне)
4
(Хорошо)
5
(Класс!)