Архитектура блокчейн: Открытое образование — Блокчейн: архитектура и принцип работы

Содержание

Открытое образование — Блокчейн: архитектура и принцип работы

  • от 5 до 10 недель
  • from 3 to 5 hours per week
  • 2 credit points

В курсе рассматриваются основные понятия, а также история возникновения технологии Blockchain.

About

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

По окончании курса слушатели будут

Уметь: 1. Различать понятия токена и криптовалюты 2. Ориентироваться в алгоритмах консенсуса и их особенностях 3. Различать типы составляющих архитектуры Blockchain-сети и их функциональные возможности

Знать: 1. Принцип работы технологии Blockchain 2. Принцип работы алгортимов консенсуса 3. Особенности работы с различными Blockchain сетями

Владеть: 1. Техническими терминами 2. Принципами построения Blockchain-сетей 3. Основами взаимодействия с электронными кошельками

Format

В курсе рассматриваются основные понятия, а также история возникновения технологии Blockchain.

Information resources

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

По окончании курса слушатели будут

Уметь: 1. Различать понятия токена и криптовалюты 2. Ориентироваться в алгоритмах консенсуса и их особенностях 3. Различать типы составляющих архитектуры Blockchain-сети и их функциональные возможности

Знать: 1. Принцип работы технологии Blockchain 2. Принцип работы алгортимов консенсуса 3. Особенности работы с различными Blockchain сетями

Владеть: 1. Техническими терминами 2. Принципами построения Blockchain-сетей 3. Основами взаимодействия с электронными кошельками

Requirements

Обучение на курсе не требует специальной подготовки

Course program

Тема 1. Понятие технологии Blockchain, история возникновения;

Тема 2. Архитектура сети Blockchain;

Тема 3. Типы узлов, типы Blockchain сетей;

Тема 4. Понятие майнинга, алгоритмы консенсуса;

Тема 5. Основные понятия: токен, криптовалюта, электронный кошелек

Education results

По окончании курса слушатели будут 

Уметь:  

1. Различать понятия токена и криптовалюты  

2. Ориентироваться в алгоритмах консенсуса и их особенностях  

3. Различать типы составляющих архитектуры Blockchain-сети и их функциональные возможности 

Знать:  

1. Принцип работы технологии Blockchain  

2. Принцип работы алгортимов консенсуса  

3. Особенности работы с различными Blockchain сетями 

Владеть:  

1. Техническими терминами  

2. Принципами построения Blockchain-сетей  

3. Основами взаимодействия с электронными кошельками 

Formed competencies

ОПК-4 – способность иметь навыки самостоятельной работы на компьютере и в компьютерных сетях, осуществлять компьютерное моделирование устройств, систем и процессов с использованием универсальных пакетов прикладных компьютерных программ;

ПК-1-готовность содействовать внедрению перспективных технологий и стандартов;

ПК-17-способность применять современные теоретические и экспериментальные методы исследования с целью создания новых перспективных средств электросвязи и информатики.

Что такое технология Blockchain — руководство для начинающих

Биткойн и криптовалюта взяли мир штурмом в 2018 году, и за этот период мы стали свидетелями его растущего увлечения финансовыми действиями, такими как обмен валюты. Тем не менее, Биткойн — не совсем новая концепция. Эта цифровая валюта, введенная в 2008 году, представляет собой применение технологии Blockchain, инновации группы людей с псевдонимом Сатоши Накамото.

Технология Blockchain, возможно, станет следующей по величине вещью после Интернета в мире технологий не только из-за применения Биткойн, но и для его другого потенциального использования. Сегодня компании находятся на грани создания децентрализованного Интернета с использованием технологии Blockchain.

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

Введение в технологию Blockchain

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

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

Как работает блокчейн?

Рабочие элементы технологии Blockchain:

  • Сеть P2P
  • Криптографическое хеширование
  • Алгоритмы структуры данных
  • Распределенный сервер отметок времени
  • Цифровой подписи
  • Автоматическое, но условное выполнение скриптов
Обзор процесса блокчейна

В потоке блокчейна обмен данными называется транзакцией.

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

Если подпись и история транзакции действительны, то проверенная запись этой транзакции добавляется в бухгалтерскую книгу (консолидированные записи всех обмененных данных ) . Эта проверенная запись называется 

блоком .

Как блок добавляется в блокчейн?

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

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

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

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

Что такое майнинг-пул в технологии блокчейн?

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

Какие существуют виды блокчейна?

Технологии Blockchain можно разделить на три типа в зависимости от принципов работы:

  1. Public Blockchain — Эфириум, Биткойн, Литкойн
  2. Частный блокчейн — внутри организации
  3. Объединенный блокчейн — R3, EWF, B3I
Особенности публичного блокчейна
  • Он работает на основе согласованных алгоритмов Proof of Work (PoW) и использует соответствующие протоколы. Публичный блокчейн не нуждается в каком-либо разрешении, так как является открытым исходным кодом.
  • Вы можете определить новые блоки с их существующим состоянием, так как это открытый исходный код. Также вы можете скачать код и проверить транзакции в сети.
  • Это делает возможным транзакции по всей сети.
  • Public Blockchain позволяет прозрачные транзакции анонимным или псевдонимным способом.
Особенности приватного блокчейна
  • Приватный Blockchain отделяет основной протокол Blockchain от уровня интеллектуального контракта.
  • Используя приватный блокчейн, вы можете открыть область программируемых транзакций, которая обычно называется  Smart Contracts, а также онлайн-рынки.
Особенности федеративного блокчейна
  • Руководство группы управляет им.
  • Проверка транзакций с использованием технологии федеративного блокчейна невозможна.
  • Он имеет более высокую масштабируемость и конфиденциальность.
  • Это быстрее, чем другие технологии Blockchain.
  • Он управляется предварительно выбранным набором узлов.
  • Это уменьшает избыточность данных наряду с транзакционными издержками.
  • Замена устаревших систем с помощью этого проще.

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

Технология Blockchain широко используется в приложениях Fintech. Наряду с приложением Fintech технология Blockchain используется в следующих приложениях для создания ценности в бизнесе. 

  • Смарт Контракты

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

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

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

С ростом популярности Crowdfunding технология Blockchain выводит этот интерес на новый уровень, потенциально развивая краудсорсинговые венчурные фонды. DAO на основе Ethereum (Децентрализованная автономная организация) является одним из таких примеров краудфандинга, который привлек 200 миллионов долларов США в течение двух месяцев. Не говоря уже о том, что это была еще одна форма умных контрактов.

  • Прозрачное управление

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

  • Использование в цепочке поставок

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

  • Расширение возможностей Web 3.0 для хранения файлов

Концепция децентрализации технологии Blockchain породила веб 3.0, который принесет революционные изменения в мир Интернета. Теперь это будет Blockchain Internet, который обеспечил концепцию распределенного хранения файлов. Вместо диска Google он позволил нам использовать такие технологии, как Межпланетная файловая система (IPFS). Основное преимущество распределенного хранилища файлов — поскольку данные не централизованы, они защищают данные от взлома.

  • Легкость процесса KYC и AML

Знай своего клиента (KYC), и борьба с отмыванием денег (AML) — две общепринятые практики, которые могут быть потенциально полезны при адаптации к технологии Blockchain. Поскольку финансовым учреждениям в настоящее время необходимо выполнить интенсивный многоэтапный процесс для каждого из своих клиентов, это является дорогостоящим делом для этих учреждений. Тем не менее, если в этот процесс будет введен блокчейн, он может снизить затраты за счет проверки клиентов между учреждениями, одновременно повышая эффективность анализа и мониторинга.

Каковы основные преимущества технологии Blockchain?

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

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

0 0 Голос

Рейтинг статьи

Блокчейн : архитектура, криптовалюты, инструменты разработк…

Башир, И.

Книга познакомит вас с теоретическими и практическими аспектами технологии блокчейн. В издании рассмотрены следующие темы: децентрализация, умные контракты, блокчейновые платформы, в частности Ethereum, Bitcoin и Hyperledger Fabric.

Полная информация о книге

  • Вид товара:Книги
  • Рубрика:Электронная коммерция
  • Целевое назначение:Производств.-практич.изд.,практич.рук-во
  • ISBN:978-5-97060-624-7
  • Серия:Несерийное издание
  • Издательство: ДМК ПРЕСС
  • Год издания:2019
  • Количество страниц:537
  • Тираж:200
  • Формат:70х100/16
  • УДК:004. 738.5:336.74
  • Штрихкод:9785970606247
  • Доп. сведения:пер. с англ. М. А. Райтмана
  • Переплет:в пер.
  • Сведения об ответственности:Имран Башир
  • Вес, г.:1002
  • Код товара:12404

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

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

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

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

Определение круга технических задач

