Что такое CoinSwap

CoinSwap — это предлагаемый метод повышения конфиденциальности биткойн-транзакций. В настоящее время блокчейн-анализ в значительной мере основывается на предположении, что если Элис отправляет на некий адрес весь UTXO целиком, по-видимому, она отправляет транзакцию самой себе. CoinSwap подрывает это эвристическое правило, позволяя двум сторонам отправлять полные UTXO на новые адреса, которые им не принадлежат. При этом стороны обмениваются UTXO и разрывают цепочку хранения для обеих «монет».

Что такое CoinSwap

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

Как CoinSwap работает

Процесс выглядит так: две стороны, Элис и Боб, отправляют UTXO на два отдельных multisig-адреса типа 2-из-2. Это две совершенно отдельные транзакции, и, помимо возможности определения по времени и идентичной сумме, не связываются между собой методами блокчейн-анализа.

Затем Элис и Боб кооперируются, чтобы переслать биткойны с обоих multisig-адресов друг другу. UTXO, внесенный Элис на ее multisig-адрес, будет отправлен на адрес, принадлежащий Бобу, а UTXO, внесенный Бобом, будет отправлен Элис.

Упрощенная схема CoinSwap-обмена

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

Слабые стороны CoinSwap

По несколько упрощенному объяснению, приведенному выше, CoinSwap имеет несколько недостатков, способных подорвать предполагаемое повышение конфиденциальности.

Например, если Элис и Боб отправляют друг другу эквивалентные суммы, условный блокчейн-аналитик может сопоставить суммы транзакций и предположить вероятность обмена UTXO посредством CoinSwap. Чтобы это предотвратить, CoinSwap-обмен можно разбить на несколько транзакций, скрывая общие суммы, отправляемые каждой стороной.

Кроме того, гипотетический рынок CoinSwap может быть подвержен атакам типа отказ в обслуживании (DoS) и информационного затмения. В DoS-атаке злоумышленник может многократно инициировать CoinSwap с добросовестным участником и прерывать его в процессе, вынуждая жертву платить комиссии за ончейн-транзакции без какого-либо повышения конфиденциальности. Атакующий также может предлагать выполнить CoinSwap многим участникам, чтобы узнать, какие UTXO они контролируют, и таким образом ослабить их уровень конфиденциальности. Наконец, атакующий может участвовать в большом количестве CoinSwap-обменов и ввести в заблуждение пользователей, которые будут думать, что повысили конфиденциальность своих UTXO, тогда как на самом деле выполняли один или несколько обменов с тем же наблюдателем, который затем может деанонимизировать «монеты» жертв.

Бонды добросовестности ( bonds)

Бонды добросовестности были предложены в качестве способа защиты против этих атак. Вкратце, бонды добросовестности требуют от инициатора предложения по CoinSwap-обмену внести на специальный контракт с временной блокировкой соответствующую сумму обеспечения в биткойнах, что гарантирует другой стороне наличие у инициатора сильного стимула для гладкого завершения операции. Бонды добросовестности блокируют залог инициатора, а значит, проведение крупномасштабной DoS-атаки потребует блокирования на значительный период времени огромного количества биткойнов. Предполагается, что такого увеличения издержек должно быть достаточно для предотвращения DoS-атак.