Вот как это будет работать:
- На случайный промежуток времени, каждый клиент будет Алиса, и попросить одного из своих коллег Боба, если он хотел бы смешать М количество монет с ней.
- При получении "смешайте предложение" Сообщение от Алисы, Боб может либо а) игнорировать ее, б) принять его, или с) направить ее на другой случайно выбранный подключенный партнер и служит в качестве реле.
- Для того, чтобы принять запрос, Боб определил неизрасходованный TXID, что принадлежит ему (или он может лгать и предложить один, что не принадлежит ему, больше об этом позже), и предлагает свежий принимающий адрес.
- Когда Алиса получает признание Боба, Алиса создает транзакцию с типично два входа: некоторые монеты из Алисы и Боба TXID. И будет два (и, возможно, три или четыре) выходов в случайном порядке: M монета для Алисы, а М монет для Боба. Если какое-либо изменение осталось, тем будет третьим (для Алисы) и четвёртой (для Bob) выходов. Алиса подписывает сделку, но она нуждается в подписи Боба, чтобы быть действительными.
- Алиса посылает Бобу сделку на утверждение. Если он выглядит справедливым Бобу, он подписывает его и передает его.
- Из блока цепи, M монеты к Алисе и Бобу были неоднозначными. Известно, что монеты принадлежат либо Alice или Боб, но не какой из этих двух.
- Если все периодически смешивая монеты, как это, в конце концов, это будет часто видеть шесть или десять или более "смеси" между реальными сделками. Те "смеси" бы сделать это так, что это не только один из двух, но один из 2-х ^ п различных возможных плательщиков.
- Я могу думать о других идей, которые бы существенно повысить эффективность в дальнейшем. Например, если М были ограничены конкретными числами (например, 5 ^ п, где п представляет собой целое число, так что M, как правило, может быть только один из 0.0016BTC, 0.04BTC, 0,2 BTC, 1BTC, 5BTC, 25BTC, 125BTC, 625BTC), то меньше смесительные операции будут включать выходы изменения, которые будут отвлекать от смешения эффективности, как это было бы гораздо более вероятно, что узлы ищут смешивать TXID-й в одинаковых количествах. И Алиса могла бы поговорить с несколькими Качается в то же время и построить сделку, которая смешивает M монеты для нескольких партий, а не только два.
- Возможность переадресации запросов, игнорируя запросы, и возвращение ложных txids, все способы предотвращения Алисе подключения к Бобу и быть в состоянии спросить его, "Эй Боб, получил монеты? и если да, то какие?" Перенаправление позволяет правдоподобное отрицание на ответ (Боб может сказать "те, которые не были мои монеты, они принадлежат к одному из моих коллег, или были ложью"). (В случае, если Боб лежит и возвращает TXID не его, он не сможет подписать и завершить сделку, которая была бы неотличима от Боба просто решив не завершить сделку самостоятельно. Например, Боб не может есть какая-то монета, или не может иметь какие-либо коллег, которые отвечают на пересылаемом запрос. способность Боба врать повышает его способность претендовать на монеты он предложил смешивать не его были.)
Нижняя линия есть, если смешивание монет были построены в клиенте, не было бы и не быть необходимости для любого использования услуги смешивания монет, и, таким образом, сознательно и опознаваемого участвовать в так называемых "отмывание денег", Скорее всего, они будут обмениваться монетами в ходе обычной деятельности, так же, как я могу пойти в продуктовый магазин с двадцатью и попросить двух десятков, не будучи виновным "отмывание" двадцать.
Этот процесс также будет в значительной степени поможет в стороне масштабируемости сети. Если в сочетании со схемой, где небольшие пенни txids (например, генерируемые p2pool) были сведены в количествах, достаточно больших, чтобы быть действительным для смешивания, это также будет дефрагментировать их, не заставляя тот, кто владеет этим выходы deanonymize себя ... это было бы значительно сократить бремя хранения на ближайшую будущих клиентов, которые будут отслеживать только неизрасходованные операции вместо целого блока цепи.