Глоссарий / Адреса и ключи
Повторное использование адреса
- Что такое повторное использование адреса?
- Повторное использование адреса означает прием более чем одного платежа на один и тот же биткоин-адрес: это публикует постоянную публичную связь между всеми, кто когда-либо платил вам на него.
Адреса биткоина бесплатны и практически неограниченны, и ничто в протоколе не мешает использовать один адрес дважды. В вайтпейпере Сатоши выступил против этого в разделе 10, рекомендуя новую пару ключей для каждой транзакции, чтобы платежи нельзя было связать с одним владельцем. Именно повторное использование превращает псевдонимный реестр в доступную для поиска запись ваших финансов.
Как это работает
Блокчейн представляет собой публичный индекс, а адрес является ключом, по которому он индексируется. Каждый обозреватель блоков предлагает поле поиска по адресу, которое выдает всю историю на одной странице: каждый входящий платеж, каждый исходящий платеж, текущий баланс и отметки времени. Загрузка этой страницы ничего не стоит и не требует ничьего разрешения.
Однократное использование адреса дает одну строку. Использование его сорок раз дает сорок строк, которые доказуемо принадлежат одному получателю, и каждый плательщик может прочитать остальные тридцать девять. Для этого не пришлось ничего взламывать. Реестр является публичным по своей конструкции, и единственная доступная приватность состоит в сложности привязать имя к строке символов.
Повторное использование также меняет то, что известно о ключе за адресом. В выходе pay-to-public-key-hash или pay-to-witness-public-key-hash адрес фиксирует хеш, а публичный ключ остается неопубликованным до первого расходования. Потратьте один раз, и этот ключ навсегда останется в блокчейне. Продолжайте после этого получать платежи на тот же адрес, и каждая последующая монета окажется за раскрытым публичным ключом, а не за скрытым, что является более слабым положением без какой-либо выгоды.
Кошельки решили эту проблему годы назад, не требуя от вас об этом задумываться. Счет BIP-32 содержит 2 147 483 648 адресов только на одной ветви получения, и экран получения переходит к следующему неиспользованному адресу после каждого платежа. Bitcoin Core помечает адреса как использованные и отказывается выдавать их снова. Намеренно использовать адрес повторно сегодня обычно означает скопировать старый из собственной истории.
Почему это важно при покупке биткоина
Каждая биржа, которая проверила вашу личность, хранит ваш адрес для вывода в записи о соблюдении требований, и повторное использование позволяет этой одной записи охватывать все, чем вы владеете.
Выведите на один и тот же адрес 52 раза за год, и вы передадите бирже, ее поставщику аналитики и любому, кто направит судебный запрос любому из них, одну нить, которая раскрывает всю вашу сберегательную позицию. Выводите на новый адрес каждый раз, и те же стороны увидят 52 несвязанных выхода, связь между которыми нужно выводить логически, а не читать со страницы. Такой вывод часто возможен. Но это еще и работа, и это не доказательство.
Белые списки для вывода усложняют этот совет, и делать вид, что это не так, было бы нечестно. Kraken, Binance и большинство крупных площадок позволяют ограничить вывод сохраненным списком адресов, что является сильной защитой от того, кто захватит ваш счет, и это подталкивает вас к повторному использованию. Рабочий компромисс состоит в том, чтобы внести в белый список несколько адресов из одного кошелька, а не один, и сохранить этот белый список. Захват счета опустошает больше кошельков, чем анализ блокчейна.
Бизнес сталкивается с самой прямой версией проблемы. Магазин, который печатает один QR-код и приклеивает его к прилавку, показывает каждому покупателю свою дневную выручку и свой баланс. Платежные процессоры выводят новый адрес для каждого счета из расширенного публичного ключа именно по этой причине, а страница для пожертвований, публикующая один статический адрес, выбрала публичность вместо приватности, иногда не осознавая этого.
Что раскрывает повторно используемый адрес для пожертвований
Опубликуйте один адрес в публичном профиле, оставьте его там на год, и результат, который можно прочитать, окажется неудобным.
Любой может подсчитать полученную сумму до сатоши, посчитать отдельные платежи и прочитать минуту, в которую пришел каждый из них. Жертвователя, который заплатил напрямую со счета на бирже, прошедшего верификацию, можно сопоставить с его собственным взносом, а затем увидеть рядом все остальные взносы. Когда вы в итоге потратите средства, транзакция раскроет, какие монеты вы выбрали, сколько вернулось в качестве сдачи и куда они ушли, аудитории, которая уже знает, что адрес принадлежит вам по имени.
Тихие платежи (silent payments), описанные в BIP-352, являются современным ответом на этот компромисс. Вы публикуете одну статическую строку точно так же, как раньше, и каждый отправитель использует ее, чтобы вычислить другой ончейн-адрес, поэтому публичный идентификатор остается неизменным, а блокчейн не показывает ничего общего между платежами. Это не требует изменения консенсуса, только поддержки в обоих кошельках, поэтому доступность является частичной, а не повсеместной.
Повторное использование адресов vs объединение входов
Повторное использование адресов связывает платежи, приходящие на один адрес; объединение связывает монеты, пришедшие на несколько. Объединение происходит всякий раз, когда одна транзакция расходует два или более входа вместе, что сообщает каждому наблюдателю, что одна сторона владела ключами ко всем из них, правило, которое фирмы по анализу блокчейна называют эвристикой общего владения входами. Две проблемы усиливают друг друга. Тщательная гигиена адресов сводится на нет одним сметающим расходованием всего сразу, и контроль монет является ответом на вторую проблему, а не на первую.
Повторное использование адресов vs атака пылью
Повторное использование адресов является нанесенным себе вредом; атака пылью совершается против вас. Злоумышленник отправляет несколько сотен сатоши на тысячи адресов и ждет, пока получатели объединят эту пыль в более крупную транзакцию, что связывает адрес с пылью с остальными их монетами. Повторное использование не требует злоумышленника и раскрывает значительно больше, поскольку оно раскрывает полную историю платежей, а не одну связь. Обе проблемы решаются одинаково: новые адреса на входе и осознанный выбор входов на выходе.