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

Описание книги Книга познакомит вас с теоретическими и практическими аспектами технологии блокчейн. Углубленно рассмотрены архитектура блокчейна, децентрализация, симметричное шифрование и шифрование с открытым ключом. Описаны смарт-контракты и различные блокчейн-платформы, в частности Bitcoin, Ethereum, Hyperledger Fabric. Также уделено внимание инструментам разработки и фреймворкам для работы с децентрализованными приложениями. Издание будет полезно в первую очередь разработчикам, желающим использовать мощь распределенных систем в своей работеКнига “Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты” (автор Имран Башир) познакомит вас с теоретическими и практическими аспектами технологии блокчейн. В книге подробно рассмотрены архитектура блокчейна, децентрализация, симметричное шифрование и шифрование с открытым ключом. Описаны смарт-контракты и различные блокчейн-платформы, в частности Bitcoin, Ethereum, Hyperledger Fabric. Также уделено внимание инструментам разработки и фреймворкам для работы с децентрализованными приложениями.

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

Скачать в формате PDF

Содержание книги “Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты”

Над книгой работали.

Предисловие.

Глава 1. Блокчейн. Курс молодого бойца.

Развитие технологии блокчейн ;

Распределенные системы;

История блокчейна и валюты биткойн:

Электронные деньги;

Блокчейн:

  • Определение блокчейна;

Общие элементы блокчейна:

  • Как устроен блокчейн;
  • Как в блокчейне накапливаются блоки;

Достоинства и недостатки блокчейна;

Уровни блокчейновой технологии;

Возможности блокчейна;

Типы блокчейна:

Распределенные реестры;

Технология распределенных реестров;

Публичные блокчейны. Приватные блокчейны:

  • Полуприватные блокчейны;
  • Сайдчейны;
  • Закрытый распределенный реестр;

Разделяемый реестр;

Полностью приватные и проприетарные блокчейны;

Токенизированные блокчейны;

Нетокенизированые блокчейны.

Консенсус:

Механизм консенсуса;

Типы механизмов консенсуса;

Консенсус в блокчейне;

САР-теорема и блокчейн.

Заключение.

Глава 2. Децентрали

Децентрализация с помощью блокчейна.

Методы децентрализации:

Избавление от посредников.

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

Пути децентрализации:

Как происходит децентрализация;

Пример использования критериев децентрализации.

Блокчейн и полная децентрализация экосистемы

Хранилище данных.

Коммуникация.

Вычислительная мощность и децентрализация

Смарт-контракты:

Децентрализованные организации:

Децентрализованные автономные организации.

Децентрализованные автономные корпорации.

Децентрализованные автономные общества.

Децентрализованные приложения.

Требования к децентрализованным приложениям.

Операции, проводимые лецентрализованными приложениями.

  • Примеры ДП.

Платформы для децентрализации:

Ethereum.

MaidSafe.

Lisk.

Заключение

Глава 3. Симметричное шифрование

Работа с утилитой командной строки ОpenSSL.

Введение.

Математика

  • Множество.
  • Группа.
  • Поле
  • Конечное поле.
  • Порядок.
  • Абелева группа.
  • Простые поля.
  • Кольцо.
  • Циклическая группа.
  • Модульная арифметика.

Криптография

Конфиденциальность

Целостность.

  • Аутентификация. Аутентификация сущности.
  • Аутентификация происхождения данных.

Неотказуемость.

Подотчетность.

Базовые элементы криптографии.

Симметричная криптография:

  • Потоковые шифры.
  • Блочные шифры

Стандарт шифрования данных (DES).

Стандарт шифрования AES.

  • Как работает AES

Заключение.

Глава 4. Шифрование с открытым ключом

Асимметричное шифрование.

Целочисленная факторизация;

Дискретное логарифмирование;

Эллиптические кривые;

Открытые и закрытые ключи

Система RSA:

  • Шифрование и дешифрование с помощью RSA.
  • Эллиптическая криптография.

Проблема дискретного логарифмирования в ЕСC:

  • RSA с использованием OpenSSL;
  • Пара ключей в RSA: открытый и закрытый ключи;
  • Шифрование и дешифрование;
  • ECC с использованием OpenSSL.

Функции хеширования:

  • Сжатие данных случайной длины и представление их в форме установленного размера;
  • Простота вычислений;
  • Вычислительная неразрешимость;
  • Вторичная числительная неразрешимость;
  • Устойчивость к коллизиям;
  • Резюме сообщения;
  • Алгоритмы безопасного хеширования;
  • Деревья Меркла;
  • Деревья Patricia;
  • Распределенные хеш-таблицы (DHT)
  • Цифровые подписи.

