Новичкам

Что такое технология CoinJoin и как она работает

Текст:
Eduard Myakushko

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

Неудивительно, что в ответ на озабоченность по поводу конфиденциальности возросло количество доступных технологий для восстановления анонимности. И сегодня мы поговорим об одной из таких технологий — CoinJoin.

Содержание

Что такое CoinJoin

Идея CoinJoin была предложена Грегори Максвеллом, и по сути CoinJoin анонимизирует биткоин-транзакции. CoinJoin позволяет транзакциям оставаться закрытыми, благодаря комбинированию монет. Это процесс сложения транзакций вместе, без участия третьей стороны, для отправки в виде одной транзакции. 

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

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

Основы биткоин-транзакций и мультисиг 

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

CoinJoins используют мультисиг, следовательно ни один человек не может иметь единоличный контроль над транзакцией. Каждая подпись независима от другой и предоставляется индивидуально под каждый вход. Поэтому пользователи Биткоин легко могут договориться о сотрудничестве и разделении затрат. Для выполнения CoinJoin по определению требуется более одной подписи. Более того, каждый вход является выходом из прошлой транзакции. Это означает, что для каждого входа есть отдельная подпись (scriptsig). Прошлая подпись была создана в соответствии с правилами конкретного прошлого вывода (scriptpubkey).

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

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

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

Материалы по теме

Проблемы Биткоина

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

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

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

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

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

Процесс работы CoinJoin

Процесс частного CoinJoin осуществляется с помощью цифрового кошелька Wasabi. Wasabi — это биткоин-кошелек с открытым исходным кодом, не предназначенный для хранения, ориентированный на конфиденциальность, который создан для вашего рабочего стола. Кошелек создает микшированные транзакции монет через Chaumian CoinJoin. Этот кошелек использует тип проверки, основанный на центральном сервере, который работает анонимно с помощью Tor и сети Bitcoin P2P.

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

Как кошелек Wasabi защищает транзакции и адреса:

  1. Кошелек каждого пользователя подключается к другим кошелькам с помощью Tor. Подключение к другим кошелькам усложняет отслеживание IP-адресов.
  2. Как только пользователь готов, он может добавить свои монеты в «очередь».
  3. Как только 50 кошельков (текущий минимум) присоединились к публичной очереди, создается неподписанная биткоин-транзакция. 
  4. Перед выходом из системы все пользователи должны проверить правильность своих входов и выходов. Только после проверки действительности начинается процесс проставления электронных подписей. В этот момент все пользователи должны завершить многосигнальную транзакцию. 
  5. После сбора всех необходимых подписей транзакция транслируется в сеть.

Проблемы безопасности с CoinJoin

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

Резюме

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

На этом все и до новых встреч!