Только медийное адаптивное
Только медийное адаптивное

Сумки транзакций в рюкзаке и неравных монетах — Криптосоветник.рф

2

Хотя официальный документ Сатоши Накамото предполагает, что конфиденциальность была целью разработки протокола Биткойн, анализ цепочки блоков часто может нарушить конфиденциальность пользователей. Это проблема. Пользователи биткойнов не обязательно хотят, чтобы мир знал, где они тратят свои деньги, что они зарабатывают или сколько у них есть, в то время как компании могут не захотеть передавать детали транзакций конкурентам — назвать некоторые примеры.

Но есть решения для восстановления конфиденциальности, такие как CoinJoin. Некоторые из самых популярных решений для смешивания, доступных сегодня, используют этот прием, включая Wasabi Wallet (который использует ZeroLink) и Samourai Wallet (который использует Whirlpool). В обоих случаях пользователи измельчают свои монеты в равных количествах, чтобы смешать их друг с другом. Использование равных количеств считается решающим шагом для эффективности смеси.

В первой части этого мини-сериала рассказывалось о новом протоколе микширования для Bitcoin Cash, который называется CashFusion, который ставит под сомнение предположение о том, что для успешного микширования необходимы равные суммы.

Но даже в 2017 году в статье, в которой подробно анализировалась конфиденциальность CoinJoins с неравным количеством, исследователи из Университета Аахена RWTH и Технологического института Карлсруэ предложили решение для обеспечения конфиденциальности с помощью CoinJoin без необходимости использовать равные количества: смешивание ранцев.

Примечание автора: если вы не знаете, что такое транзакция CoinJoin или почему для смешивания необходимы равные суммы, вам следует сначала прочитать Первая часть из этого мини-сериала — или, по крайней мере, прочитать первые два раздела этой статьи.

Смешивание против оплаты

Как объяснялось в первой части этого мини-сериала, смешивание биткойнов в равных количествах, вероятно, обеспечивает наилучшую достижимую конфиденциальность в блокчейне биткойнов на сегодняшний день. Но это оставляет пользователей с неравномерным выходом. Они не обеспечивают такой же уровень конфиденциальности и могут даже представлять риск для конфиденциальности. CashFusion может помочь справиться с этими неравными результатами.

Но есть и другая проблема. Требование использовать равные суммы не позволяет пользователям совершать реальные платежи посредством транзакций CoinJoin: маловероятно, что продавец будет взимать точную сумму, требуемую в CoinJoin. Таким образом, равные суммы CoinJoins действительно используются только для смешивания *: участники вкладывают средства и получают одинаковое количество средств обратно. К сожалению, это означает, что для смешивания требуются дополнительные блокчейн-транзакции, которые требуют затрат на транзакции и времени.

Исследователи Феликс Константин Маурер (из RWTH Aachen University), Тилль Нойдекер и Мартин Флориан (оба из Технологического института Карлсруэ) решили решить эту проблему в своей статье под названием «Анонимные транзакции CoinJoin с произвольными значениями». Они предложили решение CoinJoin, которое может быть полезно для реальных платежей, то есть использует неравные суммы, но при этом предлагает конфиденциальность.

Интересное  Как Bitcoin Optech соединяет открытые и корпоративные миры

Названный в честь проблемы с ранцем, их решение называется смешиванием ранцев.

Смешивание ранцев

Как и CashFusion, основная идея смешивания ранцев заключается в создании транзакции CoinJoin, которую можно объединить в несколько различных конфигураций потенциальных исходных транзакций. Различные конфигурации будут связывать разные входы с разными выходами, тем самым нарушая цепочку монет на блокчейне.

Микширование в рюкзаке позволяет добиться этого, разрезая исходные выходные данные исходных транзакций на меньшие выходные данные для транзакции CoinJoin. Кроме того, он использует относительно простые приемы обеспечивать что меньшие выходы приводят к возможности нескольких возможных конфигураций.

Бумага Маурера, Нойдекера и Флориана включает три варианта смешивания ранцев. Первый вариант является наиболее конкретным в самой Белой книге. Вторая и третья версии довольно похожи, где третья версия действительно является улучшенной версией второй версии. (Авторы статьи предложили третью версию только на поздней стадии написания статьи; в противном случае ей, вероятно, было бы уделено более заметное место в исследовании.)

