Блокчейн на страже ваших данных
Когда открылась возможность вносить в регистр не только данные транзакций, но и различные метаданные, мы в Acronis начали активно изучать технологию блокчейн на предмет ее применения в направлении резервного копирования и защиты информации. Мы увидели, что благодаря ей у пользователя появляется возможность гарантировать не только сохранность, но и неизменность/подлинность самых важных данных.
В 2016 году началась разработка и тестирование первых решений, построенных на открытой платформе Ethereum, которая на тот момент была одной из самых продвинутых и удобных, а также позволяла обойти ограничения Bitcoin-блокчейна.
Первым решением, выпущенным нами на рынок, стал trusted timestamping сервис Acronis Notary. Технология была реализована в рамках функционала продукта для индивидуальных пользователей Acronis True Image 2017 New Generation. С его помощью можно проверять аутентичность хранящихся в резервных копиях данных. Например, музыканты или художники могут подтверждать дату и время создания своих произведений, предоставляя в качестве доказательства сертификат Acronis Notary с указанием данной информации, наряду с метаданными о самом произведении.
Вторым решением, которое мы также продемонстрировали в рамках функционала продукта Acronis True Image 2017 New Generation, стало Acronis ASign. Решение открыло возможность электронного подписания резервных копий документов с автоматической нотаризацией. Пользователь просто загружает в облако Acronis подписанные со своей стороны документы и рассылает другим подписантам электронные приглашения. Каждый из подписантов заходит в облако и с помощью специального интерфейса ставит свою электронную подпись на документе. Таким образом, между сторонами «подписывается» своего рода договор, который автоматически фиксируется в блокчейне.
Техническая сторона вопроса
Как отмечалось выше, нам удалось обойти ряд ограничений блокчейна, тем самым создать достойный задел на будущее. Хранение данных в наших решениях построено на основе деревьев Меркла. Благодаря этому можно существенно повысить скорость работы и объем хранимой информации о файлах, а также (что очень важно в долгосрочной перспективе) снизить требования к производительности обрабатывающих систем.
Про деревья Меркла aka «хэш-деревья» известно давно, их концепция была запатентована Ральфом Мерклом еще в 1979 году. Это особая структура данных, содержащая итоговую информацию о каком-то большом объеме данных, и которая может быть использована для их верификации. При этом набор информации может быть самым разнообразным: можно хранить любые необходимые данные о файле, будь то его размер, дата создания или еще что-то.
Таким образом, понятно, что структура данных имеет древовидную форму, в узлах которой находятся хэши, созданные на основе данных других, нижестоящих узлов. В конечных формируются корневые хэши, которые и записываются в блокчейн.
Мы используем двоичную структуру, при которой каждый вышестоящий хэш состоит из двух нижестоящих хэшей. Если представить это в форме схемы, то получим следующее.
Одно из главных свойств дерева Меркла состоит в том, что, зная data 1, hash 2, hash 02 и hash 001, можно подтвердить аутентичность данных data 1, даже если остальные данные не известны. Это означает, что, если вы поместите какой-то файл в Acronis Notary или подпишете какой-то документ с помощью Acronis ASign, затем дадите кому-то из друзей/коллег только хэш исходного файла (hash 1), «ветвь» с хэшами от hash 1 до корневого хэша (hash 001) и корневой хэш (такая структура назвывается «доказательством Меркла»), то друг/коллега с легкостью сможет проверить, тот ли файл сейчас находится в хранилище или нет.
Де Факто/Де Юре
Если с технической стороной вопроса все более-менее стало ясно, то с юридической — все немного сложнее.
Существует два правовых вопроса, которые в той или иной мере вносили и продолжают вносить ограничения на использование подобных решений на территории России.
Во-первых, и это было основным стоппером, не была ясна позиция государства в отношении криптовалюты, и, как следствие, возможности использования блокчейна. Временами речь заходила о реальном уголовном преследовании за проведение операций с использование криптовалюты.
Во-вторых, непонятна позиция государства в отношении признания записей, хранящихся в блокчейне.
Давайте по порядку разберемся с каждым из вопросов.
В начале этого года, в рамках Гайдаровского форума, зампред ЦБ Ольга Скоробогатова высказалась: «Позиция регулятора и ведомства — что мы не хотели бы сейчас конкретно что-то запрещать, а понять, как относиться к этому, и исходя из этого выстраивать регуляторную базу». Схожую позицию избрали и в Минфине, приостановив работу над законопроектом, предусматривающим весьма суровые наказания за оборот криптовалюты.
Вопрос с признанием записей в блокчейне в суде пока открыт. С одной стороны, в России пока нет закона, хоть как-то определяющего правовой статус подобных записей. С другой стороны, есть ощущение, что государство перестало воспринимать распределенные регистры в качестве «абсолютного зла» и готово делать шаги навстречу зарождающейся отрасли, тем более, что в мире уже появляются интересные кейсы.
Например, признание американскими штатами Аризона и Вермонт юридической силы записей в блокчейне. В Аризоне смарт-контракты теперь будут приравниваться ко всем остальным видам договоров, а в Вермонте записи в блокчейне могут использоваться в качестве доказательства в суде. С большой вероятностью признание блокчейна и дальше продолжит свое движение по США. Где-то таких данные будут сразу признаваться, а в других штататх на судебные разбирательства будут приглашаться ИТ-специалисты, которые выступят в качестве экспертов, как в свое время это было с ДНК-тестами.
Будущее наступило
Недалекое будущее. Космические корабли бороздят просторы Большого театра, самозавязывающиеся кроссовки от Nike доступны в продаже, а записи в блокчейне признаются судебной системой нашей страны.
Вы решили приобрести машину/квартиру/дачу, нашли подходящий вариант и связались с продавцом. Договор купли-продажи было решено подписать с помощью электронных подписей и внести данные в блокчейн. Вы взяли типовой текст договора, внесли необходимые реквизиты, сохранили в защищенном облаке и направили с помощью Acronis ASign на подпись продавцу. Он внимательно изучил договор, обратил ваше внимание на опечатку в фамилии и подписал исправленную версию.
Машина/квартира/дача ваша. Но проходит какое-то время, и вдруг объявляется прошлый владелец, заявляющий, что вы не расплатились, должны ему X рублей, и вообще незаконно забрали его собственности. Вы же все оплатили вовремя, не собираетесь идти на поводу у мошенника и направляетесь в суд.
Договор существует только в электронном виде, не был заверен у нотариуса и в суд его так просто не принести. Это означает, что перед вами вырисовывается очень интересный квест, в рамках которого вам понадобится доказать три вещи:
- Договор, находящийся в защищенном хранилище, никто не менял;
- Договор прочитали и подписали обе стороны;
- Договор был подписан в определенное время.
Скорее всего, на судебное разбирательство необходимо будет пригласить эксперта, который расскажет представителям правосудия, что из себя представляет технология блокчейн, как хранятся данные и почему их нельзя незаметно подделать/изменить. После краткого ликбеза эксперт попросит вас предоставить электронный документ суду, и тут начнется все самое интересное.
При подписании документа в Acronis ASign пользователю выдается специальный файл в формате PDF, содержащий «Signature Certificate» и «Audit Trail».
В «Signature Certificate» содержится следующая информация:
- Имя документа, который вы подписали и поместили в хранилище, например, «Договор купли-продажи №1»;
- Дата подписания;
- Размер документа;
- Хэш или «контрольная сумма» документа;
- Текущий статус;
- Информация о подписантах;
- Подпись.
В «Audit Trail» содержится детальная история событий, происходивших с документом (создание, отправка подписантам, подписание), включая временные отметки и IP-адреса подписантов. Это необходимо, чтобы поставленная электронная подпись соответствовала требованиям международного «Electronic Signature Law» и признавалась в суде.
Самый простой способ подтвердить, что выданный вам специальный файл аутентичен и, соответственно, подтверждает аутентичность договора, заключается в том, что вы загружаете его на страницу верификации Acronis Notary.
После завершения загрузки файла на сайте будет показан статус этого документа. Таким образом, вы докажете в суде, что договор купли-продажи был подписан обеими сторонами в определенное время. Часть квеста пройдена!
Кроме статуса, также будет предоставлена ссылка на сертификат Acronis Notary, содержащий всю информацию о документе в защищенном хранилище. С помощью этого сертификата вы доказываете аутентичность, то есть подлинность подписанного договора. Victory!
Есть еще один путь, несколько сложнее, но намного интереснее.
Вы берете документ и самостоятельно рассчитываете его хэш. Затем из сертификата Acronis Notary берется адрес транзакции в блокчейне (Transaction ID) и находится в онлайн-сервисе, вроде Etherscan.io, позволяющем подтвердить наличие транзакции в Ethereum-блокчейне. В поле данных этой транзакции вы находите Merkle Root и проверяете вхождение хэша, который вы рассчитали для своего документа, в дерево с таким корневым элементом, с помощью open source утилиты verifyhash. Если проверка прошла успешно, аутентичность подписанного документа в хранилище подтверждена. И снова Victory!
Продолжение следует
Внедрив Acronis Notary и Acronis ASign в наш продукт Acronis True Image 2017 New Generation, мы собрали огромное количество положительных отзывов от индивидуальных пользователей. Фактически мы провели масштабное тестирование в реальных условиях. И уже сейчас, обработав все результаты и максимально устранив шероховатости, мы внедрили эти решения в наш корпоративный продукт – Acronis Backup 12.5.
Комментарии (23)
hake
23.06.2017 12:08Есть ли реальные прецеденты использования вашего сервиса в юридической сфере? Или «огромное количество положительных отзывов от индивидуальных пользователей» (от индивидуальных, заметьте) — это «о, мой хеш в блокчейне — круть!»
toxzic
23.06.2017 12:25Есть ли реальные прецеденты использования вашего сервиса в юридической сфере?
Работаем над этим. Стоит заметить, что сервис в первую очередь решает техническую задачу сохранения подлинности данных, и юридический сценарий использования не является единственным.
«огромное количество положительных отзывов от индивидуальных пользователей» (от индивидуальных, заметьте)
Сервис стал доступен для корпоративных пользователей несколько недель назад. Ждём отзывов от них с нетерпением.hake
23.06.2017 13:101. Вопрос-то был не про то. «Внедрив Acronis Notary и Acronis ASign в наш продукт Acronis True Image 2017 New Generation, мы собрали огромное количество положительных отзывов от индивидуальных пользователей» — очевидно, что «положительные отзывы» контекстно связаны с внедрением и использованием блокчейна.
Я не хейтю, но мне реально интересно — как именно огромное (!) количество обычных пользователей на практике смогли оценить все плюсы данной функциональности? Есть ли какая-нибудь статистика, какой процент ваших пользователей хоть раз подтверждал подлинность данных через Notary?
2. «сервис в первую очередь решает техническую задачу сохранения подлинности данных» — технически всё решается контрольной суммой. И использование блокчейна здесь ничего не добавляет — в нём вы тоже храните хэш. Блокчейн — это вовлечение независимой и публичной «третьей стороны» для решения спорных моментов. Т.е. прежде всего юриспруденция. Приведенные документы Аризоны и Вермонта (отдельное спасибо за прямые ссылки) показывают, что эта область в зачаточном состоянии. Аризона просто фиксирует термины; документ Вермонта — просто review ситуации и перспектив.
Будет здорово, если в своих публикациях вы будете уделять внимание вопросам права в сфере блокчейна. Не ищите скрытого смысла — сфера новая, достоверной информации мало, а вы всё-таки обладаете большим весом.toxzic
23.06.2017 14:00Есть ли какая-нибудь статистика, какой процент ваших пользователей хоть раз подтверждал подлинность данных через Notary?
Несколько сотен реальных пользователей. Для новой технологии это не так мало.
очевидно, что «положительные отзывы» контекстно связаны с внедрением и использованием блокчейна
Безусловно.
И использование блокчейна здесь ничего не добавляет
Это не совсем так. Хэши объектов, конечно, можно хранить в текстовом файле, но его можно удалить или подменить. А блокчейн — распределённый и неизменный.
Будет здорово, если в своих публикациях вы будете уделять внимание вопросам права в сфере блокчейна.
Спасибо, будем стараться!hake
23.06.2017 14:50Это не совсем так. Хэши объектов, конечно, можно хранить в текстовом файле, но его можно удалить или подменить. А блокчейн — распределённый и неизменный.
Я был неточен. Я имел в виду то, что вы и раньше (без блокчейна) обеспечивали своим клиентам подлинность данных. Сервис Notary метит в нишу юридически значимого инструмента для общего применения, что очевидно из его названия. Т.е. вы ожидаете, что и блокчейн, и его использование будет как-то регламентироваться законодательством. Как минимум, говоря о неизменности блокчейна Ethereum, нельзя не вспомнить историю с DAO hard fork, которая говорит прямо о противоположном. А если вспомнить другие подробности этой истории, то и тема со смарт-контрактами под большим вопросом.
alaska332
25.06.2017 07:55По сути вы предоставляете собственноне облачое хранилище данных.
Не совсем понятно, зачем тут использовать блокчейн?toxzic
27.06.2017 07:17Когда открылась возможность вносить в регистр не только данные транзакций, но и различные метаданные, мы в Acronis начали активно изучать технологию блокчейн на предмет ее применения в направлении резервного копирования и защиты информации. Мы увидели, что благодаря ей у пользователя появляется возможность гарантировать не только сохранность, но и неизменность/подлинность самых важных данных.
alaska332
27.06.2017 09:32Если я не ошибаюсь — блокчейн — это распределенная база подписанных данных, в которой целостность данных контроллируется множеством независимых узлов, каждый из которых имеет свою полную копию данных.
Я ошибаюсь?
Если нет, как эти принципы реализованы в вашем централизованном хранилище?
Или у вас от блокчейна только цепочка хешей и название?toxzic
28.06.2017 14:19Мы храним в блокчейне корневой хэш дерева, построенного из хэшей объектов пользователей. Сами объекты при этом могут храниться где угодно.
Varim
23.06.2017 12:38не была ясна позиция государства в отношении криптовалюты, и, как следствие, возможности использования блокчейна.
хм, но если я не ошибаюсь, криптовалюта это следствие блокчейна.
Возможное положительное отношение к блокчейну, не гарантирует положительное отношение к криптовалюте.
Положительное отношение к криптовалюте, же, вынуждает положительно относится и к блокчейну.
Ваша идея хороша.toxzic
23.06.2017 14:28если я не ошибаюсь, криптовалюта это следствие блокчейна
Технически это, разумеется, так. Но про блокчейн, как правило, узнают в первую очередь в контексте криптовалюты. По крайней мере, на сегодняшний день :)
Возможное положительное отношение к блокчейну, не гарантирует положительное отношение к криптовалюте. Положительное отношение к криптовалюте, же, вынуждает положительно относится и к блокчейну.
Всё верно.
Ваша идея хороша.
Спасибо!
toxzic
23.06.2017 14:07если я не ошибаюсь, криптовалюта это следствие блокчейна.
Технически это, разумеется, так. Но про блокчейн, как правило, узнают в первую очередь в контексте криптовалюты. По крайней мере, на сегодняшний день :)
Возможное положительное отношение к блокчейну, не гарантирует положительное отношение к криптовалюте.
Положительное отношение к криптовалюте, же, вынуждает положительно относится и к блокчейну.
Всё верно.
Ваша идея хороша.
Спасибо!
teleavtomatika
23.06.2017 15:42Простите, если не в тему. Кто-нибудь может мне сказать как именно вы собрались использовать этот ваш блок чейн в масштабах страны, не говоря уже про мир, если:
- Блок чейн хранит все транзакции и их история есть у всех. Т.е. вся цепочка блоков должна быть на каждом узле и для проверки последнего блока нужно перепроверить все предыдущие.
- База данных с транзакциями не самого большого местного банка начинается с размера в 1 ТБ. И это данные не за все время.
Как вы собрались это хранить? Какие такие транзакции по всей стране в едином блок-чейне? Среднестатистический чел генерирует 5-10 транзакций в день, с учетом технических. Покупка в магазине, оплата сотового, телефонный звонок и т.д. Даже если взять по минимуму — каждая транзакция — это 256 байт памяти 2.5 КБ на человека в день, на 146 000 000 это ~ 350 ГБ в день. И это должно быть на КАЖДОМ узле, и это надо еще обсчитать, сохранить и т.д. Какой нафиг блок-чейн? Или я что-то упустил?
hake
23.06.2017 16:31Фишка не в хранении всего массива ваших данных. Это не Pied Piper. Фишка в том, что, доверяя блокчейну, вы можете положить в него только минимум информации и считать её достоверной. Тот же Acronis не хранит в блокчейне весь ваш бекап. Вычисляют хэш и привет. Так же и с транзакциями — будут собирать в zip за день, подписывать его, хэш и подпись — в блокчейн. Главное, чтобы все заинтересованные признавали эту схему.
Все зависит от области применения и стоимости транзакции (майнеры не будут бесплатно поддерживать работу блокчейна), но хранить избыточные массивы данных в блокчейнах не целесообразно. Оно не для этого.
hake
23.06.2017 16:46Т.е. вся цепочка блоков должна быть на каждом узле и для проверки последнего блока нужно перепроверить все предыдущие
Погуглите SegWit (Segregated Witness).
mbait
23.06.2017 20:30- С какой целью используется дерево Меркла? Почему документ нельзя сравнить побайтово, например, или рассчитав целый хеш? Если мы не хотим показывать весь документ одной стороне, то по какой причине? И как в этом случае защититься от того, что по кусочкам атакующий "вытянет" весь файл?
- Как именно ваша информация хранится в блокчейне? Как она туда попадает, и кто гарантирует целостность и неизменность? Я задаю этот вопрос, зная, как работает биткоин-блокчейн, но не понимая ваш алгоритм.
- Как будет устанавливаться в суде соответствие ключ-личность?
Статья выглядела бы более понятно, будь она описана с помощью стандартных персонажей (Алиса, Боб, Ева, Мэллори, ...) и с анализом возможных атак.
toxzic
24.06.2017 05:251. Дерево Мёркла используется для эффективной упаковки и хранения хэшей нотаризованных объектов. Для документа считается целый хэш. Файлы «вытягивать» неоткуда, в сервисе они не хранятся.
2. Мы помещаем корневой хэш построенного дерева Мёркла в блокчейн с помощью специального смарт-контракта. Целостность и неизменность этого хэша гарантирует блокчейн.
3. Отличный вопрос! Он находится в процессе проработки.
Lsh
23.06.2017 23:33Вопрос немного не в тему, но подумалось тут. Есть какое-нибудь распределённое хранилище хешей (в виде блокчейна) содержимого сайтов по url? Смысл в том, что все врут и правят статьи задним числом. Есть всевозможные архивы — да, но можно сказать, что они в сговоре с другой стороной и не доверять. Например, обделалось какое-нибудь СМИ фейковой новостью про загнивающих партнёров, а потом поправили и делают вид, что невиноватые они, на скриншоты говорят, что фотошоп, а Internet Archive и кеш Google из госдепа и всё подделали. А так можно было бы такой сети «скормить» нужный url и получить достоверное состояние этого url на данный момент времени. Правда тут хешировать надо умным образом, чтобы хеш не зависел от какой-нибудь встроенной рекламы (которая каждый раз разная) и баннеров.
toxzic
24.06.2017 05:34Такого сервиса пока не видели, но соответствующий эпик находится в бэклоге проекта Notary :)
gchirkov
25.06.2017 05:42Вы не думали над вопросом построения древовидного блокчейна? То есть иерархическая структура из блокчейнов, в которой верхние уровни удостоверяют нижние?
toxzic
25.06.2017 05:57Один из основателей Ethereum работает над созданием «heterogeneous extensible multi-chain».
user452
Мне была бы интересна услуга подтверждения моей личности с помощью блокчейна. Некоторые компании(в Costco такое стоит $6.99 в месяц) оказывают услугу по страхованию кражи личности, но там без блокчейна. К сожалению, данными типа SSN, сканами прав торгуют даже самые ленивые. Я живу в США, и с безопасностью личных данных тут от крайности к крайности: некоторые никак не скрывают свои персональные данные, другие же просят изменить имя на бейдже и используют в качестве ID для почтовых отправлений что-то вымышленное, чтобы обезопасить себя.
toxzic
Проектов в этой области достаточно много. А в Эстонии уже внедрена технология электронной идентификации (правда, не на блокчейне).