Дискуссия вокруг блокчейна и традиционных баз данных ведётся уже давно и активно. Самый главный вопрос: какая же из двух разных систем лучше?
Каждый блокчейн является распределенным реестром, но не каждый распределенный реестр является блокчейном. Каждая из этих концепций требует децентрализации и консенсуса среди узлов. Тем не менее, блокчейн организует данные в блоках и обновляет записи, используя структуру только для добавления. Распределенные «бухгалтерские книги» и целенаправленные блоки — это концептуальные прорывы в управлении информацией.
Но для начала необходимо узнать о двух видах блокчейна и разницу между ними.
Private blockchain - блочная цепочка, участники которой имеют разные уровни власти, основанные на протоколах. Это означает, что владельцы сети имеют контроль над теми участниками, кто участвует в сети, они имеют возможность добавлять или удалять участников, уменьшать уровень их власти, управлять теми, кто может участвовать в консенсусном процессе блочной цепи.
Публичный блокчейн работает наоборот, он является открытым, все участники имеют одинаковые права, информация в таком блокчейне общедоступная, что определяет действительность транзакций и консенсусный процесс. Таким образом, частные блок-цепи имеют совершенно другой уровень безопасности, чем публичный блокчейн.
Распределенные регистры - это общие базы данных с разными правами доступа, которые определяют, какие типы изменений могут быть выполнены с помощью каких-либо объектов.
Важность распределенных экосистем на уровне предприятий возникает из-за способности устранять согласование данных между участвующими субъектами. Это особенно касается финансовых учреждений, которые торгуют друг с другом. Приватный блокчейн и публичный блокчейн имеют разные уровни безопасности.
Сегодня много усилий в бэк-офисах расходуется на согласование записей между различными учреждениями. Распределенные реестры позволяют финансовым учреждениям поддерживать структурно согласованную общую базу данных транзакций. Это позволяет каждому участвующему учреждению читать данные из распределенной книги и гарантировать, что он действителен и согласован с данными, хранящимися в других участвующих организациях.
Распределенные книги данных основаны на самых разных блокчейнах, например, на Ethereum. Однако все они отличаются своей фундаментальной характеристикой возможностей касательно доступа и безопасности.
Безопасность публичного блокчейна, такого как биткойн, исходит из доказательств работы(консенсусного протокола, который используется при работе), что делает математически невозможным фальсификацию или обратную транзакцию без слияния майнеров с использованием текущего состояния технологии.
С другой стороны, обещания безопасности распределенных бухгалтерских книг и частных блокчейнов так же хороши, как и честность компаний, проверяющих транзакции. Не существует никаких математических гарантий необратимости транзакций в частной цепочке.
Чтобы понять разницу между блочной цепью и традиционной базой данных необходимо понять, как каждый из них разработан, работает и поддерживается.
Традиционные базы данных используют архитектуру сети клиент-сервер. Здесь пользователь (известный как клиент) может изменять данные, которые хранятся на централизованном сервере. Контроль базы данных остается за назначенным органом, который аутентифицирует учетные данные клиента до предоставления доступа к базе данных. Поскольку этот орган отвечает за администрирование базы данных, если безопасность этого органа нарушена, данные могут быть изменены или даже удалены.
Базы данных Blockchain состоят из нескольких децентрализованных узлов. Каждый узел участвует в администрировании: все узлы проверяют новые дополнения к блочной цепочке и способны вводить новые данные в базу данных. Для того, чтобы добавить информацию к блочной цепочке большинство узлов должны достичь консенсуса. Этот консенсусный механизм гарантирует безопасность сети, что затрудняет в нее вмешательство.
В биткойне консенсус достигается путем вычислений (решения сложных головоломок), в то время как Ethereum стремится использовать доказательство доли в качестве своего консенсусного механизма. Это очень разные по своей концепции протоколы, использование которых сильно влияет на основные возможности передачи данных в этих экосистемах.
Ключевое свойство технологии blockchain, которое отличает его от традиционной технологии баз данных, является общедоступность проверки, которая обеспечивается целостностью и прозрачностью.
Целостность: каждый пользователь может быть уверен, что данные, которые они извлекают, являются неповрежденными и неизмененными с момента их регистрации.
Прозрачность: каждый пользователь может проверить, как блокчейн изменяется с течением времени.
Централизованная база данных не всегда может предоставить такие возможности, так как данные могут быть легко и быстро изменены без ведома других участников. Касательно прозрачности, то не все базы данных могут предоставлять функцию отслеживания изменения данных, но даже если такая имеется, она может быть легко взломана.
В традиционной базе данных клиент может выполнять четыре функции по данным: создавать, читать, обновлять и удалять (все вместе называются командами CRUD).
Блок-цепочка предназначена для добавления только структуры. Пользователь может добавлять только дополнительные данные в виде дополнительных блоков. Все предыдущие данные постоянно сохраняются и не могут быть изменены. Таким образом, единственными операциями, связанными с блок-цепями, являются:
Блок-цепочка позволяет выполнять две функции: проверку транзакций(данных) и запись новых транзакций. Транзакция - это операция, которая изменяет состояние данных, которое находится на блочной цепочке. Не смотря на то, что предыдущие записи в блок-цепочке всегда должны оставаться неизменными, новая запись может изменить состояние данных в прошлых записях.
Например, если блокчейн записал, что ваш биткойн-кошелек имеет 1 миллион Биткоинов, эта цифра будет постоянно храниться в блок-цепочке. Когда вы потратите 200 000 биткойнов, эта транзакция записывается на блок-цепочку, в результате чего ваш баланс уменьшится до 800 000 биткойнов. Однако, поскольку в блок-цепочку может быть только добавлена информация, предварительный баланс транзакций в 1 миллион биткойнов также остается в хэше блок-цепочки постоянно, для тех, кто хочет посмотреть. Вот почему blockchain часто называют неизменяемым и распределенным регистром.
Существенная разница между двумя системами заключается в децентрализованном контроле.
Децентрализованное управление устраняет риски централизованного контроля. Любой, у кого есть высокий доступ к централизованной базе данных, может уничтожить или испортить данные в нем. Поэтому пользователи полагаются на инфраструктуру безопасности администратора базы данных.
Технология Blockchain использует децентрализованное хранилище данных, чтобы обойти эту проблему.
Технология blockchain хорошо подходит для записи определенных видов информации, однако традиционные базы данных лучше подходят для других видов информации. Для каждой организации важно понять, что она хочет от базы данных, и оценить ее сильные и уязвимые стороны каждого типа баз данных, прежде чем выбрать.
В сообществе ведётся активная дискуссия о преимуществах частного блокчейна над общей базой данных. Некоторые, например, профессор Арвинд Нараянан из Стэнфорда, утверждают, что частные блокчейн цепочки - это та же общая база данных, но с другим именем. Другие, такие как Гидеон Гринспен из Multichain, видят несколько различий между частными блочными цепями и базами данных SQL, от дезинтермедиации до надежности.
Традиционные базы данных полностью содержатся внутри одного объекта, независимо от их структуры (базы данных SQL или без SQL). Это включает в себя доступ к чтению и записи данных, что возможно только через приложения, контролируемые специальными механизмами, к которой принадлежит база данных. С другой стороны, общие базы данных включают доступ к чтению и записи, включающий несколько объектов.
Частные блок-цепи имитируют процесс безопасности, используемый общественными блочными цепями, такими как биткойн, но не включают в себя математические гарантии на уровне проверки данных или в отношении необратимости их составляющего.
Тем не менее, они все еще используют криптографию и структуры данных, такие как Merkle, чтобы гарантировать, что недействительные транзакции не добавляются в блок-цепочку.
В конце концов, частные блокчейн цепочки обеспечивают более высокий уровень проверки ошибок и достоверности транзакций, чем обычные общие базы данных.
Несмотря на то, что они не используют доказательство работы, блоки транзакций проверяются с использованием некоторых других форм консенсусного механизма.
Наиболее популярными алгоритмами являются Raft и Juno. Эти согласованные протоколы работают на основе модели лидер-последователь, в которой для каждого блока выбирается лидер, который создает блок и добавляет к блок-цепочке. Существуют различные способы устранения ошибок и аномалий системой.
Общие базы данных в прошлом страдали от неспособности предотвратить злонамеренную деятельность. Это происходит, например, когда один из участвующих узлов взломан, и этот объект записывает «поврежденные» данные в общую базу данных, что делает его недействительным для всех участников.
Эта же проблема также существует и в централизованных базах данных.
Частные блочейны решают эту проблему используя криптографию и технологии, аналогичные тем, что использует биткойн и общественные блокчейны.