В этом посте я расскажу, что я называю "смешивание транзакций", Что позволяет перемещать биткойны от одного из ваших адресов A1 на другой адрес вашего A2, без четкого следа, соединяющего два адреса. Это похоже на идеи, представленные в этот комментарий, а также вот этот. Такие сделки могут выступать как примитив, чтобы помочь улучшить анонимность, хотя, как именно включить их в полном решении анонимности выходит за рамки этого поста.
Смесительные сделки могут быть сделаны полностью p2p без централизованного обслуживания которой риска мошенничества, утечки информации, закрываются и так далее.
Шаг 1: 2-участник транзакция смешивания
Пользователь А кто хочет выполнить смесительную транзакцию находит пользователь B, который также хочет сделать такую сделку (равная находка для этого, вероятно, будет сделана по выделенной сети p2p). А хочет отправить X биткойнов от адреса A1 до A2 и B хочет отправить X биткойнов от B1 до B2. Они обмениваются информацией о A1, A2, B1, B2 и построить сделку с 2 входами и 2 выходами. Один вход Х BTC от А1, а другой Х ВТС с B1 (можно считать, A1 и B1 имеют подлежащие погашению выход с точно X BTC, поскольку такой выход может быть подготовлен заранее из большего выхода); один выход Х BTC до А2, а другой Х BTC до B2. Входы и выходы отображаются в случайном порядке. А и подписать сделку с частными клавиши, соответствующие A1 и B1, соответственно, и транслировать подписанную транзакцию в сети.
А будет иметь Й BTC вычитается из A1 и Х добавляют к А2, по желанию; также для B. Конечно, ни одна из сторон не может убежать с деньгами, поскольку средства обмениваются на одной атомной сделки. Сторонний наблюдатель не может вывести из этой сделки, что A1 и A2 связаны; они имеют равные шансы принадлежать одному и тому же лицу или двух не связанных между собой людей. Если А маршруты его средство через 10 смешение операций, адрес, по которому средства в конечном итоге связан, как сильно оригинальный адрес А как 1023 других адресов, каждый из которых может принадлежать к другому человеку. Это действительно делает отслеживание трудным. Конечно, это потребует, чтобы большое количество людей участвовать в этом методе анонимизации.
Слабость сделки с 2 сторон в том, что B, конечно, знает, что А1 и А2 принадлежат одному и тому же лицу, и может произойти утечка этой информации. Это не может быть разрушительным, если достаточное количество сделок смесительные сделаны, но мы хотим более надежную систему, в которой конфиденциальность поддерживается с наименьшим количеством сделок, как это возможно.
Шаг 2: 3-участник транзакция смешивания
Пользователь A находит сверстников B и C. А хочет отправить X BTC от А1 до А2, и так далее. Они обмениваются информацией о A1, B1 и C1; однако, они открыто не разделяют адреса A2, B2 и C2. Мы хотим, чтобы каждый участник знать все адреса A2, B2 и C2, но не знает, какой кому принадлежит. То есть, не должен знать, принадлежит ли В2 B и C2 относится к C или наоборот.
Для достижения этой цели, следующий протокол может быть использован:
1. создает две пары ключей, (priv_B, pub_B) и (priv_C, pub_C), для одностороннего, коммутативной техники с шифрованием.
2. А посылает к В pub_B и pub_C к C.
3. В шифрует B2 с pub_B для получения E_B (В2), и посылает E_B (В2), чтобы C. C шифрует C2 с pub_C для получения E_c (C2) и посылает E_c (C2) к B.
4. В шифрует E_c (С2) с pub_B для получения E_BC (C2). С шифрует E_B (В2) с pub_C для получения E_BC (В2), и посылает E_BC (B2) в B.
5. В посылает E_BC (C2) и E_BC (В2) до А в случайном порядке.
6. криптосистема коммутативности, так что А не может вывести какие из E_BC (C2), E_BC (В2) был зашифрован с pub_B первым, а затем pub_C. Но она может использовать priv_B и priv_C расшифровать оба сообщения и получить B2 и C2.
7. А посылает A2, B2 и C2, в случайном порядке, чтобы B и C.
A принимает только зашифрованные версии B2 и C2 в случайном порядке, поэтому не может вывести, который кому принадлежит. B знает, что E_c (C2) шифруется адрес C, но он не знает pub_C поэтому он не может проверить, какой из A2, C2 принадлежит С.
Теперь, когда А, В и С, знают, A2, B2 и C2, они могут построить сделку с 3 входами и выходами 3 и подписать его. Для внешнего наблюдателя, А2 смешивают с 3 адреса A1, B1 и C1. Даже если В скомпрометирован, все, что раскрывается в том, что А2 соответствует либо A1 или C1 (коэффициент ветвления 2), вместо того, что он определенно соответствует A1.
Однако, если В и С сговариваются или оба скомпрометированы, соотношение между A2 и A1 делает утечку. Это кажется маловероятным, но это все еще означает, что мы можем быть заинтересованы в сделках с более смесительной силой.
Шаг 3: смешивание транзакции н-участник
Для операции смешивания п сторон, п сверстники должны обмениваться информацией адреса назначения без каких-либо знаний о данных каком адрес кому принадлежит. Я не знаю, эффективного криптографического протокола для достижения этой цели, хотя это может быть сделано с родовым протокол конфиденциального вычисления. Альтернативно, внешняя анонимная сеть может быть использована для каждого пользователя, чтобы транслировать его адрес, не раскрывая источник.
Для сделки н-участника, где каждый пользователь имеет вход X BTC и выход X BTC, компромат участников м означает только то, что каждый из нм бескомпромиссных адресов назначения, как известен, связан с одним из нм бескомпромиссного адреса источника (ветвящихся фактор нм).
Имея смесительную сделки со многими сторонами также позволяет быть более гибкими с входными / выходными количествах. Входы могут быть выбраны, чтобы быть любое значение среди некоторых стандартных значений (например, степени 2), и каждый пользователь может иметь несколько входов с 1 выходом. Так как существует несколько входов каждого размера, оно должно быть невозможно вывести отношения между входами и выходами. Если входные суммы являются универсальными, то это будет возможно, информационно-теоретически, чтобы соответствовать входы на выходы, находя который вводит сумму до заданной выходной суммы; Однако, в зависимости от специфики, это может быть неразрешимой вычислительно (это связано с Подмножество проблема суммы).
Одним из недостатков с крупными сделками смесительных является наличием. Поскольку все стороны должны сотрудничать, чтобы завершить сделку, неготовность ни один из них будет создавать дополнительную работу для реорганизации сделки. Это особенно верно, если одна из якобы заинтересованных сторон в деле планирования злоумышленник DoS бросить и взорвать сделку. Если он обязательно будет частью каждой крупной сделки смешивания, он может сделать это трудно, чтобы любая такая сделка пройти.