Что такое блокчейн? Как создать сеть, код и ее архитектуру

Опубликовано: 2020-02-06

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

В этом посте мы поговорим обо всем, что вам нужно знать о блокчейне и его архитектуре. Во-первых, давайте начнем с основ.

Изучайте онлайн-программы от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Оглавление

Что такое Блокчейн?

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

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

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

  • Версия — текущая версия структуры блока.
  • Хэш заголовка предыдущего блока — ссылка на родительский блок этого блока .
  • Корневой хэш Merkle — это криптографический хэш всех транзакций, записанных в блоке.
  • Timestamp — время создания блока.
  • nBits — закодированная форма целевого порога в заголовке блока.
  • Nonce (число, используемое один раз) — случайное значение, которым создатель блока может манипулировать по своему усмотрению.

Источник изображения

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

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

Блокчейн Архитектура

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

  • Указатели — это переменные, которые записывают информацию о расположении другой переменной. Другими словами, они указывают положение другой переменной.
  • Связанные списки — это последовательность блоков, в которой каждый блок имеет уникальные данные и связан с блоком, следующим за ним, с помощью указателя.

Источник изображения

Следуя этой логике, первый блок, также известный как Genesis Block, в цепочке не содержит указателя (это начальный блок). Точно так же последний блок в цепочке будет иметь нулевой указатель (не имеющий значения).

Характеристики архитектуры блокчейна

Архитектура блокчейна имеет несколько уникальных характеристик, в том числе:

  • Криптография. Каждая транзакция, записанная в блокчейне, защищена с помощью сложных криптографических вычислений, проверяемых всеми заинтересованными сторонами.
  • Децентрализация. Каждый участник сети Blockchain имеет доступ к полной базе данных.
  • Происхождение. Происхождение каждой транзакции, содержащейся в реестре Blockchain, можно отслеживать и отслеживать.
  • Неизменяемость — после того, как транзакция записана в блокчейне, ее нельзя удалить. Только с согласия всех сторон запись может быть изменена.
  • Анонимность — у каждого пользователя в сети есть адрес, сгенерированный самой системой — у них нет личности. Таким образом, пользователи могут сохранять свою анонимность (что особенно необходимо в общедоступной структуре блокчейна).
  • Прозрачность. Поскольку каждый участник блокчейна может получить доступ к системе и контролировать операции, процесс полностью прозрачен. Изменение одного блока будет означать, что придется изменить всю цепочку, а это маловероятно (для перезаписи сети блокчейна требуются огромные вычислительные мощности).

Типы архитектуры блокчейна

В основном существует три типа архитектуры блокчейна:

  • Архитектура публичного блокчейна

В общедоступной архитектуре блокчейна доступ как к данным, так и к системе доступен любому человеку, желающему участвовать в сети блокчейн. Биткойн, Эфириум и Лайткойн — отличные примеры общедоступных систем блокчейна.

  • Частная архитектура блокчейна

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

  • Архитектура блокчейна консорциума

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

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

Основные компоненты архитектуры блокчейна

Шесть основных компонентов составляют архитектуру блокчейна. Они есть:

  • Узел — относится к пользователю/компьютеру в архитектуре блокчейна. Каждый узел содержит независимую копию всей книги блокчейна.
  • Транзакция — это относится к наименьшему строительному блоку системы блокчейна, то есть к записям и информации, хранящимся в блоке.
  • Блок — это структура данных, которая хранит/записывает набор транзакций, которые затем совместно используются (распределяются) между всеми узлами в сети.
  • Цепь — это термин для последовательности блоков, расположенных в определенном порядке.
  • Майнеры — это термин, используемый для определенных узлов, которые проверяют блоки перед добавлением их в структуру блокчейна.
  • Алгоритм консенсуса — это набор правил и процедур, которых следует строго придерживаться при выполнении операций с блокчейном.

Диаграмма архитектуры блокчейна, приведенная ниже, дополнительно объясняет, как система работает как распределенный цифровой кошелек:

Источник изображения