Задача блокчейна — принимать от пользователей транзакции и точным и неоспоримым способом обрабатывать каждую из них. Результаты работы каждой транзакции записываются в общедоступную базу данных (state database) на каждой машине блокчейн-сети. Любой участник может воспроизвести и перепроверить эту базу данных, если у него есть данные о ее первоначальном состоянии и журнал всех транзакций или блоков.

Чтобы правильно выбрать блокчейн, техническим специалистам прежде всего нужно определить типы транзакций и как будет работать каждая из них. Для классификации удобно использовать традиционные серверные ресурсы: процессор, оперативная память, сетевой трафик, хранилище (cpu, mem, network, storage).

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

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

Любая логика, сложнее чем просто перевод токенов с адреса на адрес, требует использования определенного кода (смарт-контракты, runtime и т.п.). Работая над проектом блокчейна необходимо учесть, какая виртуальная машина для исполнения такого кода будет использоваться в проекте:

Вариант 1: специализированная виртуальная машина (VM)

Примеры: EVM (Ethereum), TVM (TON)

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

Вариант 2: стандартная виртуальная машина

Примеры: Web Assembly в EOS, Parity Substrate (Polkadot).

WebAssembly (WASM) — это веб-стандарт, используемый для создания кода, исполняемого на стороне клиента и более производительного, чем JavaScript. Теоретически, смарт-контракты под WASM можно писать на любом языке, но для блокчейнов лучше подходят низкоуровневые языки (C, C++, Rust и т.д.), иначе получившийся код будет плохо оптимизирован.

WASM также ведет учет потраченных на исполнение ресурсов. Имея большую функциональность контрактов, WebAssembly менее безопасна, чем специализированная виртуальная машина.

Вариант 3: обработка транзакций нативным кодом

Примеры: Hyperledger Fabric, Cosmos.

Обработка нативным кодом используется, когда код, обрабатывающий транзакцию, фактически встроен в ноду. Минус данного варианта — наименьшая безопасность и детерминированность обработки транзакций; плюс — высокая функциональность (разработчикам доступны любые функции языка без ограничений).

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

Вариант 1: пользовательские смарт-контракты

Примеры: смарт-контракты в Ethereum, EOS, TON, Parity Substrate (с модулем пользовательских смарт-контрактов WASM или EVM).

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

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

Вариант 2: код runtime, контролируемый валидаторами

Примеры: runtime в Parity Substrate, Application в Cosmos.

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

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

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

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

Ограничения блокчейна

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

Одним из таких требований является время «исполнения» транзакции на стороне клиента. Частой ошибкой является оценка скорости только на основе tps (количество транзакций в секунду).

Разработчики, как правило, оценивают tps как количество транзакций в блоке ко времени блока. Например, под «1000 tps» имеется в виду, что время между блоками равно 1 секунде, а в блоке может быть до 1000 транзакций. Это не значит, что блокчейн обрабатывает одну транзакцию за 0. 001 секунды, поскольку время обработки транзакции зависит от времени производства блока.

Если время производства блока — 3 секунды, то время обработки одной транзакции может достигать 3-х секунд (от момента отправки транзакции и до появления следующего блока). 3000 tps (при максимуме в 1000 транзакций в блоке) можно достичь только при параллельной отправке транзакций с разных аккаунтов.

Еще одно важное ограничение современных блокчейнов — это число валидаторов (серверов, производящих и подтверждающих блоки). Произведя блок, валидаторы обязательно приходят к согласию (консенсусу) относительно него. Время производства блока зависит от числа валидаторов и числа сообщений, которыми им надо обменяться. Для любого сетевого консенсуса требуется согласие минимум 1/2 N + 1 валидаторов, а с полными гарантиями безопасности — согласие 2/3 N + 1 валидаторов. Данные значения являются фундаментальными, обойти их нельзя, так как они обеспечивают устойчивость сети к злонамеренному поведению участников.

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

Планирование запуска и поддержки сети

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

Шаг 1: выбор имплементации, оценка трудозатрат

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

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

Шаг 2: Тестовые запуски и масштабное тестирование сети

Тестирование сети — это проверка работоспособности блокчейна с числом валидаторов, приближенным к реальности. Если блокчейн подразумевает 100 валидаторов, необходимо убедиться, что сеть работоспособна под нагрузкой.

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

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

Шаг 3: Запуск тестовой сети (testnet)

Testnet нужен, чтобы пользователи и команда могли опробовать в ней то, что будет работать в основной сети (mainnet). Весь функционал основной сети должен присутствовать в тестовой, а клиентские приложения — поддерживать обе сети. Благодаря точности смарт-контрактов, тестирование рабочих продуктов можно провести с 99% точностью, с реальными балансами реальных пользователей.

В testnet можно раздать токены, проверить, как валидаторы запускают свои ноды, провести первые сделки вместе с активными пользователями, а полученные результаты позже использовать в mainnet.

Некоторое ПО необходимо будет поддерживать сразу после запуска тестовой сети (например, веб-интерфейс для валидаторов, мониторинг или обозреватель блоков). Информация, полученная на этапе запуска этих сервисов в тестовой сети, пригодится при «чистовом» запуске в mainnet.

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

Шаг 4: определение процедуры добавления валидаторов mainnet

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

Наиболее популярный вариант выбора валидаторов на сегодняшний день — процедуры, предусмотренные алгоритмами DPoS. В этом случае владельцы токенов голосуют своими балансами за валидаторов. Топ валидаторов, набравших большинство голосов-токенов получают право производить блоки. В proof-of-authority (POA) сетях и коропоративных блокчейнах, ситуация аналогична, но вместо балансов токенов используются голоса других валидаторов.

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

Шаг 5: запуск основной сети

Запуск mainnet должен сопровождаться активным мониторингом. Желательно, чтобы сводная информация от всех валидаторов была представлена в одном сервисе — так команда проекта сможет более активно реагировать на проблемы в сети.

Новые требования также предъявляются к работе обозревателя блоков — главного внешнего сервиса сети. Он должен автоматически переключаться на запасные сервера в случае сбоев, так как информация о транзакциях крайне важна пользователям и команде проекта. Также может потребоваться резервное копирование, если обозреватель хранит предоставленную пользователями информацию (например, верификация кода контрактов в Etherscan).

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

Шаг 6: Поддержка и обновление кода

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

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

Заключение

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

Построенные на основе публичных сетей (Ethereum, EOS) решения являются достаточно надежным ПО, доступным пользователям интернета без ограничений. Этим свойством не могут похвастаться централизованные финансовые системы: выставить в открытый доступ банковское API или базу данных с критичной информацией без регистрации, логинов/паролей и мониторинга не представляется возможным.

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

Подписывайтесь на новости ForkLog в Telegram: ForkLog Feed — вся лента новостей, ForkLog — самые важные новости и опросы.

Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Общая информация — Документация Документация Apla Blockchain Platform

Блокчейн-платформа Apla разработанна для построения цифровых экосистем на базе интегрированной среды разработки приложений с многоуровневой системой управления правами доступа к данным, интерфейсам и смарт-контрактам. Платформа построена на базе программного продукта разработанного компанией EGAAS S.A.

Apla по своей структуре и функционированию принципиально отличается от большинства существующих блокчейн-сетей.

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

Сеть

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

Валидирующие узлы

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

Список валидирующих узлов хранится в параметре full_nodes в формате

[["host1:port","-1222","nodepub1"], ["host2:ip","-1222", "nodepub2"]], где
  • host1:port — это адрес хоста, на который пересылаются транзакции и новые блоки, также с этого адреса можно получить всю цепочку блоков начиная с 1-го;
  • -1222 — номер виртуального аккаунта, на который нода получает комиссию; если кошелек не существует, то комиссия не снимается.
  • nodepub1 — публичный ключ узла, необходимый для проверки подписей блоков, созданных им.

Транзакции

Транзакция формируется программным клиентом (или командой contract REST API) и содержит данные для выполнения специального программного контролера — контракта («смарт-контракта»), вызываемого пользователем. Транзакция имеет следующий формат:

  • Type — ID вызываемого контракта,
  • Data — параметры, передаваемые контракту,
  • KeyID — идентификатор пользователя отправившего транзакцию,
  • PublicKey — публичный ключ пользователя (опционно),
  • BinSignatures — подпись транзакции,
  • Time — время отправления транзакции,
  • EcosystemID — номер экосистемы, из которой отправлена транзакция,
  • ТokenEcosystem — номер экосистемы, в токенах которой оплачивается транзакция,
  • MaxSum — максимальная комиссия за транзакцию,
  • PayOver — дополнительная плата за ускорение в очереди.

Транзакция подписывается приватным ключом владельца аккаунта. Ключ вместе с функцией подписания может храниться: в браузере, в программном клиенте, на сим-карте, на специальном физическом устройстве. В текущей реализации приватный ключ хранится в программном клиенте Molis в зашифрованном алгоритмом AES виде. Транзакции подписываются с помощью алгоритма ECDSA.

Сетевой протокол

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