Алгоритм цифровой подписи RSA:

  • Подписать и зашифровать.
  • Зашифровать и подписать

Алгоритм ECDSA:

  • Как создать цифровую подпись в ОреSSL;
  • ЕСDSA при использовании OpenSSL;
  • Гомоморфное шифрование Алгоритм Signcryption;
  • Доказательства с нулевым разглашением;
  • Слепые подписи;
  • Схемы кодирования;

Финансовые рынки и торговля.

Торговля;

Обмен;

  • Ордеры и их свойства.
  • Системы электронной доставки и управления ордерами.
  • Атрибуты сделки.
  • Базовый финансовый инструмент.
  • Основные атрибуты.
  • Экономические атрибуты.
  • Атрибуты продажи.
  • Контрагент.

Жизненный цикл сделки.

Торговля на опережение.

Рыночные манипуляции.

Заключение

Глава 5. Знакомство с биткойном

Биткойн

Определение биткойна;

Биткойн – взгляд с высоты птичьего полета;

Отправка платежа другому пользователю;

Цифровые ключи и адреса.

Закрытые кли Bitcoin;

Открытые ключи и Bitcoin;

Адреса в Bitcoin:

  • Кодирование Base58Check.
  • Косметические адреса.

Транзакции

Цикл жизни транзакции:

  • Комиссия транзакций.
  • Пулы транзакций.

Структура данных транзакции:

  • Метаданные.
  • Вводы.
  • Выводы.
  • Верификация.
  • Скриптовый язык.
  • Распространенные опкоды.

Типы транзакций

  • Транзакции Coinbase.
  • Контракты.

Верификация транзакций.

  • Гибкость транзакции.

Блокчейн:

Структура блока;

Структура заголовка блока;

Блок генезиса.

Майнинг:

Задачи майнеров;

Награды майнинга;

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

Алгоритм майнинга;

Частота хеширования;

Системы майнинга:

  • Центральный процессор;
  • Графический процессор
  • FPGA.
  • ASIC.

Майнинг-пулы.

Заключение

Глава 6. Сеть и платежи Bitcoin

Сеть Bitcoin.

Кошельки.

Недетерминированные кошельки;

Детерминированные кошельки;

Иерархические детерминированные кошельки;

Мозговые кошельки;

Бумажные кошельки;

Аппаратные кошельки;

Онлайн-кошельки;

Мобильные кошельки:

  • Мобильный кошелек faxx.

Платежи биткойнами;

Инновации в Bitcoin.

  • Предложения по улучшению Bitcoin (BIP)
  • Продвинутые протоколы;
  • Сегрегированный свидетель (Segwit).
  • Bitcoin Cash.
  • Bitcoin Unlimited.
  • Bitcoin Gold.
  • Инвестирование в биткойны и продажа биткойнов.

Заключение.

Глава 7. Клиенты и API Bitcoin.

Установка Bitcoin:

Типы основных клиентов Bitcoin

  • Bitcoind.
  • Bitcoin-cli.
  • Bitcoin-gt.

Настройка узла Bitcoin;

Настройка исходного кода;

Настройка файла bitcoin.conf;

Запуск узла в тестовой сети.

Запуск узла в режиме regtest.

Экспериментирование с Bitcoin-cli.

Программирование Bitcoin и интерфейс командной строки.

Заключение:

Глава 8. Альтернативные криптовалюты

Теоретические основы.

Альтернативы Proof of Work:

  • Доказательство хранения.
  • Подтверждение доли владения (POS).

Различные типы долей

  • Доказательство возраста монеты;
  • Доказательство депозита (POD);
  • Доказательство уничтожения (РоB);
  • Доказательство активности (PDA);
  • Нетрадиционные задачи.

Настройка сложности и алгоритм перенаправления:

  • Гравитационный колодец Кимото (KGW).
  • Dark Gravity Wave.
  • DigiShield..
  • MIDAS

Ограничения Bitcoin.

Приватность и анонимность.

  • Протоколы смешивания.
  • Сторонние протоколы смешивания.
  • Неотъемлемая анонимность.

Расширенные протоколы на Bitcoin.

  • Цветные монеты.
  • Контрагент.