Ранее мы обсуждали компоненты метаданных блока. Теперь мы рассмотрим элементы блока в блокчейне. Каждый блок состоит из:

  • Данные. Данные блока во многом зависят от того, к какой архитектуре блокчейна он относится. Например, для биткойнов или лайткойнов данные, содержащиеся в блоках, будут содержать информацию об отправителе, получателе и количестве монет.
  • Хэш блока. Хэш — это уникальный ключ, почти как отпечаток пальца. Это сложная комбинация цифр и букв. Хэш каждого блока создается с использованием определенного алгоритма криптографического хеширования — SHA256. Сразу после создания блока генерируется хэш-ключ. Любые изменения, внесенные в блок, также автоматически изменят его хэш. Другими словами, хэш блока помогает обнаруживать любые изменения, внесенные в блок.
  • Хэш из предыдущего блока. Помимо уникального хеш-ключа, блок также должен содержать хэш блока непосредственно перед ним. Именно эта функция помогает создать связанную цепочку в архитектуре блокчейна и является основным элементом ее безопасности.

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

Что такое алгоритм консенсуса?

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

Доказательство работы (POW)

POW требует, чтобы вы решили сложную вычислительную головоломку для создания и добавления новых блоков в сеть Blockchain. Итак, вам нужно угадать конкретную строку, которая создает 256-битный хэш, распространяемый алгоритмом хеширования SHA256. Поскольку для проверки хэша нужно сделать миллионы предположений, он получил название «доказательство работы».

Доказательство доли (POS)

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

Упрощенная византийская отказоустойчивость (SBFT)

В этом подходе есть один узел (валидатор), который объединяет предлагаемые транзакции для создания нового блока в блокчейне. Валидатор называется Стороной. Здесь, когда минимальное количество других узлов в сети исправит вновь созданный блок, достигается консенсус.

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

Чтобы построить архитектуру блокчейна, во-первых, вы должны позаботиться о двух вещах:

  • Блокчейн-сеть — относится к инфраструктуре приложения Блокчейн, размещенной в определенной среде либо в одной, либо в нескольких организациях.
  • Код блокчейна — относится к задачам и целям, которые призвано выполнять приложение блокчейна.

Сегодня разработать архитектуру блокчейна стало проще благодаря широкой доступности решений с открытым исходным кодом. Hyperledger от Linux Foundation — самая популярная платформа, используемая для построения частной архитектуры блокчейна. Помимо Hyperledger, Ethereum и Corda также являются отличными инструментами для разработки архитектуры блокчейна.

Источник изображения

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

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

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

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

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

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

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

Создав архитектуру блокчейна, организации могут получить следующие преимущества:

  • Снижение цены

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

  • Повышенная прозрачность

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

  • Безопасность данных

Как только вы вводите информацию (данные) в структуру блокчейна, ее практически невозможно подделать или испортить. Любое изменение, внесенное в блокчейн, должно быть подтверждено всеми участниками сети, что делает процесс длительным и трудоемким. Естественно, коэффициент безопасности данных в архитектуре блокчейна очень высок.

Итак, это архитектура блокчейна в двух словах!

Мы надеемся, что это поможет вам лучше понять эту новую технологию.

В технологии блокчейна наблюдается рост карьеры, и блокчейн навсегда изменил само лицо технологической индустрии. Если вы хотите стать разработчиком блокчейна и создавать смарт-контракты и цепные коды, ознакомьтесь с программой расширенных сертификатов IIIT-B и upGrad в технологии блокчейн .

Какие проблемы возникают при использовании архитектуры блокчейна?

Разработка архитектуры блокчейна — сложная задача, которая влечет за собой преодоление ряда препятствий. Самая сложная задача — обеспечить безопасность и целостность блокчейна. Это требует создания надежной системы безопасности, способной защитить блокчейн от вредоносных атак. Еще одна серьезная проблема заключается в том, чтобы обеспечить масштабируемость блокчейна и способность обрабатывать множество транзакций. Это требует создания системы, способной управлять огромным количеством транзакций, не вызывая замедления работы сети. Третья основная проблема заключается в создании схемы управления, гарантирующей эффективную и справедливую работу блокчейна. Это требует создания механизма администрирования блокчейна и его пользователей. Последняя задача — создать систему оплаты тех, кто вносит свой вклад в блокчейн. Это требует установления метода оплаты людям за их услуги.

Что происходит, когда блокчейн слишком велик для поддержки сетевой инфраструктуры?

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

Каково значение технологии блокчейн для доверия?

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