Узел, имеющий в данный момент право генерировать блок (согласно параметру full_nodes), извлекает транзакции из очереди и посылает в блок-генератор. Параллельно с формированием блока происходит отработка транзакций: транзакция посылается в виртуальную машину, где происходит выполнение контракта с параметрами, переданными транзакцией, в результате чего происходит модификация состояния базы данных.

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

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

Проверка блока и транзакций

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

  • равен ли первый байт 0, если нет, то полученные данные не являются блоком,
  • время генерации блока не больше текущего,
  • имел ли право узел подписавший блок сделать это в указанное в блоке время,
  • номер блока больше последнего блока в имеющейся цепочке,
  • не превышен ли общий лимит на оплату транзакций блока,
  • проверка правильности подписи блока ключом создавшего блок узла; подписываются BlockID, Hash предыдущего блока, Time, Position в full_nodes, MrklRoot от всех транзакций блока,
  • проверка правильности всех транзакций блока:
    • уникальность хеша транзакции,
    • не превышен ли лимит транзакций подписанных одним ключом (max_block_user_tx),
    • не превышен размер транзакции (max_tx_size),
    • время посылки не больше времени формирования блока и не меньше времени формирования блока минус 86400 сек,
    • правильность подписи транзакции,
    • существуют ли токены, в которых происходит оплата ресурсов в списке sys_currencies,
    • достаточно ли токенов на виртуальном аккаунте пользователя для оплаты необходимых для выполнения транзакции ресурсов.

База данных платформы

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

На данный момент на платформе используется СУБД PostgreSQL.

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

Программно экосистема представляет собой совокупность приложений — систем интерфейсов, контрактов, таблиц базы данных. На принадлежность элементов приложений к конкретной экосистеме указывает префикс в их имени, например, @1name, в котором после знака «@» указывается ID экосистемы. При обращении к элементам приложений внутри одной экосистемы префикс можно опустить.

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

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

Интегрированная среда разработки

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

  • таблица параметров экосистемы,
  • редактор контрактов,
  • инструменты для администрирования таблиц базы данных,
  • редактор интерфейсов и визуальный конструктор интерфейсов,
  • редактор языковых ресурсов,
  • сервис экспорта/импорта приложений.

Приложения Apla

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

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

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

Таблицы экосистемы

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

Инструменты для администрирования таблиц

Инструменты управление таблицами экосистемы доступны в разделе Tables административной секции программного клиента Molis, где реализованы следующие функции:

  • просмотр списка таблиц и их содержимого,
  • создание новых таблиц,
  • добавление в таблицы новых колонок с выбором типовых форматов данных: Text, Date/Time, Varchar, Character, JSON, Number, Money, Double, Binary,
  • установление правами доступа на запись данных и изменение структуры таблиц.
Операции с данными таблиц

Для работы с базой данных язык контрактов Simvolio и язык шаблонизатора Protypo содержат функции DBFind, обеспечивающие получение из таблиц как отдельных значений, так и массивов. Язык контрактов содержит функции добавления строк в таблицы DBInsert и изменения значений в существующих записях DBUpdate (при изменении значения переписываются только данные в таблице базы данных, в блокчейн же добавляется новая транзакция с сохранением всех предыдущих транзакций). Данные в таблицах не удаляются.

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

Параметры экосистем

В разделе Ecosystem parameters административной секции программного клиента Molis доступны для просмотра и редактирования параметры экосистемы, которые можно разделить на несколько групп:

  • общие параметры: название экосистемы (ecosystem_name), описание (ecosystem_description), аккаунт основателя (founder_account) и некоторые другие,
  • параметры доступа, которые определяют исключительные права доступа к элементам приложений (changing_tables, changing_contracts, changing_page, changing_menu, changing_signature, changing_language),
  • технические параметры: например, пользовательские стили (stylesheet),
  • пользовательские параметры экосистемы, в которых хранятся константы или списки (через запятую), необходимые для работы приложений.

Для каждого параметра экосистема указываются права на его изменения.

Для получения значений отдельных параметров экосистемы и в языке контрактов Simvolio, и в языке шаблонизатора Protypo имеется функция EcosysParam, в которой в качестве аргумента указывается имя параметра. Для возврата элемента списка (записанных в параметр экосистемы через запятую) необходимо вторым параметром функции указать его порядковый номер.

Параметры платформенной экосистемы

Все параметры платформы хранятся в таблице параметров платформенной экосистемы. Это такие параметры как:

  • промежуток времени, отведенный на создание блока валидирующим узлом,
  • код исходных страниц, контрактов, таблиц, меню новых экосистем,
  • список валидирующих узлов,
  • максимальные размеры транзакции, блока, максимальное число транзакций в блоке,
  • максимальное количество транзакций от одного аккаунта в блоке,
  • максимальное количество Fuel расходуемое на одну транзакцию, один блок,
  • курс Fuel к APL и другие.

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

Список параметров платформенной экосистемы
  • default_ecosystem_page — какой код по умолчанию вставить в первую страницу только что созданной экосистемы.
  • default_ecosystem_menu — какой под по умолчанию вставить в первое меню только что созданной экосистемы.
  • gap_between_blocks — множитель, на который умножается количество секунд, которые нода ждет, пока не получает право сгенерить следующий блок. 0 < gap_between_blocks < 86400.
  • rb_blocks_1 — максимальное количество блоков, на которое можно откатиться. Влияет на количество блоков которое можно за раз скачать. 0 < rb_blocks1 < 10000.
  • new_version_url — хост для проверки доступности новых версий (апдейт сервера).
  • number_of_nodes — максимальное количество полных нод. 0 < number_of_nodes < 1000.
  • max_block_size — максимальный размер блока в байтах. max_block_size > 0.
  • max_tx_size — максимальный размер транзакции в байтах. max_tx_size > 0.
  • max_tx_count — максимальное количество транзакции в блоке. max_tx_count > 0.
  • max_columns — максимальное количество колонок в созданном пользователем реестре. max_columns > 0.
  • max_indexes — максимальное количество индексов в созданном пользователем реестре. max_indexes > 0.
  • max_block_user_tx — максимальное количество транзакции в блоке от одного пользователя. max_block_user_tx > 0.
  • max_block_generation_time — максимальное время в миллисекундах на генерацию блока.
  • max_fuel_tx — максимальный расход топлива на одну транзакцию. max_fuel_tx > 0.
  • max_fuel_block — максимальный расход топлива на блок. max_fuel_block > 0.
  • size_fuel — множитель, на который умножается плата за количество данных в смарт контракте.
  • commission_wallet — адреса кошельков, на которые начисляется комиссия в зависимости от текущей экосистемы. Представляет из себя массив из пар (номер экосистемы, идентификатор кошелька). Например, [[«1»,»-943604719945132508»]]. При записи идет проверка на валидность номеров кошельков.
  • commission_size — процент коммиссии, который будет начисляется с каждой операции на commission_wallet. commission_size >= 0.
  • fuel_rate — курс конверсии APL к топливу. Представляет из себя массив из пар (номер экосистемы, множитель). Например, [[«1»,»1000000000000000»]]. Значение множителя должно быть больше 0.
  • full_nodes — список нод, которые могут генерировать блоки. Представляет собой список списков вида [[хост, адрес аккаунта, публичный ключ],].
  • extend_cost_(funcname) — стоимость вызова встроенной функции в fuel. x_extend_cost >= 0.
  • (table|column|page|menu|contract)_price — стоимость создания какой либо сущности в fuel. x_price >= 0.

Платформа обладает многоуровневой системой управления правами доступа. Условия доступа устанавливаются на операции создания и изменения всех элементов приложений: контрактов, таблиц базы данных, интерфейсов, параметров экосистемы. Также фиксируются и права на изменения прав.

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

Контролируемые операции

Права устанавливаются в поле Permissions в соответствующих разделах административной секции программного клиента Molis: в редакторах контрактов, таблиц, интерфейсов (страниц, меню, страничных блоков). Фиксируются права на следующие операции:

  1. Table column permission — право на изменение значения в колонке таблицы,
  2. Table Insert permission — право на запись в таблицу новой строки,
  3. Table New Column permission — право на добавление новой колонки,
  4. Conditions for changing of Table permissions — право на изменение прав, перечисленных в п.п. 1-3,
  5. Conditions for change smart contract — право на изменение контракта,
  6. Conditions for change page — право на изменение страницы интерфейса,
  7. Conditions for change menu — право на изменение меню,
  8. Conditions for change of ecosystem parameters — права на изменение определенного параметра настроечной таблицы экосистемы.

Способы управления правами

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

Простейшим способом предоставления прав является запись в поле Permissions логического выражения, например, $member == 2263109859890200332, в котором указан идентификационный номер конкретного члена экосистемы.

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

