А. Куприн, А. Партин, А. Пономарев
Результаты работы получены благодаря всей команде Midhub.io и людям, с которыми мы сотрудничали.
Ложка дегтя бочку меда портит. Пословица
Оригинал статьи — https://vc.ru/u/393523-midhub/492674-sushchestvuyushchie-decentralizovannye-hranilishcha-blokiruyut-budushchee-blokcheyn-tehnologii-chto-pridet-na-smenu
История блокчейн технологий и их будущее.
Блокчейн появился в 2008 году, в первую очередь, как альтернатива существующим платежным системам, которая впервые исключила из финансовой операции посредника. Появление технологии блокчейн открыло революционные перспективы для изменения общества и всех отношений между людьми в сторону свободы, сетевого принципа и децентрализованного управления. Загадочные и никому не известные создатели технологии анонимно представили ее миру под псевдонимом Сатоши Накамото, что с первых дней романтизировало технологию блокчейн и давало повод для создания конспирологических теорий о существовании могущественной группы, тайно влияющей на судьбы мира.
Финансовая система, построенная вокруг банков, определяла взаимоотношения между людьми со времён средневековья до наших дней. Чтобы безопасно передать значительную сумму денег из одного города в другой, избежав перевозки золотых монет по небезопасным дорогам средневековья, можно было передать золото в католическую церковь и получить расписку на получение монет в церкви другого города или страны. Расписка оформлялась, сидя на церковной скамье, на латыни скамья — banco, на немецком — bank (нем. Bank, англ. Bench). Собственно, так и появилась банковская система, как сеть точек обмена и получения расписок о гарантированной возможности получения денежных средств, скреплённые единым центром безусловного и даже религиозного доверия в Ватикане.
Первый конфликт между такими центрами доверия возник при появлении ордена Тамплиеров — ордена рыцарей, отвечавших за безопасность на торговом пути от Италии до Иерусалима, который был участком шёлкового пути. Тамплиеры выдавали свои расписки для того, чтобы можно было безопасно передать деньги. Интенсивная торговля на этом участке шелкового пути позволила ордену за пару веков превратиться во влиятельного конкурента Ватикана. За создание альтернативного центра власти Орден был разгромлен руками французского короля Филиппа IV Красивого. Король Филипп выманил магистра Ордена Тамплиеров Жака де Моле во Францию, где, в предместье Парижа Тампль, он был задержан, и ему были предъявлены многочисленные обвинения, после чего он был сожжён за ересь, а имущество Ордена было конфисковано. Но разгром конкурирующего с Ватиканом ордена не привёл к миру и стабильности. Уже через несколько десятилетий начались реформация и многочисленные кровавые войны за право местных правителей на независимость и полноту собственной власти.
Эта история, которая является далеко не единственным примером, показывает, что централизация финансов, доверия и, следовательно, власти, ведёт к конфликтам и моральному разложению правителей, и опасна для всего общества. В свою очередь, децентрализованные системы больше похожи на живые, где умирание или деградация любой части не приводит к гибели или повреждению всей системы. Вместе с тем, независимость частей в такой системе не приводит к конфликтам, так как все части объединены общей целью и работают на ее достижение. Следовательно, путь децентрализации ведёт к устойчивости общества и выживанию человечества, и таинственный Сатоши Накомото приоткрыл дверь именно на этот путь.
Впервые сложные смарт-контрактов на блокчейн, появились в Ethereum, и их появление было мотивировано фантастической литературой и футуристическим видением нового общества, где финансово-экономические отношения прозрачны и не требуют наличия государственных институтов, гарантирующих исполнение контракта, и обслуживающих их юристов. Смарт-контракт ─ это программа, исполняемая в децентрализованной среде, которая гарантирует, что все условия, заложенные в договор, были исполнены в блокчейн-среде всеми сторонами. Недавняя статья авторов Глен Вейл, Пуджа Ольхавер, и Виталика Бутерина «Децентрализованное общество»2 в очередной раз напоминает нам об изначальных целях появления смарт-контрактов, как основы для развития децентрализованного общества.
На некоторое время криптосообщество было охвачено идеей криптоанархии. Многим представлялся мир, где в государственных институтах более нет необходимости, и регулирование может осуществляться децентрализовано. Закономерно, что такая не регулируемая законом среда стала привлекательной для криминала и иной деструктивной деятельности. Bitcoin, еще до того, как стал известен инвесторам всего мира, получил свою популярность в даркнете и стал использоваться среди хакеров, наркоторговцев, торговцев оружием, паспортами и т.д. Печально известный сайт Silk Road был одним из ярких примеров этого периода, который многие сравнивали с эпохой дикого запада.
Явление криптоанархии постепенно стало зажиматься национальными регулирующими органами государств, для которых важно не только сохранение порядка и противодействие криминалу, но и сбор налогов. На биржах стало невозможно обменять валюту без прохождения процедуры идентификации пользователя KYC (know your customer) , что свело к минимуму былую анонимность при использовании криптовалют. С одной стороны, это помогло в борьбе с криминалом и финансированием терроризма, однако, такая централизация стала приводить к злоупотреблению и ограничению прав и свобод жителей целых государств, которые сегодня могут быть лишены доступа к биржам, а их активы даже могут быть конфискованы. Главной этической и управленческой проблемой развития децентрализованных технологий становится нахождение баланса между регулированием и свободой правами личности на безопасность и приватность. Необходимо сохранить возможность государств регулировать деятельность законами, но при этом ограничить его возможности злоупотреблять властью и вмешательства в частную жизнь.
Децентрализованные решения технологий блокчейн позволяют создать фантастическое будущее для человечества. Будущее, в котором могут быть полностью устранены проблемы, веками тормозившие развитие общества. Бухгалтерия и финансы могут быть преобразованы за счет автоматизации и полной прозрачности совершаемых сделок что, в свою очередь, избавит нас от коррупции и обеспечит справедливое распределение доходов между всеми участниками производственно-торговых цепей. Институты выборов освободятся от махинаций и станут по-настоящему демократическими и прозрачными. Деловая и общественная коммуникация в рамках единой доверительной среды, сделает возможным формирование социальных лифтов, которые придут на смену текущим инструментам формирования общественных и властных структур.
Производители получат инструменты, позволяющие исключить множество посредников между ними и покупателями. Потребитель сможет узнать происхождение товара, проследив его путь от производства или фермы до прилавка, и будет уверен, что он приобретает качественный товар от производителя, а не подделку. В случае использования интеллектуальной собственности, музыкант написавший песню на слова поэта сможет выставить ее на продажу в музыкальном сервисе, после чего и поэт, и музыкант будут автоматически получать свои отчисления с каждой проданной копии. Все эти и многие другие операции могут проходить без какого-либо юридического и трансграничного регулирования, так как гарантию за их исполнение возьмет на себя смарт-контракт! С помощью технологии блокчейн может быть преобразовано множество сфер деятельности и общественных отношений, некоторые примеры которых рассмотрены в упомянутой выше статье «Децентрализованное общество», но любое его практическое применение требует работы с персональными данными, которые должны быть защищены и могут управляться только теми, кто имеет законное и этическое право на доступ к ним.
Препятствием на пути к такому будущему сегодня являются технические ограничения децентрализованных хранилищ! В настоящее время полностью децентрализованными можно делать только виртуальные предметы, скины для онлайн-игр и метавселенных, с упрощёнными требованиями аутентификации. Применение блокчейн в реальной экономической и производственной деятельности сегодня практически исключено. Одной из ключевых проблем является централизованный подход к обработке персональных данных. При этом важно учитывать, что так называемые “децентрализованные решения” сегодня, зачастую используют только элементы децентрализации, объединяя их с централизованными элементами. При этом наличие в цепочке элементов централизации делает решение не децентрализованным и не защищает его пользователей от рисков, связанных с централизацией. Это та самая «ложка дегтя» в бочке меда. Децентрализация сейчас часто используется как рекламная вывеска, скрывающая то, что реальные технические решения остаются централизованными. Насколько сильно остаются централизованными NFT на эфире (которые капитализируется за счёт представления, что они децентрализованы) , подробно разобрано в статье «My first impressions of web3»3. Такая «децентрализация», особенно, применительно к хранению и обработке персональных данных, достаточна для заработка на хайпе, но совершенно не годится для полноценного использования всех возможностей технологии блокчейн и построения справедливого общего будущего.
В условиях отсутствия по-настоящему децентрализованных и позволяющих сохранить приватность систем хранения, предложенная в статье «Децентрализованное общество» концепция SBT-токена, который вбирает в себя весь пользовательский опыт и репутацию человека, может принести больше вреда чем пользы. Такой обьём знаний о жизни и поведении человека доступный кому-либо без его ведома, за счёт абсолютной прозрачности блокчейн, неизбежно приведет к формированию центров психологических и поведенческих знаний и, как следствие, к небывалым маcштабам манипуляций людьми. Хорошей демонстрацией того, как такие центры концентраций знаний уже сегодня используют эти сведения против интересов сотен миллионов людей, является фильм «Социальная дилемма»4. Здесь сам собой напрашивается вывод о том, что развитие так называемого «децентрализованного общества» без развития децентрализованных хранилищ с большой вероятностью приведёт нас к созданию паноптикума или идеальной тюрьмы5, описанной Иеремией Бентамом, в которой один стражник может наблюдать за всеми заключёнными одновременно. Заключенные паноптикума не могут знать, ведётся за ними наблюдение в данный момент или нет, потому как стража в башне не видно, и по этой причине они всегда находятся в подавленном состоянии.
Очевидно, что развитие такого сценария приведёт к глобальным социальным и психологических сдвигам всего человечества, что далеко от гармоничного и светлого будущего, к которому на словах все стремятся. По мере развития технологий эта проблема становится все более актуальной и подошла к критической точке. Самое удивительное, что решение этой проблемы может быть найдено, но никем из представителей децентрализованных хранилищ и, тем более, блокчейн-сообщества, она даже толком не обсуждается. Давайте глубже разберёмся в этой проблеме.
Под «децентрализованным хранилищем» обычно понимается глобальное p2p хранилище, для увеличения функциональности которого используются блокчейн и смарт-контракты. Его архитектура может отличаться в зависимости от проекта. В основе его функционирования лежит распределенное хранение данных, которые могут быть зашифрованы, поделенных на множество частей. Данные в таком хранилище никогда не хранятся целиком на одном устройстве, и даже расшифровка кусочка данных, хранимого на одном из устройств, ничего не даст злоумышленнику. Для доступа к данным злоумышленнику придется завладеть критической массой нод в децентрализованной сети и суметь их расшифровать.
Примером управления персональными данными, достаточно широко известным в блокчейн-сообществе, является «самостоятельное управление персональными данными» (Self- Sovereign Identity, SSI) . Подразумевается, что блокчейн и децентрализованные решения позволяют избавиться от центров доверия для управления персональными данными, и пользователь может самостоятельно управлять своим удостоверением личности, при этом соблюдая требования общества и законы.
Однако в таких проектах встаёт вопрос о том, где хранить персональные данные людей, чтобы обеспечить их конфиденциальность и при этом управлять ими с использованием блокчейна и смарт-контрактов. Персональные данные – это, по сути, любая информация, относящаяся к конкретному человеку. Раз мы говорим о данных в цифровом виде, можно представить их как цифровой «аватар» человека. Причем таких аватаров может быть бесконечно много.
Например, в онлайн-игре меня знают только как человека, говорящего на английском языке, с мужским голосом и имеющим определенную игровую статистику. А при регистрации на сайте знакомств я сообщаю о себе совсем другие сведения и даже загружаю фотографию.
Во многих случаях цифровые «аватары» создаются для идентификации/аутентификации человека в Интернете. Особенно, когда компании обязаны проводить KYC для продажи товаров или оказания услуг. В таких случаях использование блокчейна и смарт-контрактов может помочь:
— обеспечить большую достоверность цифровых «аватаров»;
— предоставить человеку возможность самому управлять наполнением своего «аватара» и контролировать доступ к его данным;
— гарантировать неизменяемость записей в целях исполнения законодательства о защите персональных данных;
— поддерживать целостность и конфиденциальность данных за счет распределенного хранения и управления.
С другой стороны, использование блокчейна для управления персональными данными имеет свои ограничения. Например, крайне не рекомендуется помещать персональные данные в блокчейн, особенно в «чистом виде» (без шифрования)6. Это связано с тем, что блокчейн по определению – прозрачный и неизменяемый реестр (актуальные данные могут быть изменены, но сохранится история блоков, а значит и предыдущие данные), а у субъектов персональных данных, по умолчанию, есть право требовать удаления данных, или интерес сохранять их в тайне. Поэтому персональные данные целесообразно хранить не в блокчейн, а где-то еще.
Сейчас существуют несколько вариантов решения этой задачи:
- локальное хранилище (например, на мобильном устройстве пользователя) ;
- облачное хранилище;
- некое гибридное решение (локальное + облачное) ;
- децентрализованное хранилище.
Давайте разберём основные плюсы и минусы этих вариантов:
Правила обработки персональных данных.
Любое законодательство призвано защищать чьи-либо интересы. В области персональных данных есть интересы людей, чьи персональные данные обрабатываются, и интересы компаний (контролеров/операторов) , которые эти данные обрабатывают. Интересы людей заключаются в максимальной защите конфиденциальности их данных и установлению строгих правил их обработки, а интересы компаний, наоборот, – в максимально свободном доступе к персональным данным, возможности свободно их использовать, передавать и даже продавать. Законы разных стран по-разному выстраивают баланс между этими интересами в зависимости от политических убеждений руководства страны и давления коммерческого лобби. Мы исходим из того, что право каждого человека на неприкосновенность частной жизни имеет преимущество перед коммерческими интересами компаний, следовательно, правила обработки персональных данных должны быть направлены, в первую очередь, на защиту интересов людей.
На сегодняшний день считается, что лучше всего интересы людей в области защиты их персональных данных отражены в законодательстве Европейского союза, центральным элементом которого является Общий регламент о защите данных (General Data Protection Regulation, GDPR)7. В США наиболее известным является калифорнийский закон о защите потребителей (Californian Consumer Protection Act, CCPA)8, однако, в отличие от GDPR, он не содержит фундаментальных требований к правилам обработки персональных данных, а лишь описывает права потребителей, возникающие вследствие обработки персональных данных компаниями. Поэтому мы предлагаем рассмотреть юридические требования к хранению персональных данных в децентрализованных хранилищах именно с позиций европейского регламента.
GDPR содержит множество правил, которые нужно учитывать при использовании децентрализованных хранилищ для обработки персональных данных.
Наибольшую сложность могут вызывать следующие положения:
- права субъекта персональных данных на их уточнение или удаление (статьи 16, 17 GDPR) ;
- обеспечение целостности и конфиденциальности данных (статья 5(1)(f) GDPR) ;
- обеспечение актуальности данных (статья 5(1)(d) GDPR) ;
- ограничения по хранению данных (статья 5(1)(e) GDPR) ;
- ведения записей о передаче, чтении и любой другой обработке персональных данных (статья 30 GDPR) .
Несоблюдение этих правил может привести к штрафам для компаний в миллионы евро, как видно на примере дел против компаний Clearview Ai Inc. в Великобритании (9 000 000 Евро) , Enel Energia S. p.A в Италии (26 500 000 Евро) , Google LLC вв Испании (9 000 000 Евро) и других9. Но главное здесь даже не размер штрафа, а то, что, не соблюдая эти правила, крупные компании наносят вред интересам своих пользователей.
Для децентрализованных хранилищ эти правила означают, что:
- должна быть возможность удаления персональных данных, по достижению цели их обработки или в том случае, когда человек, чьи данные обрабатываются, потребовал их удаления;
- персональные данные не должны быть потеряны или повреждены;
- никто не должен иметь доступ к персональным данным человека кроме него, а также других людей/ компаний, у которых есть законное право на такой доступ;
- каждое действие с персональными данными должно журналироваться;
- должна существовать возможность обновления неточных персональных данных;
- информация о том, кто записал конкретный файл и кто к нему впоследствии обращается, должна быть скрыта от внешнего наблюдателя. К примеру, само знание факта посещения раковой клиники человеком может быть использовано злоумышленниками даже без раскрытия диагноза.
Здесь важно упомянуть, что, для соответствия требованиям GDPR, недостаточно просто зашифровать персональные данные и при этом оставить возможность любому лицу скачать зашифрованный файл. Зашифрованные данные с точки зрения закона остаются персональными данными. Более того, с учетом скорости развития технологий вполне можно предположить, что через 5-15 лет для многих методов шифрования будут найдены способы взлома (например, с использованием квантового компьютера) . А это означает, что могут появиться злоумышленники, собирающие персональные данные в зашифрованном виде сейчас, чтобы расшифровать их в будущем.
Погружаясь глубже в эту тему, мы с удивлением обнаружили, что децентрализованных хранилищ, позволяющих решать эти задачи, на сегодняшней день не существует. Более того, мы не нашли ни одной компании или открытого обсуждения, которая занимались бы решением этой проблемы.
Вместе с тем, рассматривая технические решения в области идентификации и обработки персональных данных, мы обнаружили что они сталкиваются с той же проблемой. Примером одного из таких проектов является достаточно известный протокол KILT. KILT ─ это протокол для подтверждения идентификатора личности и аутентификации пользователя, с использованием блокчейн, при этом позволяющий сохранять анонимность. Этот проект тем более интересен, что уже используется для процедуры KYC в экосистеме Polkadot.
Пользователь отправляет свой документ, удостоверяющий личность, специальному участнику сети под названием «Аттестер» (Attester) , выдающему аттестат для этих данных. После того, как Аттестер подтвердит подлинность документа, данные об этом будут записаны в блокчейн KILT с подписью Аттестера и указанием его публичного ключа. Подписан будет хэш10 персональных данных из этого документа и публичного ключа пользователя (его адрес) . При этом в KILT-blockchain сохранятся не сами персональные данные, а только их хэш. В белой бумаге KILT указано, что делается это потому, что размещение данных в блокчейн делает их публично доступными и не позволяет совершить их удаление. Это, в свою очередь, противоречит таким пунктам GDPR как право на забвение (Right to Erasure) , и правилам конфиденциальности. Более того, правила GDPR запрещают хранить персональные данные даже в зашифрованном виде, если их при этом может скачать кто угодно, о чем отдельно сказано в белой бумаге KILT11.
После того, как удостоверение личности было подтверждено, и информация об этом была записана в блокчейн, пользователь может для аутентификации в каком-либо сервисе направить данные из своего удостоверения сервису (verifier). Сервис заранее уведомляет, какие удостоверения он принимает, и они должны быть согласованы в общей сети с Аттестерами. Сервис может не проверять подлинность переданных данных, а свериться, что в блокчейне KILT уже хранится подписанный хэш этих персональных данных и пользовательского публичного ключа.
Такой подход позволяет исключить изменение персональных данных без прохождения дополнительной процедуры аттестации и упрощает работу для децентрализованных бирж и других сервисов, которым больше не нужно тратить ресурсы на проверку подлинности документов. Однако вопрос о хранении персональных данных намеренно оставлен вне протокола KILT. По мнению команды протокола KILT, пользователь, Аттестер и сервис должны следовать правилам GDPR самостоятельно, а хранением данных должен заниматься пользователь, который и является их владельцем. Следовательно, вопрос о том, где и как будут храниться персональные данные, остается за пределами проекта KILT.
Приведём выдержку из белой бумаги KILT:
… the GDPR and blockchain do not match well and therefore the KILT Protocol does have the same problems with the GDPR as any other blockchain project. The main source of mismatch is that the GDPR was created with a vision of a central data processor who actively collects data, stores data and has the sole power over the data collected.
… GDPR и блокчейн не очень хорошо стыкуются, поэтому протокол KILT имеет все те же проблемы с соответствием положениям GDPR, что и любой другой блокчейн проект. Главная причина этого несоответствия в том, что положения GDPR были созданы исходя из представления о централизованном обработчике данных, который собирает данные, хранит их и имеет полную власть над собранными данными.
При этом, в содержании GDPR ничего не говорится о том, что требования GDPR разработаны только исходя из представления о централизованном хранении данных. Более того, глубокий анализ этого вопроса говорит о том, что децентрализованные хранилища способны вывести соблюдения прав и принципов GDPR на недосягаемую для централизованных хранилищ высоту. Однако широких обсуждений и, тем более, решений этого вопроса, до настоящего момента нами не обнаружено.
GDPR в первую очередь основан на этической стороне вопроса обработки персональных данных и сфокусирован на том, что любое их использование должно быть прозрачно для тех, к кому эти данные относятся. Владелец данных должен быть уверен, что его данные не будут использоваться в тех целях, на которые он не давал согласия. Только строгое следование правилам GDPR или очень схожему законодательству защитит человека от противозаконного использования данных и психологических манипуляций со стороны корпораций, обрабатывающих большие данные.
К сожалению, хотя протокол KILT и использует децентрализованное решение, он не в состоянии избежать централизации сбора и обработки персональных данных потому, что децентрализованных хранилищ, позволяющих ему это сделать, не существует. Команда KILT, столкнувшись с этой проблемой не скрывает её и ещё раз подчёркивает наличие несоответствия положений GDPR и блокчейн-проектов.
Выбираем из sia, ipfs+filecoin, storj, swarm, arweave, 0chain, dfinity, TON storage.
А теперь давайте чуть подробней посмотрим на существующие децентрализованные хранилища и попробуем разобраться в том, что они нам предлагают.
Sia ─ это один из самых первых и зрелых проектов в области децентрализованных хранилищ, который имеет собственный Proof Of Work блокчейн для записи смарт-контрактов и p2p сеть хранения данных. Sia работает как рынок, где желающий хранить файл (Client) устанавливает стоимость хранения. Предлагающие место для хранения участники p2p сети (Hosts) устанавливают стоимость, за которую они готовы хранить файлы. В момент размещения файла в хранилище клиент Sia разделит файл на 30 частей, применит erasure coding, после которого файл можно будет восстановить из любых 10 его частей. Sia будет следить за тем, чтобы хранящие данные узлы были доступны. Если какой-либо из узлов не будет недоступен, то клиент должен сам скачать файл, произвести erasure coding12 и перезаписать этот участок файла на новый узел, подписавший контракт. Такой подход устраняет необходимость в репликации файлов. Однако клиент должен сам перезаписывать удалённые куски, то есть оставаться на связи в течении хранения файла. Для подтверждения того, что файлы на самом деле хранятся, Sia использует алгоритм Proof of storage. Суть этого алгоритма заключается в том, что запрашивается небольшой кусок файла и хэши построенного дерева Merkle13 из остальных кусков этого файла. Это позволяет избежать передачи всего файла проверяющему. Участок файла выбирается случайно, и можно убедиться, что весь файл хранится у опрашиваемых участников сети. Однако Sia не позволяет удалять файлы или ограничивать доступ к файлу настройкой прав. Дело в том, что удаление файла в системе происходит тогда, когда за него перестают платить, но в Sia хранение файла может оплачивать кто-то, кроме загрузившего файл, тем самым ограничивая удаление.
При этом важно учитывать тот факт, что данные могут быть не удалены, даже если оплата за хранения не поступила. Узел, хранящий данные, может оставить их у себя без оплаты.
Конечно же, можно шифровать файл, но этого недостаточно для того, чтобы регулировать доступ (например, отзывать доступ для конкретного участника) .
Кроме того, исходя из смарт-контракта хранения, файл можно получить в зашифрованном виде целиком, а даже зашифрованный файл с персональными данными, когда связан с идентификаторами пользователя, исходя из положений GDPR является персональными данными. Кроме того, существует возможность расшифровать их через 5-15 лет, о чём мы уже упоминали выше. Вместе с тем, можно отследить, кто имел доступ к файлу и кто оплачивал хранение, и на основе этой информации построить граф связей, который позволит определить того, кому принадлежат хранимые персональные данные, даже без их расшифровки.
Собирая события в блокчейне и в децентрализованном хранилище по созданию контрактов, а также по скачиванию и загрузке файлов, возможно построить граф связей. По цифровым следам, которые пользователи могут оставлять и в других сервисах, злоумышленники или крупные организации и правительства смогут идентифицировать владельца персональных данных, даже не расшифровывая файл.
Sia подходит для хранения контента, и, в частности, для файлов, связанных с NFT, но, судя по всему, сервис не проектировался для хранения персональных данных и не подходит для этой цели почти по всем параметрам.
IPFS в чистом виде не гарантирует хранение файла, так как мотивация для хранения файла участниками отсутствует. IPFS построена на распределённой таблице хэшей (DHT) , с применением маршрутизации Kademlia, как в файлообменных сетях KAD, eMule. Это означает, что файл находится в ней по идентификатору файла, полученному из его хэша, без знания прямого адреса участника сети. Filecoin построен поверх ipfs и предоставляет слой мотивации участников для хранения файлов и, кроме поощрения, также включает методы наказания для участников, нарушивших договор хранения. Благодаря DHT, сеть самоорганизуется и не требует сторонних усилий для того, чтобы следить за распределением файлов по сети, и для создания равномерной нагрузки. Вместе с тем, мы не можем удалять или модифицировать файлы, так как их адрес зависит от сохранённого контента.
В kademlia расстоянием выступает XOR. Операция XOR может выступать расстоянием, так как удовлетворяются условия:
- d(x, x) = 0
- d(x,y) > 0, if x! = y
- forall x,y: d(x,y) = d(y,x) — симметрия
- d(x, z) <= d(x, y) + d(y, z) — неравенство треугольника
От контента сохранённого файла (фрагмента) вычисляется хэш. Каждый узел хранит те файлы, хэш которых наиболее близок к его ID.
Оригинал иллюстрации работы kademlia-маршрутизации, взят документации Kademlia14. Поиск ноды по ее ID. Здесь нода с префиксом 0011 находит ноду с префиксом 1110, успешно изучая близлежаишие ноды, делая запросы к нодам, находящимся все ближе и ближе к искомому адресу. Стрелочками внизу показано, как происходит поиск пути к целевои ноде.
Получается, что использование DHT для построения хранилища с удаляемым и модифицируемым контентом возможно только в том случае, когда адрес данных генерируется пользователем, а не вычисляется как хэш содержимого. В этом случае загружаемый контент может быть подписан пользователем закрытым ключом, а адрес может являться открытым ключом, чтобы обеспечить невозможность модификации кем-либо ещё. Опять же, в Filecoin никак не решается задача по настройке прав доступа к файлу для отдельных лиц и групп лиц.
Storj использует централизованный мост, работающий в google cloud, и мы не будем детально его рассматривать. Применение централизованного «бутылочного горлышка» для решения задач по настройке прав доступа не является решением поставленной задачи. После применения централизации в любой точке процесса техническое решение перестаёт быть децентрализованным.
Swarm так же, как и Filecoin, использует DHT. Примечательно, что создатели SWARM используют несколько иной тип Kademlia маршрутизации, в которой мы не можем узнать сетевые адреса участников сети, находящихся не по соседству с нами в пространстве Kademlia-маршрутизации. Кроме того, к файлам прикладывается почтовая марка и оплата хранения производится по почтовой марке, файл автоматически реплицируется по соседним участникам в топологии Kademlia-сети. Это попытка решить важный вопрос скрытия физического адреса и пользовательского идентификатора, чтобы участники сети не знали, кто загрузил файл, и кто его скачивает. Для целей сокрытия адреса изменяется правило маршрутизации, которое авторы назвали forwarding kademlia. При forwarding-маршрутизации каждый узел знает только своих соседей. Чтобы отправить запрос к узлу, которого нет среди соседних, он его отправляет соседнему узлу, адрес которого наиболее близок к адресу назначения. Сосед перенаправляет это сообщение далее по сети, и каждый следующий передающий знает только то, от какого соседа пришло сообщение, но не знает, инициировал ли это сообщение сам сосед или только его перенаправил.
Оригинал иллюстрации работы forwarding kademlia, взят из белой бумаги SWARM15. Показаны кольца запросов-ответов в forwarding Kademlia. Здесь нода с оверлейным адресом… 0000… посылает запрос к цели… 1111…, у которой близлежайшая нода, находящаяся онлайн, имеет адрес… 1110… Многоточие вначале представляет собой префикс адреса, который является общим для отсылающего запрос и цели, и длина которого составляет n бит. Многоточие в конце показывает ту часть адреса, которая не важна для маршрутизации, поскольку на этой глубине адреса уже уникальны. Запрашивающий перенаправляет сообщение к соединённому пиру, которого знает, и оверлейный адрес которого расположен ближе к целевому адресу (показано жёлтым). Пир, получивший это сообщение, делает то же самое. Рекурсивное примененеие этого действия передаёт сообщение по цепочке пиров (жёлтый, красный, синий), на каждом шаге ближе к цели. Передающие пиры, лежащие на пути, запоминают, от кого получили сообщение, поэтому, когда они получат ответ, то направят его по тому же пути, по которому пришёл запрос.
Ни одно из существующих из рассматриваемых нами хранилищ не решает этот вопрос. Разработчики swarm, несмотря на сложности, связанные с архитектурой, описали внутренний протокол, позволяющий предоставлять доступ к файлу и удалять его. Удалить файл может только тот, кто этот файл поместил в хранилище при следующем техническом ограничении. Прочитать и расшифровать файл может только конкретный выбранный загружающим адрес. Маршрут в Kademlia-сети от зашифрованного файла до этого адреса строго определён в момент загрузки. Загружающий в момент загрузки располагает в соседних нодах на этом маршруте специальные чанки. Расшифровать файл возможно при прохождении этого маршрута, зная количество этих специальных чанков в соседних узлах. Активация удаления происходит путём увеличения количества этих чанков, и, таким образом, расшифровать файл становится невозможно. К сожалению, восстановить файл не получится и при наличии других причин изменения маршрута. Например, в том случае, если определенное количество узлов в подсети выйдет из строя, или в результате деления сети, которое происходит в Swarm при увеличении количества ее участников. Иными словами, такой подход к удалению оказывается неустойчивым даже при стандартных процессах, которые происходят при функционировании сети.
Остаётся и вопрос о предоставлении прав доступа на группу лиц, члены которой могут меняться, а также о возможности предоставления доступа сразу нескольким сторонам договора. Вопрос анонимизации оплаты за хранение данных тоже остаётся нерешённым, как и в большинстве других хранилищ, что потенциально позволяет определять владельца, даже без расшифровки хранимых персональных данных.
Arweave – блокчейн для вечного хранения файлов. Данные не могут быть изменены или удалены, как в обычном блокчейне, что сразу же отсекает это хранилище от возможности использования для хранения персональных данных. Arweave стоит особняком от других рассматриваемых технических решений и заслуживает внимания для хранения NFT и не удаляемых документов, Arweave хранит файлы условно вечно. При записи данных в блокчейн оплачивается стоимость транзакции и стоимость вечного хранения файла, которая рассчитывается исходя из трендов снижения стоимости хранения за последние 50 лет. Разработчики воспринимают «вечность» хранения условно, признавая циклическую смену технологий, и подразумевая вечно в рамках технологического цикла, в котором существует Arweave, но предполагают, что данные будут перенесены в новое решение, когда это понадобится (что станет с NFT при таком переносе не уточняется). Технологически Arweave для майнинга следующего блока использует специальный recall block, который выбирается из предыдущих блоков на основании текущего блока. Так как невозможно предсказать, каким будет следующий recall block, то такой подход мотивирует участников сети хранить как можно больше блоков и стараться хранить те блоки, которые не хранят другие участники. Таким образом, вероятностно все блоки будут храниться.
0chain ─ децентрализованное хранилище, которое держит в фокусе внимания работу с персональными данными и соответствие GDPR. Кроме того, заявляется, что проект полностью решает поставленные задачи! 0chain состоит из сети хранения и Proof of stake блокчейна, который отвечает за смарт-контракты хранения файлов. 0chain использует erasure coding для надёжного хранения данных. Как и другие хранилища, разбивает файл на куски и использует merkle tree для подтверждения хранения файла участниками. В протокол входит возможность ограничения доступа к файлу для определённых лиц, которые должны предъявить access-метку, а также возможность удаления файла. Кроме того, благодаря proxy reencription существует возможность зашифровать файл таким образом, что его может просматривать и владелец, и лицо, которому предоставлялся доступ к файлу (с использованием его публичного ключа).
В 0chain, в отличие от других хранилищ, отдельное внимание уделяется чтению файла, и решается вопрос журналирования доступа. Протокол устроен таким образом, что в блокчейне сохраняются отметки о том, кто прочитал файл. Но на самом деле, сервер сфайлом (blobber, в терминологии 0chain) может и не оставить в блокчейне отметку, что кто-то прочитал участок файла, но тогда он не получит вознаграждение запредоставление файла. Это означает, что информация о том, что файл был кем-то прочитан, может быть не зафиксирована в блокчейне. Так как возможность хранения может предоставлять любой сервер, соединившись к сети 0chain по её протоколу, то поле для таких действий открыто для внешних участников.
Оригинал иллюстрации протокола для чтения файла в 0chain взят из белой бумаги о системе хранения16.
Разумеется, эти сервера могут быть облачными хранилищами Amazon и Oracle. Положения GDPR выполняются только если ноды, на которых хранятся персональные данные, являются специальным приложением от 0chain, которое должно быть запущено в Amazon S3 или Oracle cloud. Во всех остальных случаях исполнение GDPR не гарантируется. В инфраструктуре Amazon и Oracle применяются технологии и регламенты безопасности хранения данных. При этом данные могут быть распределены между разными bucket’ами и провайдерами Amazon и Oracle, что повышает безопасность хранения и усложняет стороннюю атаку с целью получения данных. Конечно же, если мы считаем, что доверие корпорациям не подлежит сомнению, то такой подход позволяет использовать это блокчейн- решение. Однако очевидно, что может быть создан dStorage клиент, следующий протоколу, который на практике может не удалять данные по запросу пользователя, или же подвергать данные не регламентированной обработке внутри централизованных облачных решений. То есть, опять встаёт вопрос доверия.
При чтении файла протокол не предотврощает чтение файла не авторизованными пользователями и не делает обязательным журналирование таких доступов, если блоббер будет действовать не по правилами сети. Протокол только мотивирует участников сети хранения к правильному поведению, вознаграждая за корректное проведение операций, но не обязывает их делать это.
Иначе говоря, для гарантий обработки персональных данных в соответствии с правилами, хранить данные нужно на тех узлах, которые сам контролируешь. Что является централизацией. Правильно было бы хранить только часть участков зашифрованного файла с персональными данными в своих облачных хранилищах, где установлено приложение 0chain для Amazon S3 и Oracle, таким образом, гарантировав невозможность расшифровки ни со своей стороны, ни кем-либо другим при отсутствии доступа (после удаления или ограничения прав доступа) к любому из кусков зашифрованного файла. К сожалению, в этом случае, остаётся возможность одностороннего отказа платформы от предоставления сервиса (деплатформинга17) со стороны провайдеров облачного хранения. Это в свою очередь приведёт к невозможности чтения всех данных, тем более, что такие действия уже вошли в практику.
Но главной проблемой 0chain остаётся отсутствие анонимизации доступа к файлу и его оплаты. В качестве примера использования, в белой бумаге 0chain приводится следующий случай: правительство выдаёт идентификатор и хранит его у себя в dStorage, банк подписывает отдельный контракт и не хранит идентификатор, а только ссылается на него и обладает доступом к этой записи в dStorage правительства, но хранит другие банковские данные. Аналогичным образом, телеком-оператор в своём dStorage хранит только данные по звонкам и сёрфингу, а медицинский центр ─ историю болезни. Сложно сказать в этом случае, что данные принадлежат самому пользователю, как это предполагается в SSI, а не правительству, банку, телеком-оператору и медицинскому центру, которые вполне могут иметь общий центр влияния или управления. Кроме того, даже если отсутствует этот общий центр, каждый из них может узнать, что этот человек пользуется таким-то оператором, посещал в такой-то день такой-то медицинский центр, имеет счёт в таком-то банке. Разработчики 0chain хотя и подходя т наиболее близко к решению озвученных в данной публикации задач, так как озаботились обеспечением соответствия положениям GDPR, но они не достигают решения задачи по самоуправляемому идентификатору личности с приватным накоплением опыта и репутации. Данные по-прежнему принадлежат не пользователю, а центрам доверия – крупным институтам и корпорациям. 0chain избегает необходимости доверия только к промежуточным звеньям, вроде персонала магазина, выдающего SIM- карту, но мы по-прежнему должны доверять телеком-оператору. Хотя именно благодаря своим размерам и огромным, порой неограниченным, возможностям, корпорации и государственные институты несут существенно большие потенциальные угрозы, чем продавец в магазине.
Dfinity, на наш взгляд, является наиболее технологически продвинутым децентрализованным решением из нам известных. Однако BLS подписи18, без которых работа dfinity невозможна, не устойчивы к атакам на квантовом компьютере, который вполне может появиться в обозримой перспективе (5-15 лет) . Создание постквантовой версии алгоритма, обладающего всеми свойствами BLS, остаётся важным вызовом математикам-криптографам.
Удаление, изменение и хранение данных непосредственно в dfinity возможно благодаря тому, что dfinity не является блокчейном в классическом понимании, а имеет возможность подписать блоки на основании консенсуса (создать catch-up package — CUP) и забыть предыдущую историю изменений. Но этот подход не защищает от того, что кто-то сохранит всю историю блоков, если имеет по ноде в каждой подсети.
Согласно протоколу, старые блоки, содержавшие удалённые данные, будут очищены и забыты, однако это не защищает от того, что кто-то сохранит всю историю блоков всех подсетей.
Инновационная технология, отличающая dfinity от любых других блокчейнов, называется Chain key cryptography и основана на Threshold подписи BLS, Key-Homomrphic signatures, не интерактивной распределённой генерации ключа (non-interactive distributed key generation) и других технологиях. Программный код и спецификация протоколов Dfinity прошли независимый аудит совсем недавно, в начале 2022 года. Решение на базе Dfinity, которое позволяло бы организовывать права доступа к файлам, при этом оставляя связи с ними анонимными, может оказаться достижимым. Но мы пока не смогли ни подтвердить, ни опровергнуть это. Ещё, так как dfinity хранит все данные в оперативной памяти, существует техническое ограничение на суммарный объём хранимых данных. Но этот барьер может быть, и будет увеличен с увеличением количества подсетей. Примечательно, что команда dfinity работает над интеграцией для Bitcoin и Etherium, с использованием собственной инновационной технологии Threshold ECDSA Signing20, прошедшей независимый аудит21, позволяющей подписывать транзакции в другие блокчейны коллективно 2/3 узлами децентрализованной сети, а не через централизованный оракул22. Это позволит взаимодействовать с другими блокчейнами, при этом скорость и стоимость исполнения смарт-контрактов и хранения данных в инфраструктуре dfinity в разы и сотни раз лучше, чем в большинстве блокчейн-проектов. Таким образом, хранилище в dfinity в будущем может быть доступно и из других блокчейнов.
TON storage заявлен, но о нём мало что известно. Нет никаких признаков, что перед хранилищем ставятся задачи о соответствии этическим требованиям, выраженным в GDPR. Мы обратили на него особое внимание, потому что блокчейн TON по дизайну и архитектуре является высокопроизводительным, и сама инфраструктура является чрезвычайно анонимной. Для взаимодействия участников сети в ближайшем будущем сможет использовать garlic-маршрутизацию, используемую в darknet. Создатели TON уделяли особое значение безопасности и приватности данных, и доказали свою компетентность и эффективность по обходу блокировок на примере Ирана, России и Гонконга, где попытки блокирования Telegram не удались. Очень важно, что участники сети TON Proxy децентрализованным образом создают анонимную защищённую оверлейную сеть, поверх Internet, с сокрытием ip-адреса. Такая инфраструктура позволяет участникам создавать в том числе попарные анонимные и защищённые соединения. Благодаря этому возможно передавать данные между участниками, как с записью в блокчейн, так и минуя блокчейн, за счёт чего открываются дополнительные возможности для построения криптографических схем хранения и обработки персональных данных. Нами изучен вопрос и дан положительный ответ о принципиальной возможности построения заявленного хранилища на инфраструктуре TON. К сожалению, о разработке TON Storage и о техническом задании на его создание известно очень мало. И возможно, что текущая команда уделяет вопросам безопасности и приватности пользователей куда меньше значения, чем братья Дуровы, и хранилище будет сделано, как и большинство других, без учёта футуристических задач.
* — для Dfinity конкретного решения нет, но оно в каких-то пунктах точно достижимо, в каких-то возможно достижимо
** — для инфраструктуры TON решения нет, но анонимизация достижима
Выводы и возможное решение.
Как видим, для соблюдения этических и юридических норм, к хранилищам персональных данных должны быть предъявлены особые технические требования.
Требования по хранению и обработке персональных данных, предъявляемые европейскими правилами GDPR хорошо проработаны, этически обоснованы и могут быть приняты эталонными для регулирования в этой сфере.
Создание сложных приложений на основе децентрализованных решений, касающихся реальной экономики, может разительно преобразовать человеческое общество в сторону открытости, свободы для каждого человека, а не только для элит, освобождения от финансового, психологического и юридического гнёта злоупотребляющих властью центров доверия и обработки больших данных. Такие приложения в любом случае должны обрабатывать и хранить персональные данные таким образом, чтобы обеспечивать возможность законодательного регулирования и борьбы с криминалом.
К сожалению, сегодня ни одно из децентрализованных решений для хранения данных не соответствует требованиям, предъявляемым GDPR, и не подходит в полной мере для хранения персональных данных. Разработчики децентрализованных хранилищ либо не задумываются над поставленными в этой статье вопросами и просто делают как все, либо же сознательно избегают освещения этих вопросов, так как это может помешать заработку на “децентрализационном хайпе”. В силу отсутствия децентрализованных хранилищ, способных решать вышеуказанные задачи, все проекты, которые ставят перед собой цель обеспечить пользователю реальный контроль за своими данными, либо находятся в тупике, либо вынуждены вынести вопрос о хранении персональных данных за пределы своих решений, как это делает, например, команда протокола KILT.
Получается, что любое децентрализованное решение вне области виртуальных вселенных, где можно следовать принципам криптоанархии, будет иметь узкие централизованные места сбора и анализа персональных данных, со всеми вытекающими отсюда рисками взлома и злоупотребления, а прозрачность остальной децентрализованной части лишь увеличит эти риски в разы.
Мы уверены, что соблюдение GDPR в децентрализованных решениях возможно при специальном проектировании и применении методов криптографии. Однако это проектирование должно быть выполнено на уровне фундамента и лежать в основе дизайна нового децентрализованного хранилища. Попытки сделать дополнительный программный слой поверх существующих решений не дали положительного результата, и вряд ли дадут.
Перспективными для исследований и возможного применения мы считаем децентрализованное решение Dfinity IC, которое не является блокчейном в полном смысле и позволяет удалять данные, а также инфраструктуру TON.
Dfinity хоть и решает вопрос с возможностью удаления данных, не решает вопросы о конфиденциальном доступе к файлам. Мы ведём исследования в области криптографии для решения этой проблемы, но не факт, что решение возможно в инфраструктуре Dfinity даже теоретически.
Несмотря на то, что проект TON сейчас является полностью открытым и поддерживается исключительно сообществом, технический дизайн TON Storage окутан тайной, и никакие документы пока не опубликованы. Ставят ли разработчики TON Storage перед собой задачи о возможности хранения персональных данных, устанавливая релиз на 2022 год, не понятно. Но пока что широкой публике известно только то, что данные будут шифроваться. Многие могут полагать, что автоматическое шифрование данных в хранилище закрывает вопрос о безопасном хранении, в том числе, и персональных данных. Но это совсем не так, и GDPR накладывает более серьёзные требования, которые должны быть учтены.
Решение вопроса о хранении персональных данных в инфраструктуре TON, по результатам исследований, выходящих за рамки этой статьи, абсолютно точно возможно. Но проблема заключается в том, что никаких открытых дискуссий о дизайне и технических возможностях TON Storage, на удивление, не ведётся. И хотя философия заботы о личных данных людей и конфиденциальности широко пропагандируется основателем Telegram и проекта TON Павлом Дуровым, не похоже, что сообщество разработчиков TON так же озадачено этим вопросом. Во всяком случае, пока все указывает на то, что проект будет сделан “как у всех”, т. е. станет очередным клоном FileCoin. Хорошим, как CDN23 для NFT, и непригодным для персональных данных.
Мы надеемся, что эта статья запустит широкую дискуссию в блокчейн-сообществе и привлечет внимание команд разработчиков и криптографов, способных создавать децентрализованные хранилища, которые соответствовали бы требованиям GDPR, оставались при этом полностью децентрализованными и анонимными. Проведенный нами анализ, выходящий за рамки текущей публикации, однозначно говорит, что такое решение возможно. Необходимость таких решений трудно переоценить, ведь только при условии их реализации мы сможем проложить путь к развитию блокчейн-технологий будущего, ориентированных на человека.
Делитесь информацией для расширения дискуссии, если вам не безразлична тема децентрализованного хранения. Это важно для будущего децентрализованного интернета.
Medium
Скачать отчет можно здесь.
Источник: DeCenter