Довольно легко реализовать, если я не хватает чего-то:
Предположим, что существует служба смеситель.
Прежде всего, пользователь должен подготовить для смешивания минусов: они должны иметь точно служебные запросы суммы Bitcoin, скажем, 1 BTC.
Пользователь представляет пару: минус он хочет смешивать и ослепил хэш получения адреса. Он также должен заплатить небольшую плату. Сервер отвечает слепой подписи адреса. (Я извиняюсь, если я использую терминологию неправильно: я только что прочитал слепое описание подписи Algo.)
Через некоторое время пользователь отправляет свой адрес вместе с раскрытием подписи. Сервис может подтвердить достоверность подписи, таким образом, он знает, что этот адрес связан с каким-то минусом, но он не может знать, с которой один.
После того, как достаточное количество пользователей представили свои минусы для смешивания, сервис создаст смесительную сделку: она будет включать в себя все минусы и все адреса. Так как адреса появляются в другом порядке, это не представляется возможным сказать, какие минусы связаны какие адреса.
Затем пользователи подписывают свои минусы после подтверждения того, что их адреса включены в выходах транзакции.
Есть два возможных проблем:
1. Пользователь отказывается подписывать его вход. Это легко иметь дело с этим: минус мудака является запретом, все остальные повторно подают их ослеплен и не ослепили адреса. Таким образом, эта атака DoS стоит мудака денег. Также услуга может потребоваться минимальный возраст 1 день для вставки. Это означало бы, что саботировать подписание 100 раз в день мудак требуется по меньшей мере 100 BTC.
2. NSA представляет свои минусы для смешивания, вычитает их из сделки и, таким образом, уменьшает энтропию смешения. Я не вижу, что это большая проблема, потому что энтропия смешение всегда log2 N, где N является числом честных участников, которые никогда не будут раскрывать свой (очкам, адрес) пара. Так что АНБ может только привить чувство ложной безопасности, если количество честных участников невысоко. И это будет стоить АНБ деньги ...
В идеальном случае, обычно используемые клиенты Bitcoin должны делать смешивания, время от времени, даже если пользователь не действительно нуждается. Это позволит убедиться, что количество добросовестных участников достаточно велико. Тогда Bitcoin будет статистически анонимным.
EDIT: Ах, третья возможная проблема: обслуживание смесителя выполняется АНБ, и они будут убедиться, что ваши монеты не смешивались с монетами честных людей. Эту проблему необходимо решать, но я думаю, что решение довольно просто: можно проверить качество смешивания снаружи. Скажем, если есть какое-то сеть доверия, члены WoT могут подписывать сообщения, как "мои монеты были смешаны в транзакции ххх", Если вы видите, что достаточное число членов WoT знака определенной сделки вы можете убедиться, что некоторая энтропия смешения существует. (До тех пор, как вы доверяете WoT, то есть.)