Еще одним методом управления правами доступа является использование функции ContractAccess, которой в качестве параметров передается список контрактов, имеющих право реализовывать соответствующее действие. К примеру, если в таблице, содержащей аккаунты в токенах экосистемы, ввести в поле Permissions колонки amount функцию ContractAccess("TokenTransfer"), то изменение значения amount будет разрешено исключительно контракту TokenTransfer (все контракты, предусматривающие перевод токенов с аккаунта на аккаунт, смогут сделать это только через вызов контракта TokenTransfer). Условия получения доступа к самим контрактам контролируются в секции conditions и могут быть достаточно сложными, включающими множество других контрактов.

Исключительные права

Для разрешения конфликтных или опасных для деятельности экосистемы ситуаций в таблице Ecosistem parameters введены специальные параметры (changing_smart_contracts, changing_tables, changing_pages), в которых прописываются условия получения исключительных прав доступа к любым смарт-контрактам, таблицам или страницам. Эти права устанавливаются специальными смарт-законами, к примеру, предусматривающими голосование членов экосистемы или наличие нескольких подписей различных ролей.

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

Обращение к web-ресурсам

Основным отличием OBS от обычных экосистем является возможность обращения из ее контрактов к любым web-ресурсам по HTTP/HTTPS. Для этого используется функция HTTPRequest, в которую передаются URL, метод запроса (GET или POST), заголовок и параметры запроса.

Права на чтение данных

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

Использование OBS

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

Создание OBS

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

azure-docs.ru-ru/architecture.md at master · MicrosoftDocs/azure-docs.ru-ru · GitHub

titledescriptionms.datems.topicms.reviewerms.openlocfilehashms.sourcegitcommitms.translationtypems.contentlocalems.lasthandoffms.locfileid

Архитектура Azure Blockchain Workbench

Обзор архитектуры Azure Блокчейн Workbench Preview и ее компонентов.

09/05/2019

conceptual

brendal

1fff70ef2eeb1dc27d33769fd48fe5923f56717b

a43a59e44c14d349d597c3d2fd2bc779989c71d7

MT

ru-RU

11/25/2020

96021611

Предварительная версия Azure Блокчейн Workbench упрощает разработку приложений блокчейн, предоставляя решение с помощью нескольких компонентов Azure. Blockchain Workbench можно развернуть с помощью шаблона решения в Azure Marketplace. Шаблон позволяет выбрать модули и компоненты для развертывания, включая блокчейн-стек, тип клиентского приложения и поддержку интеграции Интернета вещей. После развертывания Blockchain Workbench предоставляет доступ к веб-приложению, iOS-приложению и Android-приложению.

Идентификация и аутентификация

Используя Blockchain Workbench, консорциум может объединять свои корпоративные идентификаторы с помощью Azure Active Directory (Azure AD). Workbench создает новые учетные записи пользователей для идентификации по цепочке с корпоративными удостоверениями, хранящимися в Azure AD. Сопоставление удостоверений упрощает проверку подлинности входа в клиентские API и приложения. При этом используются политики аутентификации организаций. Workbench также предоставляет возможность связывать корпоративные удостоверения с определенными ролями в рамках данного смарт-контракта. Кроме того Workbench также предоставляет механизм для определения действий, которые могут выполнять эти роли, и времени, когда они могут выполняться.

После развертывания Blockchain Workbench пользователи взаимодействуют с ним либо с помощью клиентских приложений, либо с клиентским API на основе REST, либо с помощью API обмена сообщениями. В любом случае взаимодействия должны быть аутентифицированы либо с помощью Azure Active Directory (Azure AD), либо с учетными данными конкретного устройства.

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

Azure AD используется для управления всеми пользователями, имеющими доступ к Blockchain Workbench. Каждое устройство, подключаемое к смарт-контракту, также связано с Azure AD.

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

Клиентские приложения

Workbench предоставляет автоматически создаваемые клиентские приложения для веб и мобильных устройств (iOS, Android), которые могут использоваться для проверки, тестирования и просмотра блокчейн-приложений. Интерфейс приложения формируется динамически на основе метаданных смарт-контракта и может вместить любой вариант использования. Клиентские приложения предоставляют интерфейсную часть пользовательского интерфейса для завершения блокчейн-приложений, созданных Blockchain Workbench. Клиентские приложения аутентифицируют пользователей с помощью Azure Active Directory (Azure AD), а затем представляют пользовательский интерфейс, адаптированный к бизнес-контексту смарт-контракта. Пользовательский интерфейс позволяет создавать новые экземпляры смарт-контрактов уполномоченными лицами, а затем предоставляет возможность выполнять определенные виды транзакций в соответствующих точках бизнес-процесса, которые представляет смарт-контракт.

В веб-приложении авторизованные пользователи могут получить доступ к консоли администратора. Консоль доступна для пользователей группы администраторов в Azure AD и предоставляет доступ к следующим функциям:

  • Развертывание Майкрософт предоставило смарт-контракты для популярных сценариев. Например, сценарий переноса ресурса.
  • Отправка и развертывание собственных смарт-контрактов.
  • Назначение доступа пользователю к смарт-контракту в контексте определенной роли.

Дополнительные сведения см. в разделе примеров клиентских приложений Azure Blockchain Workbench на сайте GitHub.

API-интерфейс службы шлюза

Blockchain Workbench включает API-интерфейс службы шлюза на основе REST. При записи блокчейна API генерирует и доставляет сообщения брокеру событий. Когда API запрашивает данные, запросы отправляются в базу данных, отсоединенную от цепочки. База данных содержит реплику данных в цепочке и метаданные, которые предоставляют контекст и сведения о конфигурации для поддерживаемых смарт-контрактов. Запросы возвращают требуемые данные из реплики вне сети в формате, указанном метаданными для контракта.

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

[!NOTE] Чтобы включить аутентифицированный доступ к API, два клиентских приложения должны быть зарегистрированы в Azure Active Directory. Azure Active Directory требует отдельных регистраций приложений для каждого типа приложения (собственного и веб-сайта).

Message Broker для входящих сообщений

Разработчики, которые хотят отправлять сообщения непосредственно в Blockchain Workbench, могут отправлять сообщения непосредственно на служебную шину. Например, API сообщений может использоваться для интеграции между системами или устройствами IoT.

Message Broker для последующих объектов-получателей

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

Blockchain Workbench автоматически развертывает два типа пользователей событий. Один из них инициируется блокчейн-событиями для заполнения хранилища SQL вне сети. Другой — для захвата метаданных для событий, генерируемых API, связанными с загрузкой и хранением документов.

Объекты-получатели сообщений

Объекты-получатели сообщений принимают сообщения через служебную шину. Базовая модель событий для объектов-получателей сообщений позволяет расширять дополнительные службы и системы. Например можно добавить поддержку для заполнения CosmosDB или оценки сообщений с помощью Azure Streaming Analytics. В следующих разделах описываются объекты-получатели сообщений, включенные в Blockchain Workbench.

Объект-получатель распределенного реестра

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

Объект-получатель базы данных

Потребитель базы данных принимает сообщения от служебной шины и передает их в присоединенную базу данных, например базу данных в базе данных SQL Azure.

Объект-получатель хранилища

Объект-получатель хранилища принимает сообщения через служебную шину и отправляет данные в подключенное хранилище. Например, хранение хэшированных документов в Azure Storage.

Конструктор транзакции и подписант

Если сообщение в брокере входящих сообщений необходимо записать в блокчейн, оно будет обработано объект-получателем DLT. Объект-получатель DLT — это служба, которая извлекает сообщение, содержащее метаданные для выполнения требуемой транзакции, и затем отправляет информацию в конструктор транзакций и подписант. Конструктор транзакций и подписант собирают блокчейн-транзакцию на основе данных и желаемого адреса назначения блокчейна. После сборки транзакция подписывается. Закрытые ключи хранятся в хранилище ключей Azure.

Blockchain Workbench извлекает соответствующий закрытый ключ из Key Vault и подписывает транзакцию за пределами Key Vault. После подписания транзакция отправляется к маршрутизаторам транзакций и реестрам.

Маршрутизаторы транзакций и реестры

Маршрутизаторы транзакций и реестры берут подписанные транзакции и направляют их в соответствующий блокчейн. В настоящее время Blockchain Workbench поддерживает Ethereum в качестве конечной базы данных блокчейн.

Наблюдатель DLT

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

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

База данных SQL Azure

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

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

Хранилище Azure

Azure Storage используется для хранения контрактов и метаданных, связанных с контрактами.

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

Blockchain Workbench поддерживает возможность добавления документов или другого содержимого мультимедиа с бизнес-логикой блокчейна. Хэш документа или содержимого мультимедиа хранится в блокчейне, а фактический документ или содержимое мультимедиа хранится в Azure Storage. Связанная информация о транзакции доставляется брокеру входящих сообщений, упаковывается, подписывается и маршрутизируется в блокчейн. Этот процесс запускает события, которые совместно используются брокером исходящих сообщений. База данных SQL использует эту информацию и отправляет ее в базу данных для последующего запроса. Подчиненные системы также могут использовать эти события для принятия соответствующих мер.

