Сначала вспомним про блокчейн
Блокчейн это популярное название технологии распределенных реестров. Отличается от других подобных, что связывает блоки данных в цепочку используя для этого криптографический хеш. Эту цепочку возможно изменить только при условии соблюдения общего консенсуса, принятого между участниками (узлами) в такой сети.
Проще говоря о технологии распределенных реестров или блокчейне, мы говорим о безопасности данных; такой их организации, где они защищены от внештатного изменения. Обеспечивается эта безопасность с помощью криптографии (данные в сети всегда подписываются, будь это транзакция или блок, а подпись проверяется перед тем как данные будут считаться достоверными), а все остальные компоненты представляют собой что-то более знакомое. Даже тот самый консенсус представляет в большей степени лотерею между участниками, которые выполняет некоторые правила. Выигрывает каждый раунд только один участник, которому выпадает честь отправить блок в сеть и все знают, что он выиграл раунд и принимают этот блок в свою цепочку.
Сетевые возможности протокола это несложно: в нем изначально из конфига, а затем при помощи сообщений от тех узлов к которым удалось подключиться считывается информация (сетевые адреса и всякая мета) и они хранятся в памяти чтобы с ними по очереди синхронизироваться. Количество таких узлов также можно задать в настройках при запуске сетевого ПО (ноды). В мета-эти ноды сообщают информацию о своей загрузке, и тогда зная это остальные соседи стараются меньше приставать к такой ноде.
Давайте попробуем сравнить
Современные СУБД это сложные программы и предназначены для хранения информации, чтобы ее было куда сохранить и где искать потом. Они имеют множество средств для ее защиты, в том числе точки отказа и репликации. Могут работать распределено. В чем же их отличие тогда и откуда такая тяга к БЧ у корпораций.
Скажем кое-какие организации хотят хранить свои данные так, как бы самостоятельно. Они заводят базу данных, любую и благополучно туда их вставляют.
Затем у них появляются партнеры, которые хотят клянчить немного оттуда и вставлять что-нибудь о своих клиентах, продукции и т.д. Тоже не вопрос мы же можем их синхронизировать, скажем, по REST, принцип транзакций прекрасно реализован в большинстве их движков, а принцип ключей (PK, UNIQUE) не позволяет вставить одно и тоже повторно и по-сути решает проблему двойной траты. И это все стандартные системы управления базами данных.
Так зачем же понадобился блокчейн. Поглядывать на него стали из-за сложностей доверия в современных финансовых-процессах, а чуть позже и в производстве. Не доверяют там по-разному, и при всей идеальности современных СУБД им требуются постоянные изменения и доработки. И это в основном и относится к алгоритму консенсуса.
Если посмотреть новости по теме технологии блокчейна, то бьются в своих стартапах над протоколами (скорости и отказоустойчивости) и консенсусе (принципу доверия внутри сети).
При этом нет эталонного консенсуса, в зависимости от решаемых задач выбирают разные.
Конкуренция приводит к тому, что право внесения изменений в общую учетную книгу очень влияет на успешность участника, и всем хочется это сделать первыми (ну или вообще всегда), а это невозможно, должна быть принята только одна копия вносимых изменений иначе все остальные запутаются какую читать.
Вы скажете: почему бы не дать возможность всем по очереди. На самом деле так иногда делают и это способствует отличной производительности, но снижает безопасность. Дело в том что таким образом можно выяснить когда кто вносит изменения и это определенного рода централизует в момент генерации блока нас на ком-то конкретном, а если мы не доверяем ему, или доверяем только некоторым узлам, то уже сами отправители транзакций на внесение изменений будут отсылать их в момент, когда точно знают чья очередь.
С другой стороны это и принцип состязания между майнерами, то есть участниками желающими быть первыми в момент изменения блока. Особенно это актуально для систем с открытыми данными.
Кстати об открытости данных. Поскольку многие СУБД закрыты, то они не могут реализовать принципы доверия и это как бы намекает, что технология должна быть разделена и подходить для работы с любыми базами данных.
Как итог можно сказать, что мы говорим о системе технологий надстраиваемой над существующими базами данных, имеющую открытость и необходимость в постоянных изменениях и доработках всеми желающими.
Если говорить совсем откровенно это желание к идеализации учета данных в условиях конкуренции за эти данные. Некоторого рода гарантии участников сделки к благоприятному исходу своей деятельности.
Сама же по себе технология вносит популярность в электронный документооборот и его модификации к возникающим в процессе усложнения операций в нем.