Разработка альтернативных криптовалют:

  • Алгоритмы консенсуса.
  • Алгоритмы хеширования.
  • Алгоритмы настройки сложности.
  • Время между блоками.
  • Награды блоков.
  • Частота разделения награды.
  • Размер блока и размер транзакции.
  • Частота процента.
  • Возраст монеты.
  • Общее число монет.

Namecoin

Обмен Namecoin;

Получение Namecoin;

Генерирование записей Namecoin.

Litecoin.

Primecoin.

Обмен Primecoin

Руководство по майнингу.

Zcash.

Обмен Zcash.

Руководство по майнингу

  • Генерирование адресов.
  • Майнинг на графическом адаптере.
  • Первичное предложение монет (Initial Coin Offerings-ICO).
  • Жетоны ERC20э

Заключение.

Глава 9. Смарт-контракты

История.

Определение.

Рикардианские контракты.

Шаблоны смарт-контрактов;

Оракулы;

Умные оракулы;

Запуск смарт-контрактов в блокчейне;

DAO;

Заключение.

Глава 10. Знакомство с Ethereum.

Введение.

Желтый документ.

  • Полезные математические символы.

Блокчейн Ethereum.

Ethereum с высоты птичьего полета

Сеть Ethereum:

  • Mainnet.
  • Testnet.
  • Частная сеть.

Компоненты экосистемы Ethereum.

Ключи и адреса;

Учетные записи;

  • Виды учетных записей;

Транзакции и сообщения.

  • Транзакция с созданием контракта.
  • Транзакция с вызовом сообщения.
  • Сообщения.
  • Вызовы.
  • Проверка и выполнение транзакций.
  • Промежуточное состояние транзакции.
  • Хранение состояния в блокчейне Ethereum.
  • Глобальное состояние
  • Состояние учетной записи.
  • Квитанции.

Криптовалюта Ether: токены EТC и ЕТН

Виртуальная машина Ethereum:

  • Среда выполнения.
  • Состояние виртуальной машины.
  • Функция итератора.

Смарт-контракты.

  • Стандартные контракты.

Заключение.

Глава 11. Ethereum. Продолжение

Языки программирования.

  • Байт-код среды выполнения:
  • Команды и их назначение.
  • Арифметические опера.
  • Логические операции.
  • Криптографические операции.
  • Информация об окружении.
  • Информации о блоке.
  • Операции со стеком, памятью, хранилищем и потоком выполнения.
  • Операции сохранения.
  • Операции дублирования.
  • Операции замены.
  • Журнальные операции.
  • Системные операции.

Блоки и блокчейн:

  • Начальный блок.
  • Механизм проверки блоков.
  • Сложность блока.
  • Газ.

Планирование комиссии:

  • Ответвления в блокчейне.
  • Узлы и майнеры.

Ethash:

  • Кошельки и клиентские программы
  • API интерфейсы, инструменты и децентрализованные приложения.

Вспомогательные протоколы.

  • Whisper.
  • Swarm.

Масштабируемость, безопасность и другие вызовы.

Торговля и инвестиции.

Заключение

Глава 12. Среда разработки Ethereum

Тестовые сети.

Подготовка частной сети:

Идентификатор сети;

Файл с начальным блоком;

Директория с данными;

  • Флаги и их на значение.
  • Статические узлы.

Запуск частной сети.

Запуск клиента Mist в частной сети.

Развертывание контрактов с помощью Mist.

Обозреватель блоков для частных локальных сетей Ethereum

Заключение

Глава 13. Инструменты разработки и фреймворки

Языки программирования.

Компиляторы:

  • Компилятор Solidity (solc);
  • Интегрированные среды разработки.
  • Инструменты и библиотеки;
  • Ganache;
  • MetaMask;
  • Truffle;
  • Разработка и развертывание контрактов.

Язык программирования Solidity

Типы:

  • Примитивные типы;
  • Литералы;
  • Перечисления;
  • Функции;
  • Ссылочные типы;
  • Глобальные переменные;
  • Управляющие конструкции;
  • Структура исходного файла Solidity

Заключение

Глава 14. Введение в Web3

Web3.

Развертывание контрактов;

POST-запросы;

Клиентская сторона на основе HTML и JavaScript:

  • Установка web3.js.

Фреймворки для разработки:

  • Truffle.
  • Оракулы.
  • Развертывание в децентрализованном хранилище с использованием IPFS.
  • Распределенные журналы.

Заключение

Tneea 15. Hyperledger.