Наблюдение

Workbench обеспечивает ведение журналов приложений с помощью Application Insights и Azure Monitor. Application Insights используется для хранения всей зарегистрированной информации из Blockchain Workbench и содержит ошибки, предупреждения и успешные операции. Application Insights может быть использован разработчиками для отладки проблем с Blockchain Workbench.

Azure Monitor предоставляет информацию о работоспособности сети блокчейн.

Следующие шаги

[!div] Развертывание Azure Blockchain Workbench

Вавилонская башня.

Почему блокчейну нужен стандарт
Авторы: Татьяна Жаркова, Александр Чубурков

Технология распределенных реестров (distributed ledger technology, DLT) становится все более популярной в развитых экономиках. Согласно сентябрьскому прогнозу исследовательской компании MarketsandMarkets, к 2024 г. рынок блокчейн-устройств достигнет почти $1,3 млрд при среднегодовом темпе роста 42,5% за 5 лет. Однако, чтобы стать неотъемлемой частью повседневной жизни, технология блокчейн должна быть стандартизирована. В Moody’s ожидают, что международные отраслевые стандарты в области DLT появятся к 2021 году. Эксперты агентства считают, что стандартизация ускорит процесс внедрения технологии, сократит транзакционные издержки и нивелирует регуляторные риски, улучшит интероперабельность систем и повысит качество взаимодействия между участниками рынка, а также повысит привлекательность секьюритизации активов на базе блокчейна. 

В августе этого года в Женеве завершила работу фокус-группа по применению технологии распределенного реестра (FG DLT), учрежденная сектором стандартизации Международного союза электросвязи (МСЭ-Т, англ. ITU-T). С момента основания FG DLT в ее работе участвуют и представители России от Ассоциации ФинТех (АФТ). Фокус-группа уже разработала ряд документов, касающихся ландшафта стандартизации, терминологии, архитектуры DLT, перспектив применения этой технологии, регуляторного фреймворка. Впереди — создание международного стандарта, описывающего технологию распределенных реестров на всех уровнях, начиная с определений и заканчивая вариантами ее использования. Параллельно идет работа над DLT-стандартом и в рамках Международной организации по стандартизации (International Organization for Standardization, ISO). Так, в техническом комитете № 307 «Блокчейн и технологии распределенных реестров» (ISO/TC 307 Blockchain and distributed ledger technologies), созданном в 2016 году, эксперты из РФ участвуют в рабочей группе по безопасности. В рамках группы обсуждаются подходы к оценке безопасности: безопасность данных, консенсус, стабильность, майнинг, активные атаки, использование криптографических алгоритмов (квантовые компьютеры). 

В России деятельность ISO сопровождают Технический комитет 26 по стандартизации «Криптографическая защита информации» (TK 26) и Комитет «Программно-аппаратные средства технологий распределенного реестра и блокчейн» (ТК 159) при Росстандарте. Терминология в области технологии распределенных реестров, разработанная ТК 26 с участием экспертов АФТ, уже адаптирована, переведена на английский язык и легла в основу международного словаря. Помимо этого, опыт участников Ассоциации ФинТех по проектированию, разработке и эксплуатации российской блокчейн-платформы Мастерчейн был положен в основу исследования и нашел отражение в итоговых технических спецификациях и отчетах, которые исследовательские комиссии МСЭ-Т будут использовать при разработке стандартов. Российская сторона поделилась и информацией о готовящихся к промышленной эксплуатации на Мастерчейне кейсах «Учет электронных закладных», «Цифровая банковская гарантия» и «Цифровой аккредитив». Эти материалы были использованы при разработке документов «Эталонная архитектура DLT» и «Критерии оценки для платформ DLT». 

Почему так важен стандарт Чего ждет от стандарта рынок? Единой терминологии, чтобы блокчейн-эксперты могли говорить на одном языке, хотя бы на уровне базовых понятий. Необходимы также описания типовых архитектур для построения платформенных решений, которые смогут использовать большинство игроков, а не отдельные участники рынка. Кроме того, нужны единые шаблоны смарт-контрактов и требования по информационной безопасности. Стандартизация упростит встраивание новых DLT-систем в уже существующий ИТ-ландшафт и облегчит запуск блокчейн-проектов. Пока разработки в области распределенных реестров — удел программистов, которые, создавая технологическую платформу, попутно решают множество инженерных и даже юридических задач. В будущем работать с продуктами, созданными на базе блокчейна, должны не только разработчики, но и линейные менеджеры. А это значит, что необходима методика обучения, для которой, в свою очередь, необходима стандартизация самой технологии. Промышленный запуск проектов на базе DLT потребует изменений в правовом поле — и появление стандартов позволит методично решать вопросы гармонизации законодательства согласно требованиям технологической реальности. Государства смогут выстраивать нормативно-правовую основу регулирования, ориентируясь на международную практику.


Материал взят с cryptochan.org 

Как это работает и как построить

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

Наша компания по разработке программного обеспечения создала это руководство, в котором мы описываем структуру блокчейна, его компоненты и их взаимодействие, а именно:

  • Узлы в P2P-сети
  • Свойства блока и блока генезиса
  • Операции в бухгалтерской книге
  • Процесс валидации — майнинг
  • «Консенсус» в архитектуре блокчейна
  • Proof-of-Work

Термин блокчейн впервые был описан еще в 1991 году.Группа исследователей хотела создать инструмент для отметки времени в цифровых документах, чтобы их нельзя было датировать задним числом или изменить. Кроме того, эта техника была адаптирована и заново изобретена Сатоши Накамото. В 2008 году Накамото создал первую криптовалюту, проект на основе блокчейна под названием Биткойн.

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

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

Что такое архитектура блокчейна?

Централизованная, децентрализованная и распределенная книга

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

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

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

Архитектура

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

База данных

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

Клиент-сервер против P2P сети

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

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

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

Структура технологии блокчейн представлена ​​списком блоков с транзакциями в определенном порядке. Эти списки могут храниться в виде плоского файла (формат txt.) Или в виде простой базы данных. В блокчейне используются две важные структуры данных:

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

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

Хеширование цепочки блоков

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

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

Структура блокчейна

Архитектура

Блокчейн может служить следующим целям для организаций и предприятий:

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

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

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

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

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

Все структуры блокчейна делятся на три категории:

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

Публичная архитектура блокчейна означает, что данные и доступ к системе доступны всем, кто желает участвовать (например,грамм. Системы блокчейнов Bitcoin, Ethereum и Litecoin являются общедоступными).

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

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

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

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

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

Имущество Публичный блокчейн Блокчейн Консорциума Частный блокчейн
Определение консенсуса Все майнеры Выбранный набор узлов Внутри одной организации
Разрешение на чтение Общественный Общедоступное или ограниченное Общедоступное или ограниченное
Уровень неизменности Практически невозможно вмешаться Возможно вмешательство Возможно вмешательство
Эффективность (использование ресурсов) Низкий Высокая Высокая
Централизация Частично Есть
Консенсусный процесс Без разрешения Требуется разрешение Требуется разрешение

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

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

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

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

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

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

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

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

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

Как работает блокчейн

Давайте подробнее рассмотрим, что такое блок в цепочке блоков. Каждый блок блокчейна состоит из:

  • определенные данные
  • хеш блока
  • хеш из предыдущего блока

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

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

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

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

С другой стороны, теоретически можно было бы настроить все блоки с помощью мощных компьютерных процессоров. Однако есть решение, исключающее эту возможность, под названием proof-of-work . Это позволяет пользователю замедлить процесс создания новых блоков. В архитектуре блокчейна Биткойн для определения необходимого доказательства работы и добавления нового блока в цепочку требуется около 10 минут. Эту работу выполняют майнеры — специальные узлы в структуре блокчейна Биткойн.Майнеры могут удерживать комиссию за транзакцию с блока, который они проверили в качестве вознаграждения.

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

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

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

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

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

Как сделать архитектуру частной цепочки блоков

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

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

Связаться с нами

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

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

  • Код блокчейна — относится к задачам и целям, для выполнения которых было разработано это решение блокчейна.

Существует несколько решений с открытым исходным кодом, используемых для построения частной архитектуры блокчейна. Самый популярный среди них — Hyperledger от Linux Foundation. Этот проект также широко используется IBM и другими известными техническими организациями. Hyperledger Composer предоставляет набор инструментов для построения архитектуры блокчейна.

Некоторые другие решения для создания собственного блокчейна — это Ethereum и Corda.

Создание сети блокчейн

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

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

В эту сеть вовлечены:

  • Производители алмазов
  • Государственные учреждения
  • Транспортеры алмазов
  • Продавцы бриллиантов
  • Решения

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

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

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

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

Схема из Hyperledger Composer

Создание кода блокчейна

