Что выдаёт ваш адрес: приватность в навсегда публичном реестре

·6 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: приватность в блокчейне и что выдаёт криптоадрес

Что выдаёт ваш адрес: приватность в навсегда публичном реестре

Большинство людей усваивают правила криптоприватности задом наперёд. Они предполагают, что псевдонимное имя — строка из букв и цифр вместо «Джейн Смит» — означает анонимность, и узнают обратное лишь тогда, когда что-то связывает эту строку с ними.

Верная мысленная модель — противоположная. Блокчейн — это постоянная, публичная, реплицированная по всему миру запись каждого платежа, который когда-либо был сделан. Псевдонимность — тонкий слой поверх неё, и работает он в одну сторону: устанавливается трудно, теряется мгновенно, восстановлению не подлежит.

Псевдонимно — не значит анонимно

Адрес не несёт вашего имени. Он несёт всё остальное: каждую полученную сумму, каждую отправленную сумму, точные отметки времени и адреса по ту сторону каждой транзакции. Любой человек в мире может это прочесть, навсегда, не спрашивая разрешения.

Адрес достаточно связать с вами один-единственный раз. После этого вся прицепленная к нему история — прошлая и будущая — тоже связана с вами. Задним числом. Отвязать её невозможно, потому что реестр не редактируется.

Именно это свойство единой точки отказа делает приватность в блокчейне необычной. В большинстве систем утечка раскрывает то, что утекло. Здесь утечка раскрывает всё, что этот адрес когда-либо делал, и всё, что он будет делать потом.

Как адреса связываются с людьми

Вы сами кому-то сказали. Биржи собирают документы, удостоверяющие личность, и точно знают, на какие адреса отправили ваши выводы. Знает и всякий продавец, которому вы заплатили, всякий сервис, где вы зарегистрировались, всякий друг, которому вы отправили платёж.

Вы его опубликовали. Адрес для пожертвований в подписи на форуме, банка для чаевых в профиле, адрес, вставленный в тикет поддержки. Раз проиндексирован — навсегда.

Эвристика общего входа. Вот главная для UTXO-сетей, и никакого содействия с вашей стороны ей не требуется. Когда транзакция тратит несколько входов сразу, почти достоверный вывод — что все они контролировались одним кошельком, ведь подписать их все требовало всех их ключей. Компании, анализирующие блокчейн, кластеризуют адреса ровно на этом основании, и это хорошо работает. Транзакция, соединившая один известный адрес с тремя неизвестными, только что добавила эти три в ваш кластер.

Вывод об адресе сдачи. Отправьте 0,3 BTC из входа в 1 BTC, и 0,7 вернутся вам сдачей. Существуют эвристики, угадывающие, какой из выходов — сдача: круглые суммы, совпадение типа адреса, порядок выходов. Ни одна не даёт уверенности, но они попадают достаточно часто, чтобы протянуть кластер через множество переходов.

Повторное использование адреса. Многократный приём на один адрес собирает всю вашу финансовую историю в одном месте, за которым легко наблюдать. Самая частая и самая легко избегаемая ошибка из списка.

Время и суммы. Платёж на необычную сумму в определённый момент можно сопоставить со сведениями вне блокчейна вообще без всякой криптографии.

Что это значит на практике

Реалистичная угроза — не государственный противник. Она обыденна и куда ближе:

  • Любой, кому вы платите, видит ваш баланс и, значит, знает, что вы можете себе позволить.
  • Любой, кто платит вам, может наблюдать, что вы делаете с деньгами дальше.
  • Работодатель, выплачивающий зарплату в блокчейне, видит всю финансовую жизнь получателя.
  • Публичный адрес для пожертвований превращает вашу кассу в предмет общего доступа.
  • Физический риск становится реальным, когда видимый баланс связан с настоящей личностью, — потому операционная безопасность значит больше, чем принято думать.

Ничего из этого не требует судебного запроса. Требуется обозреватель блоков.

Что действительно помогает

