что такое блокчейн хабр
Blockchain
Данный текст будет являться новой главой для учебного пособия по защите информации кафедры радиотехники и систем управления МФТИ (ГУ). Полностью учебник доступен на github. На хабре я же планирую выкладывать новые «большие» куски, во-первых, чтобы собрать полезные комментарии и замечания, во-вторых, дать сообществу больше обзорного материала по полезным и интересным темам.
Когда у вас есть знания о том, что такое криптографически стойкая хеш-функция, понять, что такое blockchain («цепочка блоков») очень просто. Blockchain – это последовательный набор блоков (или же, в более общем случае, ориентированный граф), каждый следующий блок в котором включает в качестве хешируемой информации значение хеш-функции от предыдущего блока.
Технология blockchain используется для организации журналов транзакций, при этом под транзакцией может пониматься что угодно: финансовая транзакция (перевод между счетами), аудит событий аутентификации и авторизации, записи о выполненных ТО и ТУ автомобилей. При этом событие считается случившимся, если запись о нём включена в журнал.
В таких системах есть три группы действующих лиц:
Основное требование к таким журналам таково:
Тут нужно ответить на вопрос, как в подобных системах защищаются от возможности перегенерации цепочки блоков. Мы рассмотрим три варианта систем:
Централизованный blockchain с доверенным центром
Если у нас есть доверенный центр, то мы просто поручаем ему через определённый промежуток времени (или же через определённый набор транзакций) формировать новый блок, снабжая его не только хеш-суммой, но и своей электронной подписью. Каждый клиент системы имеет возможность проверить, что все блоки в цепочке сгенерированы доверенным центром и никем иным. В предположении, что доверенный центр не скомпрометирован, возможности модификации журнала злоумышленником нет.
Использование технологии blockchain в этом случае является избыточным. Если у нас есть доверенный центр, можно просто обращаться к нему с целью подписать каждую транзакцию, добавив к ней время и порядковый номер. Номер обеспечивает порядок и невозможность добавления (удаления) транзакций из цепочки, электронная подпись доверенного центра – невозможность модификации конкретных транзакций.
Централизованный blockchain с недоверенным центром
Интересен случай, когда выделенный центр не является доверенным. Точнее, не является полностью доверенным. Мы ему доверяем в плане фиксации транзакций в журнале, но хотим быть уверенными, что выделенный центр не перегенерирует всю цепочку блоков, удалив из неё ненужные ему более транзакции или добавив нужные.
Для этого можно использовать, например, следующие два метода.
Децентрализованный blockchain
Наибольший интерес для нас (и – наименьший для компаний, продающих blockchain-решения) представляет децентрализованная система blockchain без выделенных центров генерации блоков. Каждый участник может взять набор транзакций, ожидающих включения в журнал, и сформировать новый блок. Более того, в системах типа BitCoin такой участник (будем его назвать «майнером», от англ. to mine — копать) ещё и получит премию в виде определённой суммы и/или комиссионных от принятых в блок транзакций.
Но нельзя просто так взять и сформировать блок в децентрализованных системах. Надёжность таких систем основывается именно на том, что новый блок нельзя сформировать быстрее (в среднем) чем за определённое время. Например, за 10 минут (BitCoin). Это обеспечивается механизмом, который получил название доказательство работы.
Механизм основывается на следующей идее. Пусть есть криптографически стойкая хэш-функция и задан некоторый параметр
(от англ. target – цель).
, где
— размер выхода хэш-функции в битах. Корректным новым блоком blockchain-сеть будет признавать только такой, значение хэш-суммы которого меньше текущего заданного параметра
. В этом случае алгоритм работы майнера выглядит следующий образом:
Зная суммарную вычислительную мощность blockchain-сети, участники могут договориться о таком механизме изменения параметра , чтобы время генерации нового корректного блока было примерно заданное время. Например, в сети Bitcoin параметр
пересчитывается каждые 2016 блоков таким образом, чтобы среднее время генерации блока было 10 минут. Это позволяет адаптировать сеть к изменению количества участников, их вычислительных мощностей и к появлению новых механизмов вычисления хэш-функций.
Кроме задания параметра можно оперировать другими величинами, так или иначе относящимися к мощности вычислений.
В случае примерно одновременной генерации следующего блока двумя и более майнерами (когда информация о новом блоке публикуется вторым майнером до того, как ему придёт информация о новом блоке от первого) в направленном графе блоков происходит разветвление. Далее каждый из майнеров выбирает один из новых блоков (например – какой первый увидели) и пытается сгенерировать новый блок на основе выбранного, продолжая «ответвление» в графе. В конце-концов одна из двух таких цепочек становится длиннее (та, которую выбрало большее число майнеров), и именно она признаётся основной.
Правда, пользоваться чужими деньгами злоумышленник всё равно не сможет – так как все блоки транзакций проверяются на внутреннюю непротиворечивость и корректность всех включённых в блок транзакций.
Кроме концепции «доказательство работы» используются и другие. Например, в подходе «доказательство доли владения» (англ. proof of stake), используемой в сетях Etherium и EmerCoin, вероятность генерации блока пропорциональна количеству средств на счетах потенциальных создателей нового блока. Это намного более энергоэффективно по сравнению с PoW, и, кроме того, связывает ответственность за надёжность и корректность генерации новых блоков с размером капитала (чем больше у нас средств, тем меньше мы хотим подвергать опасности систему). С другой стороны, это даёт дополнительную мотивацию концентрировать больше капитала в одних руках, что может привести к централизации системы.
Механизм внесения изменений в протокол
Любая система должна развиваться. Но у децентрализованных систем нельзя просто «включить один рубильник» и заставить участников системы работать по новому – иначе систему нельзя назвать полностью децентрализованной. Механизмы и способы внесения изменений могут выглядеть на первый взгляд нетривиально. Например:
Однако созданная технология не лишена недостатков. Существуют оценки, согласно которым использование метода PoW для системы bitcoin приводит к затратам энергии, сравнимой с потреблением электричества целыми городами или странами. Есть проблемы и с поиском консенсуса – сложный механизм внесения изменений, как считают некоторые эксперты, может привести к проблемам роста (например, из-за ограниченности числа транзакций в блоке), и, в будущем, к отказу использования механизма как устаревшего и не отвечающего будущим задачам.
Хотелось бы узнать у сообщества, про какие ещё технологии стоит рассказывать студентам. С одной стороны, им обязательно надо рассказать про базовые вещи — классическую криптографию и криптографию на открытых ключах. Но хочется дать понятие и про современные вещи, которые, возможно, не станут лишним грузом знаний и через пять-десять лет. С текущим содержание учебной программы можно ознакомиться здесь.
Что нам стоит блокчейн построить?
Вся история человечества — это непрерывное избавление от цепей и создание новых, еще более крепких. (Анонимный автор)
Анализируя многочисленные blockchain проекты (Bitshares, Hyperledger, Exonum, Ethereum, Bitcoin и др.), я понимаю, что с технической точки зрения все они построены по одним принципам. Блокчейны напоминают дома, у которых при всем разнообразии конструкций, декора и назначений имеются фундамент, стены, крыша, окна, двери, которые связаны друг с другом определенными способами. И если понять основные принципы проектирования зданий, знать свойства применяемых материалов, то можно определить целевое назначение конкретного дома. В настоящее время с блокчейном возникла ситуация, что все про него слышали, но мало кто понимает архитектуру и принципы работы. Поэтому возникает непонимание для чего и как имеет смысл использовать технологии блокчейна.
В данной статье мы разберем общие для всех блокчейнов свойства и принципы. Далее посмотрим на задачи, которые можно решать с помощью блокчейна и для закрепления материала построим маленький, но настоящий блокчейн на своем виртуальном участке!
Итак, давайте вспомним какие проблемы изначально решил блокчейн.
Уверен, что многие скажут про распределенную, децентрализованную, публичную и неизменяемую базу данных. Но зачем это все было нужно?
Я предпочитаю начинать изучение любой технологии с чтения стандартов, так как именно на них основываются все статьи и книги по исследуемой теме. Но стандарты блокчейна в настоящее время отсутствуют, в ISO созданы только комитеты для их разработки. На текущий момент в каждом публичном блокчейн проекте имеется свой документ White paper, который по сути является техническим заданием. Первый общеизвестный блокчейн проект — это сеть Bitcoin. Идем на официальный сайт сети и смотрим с чего все начиналось.
Задача блокчейна
Итак, задача, которую решил блокчейн в сети пионере Bitcoin — это совершение доверительной передачи собственности на цифровые активы (assets) в недоверительной среде без посредников. Например, в сети Bitcoin цифровой актив — это цифровые монеты bitcoin. И все технические решения Bitcoin и других блокчейнов сводятся к решению этой задачи.
Проблемы, которые решает блокчейн
Предположим некая финансовая организация говорит, что построила сеть по всему миру, с помощью которой можно переводить деньги любому человеку. Поверите ли вы ей? Если эта организация Visa или MasterCard, скорее всего, поверите, а если, условно говоря, AnonymousWorldMoney, наверное, нет. Почему же? А потому, что мы прекрасно знаем, как делаются распределенные системы частными компаниями, с какими целями, и к чему это может привести. Рассмотрим подробнее проблемы таких систем, и как они могут быть решены с применением технологий блокчейна.
Допустим, в условной AnonymousWorldMoney стоят сервера с базами данных, и хорошо, если их будет несколько в разных дата-центрах. Когда отправитель переводит деньги, регистрируется транзакция, которая реплицируется на все сервера, и деньги доходят до получателя.
В идеальном мире такая схема прекрасно работает, в нашем же возникают следующие проблемы:
Как блокчейн решает эти проблемы
Архитектура блокчейна
Составные части блокчейна
Каждый участник может запустить свою ноду с полной копией блокчейна (full node). Полные ноды, которые могут записывать транзакции в блокчейн, называются узлами консенсуса (witness) или майнерами (miner). Полные ноды, которые только проверяют правильность транзакций называются узлами аудита (audit). Легкие клиенты (light clients) не хранят полных копий блокчейна, а взаимодействуют с сетью, используя полные ноды.
Большинство пользователей для совершения транзакций используют именно легких клиентов или web кошельки. Все ноды связаны друг с другом. При таком наборе элементов архитектура сети становится более устойчивой:
Жизненный цикл транзакции
Посмотрим на жизненный цикл транзакции и разберем его по частям:
Технологии блокчейна
Остановимся подробнее на технических решениях и их связях друг с другом.
Идентификация
Каждая блокчейн транзакция должна быть подписана цифровой подписью. Поэтому для совершения транзакции каждый участник должен иметь пару ключей: private / public. Иногда пару ключей называют кошелек (wallet), т.к. ключи однозначно связаны с уникальным цифровым адресом и балансом участника. В реальности ключи и адреса — это просто строки цифр в разных системах счисления. Примеры ключей и адреса кошелька:
Для создания цифровой подписи в блокчейнах используется алгоритм, основанный на эллиптических кривых: Elliptic Curve Digital Signature Algorithm (ECDSA). Для его работы приватный ключ (256 битное число), обычно, берется случайно. Число вариантов ключей составляет 2 в степени 256, поэтому можно говорить о практической невозможности совпадения значений приватных ключей.
Далее, публичный ключ получается из приватного путем умножения его значения на координаты точки, находящейся на эллиптической кривой, в результате чего получаются координаты новой точки этой же кривой. Это действие гарантирует получение пары ключей, пригодной для цифровых подписей транзакций. И наконец адрес кошелька однозначно вычисляется из публичного ключа.
Есть масса статей с подробностями по криптографии, используемой в блокчейне, например: Bitcoin in a nutshell — Cryptography
Приватный ключ должен быть строго секретен и храниться в безопасности. Публичный ключ известен всем. При утере приватного ключа доступ к активу (монетам) восстановить невозможно и деньги будут утеряны навсегда. Поэтому задача надежного хранения приватных ключей крайне актуальна, т.к. это не банк, куда всегда можно прийти с паспортом и восстановить счет. Существует целая индустрия по производству, так называемых, холодных криптокошельков, похожих на флешки:
или можно использовать более надежные способы, как пример, выбивать значение приватного ключа на жетонах:
Транзакции
Подробнее про структуру транзакции можно посмотреть в статье Bitcoin in a nutshell — Transaction. Нам же важно понимать, что каждая транзакция имеет по крайней мере следующие данные:
Далее транзакция подписывается приватным ключом и рассылается (см. подробности по работе протокола Bitcoin in a nutshell-Protocol) всем нодам в блокчейне, которые проверяют транзакции на валидность. Алгоритм проверки транзакции нетривиален и включает два десятка шагов.
Блоки транзакций
Проверив валидность транзакций, ноды формируют из них блоки. Помимо транзакций в блок записывается хеш предыдущего блока, число (счетчик Nonce), и происходит вычисление хеша текущего блока по алгоритму SHA-256. Хеш должен обладать установленным условиям сложности. Например, в сети Bitcoin сложность хеша автоматически меняется раз в 2 недели в зависимости от мощности сети так, чтобы блок генерировался примерно раз в 10 минут. Сложность определятся следующим условием: найденный хеш должен быть меньше заранее заданного числа. Если данное условие не выполняется, то к Nonce прибавляется 1, и работа по вычислению хеша повторяется. Для подбора хеша используется поле Nonce, т.к. это единственные данные в блоке, которые можно изменить, остальные должны оставаться неизменными. Правильный хеш должен иметь определенное число нулей в начале, например, один из реальных хешей:
После успешного нахождения хеша блок и сам найденный хеш записываются в блокчейн следующим блоком. Подробнее по структуру блоков можно посмотреть в статье Bitcoin in a nutshell-Blockchain, а ниже приведу упрощенную схему:
Блокчейн начинается с блока, у которого еще нет хеша предыдущего блока. Такой блок в блокчейне один и имеет собственное название Genesis block. У остальных блоков одинаковая структура и отличаются они только числом транзакций. Реальные транзакции и блоки создающиеся в настоящее время в Bitcoin или Ethereum можно смотреть в Block Explorer.
Размер блоков в Bitcoin ограничен 1Мб и при минимальном объеме информации в транзакции около 200 байт, максимально в блоке может быть около 6000 транзакций. Отсюда, кстати, и следует производительность Bitcoin, над которой все смеются: блок генерируется примерно раз в 10 мин * 60 сек = 600 сек, что и дает формальную производительность около 10 TPS. Хотя на самом деле — это не производительность, а сознательно реализованный алгоритм работы. В Ethereum для конкуренции просто сделали время генерации блока 15 сек. и производительность формально взлетела. Поэтому в блокчейнах, использующих PoW в качестве консенсуса вообще бессмысленно сравнивать производительность, т.к. она напрямую зависит от сложности вычисления кеша, которую можно назначить любую.
Форки
А что происходит, если, например, несколько узлов нашли хеши удовлетворяющие условиям сложности, но разные по значению (иными словами, пришли к разным консенсусам) и записали блоки в блокчейн? Давайте посмотрим, как блокчейн защищается от данной ситуации. В этом случае происходит, так называемый, форк (‘вилка’), и блокчейн имеет две версии цепочки:
Что происходит далее? Далее часть сети начинает работать над блоком N+2 от одной цепочки, а часть от другой:
Какой-то из этих блоков будет найден раньше и отправлен в блокчейн и тогда по правилам блокчейн должен будет переключиться на более длинную цепочку и отменить все транзакции из альтернативного блока:
При этом, может сложиться ситуация, когда транзакция участника находилась только в одном из блоков форка, который и был отменен. Поэтому, чтобы быть уверенным, что нужная транзакция записалась в блокчейн, есть общая рекомендация — прежде чем доверять транзакции надо подождать пока следующие несколько блоков не будут добавлены в блокчейн. Рекомендации, сколько блоков ждать для разных блокчейнов различаются. Например, для сети Bitcoin минимум — это 2 блока, максимум 6.
Такая же картина с форком блоков будет наблюдаться и при, так называемой, атаке 51% — это когда группа майнеров будет пытаться вырастить альтернативную цепочку блоков, добиваясь отмены цепочки cо своими мошенническими транзакциями. Хотя в настоящее время, вместо мошенничества, выгоднее тратить свои мощности на честный майнинг.
Консенсус
Для записи блока в блокчейн сеть должна прийти к консенсусу. Давайте вспомним, задачу достижения консенсуса в компьютерных сетях связи. Проблема формулируется, как задача византийских генералов BFT (Byzantine fault tolerance). Опуская живописное описание проблем византийской армии, задачу можно сформулировать так: как узлам сети прийти к общему результату, если часть узлов сети могут сознательно их искажать. Существующие алгоритмы решения задачи BFT показывают, что сеть может функционировать правильно, если мошенников меньше 1/3. Почему в сети Bitcoin не был применен консенсус BFT? Зачем нужно было использовать PoW? Есть несколько причин:
Консенсус PoS основан на выборе узла, который может записать блок с транзакциями в блокчейн в зависимости от количества средств на счету, вернее, не на счету, а в залоге, Т.е. чем у тебя больше средств в залоге, тем с большей вероятностью сеть выберет твой узел для записи блока. Залог не возвратится, если блок окажется невалидным. Таким образом реализована защита от мошенничества. Есть следующие вариации PoS:
Надежность и модели развертывания блокчейнов
Устойчивость Public или другое название Permissionless blockchain достигается тем, что каждый может подключиться и просмотреть информацию или даже подключить свой узел, а доверие строится на консенсусе PoW.
Private или Private Permissioned blockchain. В этих блокчейнах только определенная группа участников (организаций или людей) имеет доступ к информации. Такие блокчейны строят организации с целью увеличения общей выгоды или эффективности. Их надежность обеспечивается общими целями участников и алгоритмами консенсуса PoS и BFT.
Существуют Consortium или Public Permissioned blockchain. Это такие блокчейны, к которым каждый может подключиться для просмотра, но добавлять информацию или подключить свой узел участник может только с разрешения других участников. Такие блокчейны строят организации с целью повышения доверия со стороны заказчиков или потребителей продукции или общества в целом. Здесь надежность также достигается присутствием доверия между участниками и теми же алгоритмами консенсуса PoS и BFT.
Smart Contracts
В блокчейны, реализованные после Bitcoin, в той или степени добавлена возможность выполнения смарт-контрактов. По сути смарт-контракт — это транзакция, в которой помещен программный код для выполнения. Смарт-контракты в сети Ethereum выполняются в EVM (Ethereum Virtual Machine). Для начала выполнения смарт-контракта его надо явно запустить другой транзакцией, или должно выполниться предусловия для выполнения. Результаты выполнения смарт-контракта также запишутся в блокчейн. Получение данных извне блокчейна возможно, но крайне ограничено.
Какую бизнес логику можно реализовать с помощью смарт-контракта? На самом деле не так уж много, например проверка условий по данным из блокчейна, изменение собственников цифровых активов в зависимости от этих условий, запись данных в постоянное хранилище внутри блокчейна. Реализуется логика на специальном языке высокого уровня Solidity.
Классическим примером функциональности, которую реализуют с использованием смарт-контрактов — это выпуск токенов для проведения ICO. Например, мной был реализован смарт-контракт на выпуск скромных 500 000 000 AlexToken. По ссылке в Etherscan находится
Больше подробностей про смарт-контракты можно узнать в статье: Что такое смарт-контракты в Ethereum.
Заключение
Мы перечислили технологии на которых построены современные блокчейны и как они связаны друг с другом. Теперь давайте сформулируем, какие задачи можно решить с помощью блокчейна, а решения каких будет, в лучшем случае, неэффективно. Итак, использование блокчейна не обязательно, если:
«C чем это едят»: что такое блокчейн
Блокчейн — это многогранная, молодая и набирающая популярность технология. Её многогранность в первую очередь обуславливается тем, что она стоит на пересечении сразу нескольких научных дисциплин и сфер деятельности.
Например, распределенных вычислений, макроэкономики и даже теории игр — методы теории игр находят широкое применение в математическом аппарате криптовалют, стимулируя различные действия участников.
В сегодняшнем материале мы посмотрим, что же такое блокчейн, затронем особенности его работы и совершим небольшой экскурс в историю.
Блокчейн представляет собой распределенную учетную книгу записей о событиях в цифровом мире. Ключевой составляющей блокчейна является журнал транзакций, а сами транзакции — это единственный способ изменить состояние реестра.
Транзакция может выполниться либо до конца, либо не выполниться никак («зависание» операции в промежуточном состоянии недопустимо). При этом записи в журнал транзакций могут вноситься только с согласия большинства участников сети.
Важной особенностью журнала транзакций в блокчейне является его неизменность. Это свойство означает, что нельзя незаметно удалить транзакцию из журнала или добавить новую в его середину.
Свойство неизменности достигается за счет приемов криптографии, а не за счет доверия к организации или людям. Два простейших криптографических алгоритма, используемых в блокчейне, — это хеш-функции и электронные подписи, обеспечивающие целостность транзакций и отвечающие за авторизацию.
Хотя блокчейн и является распределенной системой, а формировать транзакции может каждый узел, это не означает, что все участники блокчейн-сети равноправны — почти в любой реализации этой технологии введено распределение ролей на валидаторов (участников, пишущих транзакции в журнал), аудиторов и легких клиентов. Причем, такое разделение справедливо не только для приватных блокчейнов, но и для открытых блокчейнов, например биткойна.
С глобальной точки зрения, блокчейн представляет собой сеть для обработки транзакций с набором правил («протокол»), следуя которым участники могут прийти к общему видению журнала транзакций и установить состояние сети в определенный момент времени. При этом блокчейн децентрализован: даже если существенная часть узлов выпадет из работы на продолжительное время или будет взломана, система все равно продолжит работать.
/ Сеть продолжит работу, даже если часть узлов будет взломана
Децентрализованная, открытая и математически обоснованная природа блокчейна позволяет людям и организациям минимизировать риски взаимодействия между собой и проводить P2P-транзакции, исключая посредников. Еще это положительно сказывается на безопасности.
Классические хакерские атаки, которые способны нанести урон крупным централизованным банковским системам, оказываются нереализуемыми, или во всяком случае мгновенно обнаружимыми, в блокчейн-среде.
Если злоумышленник захочет взломать определенный блок в цепи, то ему придется взломать и все предшествующие ему блоки. При этом модифицировать придется все журналы сети, количество которых может достигать тысяч или даже миллионов (если брать в расчет легкие клиенты).
/ Нельзя изменить историю транзакций, не сделав некорректными все последующие блоки, распределенные по сети
Далее, мы в общих чертах рассмотрим, как работает блокчейн биткойна и как происходит обработка блоков. Чтобы отслеживать все проводимые транзакции в сети, они объединяются в блоки.
Отметим, что блок представляет собой набор цифровых транзакций, которые были сформированы за последние 10 минут (однако стоит добавить, что включение зависит от комиссии в транзакциях и других параметров, поэтому в блок могут входить не все транзакции за последние N минут).
Заголовок блока включает в себя свой хеш, хеш предыдущего блока, хеши транзакций и дополнительную служебную информацию. В системе биткойн первой транзакцией в блоке всегда указывается получение комиссии, которая станет наградой майнеру, решившему блок.
При решении блока транзакций майнеры вычисляют его хеш. Он представляет собой случайную последовательность цифр и букв и является гарантией того, что если в блоке данных изменится хотя бы один бит, каждый узел быстро сможет узнать о попытке фальсификации истории транзакций. Блокчейн биткойна использует алгоритм шифрования SHA-256.
Созданный блок будет принят остальными участниками сети, если числовое значение хеша заголовка равно или ниже определенного числа, величина которого периодически корректируется. Уровень сложности адаптируется к суммарной вычислительной мощности майнеров. Это осуществляется путем обновления порогового значения каждые 2016 блоков, что происходит примерно раз в две недели.
Так как результат хеширования (функции SHA-256) необратим, алгоритма получения желаемого результата не существует — эта операция выполняется случайным перебором. Обычно требуется большое количество пересчетов.
Когда вариант найден, узел рассылает полученный блок другим подключенным узлам, которые проверяют его. Если ошибок нет, то блок считается добавленным в цепочку, а следующий блок включает в свой заголовок его хеш. Таким образом, цепочка блоков содержит историю владения, с которой можно ознакомиться, например, на специализированных сайтах.
Немного истории
Предпосылки для зарождения блокчейна были заложены еще 20–30 лет назад. Этому способствовало появление связанных штампов времени (англ. linked timestamping) — сбора транзакций в блоки и связывания их при помощи хеш-функций, а также распределенных вычислений — принципов построения сетей, устойчивых к падениям и злонамеренному поведению узлов.
Не менее важную роль в этом сыграло появление электронных денег, когда знаменитый криптограф Дэвид Чаум (David Chaum) запустил первое практическое приложение — DigiCash (оно, правда, не получило широкого распространения, в отличие от биткойна).
Первым блокчейном считается криптовалюта биткойн, которая и поныне остается самым популярным блокчейном по экономическим и техническим показателям.
Начало технологии заложил некто Сатоши Накамото (Satoshi Nakamoto), опубликовавший в 2008 году статью о принципах работы биткойна. Сам блокчейн биткойна был заложен в январе 2009 года.
Биткойн уверенно рос в популярности и привел к появлению альтернативных блокчейнов. Альтернативы начала 2010-х (например, Litecoin) строились на основании кода биткойна и мало чем от него отличались. Затем появились криптовалюты с совершенно новой функциональностью. Примером может служить конфиденциальность платежей для Monero и zCash).
К блокчейну весьма активно присматриваются банки. Например, осенью 2016 года Bank of America и Microsoft заявили о разработке финансовой блокчейн-платформы.
В то же время состоялась первая реальная сделка с реальными денежными средствами — израильская компания Wave, банк Британии Barclays и ирландский производитель молочной продукции Ornua провели аккредитив на 100 тыс. долларов. Применение блокчейн-технологии позволило сократить время проведения операции с нескольких недель до четырех часов.
В России блокчейн также находит применение. 21 декабря прошлого года сделку-аккредитив через блокчейн провели «Альфа-Банк» и S7, а ЦБ РФ совместно с крупными банками страны реализовали платформу «Мастерчейн», целью которой является повышение эффективности существующих финансовых систем.
По данным финансово-технологической консультационной фирмы Aite, в 2015 году мировые банки потратили порядка 75 млн долларов на блокчейн-технологии. К 2019 году эта цифра обещает вырасти до 400 млн долларов.
Более того, появилась возможность использовать блокчейн не только для реализации электронных денег, но и для выполнения произвольных распределенных вычислений (смарт-контракты). Идея в том, что за счет выполнения логики на тысячах узлов к ней образуется доверие, основанное на математических законах.
Такие возможности открыли дорогу блокчейну в корпоративную среду. ИТ-гиганты вроде IBM, Intel и Microsoft начали внедрять технологию в свои продукты. Также создаются внутриотраслевые и межотраслевые консорциумы (R3, Hyperledger, PTDL Group), занимающиеся блокчейном и распределенными реестрами.
На технологию обратили внимание и исследователи, которые видят потенциал в различных сферах деятельности: финансовой сфере, здравоохранении, интернете вещей. Появляются все новые и новые игроки, стремящиеся популяризовать использование блокчейна, например, парламент ЕС задумался о реализации выборов в органы государственной власти с его помощью.
Можно с уверенностью сказать, что новые проекты на блокчейне будут основываться на его главных преимуществах — открытости, защищенности, безопасности. Поэтому блокчейн станет хорошим подспорьем для любых сервисов, где пользователей волнуют проблемы мошенничества и сохранности персональных данных.