Проекты, входящие в состав Нурerledger.

  • Fabric;
  • Sawtooth Lake;
  • Iroha;
  • Burrow;
  • Indy;
  • Explorer;
  • Cello;
  • Composer;
  • Quilt;

Hyperledger как протокол:

Эталонная архитектура.

Hyperledger Fabric: требования и архитектурные решения:

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

Fabric:

Hyperledger Fabric:

  • Сервисы членства;
  • Сервисы блокчейна;
  • Сервисы консенсуса;
  • Распределенный журнал.

Sawtooth Lake:

  • POET;
  • Семейства транзакций;
  • Консенсус в Sawtooth;
  • Среда разработки для Sawtooth Lake.

Corda

  • Архитектура.
  • Компоненты.
  • Среда разработки для Corda.

Заключение

Глава 16. Альтернативные блокчейны

Блокчейны.

Kadena;

Ripple;

  • Транзакции.
  • Interledger.

Stellar;

Rootstock:

  • Сайдчейн.
  • Драйвчейн.

Quorum:

  • Менеджер транзакций.
  • Криптоанклав.
  • Механизм ОuorumChain.
  • Менеджер сети.

 

Tezos.

Storj.

MaidSafe.

BigchainDB.

MultiChain.

Tendermint:

  • Ядро Tendermint;
  • Протокол сокета Tendermint (TMSP);

Платформы и фреймворки.

Eris.

Заключение.

Глава 17. Блокчейн – вне сферы валют

Интернет вещей.

Уровень физических объектов;

Уровень устройства;

Сетевой уровень;

Уровень управления;

Прикладной уровень;

Эксперимент блокчейна интернета вещей;

  • Настройка первого узла.
  • Настройка узла Raspberry Pi.
  • Цепь.

Государственные услуги:

  • Пограничный контроль.
  • Голосование.
  • Идентификация населения (ID карты).
  • Прочие услуги.

Здравоохранение;

Финансы

  • Страхование.
  • Расчет после сделок.
  • Предотвращение финансовых преступлений.
  • Медиа.

Заключение

Глава 18. Масштабируемость и другие вызовы

Масштабируемость:

Плоскость сети;

Плоскость консенсуса;

Плоскость хранения;

Плоскость вида;

Увеличение размера блока;

 

Уменьшение интервала блока;

Инвертируемые таблицы поиска Bloom;

Шардинг;

Каналы состояния;

Приватный блокчейн;

Доказательство доли владения;

Сайдчейны:

  • Сабчейны.
  • Цепи-деревья.
  • Распространение блоков.
  • Bitcoin-NG.
  • Plasma.

Приватность

Обфускация неразличимости;

Гомоморфное шифрование;

Доказательства с нулевым разглашением;

Каналы состояния;

Безопасное многостороннее вычисление;

Применение аппаратного обеспечения для конфиденциальности;

CoinJoin;

Конфиденциальные транзакции;

MimbleWimble;

Безопасность:

  • Безопасность смарт-контрактов

Заключение.

Глава 19. Текущая и дальнейшая перспективы Блокчейны специфических приложений (ASBC)

Новые тенденции:

Блокчейны специфических приложений (ASBC);

Корпоративные блокчейны;

Приватные блокчейны;

Стартапы;

Высокий исследовательский интерес;

Стандартизация;

Улучшения;

Реальные реализации;

Консорциумы;

Ответы на технические вызовы;

Сближение;

Образование в сфере блокчейн технологий;

Трудоустройство;

Исследования и криптографии;

Новые языки программирования;

Аппаратные исследования и разработка;

Исследования в формальных методах и безопасности;

Альтернативы блокчейнам;

Взаимодействие сетей;

Блокчейн как сервис;

Действия по уменьшению расхода электричества.

Другие вызовы:

Регулирование;

Темная сторона.

Исследования блокчейна:

Смарт-контракты.

Проблемы централизации.

Ограничения в криптографических функциях

Алгоритмы консенсуса.

Масштабируемость.

Код обфускации.

Примечательные проекты

Zcash на Ethereum.

CollCo.

Cello

Qtum.

Bitcoin-NG

Solidus.

Hawk.

Town-Crier.

SETLCoin.

TEEChan.

Falcon.

Bletchley.

Casper.

Прочие инструменты

Расширение Solidity для Microsoft Visual Studio.

MetaMask.

Stratis.

Embark

DAPPLE

Meteor.

uPort.

INFURA.

Сближение с другими отраслями.

Будущее.

Заключение.

Предметный указатель