Используйте разные адреса для разных целей. Самая ценная привычка с большим отрывом. Адрес, который вы даёте бирже, адрес для публичной ссылки на пожертвования и адрес с долгосрочными сбережениями не должны быть одним и тем же — и в идеале никогда не должны быть соединены транзакцией, тратящей из обоих.

Мыслите отдельными коробками, а не одним кошельком. Приватность в публичном реестре рождается из того, что несвязанная активность живёт в несвязанных местах. Как только два адреса появляются входами одной транзакции, они связаны навсегда, и никакая последующая осторожность этого не отменит.

Объединяйте осознанно. Смести множество мелких входов в одну транзакцию хорошо для комиссий и плохо для приватности: это публикует тот факт, что все они принадлежали одному кошельку. Обе заботы законны; суть в том, чтобы выбирать сознательно, а не позволять кошельку решать за вас.

Никогда не тратьте пыль, которую вы не ждали. Крошечный незапрошенный платёж может быть намеренной меткой, и его трата сливает адрес отправителя с вашим кластером. Это «приватная» половина отравления адресов: та же пыль, что готовит мошенничество с похожим адресом, заодно помечает ваши монеты.

Считайте, что каждый вывод с биржи помечен. Так и есть. Планируйте исходя из того, что адрес, на который вы выводите, навсегда окажется связан с вашей верифицированной личностью, и решите, что вы хотите с ним соединять.

Как с этим обходится SSP

SSP выводит адреса из двух ваших расширенных открытых ключей по пути BIP-48, последние два уровня которого — индекс типа и индекс адреса. Каждый отдельный индекс даёт совершенно другой адрес: те же ключи, другой вывод, никакой видимой в блокчейне связи между ними.

На практике это значит, что вы можете создать несколько именованных кошельков в одной сети, каждый на своём индексе вывода, каждый со своим адресом, балансом и историей транзакций. Они выводятся из одного сида, поэтому восстанавливаются все вместе из одной резервной копии, но в блокчейне их ничто не связывает, пока какая-нибудь транзакция не потратит больше чем из одного.

Это по-настоящему полезный примитив для разделения задач: кошелёк для общения с биржами, сберегательный кошелёк, кошелёк под публичный адрес — всё в одном приложении, и ни один визуально не связан с другим.

Теперь честное ограничение. SSP не выдаёт вам автоматически свежий адрес получения на каждый платёж. Каждый кошелёк показывает один адрес, а новые вы получаете, создавая новые кошельки в переключателе. Многие одноподписные кошельки ротируют адреса получения автоматически; SSP сегодня делает это осознанным действием, а не поведением по умолчанию. Разделение доступно, и оно не автоматическое, и если вам нужна гигиена адресов на каждый платёж, придётся делать это нарочно.

Есть ещё структурный момент, о котором стоит сказать прямо, потому что он режет в обе стороны. SSP — кошелёк с мультиподписью два из двух, поэтому его биткоин-адреса — это скрипты P2WSH, а не одноключевые адреса. Для безопасности это отлично, а в блокчейне слегка приметно: скриптовые адреса занимают меньшую долю общего использования, чем одноключевые, а значит, множество анонимности меньше. Это стандартный компромисс любой мультиподписной схемы, и его лучше назвать, чем обойти молчанием.

Честное резюме

Идеальная приватность в блокчейне недостижима обычной гигиеной кошелька, и всякий, кто утверждает иное, преувеличивает. Но то, что дают хорошие привычки, значимо: они поднимают стоимость связывания вашей активности с «открыть обозреватель блоков» до «вести длительный анализ» и по-настоящему держат врозь те отсеки, которые вам важны.

Два самых важных правила просты. Не используйте адреса повторно между несвязанными целями. Не сливайте несвязанные адреса в одной транзакции.

Всё остальное — доводка. Эти два и есть разница между реестром, который читается как дневник, и реестром, который читается как набор не связанных друг с другом обрывков.

Поделиться статьёй

Похожие статьи