Как сохранить конфиденциальность при расходовании биткойнов после микширования

Микширование в Whirlpool позволяет добиться анонимности при использовании биткойна. А в этом посте я хочу рассказать об инструментах, которые помогут сохранить достигнутый в микшировании уровень приватности при расходовании.

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

В этой статье я расскажу о некоторых основных понятиях, связанных со структурой кошелька вокруг Whirlpool, и об инструментах расходования монет после микширования, предусмотренных в Samourai Wallet и Sparrow Wallet.

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

Навигация:

  • Базовая структура биткойн-кошелька  →
  • Пулы и tx0  →
  • Токсичная сдача  →
  • Whirlpool UTXO  →
  • BIP47 и PayNym  →
  • Samourai Wallet  →
  • Sparrow Wallet  →
  • Stowaway  →
  • Samourai Wallet  →
  • Sparrow Wallet  →
  • StonewallX2  →
  • Samourai Wallet  →
  • Sparrow Wallet  →
  • Stonewall  →
  • Samourai Wallet  →
  • Sparrow Wallet  →
  • Ricochet  →
  • Заключение  →
  • Базовая структура биткойн-кошелька

    И в Samourai, и в Sparrow Wallet для реализации Whirlpool используется структура из четырех кошельков. Все эти четыре кошелька в фоновом режиме управляются вашим программным кошельком, а пользователь при желании может легко переключаться между ними.

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

    И Samourai, и Sparrow Wallet поддерживают следующие форматы адресов:

  • Pay-to-Public-Key-Hash (P2PKH) имеют вид 17SkEw2md5avVNyYgj6RiXuQKNwkXaxFyQ; когда говорят о «простых», «обычных» или «легаси» биткойн-адресах, имеют в виду их.
  • Pay-to-Script-Hash (P2SH) имеют вид 3EEJFjZURxShNr2AoJtbfcvCB749yzP7LP, их также называют вложенными (nested) segwit-адресами.
  • Pay-to-Witness-Public-Key-Hash (P2WPKH) имеют вид bc1qqmmc3s46efrdq0jglhf8l8jg0xw37exgne6q3k, их также называют «нативными SegWit» или bech32-адресами.
  • Pay-to-Taproot (P2TR) имеют вид bc1p0004nx9sh2qkvd7nzrkffx4xe5wacl8ya9yv5gtqkasatqrtgpaqrrcdg7, их также называют taproot-адресами. Samourai Wallet поддерживает только отправку BTC на эти адреса, Sparrow Wallet — отправку и получение.
  • Testnet Pay-to-Witness-Public-Key-Hash (P2WPKH) имеет вид tb1qqakszcjex7zvjg7slarps5mpdngwlwsc5ll8v7, предназначены только для тестирования и не имеют никакой ценности.
  • Наличие поддержки всех этих типов адресов не означает, что все они работают с Whirlpool. Whirlpool работает только с P2WPKH-адресами — как в основной сети Биткойна, так и в тестовой. Поэтому описываемые ниже кошельки pre-mix, post-mix и bad-bank могут получать средства только с P2WPKH-адресов, а расходовать на P2PKH, P2SH, P2WPKH или P2TR.

    ПО кошелька использует различные пути деривации для отдельных кошельков. Пути деривации используют разные числа для представления различных деталей о пути ключа: «m / назначение’ / тип_монет’ / идентификатор’». В примере ниже депозитный кошелек может работать с различными типами адресов, следовательно m/44’|m/49’|m/84’|m/47′ для каждой из различных целей. Кошельки pre-mix, post-mix и bad bank работают только с целью m/84′.

  • Deposit Wallet: это кошелек, на который вы будете вносить биткойны. UTXO в этом кошельке можно использовать в качестве входов для Whirlpool CoinJoin через так называемую нулевую транзакцию (tx0). Вы также можете просто тратить биткойны с этого кошелька, как с любого другого.
  • Pre-Mix: сюда попадают UTXO после того, как покидают депозитный кошелек посредством tx0. UTXO не остаются здесь надолго, это только проходной пункт, где UTXO регистрируются как доступные входы для микширования в Whirlpool CoinJoin. Если вы не хотите вносить депозит непосредственно на этот кошелек или тратить прямо с него, то интерфейс ПО позволяет с легкостью этим управлять.
  • Post-Mix: сюда попадают ваши UTXO после прохождения через Whirlpool CoinJoin. Здесь эти UTXO могут находиться сколько угодно — до тех пор, пока вы хотите, чтобы они продолжали случайным образом выбираться в качестве «фрирайдеров» для получения дополнительных бесплатных циклов микширования в Whirlpool CoinJoin.
  • Bad Bank: сюда попадает «токсичная сдача» из tx0.
  • В Samourai Wallet можно переключаться с депозитного на post-mix кошелек, нажав на значок Samourai в левом верхнем углу.

    В Sparrow Wallet можно переключаться между четырьмя кошельками с помощью вкладок в крайней левой части интерфейса.

    Пулы и tx0

    В Whirlpool есть четыре размерности пула: 0,5, 0,05, 0,01 и 0,001 BTC. Это означает, что каждый выход Whirlpool будет соответствовать определенной размерности пула. Когда вы выбираете из депозитного кошелька UTXO для микширования в Whirlpool CoinJoin, они сначала проходят через tx0. Результаты этой tx0 зависят от выбранной размерности пула. Например, если вы хотите пропустить через Whirlpool 10 BTC, то для различных размеров пула результаты tx0 будут следующими:

    Пул 0,5

  • 10,00000000 BTC на входе
  • 1 UTXO x 0,01750000 BTC — комиссия координатора Whirlpool
  • 19 x 0,50001000 BTC UTXO для входов Whirlpool, каждый с небольшой дополнительной суммой для комиссий майнерам. В данном примере используется комиссия за майнинг в размере 1000 сат., но она может меняться в зависимости от загрузки мемпула и желаемой срочности.
  • 1 x 0,48231000 BTC UTXO с «токсичной» сдачей
  • Пул 0,05

  • 10,00000000 BTC на входе
  • 1 UTXO x 0,00175000 BTC — комиссия координатора Whirlpool
  • 199 x 0,05001000 BTC UTXO для входов Whirlpool, каждый с небольшой дополнительной суммой для комиссий майнерам. Опять же, здесь для примера используется 1000 сат., однако размер комиссии может варьироваться.
  • 1 x 0,04626000 BTC UTXO с «токсичной» сдачей
  • Пул 0,01

  • 10,00000000 BTC на входе
  • 1 UTXO x 0,00050000 BTC — комиссия координатора Whirlpool
  • 998 x 0,01001000 BTC UTXO для входов Whirlpool, каждый с небольшой дополнительной суммой для комиссий майнерам. Опять же, здесь для примера используется 1000 сат., однако размер комиссии может варьироваться.
  • 1 x 0,00952000 BTC UTXO с «токсичной» сдачей
  • Пул 0,001

  • 10,00000000 BTC на входе
  • 1 UTXO x 0,00005000 BTC — комиссия координатора Whirlpool
  • 9900 x 0,00101000 BTC UTXO для входов Whirlpool, каждый с небольшой дополнительной суммой для комиссий майнерам. Опять же, здесь для примера используется 1000 сат., однако размер комиссии может варьироваться.
  • 1 x 0,00095000 BTC UTXO с «токсичной» сдачей
  • Надо заметить, что комиссия координатора Whirlpool остается неизменной независимо от того, сколько биткойнов вы микшируете. То есть микшируете ли вы 1 или 100 BTC, в пуле с размерностью, к примеру, 0,5 BTC, вы заплатите 0,0175 BTC комиссии координатору.

    Также обратите внимание, что комиссия за майнинг, включаемая в каждый премикс UTXO, может составить значительную сумму, если таких премикс UTXO будет много. В приведенном выше примере пула на 0,001 общая сумма комиссий майнерам составит 0,099 BTC.

    Tx0 используется и в Samourai, и в Sparrow Wallet. Tx0 всегда строится таким образом, что один или несколько входов из вашего депозитного кошелька делятся на:

  • Несколько выходов одинакового размера, это премикс UTXO, которые позже отправятся в Whirlpool CoinJoin.
  • Один выход с комиссией координатора Whirlpool.
  • Один выход с оставшейся сдачей, «токсичная сдача».
  • Вот реальный пример tx0, где можно видеть, что в нем были:

  • один вход на 0,81804189 BTC;
  • 16 равных выходов по 0,0501 BTC;
  • один выход с комиссией координатора Whirlpool в размере 0,0025 BTC (текущая комиссия снижена до 0,00175 BTC);
  • один выход с токсичной сдачей на 0,0136981 BTC.
  • Вы можете просмотреть эту транзакцию на KYCP.org.

    Каждый из 16 равных выходов будет индивидуально выбран в качестве входа для последующих микширований в Whirlpool CoinJoin. До того эти выходы временно находятся в pre-mix кошельке. При инициации новых whirlpool-транзакций координатор будет выполнять поиск доступных входов, таких как эти. Координатор Whirlpool применяет строгие правила, которые гарантируют, что в одной Whirlpool CoinJoin-транзакции не окажутся два выхода одной и той же tx0 или из одного кошелька. Каждый из этих 16 выходов включает небольшое количество дополнительных BTC, чтобы, когда они будут выбраны в качестве входов, эта надбавка могла покрыть комиссии майнеров за Whirlpool CoinJoin-транзакцию.

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

    Токсичная сдача

    Особое внимание следует уделить токсичной сдаче от tx0. По умолчанию Samourai Wallet при инициации tx0 предложит вам пометить UTXO с токсичной сдачей как «нерасходуемый». В этом случае кошелек не будет отображать этот UTXO как доступный и исключит его из отображаемого баланса.

    Вы всегда можете открыть меню с тремя точками в правом верхнем углу в приложения Samourai Wallet, выбрать “Show unspent outputs”, прокрутить список до самого низа, и вы найдете выходы с токсичной сдачей в разделе “Do Not Spend”. Здесь вы можете выбрать интересующий вас UTXO и при желании поменять его статус на «Spendable». После этого он будет отображаться как часть баланса вашего депозитного кошелька и снова станет доступным для расходования.

    В Sparrow Wallet токсичная сдача после tx0 автоматически отправляется в bad bank кошелек. Вы в любое время можете перейти на вкладку bad bank и потратить UTXO из него.

    Проблема с токсичной сдачей заключается в том, что ончейн она остается связанной с tx0, от которой поступила. А это значит, что она также связана и со всей предыдущей историей транзакций всех входов этой tx0. Значит, если внешний наблюдатель будет отслеживать движение биткойнов, принадлежащих идентифицированному субъекту сети, то он будет знать, что данный выход с токсичной сдачей принадлежит этому субъекту. Значит, с помощью эвристик блокчейн-анализа внешний наблюдатель сможет обоснованно предположить, что и в будущих транзакциях, любые связанные с токсичной сдачей биткойны также принадлежат этому же субъекту.

    Получается, что, комбинируя UTXO токсичной сдачи с post-mix UTXO, вы сведете на нет все преимущества анонимности, достигнутые в Whirlpool. Впрочем, благодаря структуре кошелька, вам придется действительно постараться и сделать что-то очень странное, чтобы объединить в одной транзакции выход с токсичной сдачей и выход после Whirlpool.

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

    Другая возможная техника, на момент написания находящаяся в разработке в Samourai Wallet, — это атомарные свопы с Monero. Для этого вам потребуется отдельный кошелек для Monero — например, Monerujo, — потому что Samourai Wallet реализовать поддержку Monero не планирует. Но в принципе, вы можете построить биткойн-транзакцию «бездоверительного» peer-to-peer обмена BTC на XMR, которые поступят на ваш Monero-кошелек, а ваша токсичная сдача уйдет на биткойн-кошелек вашего контрагента. После этого вы можете обменять полученные XMR обратно на биткойны или просто потратить — всё в ваших руках.

    Whirlpool UTXO

    Перемещенные в tx0 из депозитного в pre-mix кошелек, ваши pre-mix UTXO готовы к микшированию в Whirlpool CoinJoin. После того как вы инициируете tx0, ваш кошелек и координатор Whirlpool автоматически сделают всё необходимое в фоновом режиме. Whirlpool CoinJoin-транзакции имеют пять выходов одинакового номинала. Сторонний наблюдатель, изучающий в блок-эксплорере запись о транзакции, не может с уверенностью соотнести конкретный выход транзакции с тем или иным ее входом. Все пять выходов в равной степени могут принадлежать любому из пяти входов. Эта концепция хорошо иллюстрируется на этом примере на KYCP.org.

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

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

    Чтобы узнать больше об анонимных множествах применительно к Whirlpool CoinJoin, рекомендую обратиться к этой статье.

    BIP47 и PayNym

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

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

    Это пример платежного кода BIP47:

    “PM8TJK7rnkDXabzmo4ZyxX49JxdLWhbFANDr4eBCwk1shDEs1qDysW5hFCFr6hschwJe4ny7C7GcSnsNPzBYvE6giabxfJyNSrAWRJYCoHMo7iveHned”

    Его также можно отобразить в виде QR-кода:

    PayNym, в свою очередь, — это реализация BIP47, используемая в Samourai Wallet и Sparrow Wallet. PayNym получаются путем хеширования вашего платежного кода для создания уникальных аватара и имени. Аватар и имя призваны упростить интерпретацию и управление для пользователей. Samourai Wallet поддерживает каталог PayNyms, если вы хотите изучить, найти и связаться с другими: https://paynym.is/. Этот каталог можно использовать для регистрации своего PayNym, если вы выберете это из приложения при инициализации.

    PayNym можно использовать несколькими способами.

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

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

    Другой способ использования PayNym — это совместные транзакции, как Stowaway и StonewallX2, о которых я расскажу в следующих разделах.

    Samourai Wallet

    Сначала покажу процесс создания ончейн-соединения с PayNym:

  • Найдите интересующий платежный код; я в примере ниже использовал paynym.is.
  • В кошельке Samourai Wallet нажмите синюю кнопку «+», затем на иконку PayNym.
  • На экране PayNym снова нажмите синий «+».
  • Выберите «SCAN QR CODE» либо можете скопировать и вставить код платежа вручную.
  • Сканируйте QR-код для платежного кода, с которым вы хотите установить соединение.
  • На экране появится информация о PayNym, нажмите «FOLLOW».
  • Подтвердите, что хотите установить соединение с этим PayNym.
  • После этого вы сможете установить соединение — нажмите «CONNECT».
  • Появится диалоговое окно, в котором будет указана общая сумма за установление соединения — 15 000 сатоши и комиссия майнерам. Нажмите «OK, FOLLOW».
  • Статус PayNym-контакта изменится на «Following» и «Connected», ниже вы также увидите ожидающие подтверждения.
  • После подтверждения ончейн-соединения вы можете инициировать платеж контакту из своего депозитного кошелька, вернувшись к нужному PayNym и нажав на кнопку с бумажным самолетиком. Просто введите сумму, проверьте транзакцию и транслируйте ее в сеть.

    Вы можете отправить PayNym-контакту и средства из своего post-mix кошелька.

  • Перейдите в post-mix кошелек, нажмите синюю кнопку «+» и выберите «Send».
  • Нажмите на иконку аватара в правом верхнем углу.
  • Выберите нужный контакт из появившегося списка.
  • Введите сумму, проверьте транзакцию и транслируйте ее в сеть.
  • Sparrow Wallet

    Sparrow Wallet обладает всеми теми же возможностями по отправке прямых PayNym-платежей, что и Samourai Wallet. Только интерфейс немного отличается.

  • В Sparrow Wallet перейдите в раздел «Tools», затем “Show PayNym”.
  • Скопируйте платежный код и вставьте его в диалоговое окно “Find Contact”.
  • Затем кликните “Add Contact”.
  • После добавления PayNym у вас будет возможность установить ончейн-соединение с ним, нажав “Link Contact”.
  • Появится диалоговое окно, информирующее о том, что эта транзакция уведомления будет стоить 546 сатоши. Нажмите “Send” для отправки.
  • Вы можете отправлять биткойны на PayNym непосредственно из своего депозитного кошелька, перейдя на вкладку “Deposit”, а затем “Send”.
  • Кликните на кнопку выпадающего меню в диалоговом окне “Pay To” и выберите “PayNym or Payment Code”.
  • Выберите подключенный PayNym-контакт и нажмите “Send Directly”.
  • Коллаборативные инструменты расходования монет после микширования: Stowaway

    Stowaway — это коллаборативный инструмент для post-mix расходования, скрывающий сумму платежа. Ее будет знать только тот, с кем вы взаимодействуете. Вы предоставляете несколько входов, получатель со своей стороны тоже предоставляет несколько входов, вы получаете свой выход со сдачей и получатель получает свой выход со сдачей плюс сумму, которую вы ему отправили, а фактическая сумма платежа оказывается скрыта в этой общей сумме. Все комиссий майнерам оплачивает отправитель.

  • Выше приведена схема Stowaway-транзакции, как она выглядит ончейн.
  • Вы можете видеть три входа: 0,01, 0,00993439 и 0,01644414 на общую сумму 0,03637853.
  • Два выхода составили 0,00484087 и 0,03144414 (и 0,00009352 с комиссией майнерам).
  • Отправитель в этой транзакции отправил получателю 0,015 BTC, но эта сумма скрыта и не соответствует какому-либо из входов или выходов.
  • Получатель здесь предоставил вход на 0,01644414 и получил обратно эту сумму плюс платеж 0,015 — выход на 0,03144414 BTC.
  • Выход на 0,00484087 содержит сдачу отправителя.
  • У стороннего наблюдателя нет возможности узнать о том, что содержательная «суть» транзакции отличается от того, что видно в блокчейне. Эвристика по общему владению входами нарушается, поскольку в связи с наличием нескольких входов и выходов необходимо учитывать, что входы предоставили несколько субъектов сети.

    Получателю Stowaway-транзакции понадобится использовать Samourai Wallet или Sparrow Wallet со своим PayNym. Как минимум, PayNym должны отслеживать друг друга, но не обязательно проводить ончейн-транзакцию уведомления для установки соединения между ними.

    Также отправителю и получателю понадобится связаться друг с другом — в мессенджере, по телефону и т.п.

    Samourai Wallet

    Для создания совместной Stowaway-транзакции в Samourai Wallet убедитесь, что вы и ваш партнер по транзакции отслеживаете PayNym друг друга, устанавливать соединение ончейн при этом необязательно.

  • Перейдите в post-mix кошелек.
  • Нажмите на синюю кнопку «+», затем «Send».
  • Включите «Cahoots».
  • Выберите “Stowaway”.
  • Выберите “Online”.
  • Выберите получателя из списка контактов.
  • Введите сумму, которую хотите отправить. По завершении выберите “Review Transaction”.
  • Установите сумму комиссии майнерам.
  • Свяжитесь с получателем и предупредите его, чтобы он мониторил сеть на предмет вашей транзакции через свой кошелек.
  • Выберите “Begin Stowaway”.
  • Детали транзакции будут передаваться между пирами в зашифрованном виде через Tor на коммуникационном уровне Soroban.
  • Вы увидите ход выполнения транзакции, проходящей через пять этапов менее чем за 10 секунд.
  • По завершении посмотрите детали и выберите “Send”.
  • Появится диалоговое окно с вопросом о том, уверены ли вы, что хотите транслировать эту транзакцию. Выбирайте «Yes».
  • Ваш получатель получит свой вход в транзакцию обратно на новый выход вместе с суммой, которую вы ему отправили. Для стороннего наблюдателя фактическая сумма перевода будет скрыта.

    Sparrow Wallet

    Для создания совместной Stowaway-транзакции в Sparrow Wallet убедитесь, что вы и ваш партнер по транзакции отслеживаете PayNym друг друга, устанавливать соединение ончейн при этом необязательно.

  • Перейдите на вкладку «Postmix», затем «Send».
  • Выберите выпадающую опцию в правой части поля «Pay to».
  • Выберите “PayNym or Payment code”.
  • Во всплывающем окне найдите в списке контактов PayNym получателя и кликните по нему.
  • Выберите опцию “Send Collaboratively”.
  • Выберите метку для своей транзакции, введите сумму и установите размер комиссии майнерам.
  • Затем выберите синий значок “Mix Partner” в левом нижнем углу графа транзакции.
  • На всплывающем экране вы увидите, что выбранный вами PayNym получателя уже выбран.
  • Нажмите “Next”, чтобы начать транзакцию.
  • Теперь вам нужно проинформировать получателя о том, что пора начинать мониторить вашу транзакцию через его кошелек. Это можно сделать любым удобным вам внешним способом связи — в мессенджере, по телефону и т.п.
  • Как только партнер по микшированию примет ваш запрос, транзакция будет построена.
  • Для этого нужно несколько входов от обеих сторон, каждой из которых вернется соответствующий остаток.
  • Выход получателя включает в себя отправляемую вами сумму.
  • Проверьте данные и, если всё правильно, выбирайте “Sign & Broadcast”.
  • После трансляции транзакции в сеть вы получите подтверждение.
  • Вы можете просмотреть эту транзакцию в любом эксплорере тестнета Биткойна, например, в mempool.space.

    Отправлено было 69 сатоши, но вы бы никогда не узнали об этом, будучи сторонним наблюдателем.

    Коллаборативные инструменты расходования монет после микширования: StonewallX2

    StonewallX2 — это еще один инструмент коллаборативного расходования, помогающий нарушить эвристики блокчейн-анализа и сохранить анонимность. StonewallX2-транзакции всегда имеют четыре выхода. Количество входов может варьироваться. По меньшей мере два из четырех выходов имеют одинаковый размер; это создает ложный выход того же размера, что и сумма расхода. Два других выхода — это сдача, возвращаемая обоим участникам транзакции. В отличие от Stowaway-транзакций, транзакции StonewallX2 могут быть потрачены в пользу третьей стороны — партнер, с которым вы создаете транзакцию, не обязательно должен быть ее получателем. В StonewallX2-транзакции комиссии майнерам делятся между сотрудничающими пирами в пропорции 50/50. Алгоритм выбора входа гарантирует, что никакие UTXO, имеющие общую предыдущую транзакцию, не будут использоваться вместе в качестве входов новой транзакции.

    Вот как StonewallX2 (и Stonewall) будут выглядеть ончейн:

    Samourai Wallet

    Для создания StonewallX2-транзакции в Samourai Wallet убедитесь, что вы и ваш партнер по транзакции отслеживаете PayNym друг друга, устанавливать соединение ончейн при этом необязательно. Однако, если получателем этой совместной транзакции является PayNym, то вам необходимо установить с ним соединение ончейн.

  • Перейдите в post-mix кошелек.
  • Нажмите синюю кнопку «+» и выберите “Send”.
  • Отсканируйте адрес получателя или вставьте скопированный; при отправке на PayNym выберите его из списка контактов.
  • Выберите “STONEWALLX2”.
  • Выберите “Online”.
  • Из списка контактов выберите пира, совместно с которым вы будете создавать транзакцию.
  • Введите отправляемую сумму.
  • Затем нажмите «REVIEW TRANSACTION».
  • Установите ставку комиссии майнерам.
  • Внимательно перепроверьте детали транзакции.
  • Любым внешним способом связи предупредите соавтора транзакции, чтобы он начинал мониторить сеть из своего кошелька.
  • Нажмите «BEGIN STONEWALLX2».
  • Вы увидите, что запрос отправлен.
  • Увидите прогресс выполнения, состоящий из пяти шагов.
  • Затем у вас будет еще одна возможность просмотреть транзакцию перед отправкой в сеть, будет также всплывающее окно с вопросом, уверены ли вы, что хотите транслировать транзакцию.
  • Sparrow Wallet

    Для создания StonewallX2-транзакции в Sparrow Wallet убедитесь, что вы и ваш партнер по транзакции отслеживаете PayNym друг друга, устанавливать соединение ончейн при этом необязательно. Однако, если получателем этой совместной транзакции является PayNym, то вам необходимо установить с ним соединение ончейн.

  • Перейдите на вкладку “Postmix”, затем “Send”.
  • Введите адрес, на который хотите отправить деньги.
  • Добавьте метку.
  • Введите сумму.
  • Установите ставку комиссии майнерам.
  • Нажмите на синюю кнопку со стопкой монет в левом нижнем углу графа транзакций, и вы заметите, что она изменилась на значок человека.
  • Во всплывающем окне выберите из выпадающего списка контактов соавтора по созданию транзакции.
  • Затем нажмите “Next”, чтобы начать StonewallX2-транзакцию.
  • Теперь нужно предупредить соавтора транзакции, чтобы он мониторил сеть на предмет вашего запроса на транзакцию через свой кошелек. Это можно сделать любым внешним способом связи по вашему выбору.
  • Дождитесь, пока соавтор транзакции примет запрос и транзакция будет создана. Оба пира-соавтора предоставляют входы для транзакции.

    Через какое-то время вам будет представлена сводка с данными создаваемой транзакции. Проверьте данные и, если всё правильно, выбирайте “Sign & Broadcast”.

    После трансляции транзакции в сеть вы получите подтверждение и увидите зеленую галочку.

    Вы можете просмотреть эту транзакцию в любом эксплорере тестнета Биткойна, например, в mempool.space.

    Транзакция имеет четыре выхода, два из которых одинакового размера: один выход на 25 000 сатоши — это расход, другой выход на 25 000 сатоши — маскирующий. Внешний наблюдатель не сможет сказать, какие выходы принадлежат субъекту, контролирующему любой из входов.

    Неколлаборативные инструменты расходования монет после микширования: Stonewall

    Вот как Stonewall (и StonewallX2) будут выглядеть ончейн. Stonewall — это инструмент неколлаборативного расходования, помогающий нарушить эвристики блокчейн-анализа и сохранить анонимность. Ончейн Stonewall- и StonewallX2-транзакции неотличимы друг от друга: обе всегда имеют по четыре выхода. Количество входов может варьироваться. По меньшей мере два из четырех выходов имеют одинаковый размер; это создает ложный выход того же размера, что и сумма расхода. Два других выхода — это сдача, возвращаемая обоим участникам транзакции.

    В случае Stonewall кошелек будет строить транзакцию, используя несколько входов и четыре выхода, только один из которых является расходом, а остальные три возвращаются в кошелек отправителя, причем один из них имеет тот же размер, что и расходный выход. И Samourai, и Sparrow Wallet по умолчанию при расходовании будут пытаться составить Stonewall-транзакцию.

    Samourai Wallet

    Чтобы сделать Stonewall-транзакцию в Samourai Wallet:

  • Перейдите к своему post-mix кошельку и нажмите синюю кнопку «+».
  • Выберите “Send”.
  • Отсканируйте или вставьте скопированный адрес, на который хотите отправить платеж.
  • Введите сумму платежа и нажмите «REVIEW TRANSACTION».
  • Установите ставку комиссии майнерам.
  • По умолчанию в кошельке будет включена защита через Stonewall, если в кошельке есть необходимые UTXO для создания Stonewall-транзакции. Вы заметите биты энтропии внизу, они могут меняться при изменении ставки комиссии майнерам. При этом кошелек будет пробовать использовать для входов различные UTXO.
  • Если все доступные параметры транзакции вас устраивают, нажимайте “SEND”.
  • Подтвердите расход при появлении такого запроса.
  • После этого вы увидите зеленый экран подтверждения того, что транзакция отправлена в сеть.
  • Вы можете просмотреть эту транзакцию в любом эксплорере тестнета Биткойна, например, в mempool.space.

    Транзакция имеет четыре выхода, два из которых одинакового размера: один выход на 42 000 сатоши — это расход, другой выход на 42 000 сатоши — маскирующий. Внешний наблюдатель не сможет сказать, какие выходы принадлежат субъекту, контролирующему любой из входов. Три из четырех выходов отправляются в post-mix кошелек отправителя.

    Sparrow Wallet

    Чтобы сделать Stonewall-транзакцию в Sparrow Wallet:

  • Введите адрес, на который хотите отправить деньги.
  • Добавьте метку.
  • Введите сумму платежа.
  • Установите ставку комиссии майнерам.
  • Обратите внимание на разницу в том, как строится транзакция при выборе настройки “Efficiency” (эффективность); есть два выхода — расход и сдача:

    Напротив, при выборе настройки “Privacy”, создается Stonewall-транзакция с четырьмя выходами, включая ложный расход:

  • Нажмите на кнопку “Create Transaction”.
  • На следующем экране нажмите “Finalize Transaction for Signing” («финализировать транзакцию для подписания»).
  • Проверьте данные и, если всё правильно, выбирайте «Sign».

    После подписания можете транслировать транзакцию в сеть.

    Вы можете просмотреть эту транзакцию в любом эксплорере тестнета Биткойна, например, в mempool.space.

    Транзакция имеет четыре выхода, два из которых одинакового размера: один выход на 690 000 сатоши — это расход, другой выход на 690 000 сатоши — это маскирующий выход. Внешний наблюдатель не сможет сказать, какие выходы принадлежат субъекту, контролирующему любой из входов.

    Инструменты расходования монет после микширования: Ricochet

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

    Часто такую проверку могут проводить биржи или некоторые магазины. Никакого отраслевого стандарта, которого бы эти компании придерживались в своей оценке, не существует: они просто произвольно решают, просмотр истории на какое количество переходов соответствует их представлениям о допустимом риске. Но пять дополнительных переходов, создаваемых Ricochet, по-видимому, справляются со своей задачей. Sparrow Wallet не поддерживает Ricochet-транзакции. Samourai Wallet взимает за них комиссию в 100 000 сат.

    Чтобы создать Ricochet-транзакцию в Samourai Wallet:

  • Перейдите к своему post-mix кошельку и нажмите синюю кнопку «+».
  • Затем выберите «Send».
  • Включите опцию «Ricochet».
  • Включите опцию “Staggered delivery”, если хотите, чтобы каждый дополнительный переход был в отдельном блоке.
  • В противном случае все пять будут происходить в одном блоке, что может быть предпочтительнее, если вы спешите.

  • Затем вставьте или отсканируйте адрес, на который вы хотите отправить деньги.
  • Введите сумму перевода (которая вы хотите, чтобы дошла до конечного получателя).
  • Затем нажмите «REVIEW TRANSACTION».
  • Установите ставку комиссии майнерам (сюда включается комиссия за все пять переходов).
  • Просмотрите детали транзакции.
  • Если всё правильно, нажимайте «Send», затем подтвердите расход, чтобы транслировать транзакцию в сеть.
  • Так эта Ricochet-транзакция выглядит в тестовой сети. Вы можете проследить все дополнительные переходы на пути от отправителя получателю.

    Заключение

    В этой статье я постарался объяснить, как работает структура кошелька в кошельках с поддержкой Whirlpool — Samourai Wallet и Sparrow Wallet.

    Поняв преимущества анонимности, достигаемые с помощью Whirlpool, вы сможете лучше оценить, какой инструмент для расходования BTC после микширования лучше подходит для вас в том или ином случае. Здесь я подробно рассказал о том, как пользоваться каждым из них, с пошаговыми инструкциями по использованию и дополнительными преимуществами сохранения анонимности, которые они обеспечивают.

     

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

    Источник: bitnovosti.com

    Comments (0)
    Add Comment