Давайте посмотрим на разные варианты.

Вариант первый

Чтобы объяснить первый вариант смешивания ранцев, давайте возьмем пример CoinJoin из первой статьи этого мини-сериала. Алиса хочет заплатить Кэрол 3,2 монеты и имеет два входа на 2,3 и 1,4 монеты соответственно. Тем временем Боб хочет заплатить Дейву 4 монеты и имеет два входа на 3 и 2 монеты соответственно.

Упрощенно, эти транзакции выглядят так:

2,3 + 1,4 = 3,2 + 0,5

и

3 + 2 = 4 + 1

(Выходы 0,5 BTC и 1 BTC изменяются.)

В результате слияния транзакция CoinJoin будет выглядеть так:

3 + 2,3 + 2 + 1,4 = 4 + 3,2 + 1 + 0,5

Как указывалось в предыдущей статье, транзакции были объединены, но, если вы знаете, что есть два плательщика, суммы можно объединить только в одну конфигурацию: исходные транзакции. Таким образом, тривиально переоткрыть, какие вклады были оплачены, какие выходы, победив смысл создания CoinJoin.

Смешивание ранцев меняет это. Короче говоря, он использует разницу в значениях между двумя исходными транзакциями, чтобы разделить исходный вывод самой крупной транзакции на более мелкие части. Это по крайней мере гарантирует, что есть две конфигурации, где большинство выходов может быть связано с любым входом.

Давайте посмотрим на это шаг за шагом. Во-первых, общая сумма результатов суммируется за транзакцию. Для транзакции Алисы и Кэрол это 2,3 + 1,4 = 3,7. Для транзакции Боба и Дейва это 3 + 2 = 5. Транзакция Боба и Дейва является самой крупной.

Далее вычисляется разница между ними: 5 — 3,7 = 1,3. Затем эта разница вычитается из самой крупной транзакции. Боб и Дейв — самая крупная транзакция, и мы разделим 4 результата, так что: 4 — 1,3 = 2,7.

Интересное  Подозрение на рябь: киты перемещают большое количество XRP

Следовательно, четыре выхода самой крупной транзакции в CoinJoin разделены на 1,3 и 2,7.

На этот раз CoinJoin выглядит так:

3 + 2,3 + 2 + 1,4 = 3,2 + 2,7 + 1,3 + 1 + 0,5

Теперь мы возвращаемся к загадке …

Конечно, оригинальная конфигурация все еще возможна. Просто Дэйв теперь получает два выхода вместо одного.

Это будет выглядеть так:

2,3 + 1,4 = 3,2 + 0,5

и

3 + 2 = 2,7 + 1,3 + 1

Но вдобавок ко всему, теперь возможна совершенно новая конфигурация:

2,3 + 1,4 = 2,7 + 1

и

3 + 2 = 3,2 + 1,3 + 0,5

В результате аналитики блокчейна больше не могут связывать выходные данные 3.2, 2.7, 1 или 0.5 с любым входом с уверенностью! Благо для конфиденциальности, хотя транзакция CoinJoin не использует равные суммы.

Чтобы добавить новую транзакцию в смесь, значение всех предыдущих транзакций (иначе говоря, существующего CoinJoin) будет суммироваться, как если бы это была одна транзакция. Затем, как и в первый раз, разница значений между этими предыдущими транзакциями и новой транзакцией будет использоваться для разделения выходных данных. И так далее для следующей транзакции и любой дополнительной транзакции после этого.

Варианты Два и Три

В то время как первый вариант микширования ранцев хорошо справляется с разделением большинства выходов от любого из входов, сами входы мочь все еще быть связаны с другими входами. Эти наборы одинаковы для обеих конфигураций. Это не идеально подходит для конфиденциальности.

Варианты смешивания ранцев два и три специально предназначены для разъединения входов. Второй вариант, однако, требует, чтобы все участники CoinJoin изучали входы и выходы друг друга, что означает, что он фактически не предлагает большой конфиденциальности: Вариант три исправляет это. Тем не менее, для целей статьи (которая фокусируется на конфиденциальности блокчейна), разница достаточно мала, чтобы охватить оба варианта одновременно.

Мы берем те же примеры, что и выше. Алиса хочет заплатить Кэрол 3,2 монеты, а Боб хочет заплатить Дэйву 4 монеты.

Так:

