В главе 5 были приведены предварительное определение термина блокчейн и обоснование причин, по которым управление правом владения считается наиболее распространенным вариантом применения технологии блокчейна. В этой главе более глубоко рассматривается взаимосвязь между блокчейном и этим наиболее распространенным вариантом применения для управления правом владения. В частности, описывается связь между доверительностью и целостностью в полностью распределенных пиринговых системах, с одной стороны, и управлением правом владения – с другой. Кроме того, в этой главе также приводятся некоторые общие положения, касающиеся сущности права владения собственностью, и вводятся основополагающие концепции обеспечения безопасности.
Представьте себе следующую ситуацию. Дома вы кладете в сумку яблоко для ланча. По дороге на работу вы решаете зайти в супермаркет, чтобы купить сэндвич и немного печенья. У кассы вы открываете сумку, чтобы сложить в нее купленные товары, и тут сотрудник супермаркета видит в вашей сумке яблоко, которое совершенно случайно оказывается как две капли воды похожим на яблоки, продающиеся в этом супермаркете. О чем сразу же подумает сотрудник супермаркета? Он может сделать ошибочный вывод о том, что вы, возможно, украли это яблоко. К сожалению, в супермаркете нет видеокамер наблюдения за покупателями, нет контролеров в торговых залах, а вы в текущий момент – единственный покупатель. Как вы можете доказать, что яблоко не краденое, а ваше собственное?
Размышляли ли вы когда-либо над тем, что именно делает вас владельцем вещей, принадлежащих вам? Возможно, размышляете сейчас, продолжая обдумывать рассказ о яблоке из супермаркета. Так что же именно делает вас владельцем яблока, лежащего в сумке? Как можно доказать, что оно не украдено из супермаркета?
Теперь предположим, что вы предстали перед судом, разбирающим ошибочно предъявленное вам обвинение в краже яблока. Как доказать, что вы владелец этого яблока? Из описанного выше примера с супермаркетом мы знаем, что достаточным доказательством вашей невиновности должно являться отсутствие свидетелей, которые могут с полной уверенностью подтвердить, что вы украли яблоко. Но снятие предварительных обвинений в воровстве еще не доказывает права владения. Поэтому более подробно остановимся на рассмотрении проблемы доказательства права на владение.
Большую помощь может оказать свидетельское показание, подтверждающее, что вы купили яблоко до похода в супермаркет. К счастью, вы запомнили магазин и продавца, у которого приобрели яблоко, и теперь хотите, чтобы он подтвердил это. Но вы недооценили квалификацию обвинителя. Он устроил перекрестный допрос свидетеля и задавал очень трудные вопросы: может ли он точно вспомнить то яблоко, которое продал вам? Является ли яблоко, которое он продал, в точности тем же яблоком, которое обнаружено в вашей сумке? Может ли он определенно утверждать, что вы тот самый человек, которому он продал именно это конкретное яблоко? В конце концов, почему он вдруг сразу вспомнил все эти подробности? А может быть, вы заплатили свидетелю за подтверждение вашей невиновности? Все это сводится к основному принципу: один свидетель – хорошо, но наличие многих независимых свидетелей является главным фактором, позволяющим убедить обвинителя в вашей невиновности.
Последнее утверждение особенно важно. Чем больше независимых свидетелей подтверждают один и тот же факт, тем выше вероятность того, что этот факт действительно является правдой. Вскоре вы убедитесь, что эта идея является одной из основополагающих концепций блокчейна.
Рассматривая все изложенное в предыдущем разделе на более абстрактном уровне, можно утверждать, что доказательство права владения подразумевает три обязательных элемента:
• идентификация владельца;
• идентификация объекта владения;
• установление связи владельца с объектом.
Показание свидетеля включает все эти элементы. Исторически свидетель-очевидец часто являлся единственным источником установления перечисленных фактов. Но устные показания свидетелей отнимают слишком много времени. Поэтому их заменили документами из надежных источников, заслуживающих доверия. В наше время личность можно установить по служебным удостоверениям, свидетельствам о рождении и водительским правам. Серийные номера, даты производства, сертификаты на продукцию могут использоваться для идентификации объектов. Эти документы не изменяются после создания, потому что характерные отличительные черты людей и объектов не меняются.
Соответствие между владельцами и объектами обычно устанавливается с помощью журнала (книги) учета (ledger) или реестра (register) (запись актов гражданского состояния, бухгалтерская книга, финансовый реестр и т. п.). Но это не тот документ, который остается неизменным после создания. Каждый факт передачи права владения должен быть задокументирован в подобном реестре, потому что устаревший реестр или журнал (книга) не может являться достоверным доказательством для подтверждения права владения. Важность наличия реестра, содержащего самые последние сведения и оформляемого в надлежащем порядке, привела к появлению специализирующихся на этой области деятельности учреждений во многих сообществах. Чем большую ценность имеют некоторые типы объектов, тем больше вероятность существования управляемого на государственном уровне реестра, в котором документируются права владения этими объектами. Большинство таких реестров открыто для всех, чтобы упростить проверку и доказательство прав владения. Вы сами можете проверить наличие подобных реестров в вашей стране и узнать, какие именно права они удостоверяют. Я нашел реестры, документирующие права владения недвижимостью, патентами, судами, самолетами и компаниями. Кроме того, я даже обнаружил журналы регистрации браков, рождений и смертей.
На рис. 6.1 отображена взаимосвязь различных концепций, используемых для проектирования программного обеспечения, управляющего правами владения.
Рис. 6.1 Концепции права владения
На рис. 6.1 концепции верхних уровней являются более обобщенными по сравнению с концепциями более низких уровней. Концепции каждого уровня могут рассматриваться как реализации концепции уровней, расположенных выше. Например, доказательство права владения требует идентификации владельцев и объектов собственности, а также установления связи между владельцами и собственностью. Применение права владения требует идентификации, а также аутентификации и авторизации для полной уверенности в том, что собственностью пользуется личность, имеющая на это юридическое право. В самой нижней строке на рисунке представлен уровень реализации. Например, здесь показано, что пароль и подпись являются концепциями, используемыми для реализации процедур аутентификации и авторизации. Журнал (книга) и соответствующее программное обеспечение могут рассматриваться как конкретная реализация концепции установления связи между владельцами и их собственностью.
На рис. 6.1 отображены три главные концепции, относящиеся к задаче обеспечения безопасности, которые необходимо рассмотреть более подробно, так как их смысловое значение в контексте программных систем несколько отличается от используемого в повседневной жизни:
• идентификация;
• аутентификация;
• авторизация.
Общий смысл и взаимосвязь между этими тремя концепциями можно проиллюстрировать на примере из реальной жизни. Предположим, что вы хотите купить бутылку вина в винном магазине. Винным магазинам запрещается продавать алкогольные напитки лицам, не достигшим определенного возраста. Как сотрудники винного магазина могут удостовериться в том, что они продают вино только разрешенной категории людей? Это осуществляется с помощью идентификации, аутентификации и авторизации. Рассмотрим подробнее, как работают эти концепции на практике.
Идентификация
Идентификация означает подтверждение подлинности личности посредством установления имени или каких-либо других признаков, которые могут использоваться как идентификатор [37]. В примере с винным магазином покупатель может назвать свое имя. Идентификация еще не доказывает, что человек действительно носит то имя, которым он назвался. Идентификация не предоставляет доказательств того, что покупатель не является несовершеннолетним. Идентификация – это всего лишь объявление имени конкретного человека.
Аутентификация
Цель аутентификации – предотвратить попытку выдать себя за другого человека. Аутентификация означает проверку или доказательство того, что вы действительно являетесь тем человеком, имя которого вы назвали [37]. Подтвердить личность может что-то или кто-то с доказательствами, значимыми с юридической точки зрения (например, служебное удостоверение, водительские права или некоторые подробности жизни человека, имя которого было названо). Важно, чтобы доказательства, подтверждающие вашу личность, были однозначно связаны с вами (например, фотография на удостоверении, отпечатки пальцев или что-то другое, характерное только для вас, не допускающее двусмысленного толкования). В примере с винным магазином вы можете подтвердить личность, показав водительские права с фотографией. Сравнение вашего лица с фотографией в правах соответствует процедуре верификации. Если вы действительно выглядите так же, как на фото, то аутентификация считается успешной. В противном случае аутентификация не пройдена. Сопоставление лица человека с фотографией в водительских правах дает возможность предотвратить попытку незаконного использования чужих документов.
Авторизация
Авторизация означает предоставление доступа к конкретно определенным ресурсам или услугам в соответствии с характеристиками или свойствами личности, подлинность которой установлена [37]. Авторизация представляет собой последовательность успешной процедуры аутентификации и дальнейшего определения характеристик или прав установленной личности. В примере с винным магазином авторизация означает принятие решения о возможности покупки вами бутылки вина на основе даты рождения, указанной в водительских правах. Сотрудник магазина может отказать вам, если по дате рождения в документе определит, что вы несовершеннолетний. Отметим, что в данном случае отказ происходит не из-за неудачной аутентификации. Процедуры идентификации и аутентификации были пройдены успешно, но именно благодаря корректной идентификации сотрудник магазина смог определить, что вы несовершеннолетний. Таким образом, авторизация всегда является результатом определения по некоторым заданным правилам характеристик и/или свойств личности, установленной перед этим с помощью процедуры аутентификации.
Примечание
Идентификация означает объявление своего имени. Аутентификация означает доказательство того, что вы действительно являетесь тем человеком, именем которого назвались. Авторизация означает получение доступа к чему-либо на основании предварительно проведенной успешной процедуры аутентификации с целью подтверждения личности.
На рис. 6.2 показано, каким образом доказательство права владения и передача права владения связаны с целями и свойствами реестра (ledger).
Рис. 6.2 Концепции и основные принципы реестра
Главным на рис. 6.2 является тот факт, что реестр должен выполнять две противоположные функции. С одной стороны, реестр служит средством доказательства права владения, основываясь на чтении хронологических данных, хранимых в данном реестре. С другой стороны, в реестре должны документироваться все факты передачи права владения, что подразумевает создание новых данных и запись их в реестр. Одним из наиболее важных различий этих двух целей может стать противоположная сущность прозрачности и приватности.
Доказательство права владения упрощается, если реестр доступен всем. Таким образом, прозрачность является основой процедуры доказательства права владения подобно тому, как свидетели дают показания в открытом для публики суде. Но при передаче права владения доступ к процедуре непременно должен быть открыт исключительно для законного владельца. В этом случае обеспечение приватности становится основой передачи права владения. Поскольку запись в реестр означает изменение права владения, право на запись должно предоставляться только объектам, доверие к которым не вызывает никаких сомнений.
Действительно существующие противоречия между прозрачностью и приватностью, между процедурами доказательства права владения и передачи права владения, между чтением и записью в реестр также можно обнаружить и в блокчейн-системе. Таким образом, блокчейн представляет собой огромную распределенную пиринговую систему, состоящую из структур данных, очень похожих на реестр (ledger), доступных для чтения любому желающему.
Доказательство в форме управляемого на государственном уровне реестра является главным действующим фактором при определении права владения ценной продукцией. Но что произойдет, если такой реестр поврежден или уничтожен? Или если некто, ответственный за обновление реестра, допустит ошибки или фальсифицирует запись в корыстных целях? В этом случае реестр перестает соответствовать действительности. Это настоящая катастрофа, потому что все уверены, что реестр дает правдивую информацию, подобно свидетелю в суде.
Проблема наличия только одного реестра как источника определения права владения может быть решена тем же способом, который применяется в судебном разбирательстве. Судебное решение на основании показаний одного свидетеля является сомнительным, так как свидетель может оказаться не вполне честным. Лучше собрать показания нескольких свидетелей. Чем больше независимых свидетелей опрошено, тем выше вероятность того, что факты, подтвержденные в большинстве свидетельских показаний, действительно соответствуют истине. Это положение можно доказать с помощью методов статистики и закона больших чисел. Наличие множества свидетелей, которые независимо друг от друга рассказывают о том, что они видели, является основой такого подхода к установлению истины.
Применение подобной методики к использованию реестра для определения права владения становится очевидным: вместо обслуживания единственного реестра, который можно подделать или испортить, необходимо создать полностью распределенную пиринговую систему реестров и выполнять запросы, касающиеся права владения, в такой версии отображения реального мира, с которой согласно большинство равноправных действующих партнеров. Здесь может возникнуть вопрос: как все это связано с блокчейном? Взаимосвязь между управлением правами владения с помощью реестра и технологией блокчейна определяется следующим образом:
• отдельный реестр, используемый для сопровождения информации о правах владения, равнозначен одной структуре данных блокчейна, хранящей данные, относящиеся к правам владения;
• отдельные реестры хранятся на компьютерах (узлах) пиринговой системы;
• алгоритм блокчейна отвечает за объединение отдельных узлов в единую согласованную версию, представляющую состояние прав владения, на которой основывается окончательное юридическое решение;
• целостность такой системы основывается на ее способности формировать истинные утверждения о праве владения;
• криптография необходима для создания надежных средств идентификации, аутентификации и авторизации, а также для обеспечения защиты данных.
В этой главе рассматривались важные характеристики права владения, а также их взаимосвязь со свойствами реестров (журналов учета). Далее кратко объяснялась связь технологии блокчейна с правами владения и реестрами. В следующей главе объясняется, какие важные последствия имеет перевод управления правами владения в полностью распределенную пиринговую систему реестров.
• Доказательство права владения состоит из трех элементов:
– идентификация владельца;
– идентификация объекта владения;
– установление связи владельца с объектом.
• Служебные удостоверения, свидетельства о рождении, водительские права, а также серийные номера, даты производства, сертификаты на продукцию или подробные описания объекта могут использоваться для идентификации владельцев и объектов.
• Соответствие между владельцами и объектами может быть зафиксировано в реестре, который играет ту же роль, что и свидетельские показания в судебном разбирательстве.
• Наличие только одного реестра связано с риском, так как реестр может быть испорчен, уничтожен или подделан. В этом случае реестр перестает быть надежным средством определения права владения.
• Вместо использования единственного централизованного реестра можно воспользоваться группой независимых реестров для документирования прав владения и выполнения запросов, касающихся права владения, в такой версии отображения реального мира, с которой согласно большинство равноправных действующих партнеров.
• Возможно создание полностью распределенной пиринговой системы реестров с использованием структуры данных блокчейна. Каждая структура данных блокчейна представляет один реестр и поддерживается одним узлом системы. Алгоритм блокчейна отвечает за объединение отдельных узлов в единую согласованную версию, представляющую состояние прав владения. Криптография используется для реализации процедур идентификации, аутентификации и авторизации.
• Целостность полностью распределенной пиринговой системы реестров основывается на ее способности формировать истинные утверждения о праве владения и обеспечить возможность передачи права владения только законными владельцами.