Глоссарий / Приватность и безопасность
Объединение
- Что такое объединение?
- Объединение монет представляет собой транзакцию, которая тратит монеты с двух или более ваших адресов сразу и тем самым публично сообщает, что эти адреса принадлежат одному владельцу.
В «белой книге» эта утечка была отмечена в 2008 году: там предупреждали, что транзакции с несколькими входами "necessarily reveal that their inputs were owned by the same owner". Позже исследователи превратили эту фразу в эвристику общего владения входами, которая служит основой кластеризации кошельков со времени исследования Meiklejohn 2013 года об экономике биткоина. Объединение монет не является атакой на вас: заявление подает ваш собственный кошелек.
Как это работает
Каждый вход в транзакции биткоина разблокируется отдельно, и доказательство этого записывается в саму транзакцию.
Чтобы потратить одну монету, вы создаете подпись ключом, который ею управляет. Чтобы потратить две монеты в одной транзакции, вы создаете две подписи, по одной на вход, а значит, одна подписывающая сторона имела доступ к обоим ключам в один и тот же момент. Скрыть это невозможно: подписи входят в данные, которые проверяет каждый узел и отображает каждый обозреватель блокчейна. Связь не является вероятностью, это структурный факт, поэтому аналитики доверяют этой эвристике больше, чем любому другому правилу, которое они применяют.
Последствия действуют в обоих направлениях. В обратную сторону объединенные монеты стягивают свои раздельные истории в один кластер, так что монета, прослеживаемая до верифицированного счета на бирже, втягивает другую монету в ту же опознанную группу. В прямую сторону тот, кому вы заплатили, может сложить стоимость каждого потраченного вами входа и увидеть, сколько вы держали в этой части кошелька, а не только сумму счета, который вам выставили.
Только две схемы намеренно нарушают это правило. Coinjoin помещает входы посторонних друг другу людей в одну транзакцию, чтобы эвристика дала неверный кластер, а payjoin делает то же самое в малом масштабе при обычной оплате. Все остальное, что делает ваш кошелек, подчиняется этому правилу.
Где это видно
Объединения обычно происходят автоматически, именно в тот момент, когда вы не думаете о приватности.
Главная причина в выборе монет. Когда ни одна монета не покрывает отправляемую сумму, кошелек берет вторую, не спрашивая, и объединение становится публичным. Функция «отправить максимум» сметает весь кошелек в одну транзакцию и объединяет все, чем вы владеете. Перенос средств со старого бумажного кошелька или подарочной карты в основной кошелек тоже объединяет эту монету с вашим кластером, и любая консолидация является объединением, которое вы выполнили намеренно.
Иногда объединение является честным выбором. Bitcoin Core добавил опцию -avoidpartialspends в версии 0.17.0, которая всегда тратит вместе все монеты, находящиеся на одном адресе, даже если это стоит больше комиссий. Логика в том, что монеты, отправленные на один повторно использованный адрес, уже связаны публично, поэтому держать их раздельно бесполезно, а тратить их по отдельности в разное время означает раскрывать дополнительную информацию.
Увидеть объединения до того, как они произойдут, позволяет контроль монет: включите его, посмотрите, какие монеты отметил кошелек, и снимите отметки с тех, которые вы предпочли бы не трогать.
Объединение монет vs The Merge в Ethereum
Поиск по запросу "the merge" в основном выдает историю другой сети. The Merge был переходом Ethereum от доказательства работы к доказательству доли 15 сентября 2022 года, сменой консенсуса, которая за одну ночь упразднила майнинг Ethereum. В биткоине сопоставимого события не было, и он по-прежнему защищает свою цепочку доказательством работы. В контексте биткоина объединение всегда означает соединение монет в одной транзакции, и на кону здесь только приватность.