2,3 + 1,4 = 3,2 + 0,5

и

3 + 2 = 4 + 1

Для вариантов два и три генерируется «виртуальная транзакция». Эта виртуальная транзакция не существует в противном случае, но аналитики блокчейна будут обмануты, думая, что это возможно.

Смотрите также


Для создания этой виртуальной транзакции берется один вход из каждой исходной транзакции. Затем значение этих входов складывается.

Например, вот так:

1,4 + 2 = 3,4

Значение наших выбранных входов составляет 3,4. Следовательно, значение выходов виртуальной транзакции также должно быть 3,4.

Это легко сделать. Мы снова берем вывод из самой большой исходной транзакции, которая в нашем примере снова равна 4. Мы также смотрим на результат, с которым он был изначально сопоставлен в этой исходной транзакции: 1. Затем мы разделяем большой вывод (4) так, что одну из половин можно объединить с ее исходным соответствием (1) для создания виртуального значения (3.4). В этом случае это означает, что 4 делится на 2,4 и 1,6. (В конце концов, 2,4 + 1 = 3,4.)

Интересное  Finma призывает к изменениям KYC в регулировании биткойнов

Теперь CoinJoin выглядит так:

3 + 2,3 + 2 + 1,4 = 3,2 + 2,4 + 1,6 + 1 + 0,5

Опять же, на основе этого CoinJoin, оригинальная конфигурация, конечно, все еще возможна. Просто Дейв снова получает два выхода вместо одного.

Это будет выглядеть так:

2,3 + 1,4 = 3,2 + 0,5

и

3 + 2 = 2,4 + 1,6 + 1

Но помимо этого, также возможна новая «виртуальная конфигурация»:

3 + 2,3 = 3,2 + 1,6 + 0,5

и

2 + 1,4 = 2,4 + 1

Разные конфигурации не только сопоставляют разные входы с разными выходами, разные конфигурации также сопоставляют разные входы друг с другом!

Рюкзак Слабые стороны

Смешивание ранцев, основанное на простом приеме, предлагает значительное улучшение конфиденциальности, особенно по сравнению с обычными транзакциями.

Тем не менее, смешивание в рюкзаке не так индивидуально, как в равных количествах. Смеси равного количества по существу допускают максимальное количество конфигураций; обязательно больше, чем даже лучший рюкзак микс. И, возможно, что еще более примечательно, смешивание ранцев все еще допускает некоторую связь определенных входов и выходов — или, по крайней мере, более вероятные связи.

Действительно, в приведенных выше примерах определенные входы и выходы были сопоставлены в обеих потенциальных конфигурациях. В первом варианте выход 1.3 был согласован с входами 3 и 2 в любом случае. Таким образом, хотя анализ цепочки блоков не выявил бы исходные транзакции, он все же выявил бы связь между 3 и 2 входами и 1,3 выходами. Варианты два и три, хотя и разделяют входы друг от друга, позволяют еще больше совпадений между входами и выходами.

Стоит также отметить, что рюкзак CoinJoin для оплаты требует дополнительных выходов и, следовательно, будет стоить больше сборов, чем обычные транзакции или даже обычные транзакции CoinJoin. Это может также потребовать, чтобы продавцы предоставили два адреса, когда им платят, вместо одного.

Другими словами, несмотря на то, что по сравнению с обычным смешиванием, когда дело доходит до эффективности и платы за блокировку, и значительным улучшением по сравнению с обычными транзакциями или даже обычными транзакциями CoinJoin для обеспечения конфиденциальности, смешивание ранцев по-прежнему сопряжено с небольшими дополнительными хлопотами и затратами.

*После публикации этой статьи было правильно указано, что JoinMarket также позволяет осуществлять платежи через CoinJoin.

Примечание автора: в предложении о смешении ранцев есть еще кое-что, например, как устроена транзакция CoinJoin. Есть также несколько более тонких рисков и компромиссов, когда речь заходит о конфиденциальности, например, как пользователи обращаются со своими монетами до и после смешивания. Для простоты и читабельности эта статья фокусируется только на центральной и, пожалуй, самой интересной идее смешивания ранцев: смешивании неравных количеств.

Только медийное адаптивное
Только медийное адаптивное

Оставьте ответ

Ваш электронный адрес не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Nullam amet, quis, eget ut massa sit felis facilisis ultricies