Британский разработчик Крис Белчер, который участвовал а таких проектах как Electrum и JoinMarket, на этой неделе выпустил свое предложение по реализации CoinSwap ― протокола по улучшению конфиденциальности в сети биткоина.
В CoinSwap-транзакциях пользователь отправляет средства с адреса A на адрес B, но «на самом деле его монеты оказываются на адресе Z, который совершенно не связан ни с A, ни с B», ― пишет Белчер.
Изначально CoinSwap был предложен ещё в 2013 году Грегом Максвеллом, известным разработчиком биткоина и соучредителем компании Blockstream; он также является автором протокола CoinJoin. Идея Максвелла в то время показалась слишком сложной для реализации.
В свое предложение Белчера включил Hashed TimeLock Contract, который сегодня используется в Lightning Network и может упростить реализацию CoinSwap.
По его словам, протокол может быть готов к тестированию через шесть-восемь месяцев. Максвелл высоко оценил предложение Белчера.
В CoinJoin-транзакциях биткоины обрабатываются «партиями» для скрытия источника средств. Одна из сложностей использования CoinJoin заключается в том, что каждый пользователь должен ввести равное количество биткоинов в транзакцию. Если вы присоединились к транзакции на один биткоин и отправите два, то конфиденциальность вашего входа (и любого, кто участвует в CoinJoin) будет нарушена.
CoinSwap решает эту проблему, устраняя необходимость в выплатах на равную сумму. Вместо того, чтобы смешивать монеты вместе, CoinSwap (как следует из названия) позволяет пользователям обменивать монеты, отправляя их на промежуточный кошелек.
В CoinSwap Алиса отправляет биткоины на адрес с мультиподписью (т. е. на адрес, к которому они оба имеют ключи). В то же время Боб отправляет биткоины на другой адрес с мультиподписью. Поскольку у Алисы и Боба есть ключи к обоим кошелькам, они могут вывести монеты на свои кошельки. Hashed TimeLock Contract не позволяет одной стороне получить доступ к средствам другой. Чтобы завершить обмен, Боб забирает биткоины с первого адреса, а Алиса ― со второго.
В комментарии для Decrypt Белчер отметил, что эти адреса с мультиподписью используют другой криптографический прием и выглядят «как обычные , а не транзакции с мультиподписью». «Блокчейн-аналитик не видит своп, что положительно отражается на конфиденциальности такой транзакции», ― сказал он.
Белчер подчеркнул, что хорошо функционирующий рынок CoinSwap будет устойчив к атаке Сивиллы. Для этого, согласно предложению, необходимо будет использовать так называемые «облигации верности» (fidelity bonds), которые гарантируют честность игроков в JoinMarket. С этими облигациями участники выполняют запрос на CoinSwap (участникам рынка) перед тем, как участвовать в обмене. Такая облигация делает слишком дорогой спам в сети для определения того, кто использует CoinSwap. По словам Белчера, для того, чтобы компания по блокчейн-анализу смогла добиться успеха, ей потребуется «примерно 55 000 BTC на 6 месяцев».
Адам Фиксор, соучредитель CoinJoin-кошелька Wasabi в комментарии для Decrypt сказал, что предложение Белчера «очень интересно», но он ещё «хочет выяснить, сможет ли его практическая реализация внедрить магию этой идеи».
Wasabi обеспечивает анонимность транзакций благодаря CoinJoin-пулам, которые поддерживают ликвидность для регулярного совершения CoinJoin-транзакций. Но, по словам Фиксора, для реализации CoinSwap нужно гораздо больше биткоинов.
Чтобы реализовать CoinSwap, Wasabi необходимо будет вносить в транзакцию биткоины поверх тех, которые непосредственно участвуют в транзакции. Фиксор пошутил, что ему придется сократить половину штата Wasabi, чтобы такая реализация работала. Вместе с тем он подчеркнул, что он все еще оценивает предложение, поэтому его опасения могут быть «полностью ошибочными».
Сам Белчер рассчитывает, что реализация CoinSwap будет развиваться по аналогии с JoinMarket, где сами участники рынка поддерживают ликвидность. Пока существует широкий круг участников с большим пулом ликвидности, новый протокол будет препятствовать деанонимизации пользователей.