После того, как сеть блокчейн настроена, следующим шагом будет согласование типа бизнес-транзакций, происходящих внутри архитектуры блокчейна. На самом деле эти правила записаны в юридических соглашениях. Логически в коде блокчейна это относится к смарт-контракту (также называемому Chaincode или определением бизнес-сети от Hyperledger Composer).

Как и в реальном мире, контракт блокчейна имеет участников, активы и транзакции. Для каждой транзакции записывается функция транзакционного процессора (отражает JavaScript) и излагает то, что произойдет после создания транзакции.

Навыки, необходимые для построения архитектуры блокчейна

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

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

С точки зрения навыков кодирования, необходимых для разработки решения на основе блокчейна, следует ознакомиться с целым рядом языков программирования, а не с одним конкретно.Если цель состоит в том, чтобы реализовать настраиваемую систему блокчейнов, языки программирования, такие как C ++, Python, C, Java и Ruby, помогут выполнить эту задачу. Кроме того, могут пригодиться такие навыки веб-разработки, как HTML, CSS, Node JS.

Если вы заинтересованы в написании смарт-контрактов (смарт-контракты — это программы, хранящиеся в системе блокчейн и используемые для автоматического обмена монет или любых других средств на основе заранее определенных условий) с использованием Ethereum, требуется язык программирования на основе контрактов Solidity.

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

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

Архитектура

Blockchain имеет много преимуществ для бизнеса. Вот несколько встроенных характеристик:

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

  • Неизменяемость — любые записи, сделанные в цепочке блоков, не могут быть изменены или удалены

  • Происхождение — относится к тому факту, что можно отслеживать происхождение каждой транзакции в реестре блокчейна

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

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

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

Создайте свою собственную архитектуру блокчейна

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

Технология Blockchain позволяет организациям и компаниям следующими способами:

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

Блокчейн с его прозрачными механизмами и максимальной ясностью в конечном итоге революционизирует то, как люди и общества проводят транзакции и взаимодействуют друг с другом.Неудивительно, что многие проекты уже существуют с использованием архитектуры блокчейн. Например, TenX помогает тратить криптовалюты, EOS.IO предлагает функции для децентрализованных приложений (DApps), Augur помогает с прогнозным анализом рынка на случай будущих событий и т. Д.

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

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

Мы можем помочь вам реализовать блокчейн-решение наилучшим образом.Свяжитесь с нашей командой для получения дополнительной информации.

Связаться с нами

Часто задаваемые вопросы:

В чем заключается концепция блокчейна?

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

Где используется блокчейн?

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

Блокчейн — следующая большая вещь?

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

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

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

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

: компоненты, структура, преимущества и создание | by MLSDev

Термин блокчейн был впервые описан еще в 1991 году. Группа исследователей хотела создать инструмент для создания временных меток в цифровых документах, чтобы их нельзя было обновлять задним числом или изменять.Кроме того, эта техника была адаптирована и заново изобретена Сатоши Накамото. В 2008 году Накамото создал первую криптовалюту, проект на основе блокчейна под названием Биткойн.

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

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

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

В случае распределенной сети блокчейнов каждый участник в сети поддерживает, утверждает и обновляет новые записи.

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

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

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

Блокчейн может служить следующим целям для организаций и предприятий:

  • Снижение затрат
  • История данных
  • Достоверность и безопасность данных

Все структуры блокчейна делятся на три категории:

  • Публичный блокчейн
  • Частный блокчейн
  • Блокчейн консорциума

В следующей таблице представлено подробное сравнение этих трех систем блокчейнов.

Это основные компоненты архитектуры цепочки блоков:

  • Узел — пользователь или компьютер в цепочке блоков
  • Транзакция — наименьший строительный блок системы цепочки блоков
  • Блок — структура данных, используемая для хранения набора транзакций, которые распределяются по всем узлам в сети
  • Цепочка — последовательность блоков в определенном порядке
  • Майнеры — определенные узлы, которые выполняют процесс проверки блока
  • Консенсус — набор правил и механизмы для выполнения операций блокчейна

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

Давайте подробнее рассмотрим, что такое блок в цепочке блоков. Каждый блок блокчейна состоит из:

  • определенных данных
  • хэша блока
  • хэша предыдущего блока

С другой стороны, теоретически можно было бы настроить все блоки с помощью мощные компьютерные процессоры. Однако есть решение, исключающее эту возможность, под названием proof-of-work . Это позволяет пользователю замедлить процесс создания новых блоков.

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

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

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

Существует несколько решений с открытым исходным кодом, используемых для построения частной архитектуры блокчейна. Самый популярный среди них — Hyperledger от Linux Foundation. Этот проект также широко используется IBM и другими известными техническими организациями. Hyperledger Composer предоставляет набор инструментов для построения блокчейна.

Некоторые другие решения для создания собственной цепочки блоков — Ethereum и Corda.

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

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

  • Криптография
  • Неизменяемость
  • Происхождение
  • Децентрализация
  • Анонимность
  • Прозрачность

Технология Blockchain позволяет организациям и компаниям гораздо быстрее и быстрее выполнять транзакции:

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

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

Обучение по запросу — Blockchain Training Alliance

Обзор класса


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

  • Что такое блокчейн
  • Как работает блокчейн
  • Типы блокчейнов
  • Чем блокчейн отличается от того, что мы имеем сегодня
  • Каковы варианты использования блокчейна
  • Как выглядит приложение Blockchain
  • Как создать приложение Blockchain
  • Как разработать приложение Blockchain
  • Как протестировать приложение Blockchain

** В июле 2020 года было добавлено несколько новых разделов, включая анализ вариантов использования блокчейна, шаблоны и будущее блокчейна **


Что входит в комплект

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

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

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


Сертификация CBSA Этот тренинг подготовит вас к экзамену Certified Blockchain Solution Architect и является элитным способом продемонстрировать свои знания и навыки в этой развивающейся сфере.Экзамен CBSA представляет собой экзамен из 70 вопросов с несколькими вариантами ответов, который длится 1,5 часа и представляет собой оценку навыков и знаний архитектора решений на основе результатов. Доступ в Интернет не предоставляется во время экзамена, как и никакие материалы курса или учебные пособия.

Предварительные требования


Предварительных условий для этого обучения нет.

Наброски

Глава 1. Что такое блокчейн
  • Основные принципы блокчейна
  • Децентрализованные бухгалтерские книги
  • Что такое блок?
  • История блокчейн-платформ
  • Обновление 2020: что такое блокчейн
Глава 2: Как работает блокчейн
  • Преимущества и недостатки блокчейна
  • Основы криптографии и хеширование
  • ДЕМО: криптографическое хеширование
  • Завершение работы по криптографическому хешированию
  • Введение в групповой консенсус
  • ДЕМО: Proof of Work
  • Подтверждение выполнения работы
  • Подтверждение консенсуса по ставке
  • Обновление 2020: как работает блокчейн
Глава 3. Типы блокчейнов
  • Разрешено против разрешений
  • Что такое смарт-контракт
  • Блокчейн-проектов с открытым исходным кодом
  • Обновление 2020: типы блокчейна
Глава 4: Чем блокчейн отличается от того, что у нас есть сегодня
  • Типы сетей
  • Централизованные сети
  • Распределенные сети
  • Децентрализованные сети
  • Программное обеспечение и прошивка
  • Блокчейн против базы данных
Глава 5: Как выглядит приложение Blockchain?
  • Архитектура приложения блокчейн
  • Интегрированная среда разработки (IDE)
  • Уровень взаимодействия с пользователем
  • Средний / интерфейсный уровень
  • Смарт-контракты / Цепной код
Глава 6: Как мне спроектировать и разработать приложение Blockchain?
  • Руководящие принципы проектирования
  • Соображения при проектировании и применении
  • Функциональные требования к приложению
  • Технические требования к приложению
  • Задачи проектирования
  • Основные вопросы проектирования
Глава 7: Как протестировать приложение Blockchain?

  • Подходы к тестированию цепочки блоков
  • Модульное тестирование
  • Тестирование на уровне разработчика
  • Тестирование конфигурации и среды
  • Тестирование нагрузки / производительности
  • Объемные / стресс-тесты
  • Регрессионное тестирование
  • Классификация ошибок приложений
  • Пользовательское нагрузочное тестирование
  • Ключевые вопросы по тестированию архитектуры блокчейна
Глава 8. Сценарии использования блокчейна
  • Реализация блокчейна в реальном мире
  • Обновление 2020: Анализ сценариев использования блокчейна
  • Обновление 2020: шаблоны сценариев использования блокчейна
  • Обновление 2020: будущее блокчейна

Инструктор


Крис Беннетт — главный специалист по обучению в Blockchain Training Alliance и обучил тысячи студентов основам блокчейна, архитектуре, Ethereum и Hyperledger.Крис имеет 20-летний опыт разработки, доставки и консультирования по индивидуальному заказу программного обеспечения. Он видел, что работает, а что нет, когда дело доходит до устранения моделей поведения людей с помощью новых технологий.



