Мы собрали дайджест из материалов, посвященных принципам работы блокчейн-технологии и разработке децентрализованных приложений. В него вошли наши собственные статьи и ресурсы по теме, на которые рекомендовали обратить внимание резиденты Hacker News, Quora и Reddit.
В материалах под катом: что лежит в основе механизмов майнинга в биткойн-сети, как устроены деревья Меркла и как написать свое блокчейн-приложение на Java.
Изображение ladislau.girona PD
Книги и исследования
«Изучаем Bitcoin: как разработать открытый блокчейн»
Автор книги — Андреас Антонопулос (Andreas Antonopoulos), консультант по блокчейну для ряда организаций из списка Fortune 500, учредитель нескольких блокчейн-компаний, а также несменный ведущий подкаста Let’s Talk Bitcoin. Он разбирает принципы работы биткоин-сети с технической точки зрения, которая будет интересна разработчикам и архитекторам программного обеспечения. Дополнительно Андреас останавливается на таких технологиях, как Segregated Witness и Lightning Network.
Книгу хвалят за большое количество примеров кода и метких аналогий. «Изучаем Bitcoin» вышла «под грифом» O’Reilly и её можно найти в открытом доступе. Еще Андреас написал аналогичный материал про Ethereum, посвященный созданию смарт-контрактов и децентрализованных приложений (DApp).
«Машина правды: блокчейн и будущее человечества»
Эту книгу написал блокчейн-эксперт Майкл Кейси (Michael Casey), который является ведущим научным сотрудником MIT Media Lab и председателем консультативного совета CoinDesk. Её презентация прошла 20 марта при поддержке Bitfury.
Здесь простыми словами объясняются сложные техничные концепции, являющиеся основой биткоин-сети. При этом основной фокус книги — проблемы, которые препятствуют масштабному распространению распределённых реестров в мире, в частности, сложность масштабирования и необходимость менять доверенные институты, на которые человечество опиралось веками.
«Изучаем блокчейн: о распределенных реестрах, децентрализации и умных контрактах»
Книга о том, как создавать защищенные децентрализованные приложения на базе криптографии с открытым ключом и симметричных криптосистем. Имран Башир (Imran Bashir), разработчик и архитектор ПО, а также специалист по ITSM, пишет о работе с фреймворками Hyperledger и блокчейн-системами инициативы Linux Foundation. Отметим, что у Имрана есть еще одна книга, в которой он сделал упор на работу с Ethereum и создание смарт-контрактов.
«Блокчейн: практическое руководство по разработке технологических и бизнес-решений»
Эту книгу можно считать руководством по созданию надежных и «прозрачных» приложений на блокчейне. Его написала команда технологических экспертов и юристов. Здесь собраны юзкейсы и лучшие практики работы с блокчейн-технологиями в финансовой, государственной и технической сфере. Из книги вы также узнаете, как развернуть блокчейн-систему в облаке и что такое Web 3.0 (и как это работает).
Flare: подход к маршрутизации в Lightning Network
Технология Lightning Network многократно увеличивает пропускную способность биткоин-сети за счет установления прямых платежных каналов между пользователями. Но есть сложность — при большом их количестве выбрать кратчайшее соединение оказывается сложно. Для решения этой проблемы мы в Bitfury предложили алгоритм Flare. Читайте: как он работает, какие данные используются для построения маршрута и как выбирается оптимальный путь.
Автоматическая кластеризация адресов в биткойн-сети
Реальные владельцы биткойн-адресов обычно неизвестны. Но при этом общественность обладает всей информацией о транзакциях в сети. В этом исследовании мы рассказываем, как можно скрыть свои операции с монетами на блокчейне и, наоборот, как при необходимости найти человека, проводившего транзакцию.
Блокчейн и системы ИИ: как они могут помочь развитию медицины
Как блокчейн и системы ИИ способны ускорить проведение медицинских исследований. Исследовательская работа описывает новые подходы к оценке личных медзаписей больных и организации экосистемы здравоохранения в целом.
Статьи
Как это работает: Деревья Меркла в биткойн сети
Что такое деревья Меркла и как они помогают верифицировать транзакции пользователей блокчейн-сети. Покажем, как деревья реализуются (с кодом и схемами), и рассмотрим две альтернативы: префиксное дерево Меркла и механизм HashFusion, предложенный Hewlett Packard.
Изображение Lukas Benc CC
Майнинг в блокчейн-сетях: как он работает
В статье говорим о том, в чем состоит работа майнеров и как с этим связан алгоритм хеширования SHA-256. Разбираем процесс вычисления хеша на схемах и с примерами Python-кода.
Кроме криптовалют: для чего еще используется блокчейн
Криптовалюты и блокчейн часто считают синонимами. Однако применимость технологии выходит далеко за рамки финансовой сферы. Материал о том, где ещё блокчейн находит применение — регистрация прав собственности, хранение медицинских данных и организация электронных правительств — и какие проекты уже развиваются в этих областях.
Что угрожает блокчейн-сетям: рассматриваем атаки и способы защиты
Когда злоумышленник атакует блокчейн-сеть, то он старается вмешаться в процесс установления консенсуса, чтобы начать писать в реестр свои данные и переписывать уже внесенную информацию. Рассказываем, каким образом хакер может повлиять на систему, защищенную механизмом «доказательство работы» (Proof-of-Work), и как «отразить» такую атаку.
Наиболее полное руководство по разработке блокчейнов
Алгоритм из десяти шагов, который поможет стать разработчиком блокчейн-приложений. Автор проходит через все необходимые этапы: от теоретических знаний, которыми должен обладать блокчейн-разработчик, до получения работы в индустрии. Внутри также собрано большое количество ссылок на сторонние источники (в том числе видеолекции), чтобы «подкрепить» процесс обучения.
Как создать свой первый блокчейн на Java
Руководство в нескольких частях. Первая из них посвящена вопросам настройки рабочей среды, созданию простого блокчейна и реализации механизма майнинга Proof-of-Work. Во второй части автор рассказывает, как реализовать простой кошелек и отправить транзакции в блокчейн. По сути, это гайд по созданию своей криптомонеты.
Блокчейн: глубокое погружение
Это подборка ресурсов для разработчиков, которая должна упростить работу с различными блокчейнами. В неё вошли официальные репозитории, тематические треды на Reddit и разного рода документация для Bitcoin, Ethereum, Dash, Lisk, Steem и Ripple.
Статистика: Lightning Network в основной биткоин-сети
Сеть Lightning Network активно развивается: люди уже внедряют её функциональность в отдельные устройства, например кофеварку. В этой статье мы делимся свежей статистикой о работе сети Lightning Network, которую собрала наша команда разработчиков, — сколько узлов сейчас в сети и как долго «живет» установленный канал связи.
Новый чип для майнинга от Bitfury — что нужно знать
На прошлой неделе мы запустили новый ASIC-чип для майнинга Bitfury Clarke. Пять успешных поколений майнинговых чипов предшествовали созданию Bitfury Clarke ASIC, который имеет лучшие эксплуатационные характеристики. Больше о Bitfury Clarke в специальном видео и на сайте.
h2>Видео: конференции и руководства
Встречайте Crystal Analytics: Bitfury Consensus 2018
Запись с конференции Consensus 2018, где всемирный посол Bitfury Марк Тавернер (Marc Taverner) представил новую аналитическую платформу Crystal для отслеживания подозрительных транзакций в блокчейне. Марк рассказывает, каким образом система усложняет «работу» злоумышленников, в частности, создателей вирусов-вымогателей вроде WannaCry.
Beyond the West: Технологии и блокчейн в Африке
Панельная дискуссия на Blockchain Summit 2018 в Марокко. Эксперты блокчейн-индустрии обсуждали, как распределенные реестры могут простимулировать развитие Африканского рынка, который считается одним из наиболее перспективных. В частности, речь шла об организации земельных реестров и систем голосования на базе блокчейна.
Как стать блокчейн-разработчиком
Что нужно знать разработчику, дабы успешно создавать децентрализованные приложения, и где найти необходимые для этого руководства и материалы. Автор канала рассказывает, какую документацию стоит прочесть (например, документ по смарт-контрактам Ethereum) и почему важно владеть JavaScript и ReactJS.
Как разрабатывать блокчейн-приложения на C++
CTO в Ripple и один из создателей XRP-сети Дэвид Шварц (David Schwartz) поведает о трудностях, которые стоят перед разработчиками приложений на базе открытых блокчейнов, и как эти трудности помогает решить C++. Выступление сопровождается слайдами с графиками, схемами и примерами кода.
Работа с Exonum
Первый байндинг для Exonum: почему мы выбрали Java
Ядро нашего фреймворка для разработки блокчейнов Exonum написано на Rust. Чтобы упростить работу с инструментом, мы написали для него байндинг-библиотеку на Java. О причинах этого решения и сложностях реализации задумки говорим в этой статье.
Взгляд на Tokio: как устроен этот асинхронный обработчик событий
Описываем функции компонентов асинхронного обработчика событий Tokio. Поговорим о его архитектуре и компонентах (futures и streams) и расскажем, как все они используются в Exonum.
Краткая история Rust: от хобби до самого популярного ЯП по данным StackOverflow
Где был создан Rust, и кто занимается его разработкой сегодня. Читайте, почему язык назвали Rust, как менялся его синтаксис и почему такие компании, как Mozilla и Dropbox используют этот относительно молодой ЯП в продакшн.
Exonum Documentation
Официальная документация Exonum. Там вы найдете руководство по установке и настройке фреймворка, разбор особенностей архитектуры решения и примеры разработки приложений (сервисов) на его основе.
GitHub: Exonum
Официальный репозиторий Exonum. Внутри: библиотека кода ядра, тестовый фреймворк и сервис конфигурации. Есть пример по созданию своей криптовалюты и демопроект с разработкой Timestamping-сервиса.
Как создать блокчейн-проект на Exonum: краткое руководство
Статью можно использовать в качестве практического руководства по созданию своей криптовалюты с помощью Exonum. По окончании туториала у вас будут два полнофункциональных кошелька, между которыми можно переводить цифровую валюту.
Автор: BitfuryRussia