На основании информации, которая мне доступна складывается впечатление, что проект MIT ChainAnchor пытается заставить пользователей Биткойна зарегистрировать свои реальные данные и привязать их транзакции к этим данным.
Первоначально всё это должно было быть на добровольной основе. Однако очевидно, что у ChainAnchor есть долгосрочный план подкупа и принуждения майнеров обрабатывать транзакции только от зарегистрированных пользователей и в конечном счёте полностью запретить транзакции пользователей, не предоставивших свои данные.
Если ChainAnchor добьётся успеха, вам придётся регистрировать настоящие личные данные. Ваши транзакции будут привязаны к этим данным. Таким образом постановление суда или даже хакер могут раскрыть все детали ваших Биткойн транзакций и всю финансовую историю, что в свою очередь раскрывает историю всех пользователей Биткойна.
Это будет сделано в три основных этапа:
- Создание системы регистрации, позволяющей пользователям регистрировать публичные ключи для Биткойн кошелька, таким образом формируя “группу допуска”. Зарегистрированные пользователи могут доказать, что выданный публичный ключ принадлежит определённой группе, псевдо анонимно использующей групповую подпись. Однако существует лазейка, позволяющая системным администраторам действовать в сговоре и раскрывать личные данные пользователей.
- После того, как приемлемое количество пользователей зарегистрировалось, подкупить майнеров. Они, в свою очередь, будут майнить только те блоки, которые содержат не анонимные транзакции зарегистрированных пользователей. Соответственно цена и время подтверждения для незарегистрированных пользователей будут расти. Подкупленные майнеры также будут обязаны регистрировать свои личные данные.
- И наконец ликвидировать оставшихся незарегистрированных майнеров, что делает невозможным использовать Биткойн без первоначальной регистрации личных данных.
Мои источники
ChainAnchor пока не представлен публике за исключением небольшой вставки на веб-сайте MIT Trust Consortium. Я получил просочившиеся копии их предварительных документов и обзор слайдов из нескольких источников (в последний раз от самих MIT). Я также связался с людьми, которые утверждали, что были назначены группой ChainAnchor для денежно-кредитного и стратегического партнёрства. Эти люди дали мне подробную информацию о более долгосрочных целях проекта в контексте Биткойна. Они также утверждали, что видные члены Биткойн сообщества участвуют в проекте, помимо имён, перечисленных в предварительных документах и слайдах (Томас Харджоно, Алекс Пентланд из MIT и Нэд Смит из Intel). К сожалению я не смог найти того, кто готов записать свой голос на плёнку и публично заявить кто эти члены Биткойн сообщества на самом деле. У меня нет доказательств, таких как записи телефонных разговоров или видеозаписей предполагаемых встреч. Принимая во внимание возможные последствия, например предание огласке конфиденциальной информации таких крупных компаний как Intel, я не могу винить их за отказ в диалоге с общественностью. Это значит, что я не буду называть имена. Я просто не хочу обвинять людей в чём-либо без железных доказательств их вины. Тем не менее я думаю, что если члены Биткойн сообщества, участвующие в этом сговоре, откажутся от задуманного после утечки информации – это будет хорошим результатом моего труда.Кроме моего назначения на должность консультанта в Intel, у меня нет никаких деловых отношений или договоров о неразглашении конфиденциальной информации с кем-либо из участников ChainAnchor.
Регистрация личных данных, группы допуска
Групповая подпись позволяет каждому в большой группе ключей доказать своё членство в группе без раскрытия конкретного ключа, создавшего подпись. ChainAnchor повторяет схему групповой подписи Intel, широко применяемую в технологии управления цифровых ограничений, чтобы создавать группы допуска ключей представляющих некий атрибут допуска, подтверждающий тот факт, что владелец ключа соблюдает правила борьбы с отмыванием денег и зарегистрировал свою настоящую личность.
Членство в группе допуска контролируется менеджером группы, на которого ChainAnchor ссылается как на проверяющего допуск. Они одни имеют возможность как добавлять новых членов, так и отменять членство без взаимодействия с самим объектом допуска.
Однако проверяющий может и не знать реальные данные пользователей. Регистрации личных данных отведена отдельная роль, известная как провайдер идентификации. На самом деле ChainAnchor постоянно предупреждает, что эти две роли должны быть разделены:
Почему? Проблема в том, что лежащий в основе данной схемы математический алгоритм имеет лазейку. Проверяющий может использовать приватный ключ, чтобы определить кто на самом деле сделал данную групповую подпись. Это означает, что конфиденциальность системы основана на доверии. Проверяющий права доступа и провайдер идентификации могут втайне от всех раскрывать данные пользователей. Путём сговора они могут привязать реальную и криптографическую личную информацию, которую каждая из сторон должна хранить засекреченной друг от друга. Это означает, что судебное распоряжение, запрашивающее информацию о транзакциях пользователей может быть удовлетворено. Это также означает, что хакеры, которые успешно взломают оба сервера, могут раскрыть все транзакции.“Подобно аналогичным схемам, проверяющий не должен быть в сговоре с тем, кто выдаёт допуск и оба должны быть отдельными лицами (физически, операционно и юридически)”
Майнинг разрешённых блоков
Для внедрения в Биткойн ChainAnchor предлагает схему, где майнеры соглашаются майнить разрешённые блоки, содержащие только совместимые транзакции от зарегистрированных пользователей из группы допуска.Технические подробности того, как это работает очень просты. Для каждой транзакции, которую получает соответствующий майнер, он сравнивает все адреса с проверяющим права доступа, чтобы убедиться, что они входят в белый список группы допуска. Если это не так, транзакция отклоняется.
Почему майнер будет это делать, потенциально теряя комиссию от несоответствующих транзакций, отправленных незарегистрированными пользователями? ChainAnchor предлагает подкупать их:
Естественно, чтобы получить взятку, по задумке ChainAnchor, сами майнеры будут согласны верифицировать данные:“В надстройке ChainAnchor успешный майнер получает дополнительную оплату (помимо новых монет и комиссий) за майнинг блока состоящего только из разрешённых транзакций.”
Зачем? Очевидно, что не возможно давать взятки майнерам, если мы не знаем их реальные данные. Последний шаг необходим для того, чтобы майнер получал вознаграждение от владельца группы допуска через провайдера идентификации. Поразительно, что всё описанное выше не имеет абсолютно ничего общего с технологией. Если всё, что хотели сделать ChainAnchor это создать неавтоматический, совместимый с программой по борьбе с отмыванием денег (AML) белый список, тогда какое им дело до того, что майнеры создают блоки, которые также содержат несоответствующие транзакции? Учитывая, что система в любом случае зависит от серверов, проверяющих допуск, очевидно, что нужно просто отслеживать какие транзакции на выходе соответствуют базе данных. Такие сервисы, как Chainalysis делают именно это.“Для допустимого блока провайдер идентификации и проверяющий допуск должны подтвердить, что публичный ключ успешного майнера найден в базе данных. Т. е. они оба должны подтвердить, что майнер выполнил протокол проверки до начала майнинга разрешённых транзакций для ChainAnchor.”
Это же всего лишь единицы и нули! У единиц и нулей несоответствующих транзакций вши завелись?
Что же на самом деле здесь происходит? ChainAnchor просто пытается заставить людей регистрироваться на их сервисе путём увеличения цены и времени подтверждения несоответствующих транзакций от незарегистрированных пользователей. До тех пор пока адреса из белого списка не обнародованы, с точки зрения несоответствующего майнера все транзакции одинаковы. Если вы зарегистрированы, 100% майнеров будут майнить вашу транзакцию. Но если вы не зарегистрированы, вам придётся подождать.
Неудивительно, что одной из проблем, которые я слышал от людей из ChainAnchor было то, что они не хотят участвовать в попытке получить монополию на Биткойн транзакции.
Полное устранение несоответствующих сделок
Заключительным этапом является полное устранение незарегистрированных, несоответствующих требованиям майнеров из сети Биткойн за счёт постепенного снижения их рентабельности, пока они не прекратят добычу или не станут соответствовать требованиям. Простого подкупа майнеров для добычи только разрешённых блоков может быть достаточно для того, чтобы незарегистрированные пользователи отреагировали путём регистрации (или ухода). Дополнительные доходы, полученные от взяток, могут сделать несоответствующих майнеров убыточными.
Но что произойдёт, если пользователи не уйдут? Например, пользователи могут ответить на пониженную пропускную способность несоответствующих транзакций с высокими комиссиями удобной заменой. Технологии масштабирования, такие как Lightning делают пользователей менее чувствительными к повышению комиссий и задержке подтверждения транзакций. На идеальном рынке без искусственных барьеров ChainAnchor в свою очередь должен будет ответить увеличением взяток, выплачиваемых за сговорчивость. Очевидно это может стоить довольно дорого!
По всей вероятности ChainAnchor собирался платить майнерам дополнительную премию, если они будут майнить соответствующие блоки. Возможной стратегией для майнеров могут быть некоторые уступки в качестве тай-брейка, пока они решают на какой стороне форка они будут майнить. Также легко представить такие инструменты как DoS атаки, используемые наравне с легальным, регулятивным и социальным давлением. И наконец, как только большинство хэш мощностей будет на борту, прямая атака на 51% сети всегда возможна (хотя я бы ожидал более тонкого подхода).
Моделирование угроз
Вот где доказательства, доступные мне становятся наиболее схематичны. Вместо того, чтобы обвинять людей с их планами, на данном этапе было бы более продуктивно рассматривать это как примерную модель угрозы. Что бы мог сделать злоумышленник, такой как ChainAnchor, чтобы минимизировать стоимость передела Биткойна в полностью AML совместимую систему с допуском?
Что интересно в этой угрозе, так это то, что злоумышленник пытается изменить состав самого сообщества майнеров, сделать его более регулируемым, используя рентабельность в качестве оружия. Как защитники и дизайнеры протокола мы должны выяснить, каких майнеров мы пытаемся поддержать для достижения наших целей и как обеспечить экономические стимулы системы для рентабельности этих майнеров.