Блокчейн и новая архитектура доверия

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

    Джон Сили Браун, соавтор «Социальная жизнь информации» (HBS Press, 2000 и 2017) и Design Unbound — проектирование для появления в мире белой воды (MIT Press, 2018)

    Бывший главный научный сотрудник Xerox Corp.и бывший директор Исследовательского центра в Пало-Альто (PARC)

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

    Виктор Майер-Шенбергер, профессор управления Интернетом

    Оксфордский университет и соавтор книги «Изобретая капитализм в эпоху больших данных

    »
  • В мире, где Blockchain стал новым модным словом в журнале, Werbach взвешенно и вдумчиво описывает возможности, проблемы и лежащие в их основе технические и социальные проблемы.Он использует простые для чтения примеры и объяснения, доступные для новичков, но которые стоит прочитать даже опытным экспертам, чтобы лучше понять это важное явление.

    Джой Ито, директор MIT Media Lab и соучредитель Digital Currency Initiative

    MIT

  • Кто управляет блокчейном? Все, и никто, и юристы тоже. Блокчейн и новая архитектура доверия — это tour de force тур по скрытым слоям власти и политики, которые заставляют блокчейны работать.Вербах приводит убедительные доводы в пользу серьезного отношения к управлению блокчейном.

    Джеймс Гриммельманн, профессор права

    Корнельский технический и юридический факультет

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

    Описание курса

    Краткое содержание курса

    1 — Что такое блокчейн?

  • Система учета
  • Trust
  • Децентрализация
  • Trustless среда
  • 2 — Как работает блокчейн?

  • Объявления
  • Блоки
  • Узлы
  • Объединение в цепочку
  • Проверка
  • Консенсус
  • Масштабируемость
  • Конфиденциальность
  • Хеширование криптографии
  • Цифровые отпечатки пальцев
  • PoW
  • 3 — Типы блокчейнов

  • Public vs Private
  • Open vs closed
  • Smart Contracts
  • Blockchain as History
  • Tokens / Coins
  • Gas
  • 4 — Чем блокчейн отличается от того, что мы имеем сегодня?

  • Децентрализованная
  • Одноранговая архитектура
  • Программное обеспечение против прошивки
  • База данных против цепочки блоков
  • Распределенная база данных или другая технология?
  • Суверенитет данных
  • Групповой консенсус
  • 5 — Каковы варианты использования блокчейна?

  • Примеры использования
  • Валюта
  • Банковские услуги
  • Голосование
  • Медицинская документация
  • Цепочка поставок / цепочка создания стоимости
  • Распространение контента
  • Проверка обновлений программного обеспечения (автомобили, самолеты, поезда и т. Д.)
  • Правоохранительные органы
  • 9000 Записи о праве собственности и праве собственности
  • Социальные сети и онлайн-доверие
  • Долевое владение активами
  • Биллинг кабельного телевидения
  • Высокая отказоустойчивость
  • Защита от DDoS-атак
  • Общедоступный или частный блокчейн?
  • Кто участники?
  • 6 — Как выглядит приложение Blockchain?

  • DApp
  • Напоминает типичное веб-приложение с полным стеком
  • Любые изменения внутреннего состояния и все транзакции записываются в блокчейн
  • Node.js
  • IDE
  • Видимость публичного блокчейна
  • Решения частного блокчейна
  • Оракулы
  • 7 — Как создать приложение Blockchain?

  • Что это решение должно позволить пользователям делать?
  • Будет ли предлагаемое решение уменьшать или устранять проблемы и болевые точки, которые в настоящее время испытывают пользователи?
  • Что это решение должно препятствовать действиям пользователей?
  • Вам нужно решение, готовое к интенсивному использованию в первый день?
  • Улучшена ли идея вашего решения за счет использования блокчейна? Улучшает ли использование блокчейна взаимодействие с конечным пользователем? Если да, то как?
  • Разрабатывал ли ваш бизнес раньше нестандартные программные решения?
  • Какой уровень поддержки вам понадобится?
  • Насколько велико сообщество разработчиков?
  • Согласуется ли ваше видение будущего с видением будущего проекта или платформы?
  • Направлена ​​ли платформа на внесение нового и значительного вклада в пространство разработки или это игра эффективности / затрат?
  • Должно ли решение быть публичным или частным блокчейном?
  • Должно ли решение быть открытым или закрытым блокчейном?
  • Создайте план обновления и изменения контракта!
  • Гибридные решения
  • Денежные обмены?
  • 8 — Как мне разработать приложение Blockchain?

  • Предварительная версия подхода AGILE
  • Определите руководящие принципы заранее
  • Программное обеспечение и встроенное ПО
  • Объявления, а не транзакции!
  • Классы, а не контракты
  • Связывайте контракты для совместного использования функций
  • Используйте вызывающие контракты, чтобы сохранить адрес контракта одним и тем же Применять безблочное решение?
  • Производительность
  • Безопасность
  • Анонимность
  • Безопасность
  • Монолитная и модульная
  • Сэндвич-модель сложности
  • 9 — Как мне протестировать приложение Blockchain?

  • Рекомендуемое время тестирования приложений от 5 до 10 раз
  • Безопасность
  • Сети
  • Фактический план курса может отличаться в зависимости от предлагаемого центра.Свяжитесь с вашим торговым представителем для получения дополнительной информации.

    Для кого это?

    Целевая аудитория

    Технические руководители

    Нет доступной дополнительной информации.

    Бесплатный онлайн-курс: Архитектура блокчейна и примеры использования от Swayam

    неделя

    Лекция

    Тема

    Концепции

    Учитель

    1

    1

    Введение в блокчейн — I (основы)

    1) Что такое блокчейн

    2) Государственные регистры

    3) Блокчейн как публичные реестры

    SC

    2

    Введение в блокчейн — II (История)

    1) Биткойн

    2) Блокчейн 2.0

    3) Смарт-контракты

    SC

    3

    Введение в блокчейн — III (Архитектура)

    1) Блок в цепочке блоков

    2) Транзакции

    3) Распределенный консенсус

    SC

    4

    Введение в блокчейн — IV (концептуализация)

    1) Цепь и самая длинная цепь

    2) Криптовалюта в блокчейн 2.0

    3) Разрешенная модель блокчейна

    SC

    5

    Базовые криптопримитивы — I

    1) Криптографическая хеш-функция

    2) Свойства хеш-функции

    3) Указатель на хэш и дерево Меркла

    SC

    2

    6

    Базовые криптопримитивы — II

    1) Цифровая подпись

    2) Криптография с открытым ключом

    3) Базовая криптовалюта

    SC

    7

    Основы биткойна — I

    1) Создание монет

    2) Платежи и двойные траты

    3) FORTH — предшественник биткойн-скриптинга

    SC

    8

    Основы биткойна — II

    1) Биткойн-скрипты

    2) Биткойн P2P-сеть

    SC

    9

    Основы биткойна — III

    1) Транзакция в сети Биткойн

    2) Блок Майнинг

    3) Блокировка распространения и блокировка реле

    SC

    10

    Распределенный консенсус

    1) Почему консенсус

    2) Распределенный консенсус в открытых средах

    3) Консенсус в сети Биткойн

    SC

    3

    11

    Консенсус в биткойнах — I (Основы)

    1) Биткойн Консенсус

    2) Proof of Work (PoW) — базовое введение

    3) Hashcash PoW

    SC

    12

    Консенсус в биткойнах — II (PoW и не только)

    1) Биткойн PoW

    2) Атаки на PoW и проблема монополии

    3) Подтверждение ставки, подтверждение записи и подтверждение истекшего времени

    SC

    13

    Консенсус в биткойнах — III (Майнеры)

    1) Жизнь биткойн-майнера

    2) Сложность майнинга

    3) Майнинг пул

    SC

    14

    Разрешенный блокчейн — I (основы)

    1) Разрешенная модель и варианты использования

    2) Проблемы проектирования разрешенных блокчейнов

    3) Выполнить контракты

    4) Репликация конечного автомата

    SC

    15

    Разрешенный блокчейн — II (консенсус)

    1) Модели консенсуса для разрешенной цепочки блоков

    2) Распределенный консенсус в закрытой среде

    3) Паксос

    SC

    4

    16

    Разрешенный блокчейн — III (Консенсус RAFT)

    1) RAFT Консенсус

    2) Византийская общая проблема

    SC

    17

    Разрешенный блокчейн — IV (Византийская общая проблема)

    1) Византийская отказоустойчивая система

    2) Алгоритм BFT Лампорта-Шостака-Пиза

    SC

    18

    Разрешенный блокчейн — V (Практическая византийская отказоустойчивость)

    1) BFT через асинхронные системы

    2) Практическая византийская отказоустойчивость

    3) Трехфазная фиксация

    4) Посмотреть изменение

    SC

    19

    Блокчейн для предприятий — Обзор

    1) Концепции и преимущества блокчейна для предприятий

    2) Проект Hyperledger

    PJ

    20

    Компоненты и концепции блокчейна

    1) Актеры в блокчейне

    2) Компоненты в конструкции блокчейна

    3) Главная книга в цепочке блоков

    PJ

    5

    21

    Hyperledger Fabric — поток транзакций

    1) Архитектура фабрики

    2) Поток транзакций в Fabric

    PJ

    22

    Детали Hyperledger Fabric

    1) Заказ услуг

    2) Каналы в Fabric

    3) Узел сети и центр сертификации

    PJ

    23

    Fabric — Управление членством и идентификацией

    1) Сеть организаций и консорциумов

    2) Обеспечение членства

    3) Подписание транзакции

    PJ

    24

    Настройка сети Hyperledger Fabric

    1) Шаги по настройке сети

    2) Политика поддержки

    PJ

    25

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

    Fabric на IBM Blockchain Cloud — I

    1) Настройка сети Blockchain

    2) Изучите сеть блокчейнов как разные организации

    3) Разверните простое приложение в облаке IBM

    PJ

    6

    26

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

    Fabric на IBM Blockchain Cloud — II

    1) Разверните простое приложение в IBM Cloud

    2) Мраморы (передача активов)

    3) Пример кода смарт-контракта, код клиентского SDK

    4) Выполняйте транзакции блокчейна, используя крутой интерфейс!

    PJ

    27

    Fabric Demo, развертывание с нуля — III

    1) Настройте сеть Fabric на вашем ноутбуке или виртуальной машине

    2) Установите и создайте цепной код

    3) Запустите приложение в созданной вами сети

    PJ

    28

    Hyperledger Composer — Разработка приложений

    1) Цели Hyperledger Composer

    2) Ключевые концепции предоставления бизнес-услуг

    3) Ключевые концепции разработки — файлы моделей, списки контроля доступа, процессоры транзакций, определение бизнес-сети

    PJ

    29

    Hyperledger Composer — сетевое администрирование

    1) Ключевые концепции для администраторов

    2) Как композитор сопоставляется с цепным кодом Fabric

    PJ

    30

    Сценарии использования цепочки блоков

    1) Примеры сценариев использования по отраслям

    2) Бизнес-проблемы и участники

    3) Сообщества в сети Blockchain

    PJ

    7

    31

    Блокчейн в финансовых услугах — I (Платежи и безопасная торговля)

    1) Международные платежи

    2) Протоколы Steller и Ripple

    3) Проект Убин

    PJ

    32

    Блокчейн в финансовых услугах — II (комплаенс и ипотека)

    1) Знай своего клиента (KYC)

    2) Согласие на конфиденциальность

    3) Ипотека через блокчейн

    PJ

    33

    Блокчейн в финансовых услугах — III (Финансовая торговля)

    1) Блокчейн включен Торговля

    2) Мы.Торговля — Сеть торгового финансирования

    3) Финансирование цепочки поставок

    PJ

    34

    Революция в мировой торговле

    1) Блокчейн для торговой логистики

    2) Оцифровка мировой торговли

    3) Блокчейн для управления контейнерами

    PJ

    35

    Блокчейн в цепочке поставок — I

    1) Безопасность пищевых продуктов и отслеживание пищевых продуктов

    2) Организация цепочки поставок

    PJ

    8

    36

    Блокчейн в цепочке поставок — II

    1) Эверледжер

    2) Жизненный цикл бриллианта

    3) Решение проблемы мошенничества в цепочке поставок с помощью блокчейна

    PJ

    37

    Блокчейн в других отраслях

    1) Блокчейн в здравоохранении

    2) Блокчейн на энергетических рынках

    3) Блокчейн в СМИ

    PJ

    38

    Блокчейн в правительстве — I (Преимущества)

    1) Блокчейн и правительство

    2) Предотвращение киберпреступности с помощью блокчейна

    3) Государственные сценарии использования

    SC

    39

    Блокчейн в правительстве — II (сценарии использования)

    1) Аудит и соответствие

    2) Блокчейн для обороны

    3) Электронная Эстония: пример из практики

    SC

    40

    Блокчейн в правительстве — III (Цифровая идентификация)

    1) Цифровая идентификация и единый вход (SSO)

    2) Принципы управления цифровой идентификацией

    3) Почему блокчейн

    SC

    9

    41

    Блокчейн в правительстве — IV (Hyperledger Indy)

    1) Indy для управления цифровой идентификацией

    2) Как работает Indy

    SC

    42

    Блокчейн в правительстве — V (налоговые платежи и записи земельной книги)

    1) Блокчейн для налоговых платежей

    2) Блокчейн для управления записями земельной книги

    SC

    43

    Безопасность блокчейна — I (Обзор)

    1) Свойства безопасности

    2) Вопросы безопасности для цепочки блоков

    3) Intel SGX

    PJ

    44

    Безопасность блокчейна — II (контроль членства и доступа в Fabric)

    1) Идентификационные данные и политики

    2) Членство и контроль доступа

    3) Поставщики услуг криптографии блокчейн

    PJ

    45

    Безопасность блокчейна — III (Конфиденциальность в структуре)

    1) Конфиденциальность в системе цепочки блоков

    2) Конфиденциальность через каналы фабрики

    3) Конфиденциальность смарт-контрактов

    PJ

    10

    46

    Безопасность блокчейна — III (Fabric SideDB)

    1) Мотивация SideDB

    2) Обзор SideDB

    PJ

    47

    Исследовательские аспекты — I (Масштабируемость консенсуса)

    1) PoW против консенсуса BFT

    2) Окончательность консенсуса

    3) Масштабируемость консенсуса

    SC

    48

    Исследовательские аспекты — II (Bitcoin-NG)

    1) Справедливость и масштабируемость в консенсусе Накамото

    2) Bitcoin-NG: Принципы работы

    3) Ключевые блоки и микроблоки

    SC

    49

    Исследовательские аспекты -III

    (коллективное подписание)

    1) Полномочия и цифровая подпись

    2) Коллективное подписание (CoSi)

    3) Многоподпись Shnorr и подписи BLS

    SC

    50

    Аспекты исследования — IV (Byzcoin)

    1) Сильная не вероятностная согласованность

    2) BFT над биткойнами — повышение масштабируемости

    3) Дизайн и производительность Byzcoin

    SC

    11

    51

    Исследовательские аспекты — V (Алгоранд)

    1) Сильная синхронизация против слабой синхронизации

    2) Избегание вил

    3) Нейтральность транзакций и эволюция без трения

    SC

    52

    Исследовательские аспекты — VI (отказоустойчивость)

    1) Асинхронные сети как неисправность сети

    2) Архитектура, устойчивая к перекрестным сбоям (XFT)

    3) XPaxos

    SC

    53

    Аспекты исследования — VII (Защищенные многосторонние вычисления)

    1) Многосторонние вычисления (MPC)

    2) Справедливость в MPC

    3) MPC через блокчейн — обеспечение справедливости

    SC

    54

    Блокчейн для науки — I (Блокчейн для больших данных)

    1) Большие данные и большая сеть

    2) Почему блокчейн для больших данных — аспекты приложения

    3) BigChainDB — База данных цепочки блоков

    SC

    55

    Блокчейн для науки — II (Блокчейн и ИИ)

    1) Анализ данных через блокчейн

    2) Логика через сеть Blockchain

    3) Вывод решений через AI

    SC

    12

    56

    Сравнение экосистем — Ethereum

    1) Архитектура и концепции

    2) Смарт-контракты и EVM

    3) Дополнительные / будущие возможности

    PJ

    57

    Сравнение экосистем — инструменты разработки Ethereum и кворум

    1) Инструменты разработки Ethereum

    2) Мотивация и концепции

    3) Архитектура

    4) Обработка транзакций и консенсус

    PJ

    58

    Сравнение экосистем — Corda, часть 1

    1) Основные характеристики

    2) Транзакции

    3) Реестр Corda и смарт-контракты

    PJ

    59

    Сравнение экосистем — Corda, часть 2

    1) Потоки транзакций

    2) Консенсус

    3) Нотариусы и оракулы

    PJ

    60

    Завершение курса

    1) Заключительные замечания

    SC

    Как работает архитектура блокчейна? Базовое понимание блокчейна и его архитектуры.

    Базовое понимание блокчейна

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

    В настоящее время. Использование технологии блокчейн преобладает в финансовом и банковском секторе.

    Технологию блокчейн можно разделить на две части:

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

    1. Публичный блокчейн:

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

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

    • Надежнее, чем в частной сети.

    Недостатки публичного блокчейна

    • Низкая конфиденциальность.
    • Требуются огромные вычислительные мощности и энергия, менее экологичны.

    2. Частный блокчейн

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

    Обновлено: 20.03.2021 — 05:29

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *