Что такое сдача в биткоин транзакциях
Перейти к содержимому

Что такое сдача в биткоин транзакциях

  • автор:

Как работают транзакции в сети Bitcoin. Показываем на примерах и с картинками

Команде майнинг-пула Trustpool часто поступают вопросы о том, как формируются транзакции в сети Bitcoin и рассчитывается комиссия. Мы обратились к эксперту — админу нашей техподдержки Vlad D, чтобы он рассказал, как это все работает. Погнали →

Транзакция в блокчейне — запись о том, что вы сделали перевод или получили монеты. Например, вы отправили 0,5 BTC своему другу. В записи транзакции будет:

  • Адрес вашего кошелька
  • Адрес кошелька друга
  • Сумма перевода
  • Комиссия за транзакцию

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

Дальше транзакция, которую сформировал ваш кошелек, отправляется в сеть Bitcoin. Там ее проверяют ноды.

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

Если проверка прошла успешно, то транзакция перемещается в мемпул (mempool).

Мемпул — зал ожидания для транзакций. Как в аэропорту, только в блокчейне =)

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

На сервисе txstreet.com видно, какая средняя комиссия за транзакцию в эту минуту и сколько их стоит в списке на подтверждение. Чем больше очередь, тем дольше придется подождать обработки.

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

Транзакции проходят несколько этапов подтверждения. Скорость процесса бывает разная — от 10 минут до нескольких часов, и даже дней.

Что влияет на скорость обработки →

Причина № 1. Сеть Bitcoin не адаптирована к большой нагрузке

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

На момент создания статьи в мемпуле ждут подтверждения более 150 000 транзакций, а средний блок Bitcoin содержит от 1500 до 4000 транзакций. При этом новый блок создается, в среднем один раз в 10 минут. Из-за этого транзакции застревают в мемпуле и увеличивается время обработки.

Причина № 2. Размер комиссии сети

Биткоин-майнеры отвечают за создание новых блоков. Комиссия за транзакцию — вознаграждение за то, что майнеры ее проверят и включат в блок.

Когда формируется транзакция, вы можете выбрать размер комиссии, которую готовы заплатить. Но на этом этапе иногда включается людская жадность и человек ставит минимальную сумму =) Хотите сэкономить? Без проблем. Но будьте готовы к тому, что транзакция будет долго стоять в длинной очереди мемпула.

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

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

На mempool.space видно, какую комиссию нужно поставить, чтобы перевод ушел быстрее. Единица расчета комиссий в сети — Сатоши за виртуальный байт (Sat/vB). Время обработки указано примерное — точно рассчитать его невозможно.

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

Размер информации состоит из:

  • Количества предыдущих входов (транзакций)
  • Количества выходов
  • Метаданных заголовка: подписи, формат транзакции и другие.

Чем больше предыдущих входов содержится в транзакции, тем выше комиссия сети.

Разберем на примере:

В среднем, каждый предыдущий использованный вход добавляет примерно 140-300 байт информации в объем транзакции, а выход — от 25 до 40 байт. Метаданные заголовка — 10-15 байт.

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

Приблизительный расчет размера транзакции и самой комиссии для транзакции с двумя входами, двумя выходами при нынешней цене за 1 байт в 5 сатоши такой:

Размер= 2 входа*180 байт+ 2 выхода*34 байт+10 байт=438 байт

Комиссия = 438 байт*5 сатоши=2190 сатоши (0,67$)

Конечно, считать самостоятельно каждый раз комиссию при переводе — трудоемкая задача. Поэтому лучше это доверить вашему кошельку и пользоваться онлайн-сервисами для контроля средней комиссии.

Какая сегодня комиссия сети и примерная скорость обработки транзакции: mempool.space/ru/

Сколько транзакций ждет в мемпуле:
txstreet.com/v/btc

Графики со средней комиссией за период, размер транзакций и скорость обработки: blockchair.com/ru/bitcoin

Надеюсь, у нас получилось детально показать принцип работы транзакций в блокчейне Bitcoin. Подписывайтесь на Trustpool News — там только проверенная, полезная инфа о крипте и майнинге =)

Как деанонимизируют криптокошельки

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

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

Сразу сделаем оговорку: деанонимизация не всегда предполагает установление личности или юридического лица (хотя некоторые методы позволяют и это). Во многих случаях для соблюдения требований по противодействию отмыванию денег и финансированию терроризма (ПОД/ФТ) достаточно знать род занятий владельца средств.

Эвристический анализ Bitcoin
Суть метода

Зная принципы работы блокчейна Bitcoin, можно сделать предположение, что транзакции определенных видов раскрывают некоторую информацию о владельце. Данный метод анализа называется «эвристика». Алгоритм эвристического анализа сканирует блокчейн и находит транзакции, которые позволяют определить:

  • род деятельности владельца адреса (майнеры, миксеры),
  • адреса, принадлежащие одному владельцу.

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

Coinbase-транзакции

Блокчейн, как следует из его названия, состоит из блоков (blockchain – «цепочка блоков»). Блоки «сцеплены» между собой ресурсоёмкими механизмами шифрования, поэтому добавление нового блока требует значительных вычислительных мощностей. Эти мощности предоставляют майнеры. За обработанный блок майнеру начисляется вознаграждение.

Каждый блок содержит список транзакций, то есть записей о перемещении средств между адресами. Каждая транзакция содержит несколько входящих адресов, т. е. адресов, с которых списываются средства, и несколько исходящих адресов. Но у некоторых транзакций входящих адресов нет: монеты появляются буквально «из ниоткуда». Такие транзакции называются coinbase-транзакции (не путать с одноимённой биржей), они содержатся в каждом блоке и представляют собой вознаграждение майнеров. Следовательно, исходящие адреса в coinbase-транзакции принадлежат майнерам.

Coinbase-транзакция

Данный метод не позволяет определить, какой конкретно майнер получает монеты, зато практически гарантирует, что источник средств – майнер. В теории на тот же исходящий адрес можно принимать выручку от продажи наркотиков или перечислять украденную у кого-то крипту. Но на практике большинство майнеров сегодня работают через крупные регулируемые компании (майнинг-пулы), которые тщательно оберегают свои адреса от «грязной» криптовалюты. Поэтому адреса майнеров считаются наиболее «чистыми».

Сдача (OTC, one-time-change)

В блокчейне Bitcoin нет понятия «счета», аналогичного банковскому, на котором хранится определённая сумма. Bitcoin оперирует только транзакциями. Если у вас есть некоторая сумма в биткоинах – это означает, что есть транзакция, в которой эта сумма записана на вашем адресе в исходящих адресах. Пока вы не потратили эту сумму, в терминологии Bitcoin она называется UTXO – unspent transaction output. Потратить UTXO (т. е. перевести на другой адрес) вы можете в одной из следующих транзакций, но только всю сумму целиком.

Допустим, у вас есть некая сумма в BTC. Вы решили не использовать её всю, а хотите часть отправить на криптобиржу, чтобы обменять на фиатные деньги, а другую часть оставить в BTC. При этом технически вы обязаны забрать всю сумму с UTXO. Как быть с остатком?

Остаток, который вы пока не хотите тратить, называют «сдача». Вы можете отправить его на тот же адрес, на котором он был раньше. Но обычно сдачу из соображений конфиденциальности отправляют на новый адрес, который тоже принадлежит вам. То есть, согласно эвристике сдачи, оба адреса – входящий и только что созданный адрес сдачи – принадлежат одному владельцу:

Транзакция со сдачей

Любопытная подзадача для данного метода – а какой именно выход транзакции является сдачей? Есть несколько признаков. Наиболее простые и популярные из них:

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

Ни личность, ни даже род деятельности владельца адресов таким образом узнать не получится – можно только понять, что два адреса принадлежат одному и тому же лицу. Какая же польза от этой информации? Следуя данной эвристике, можно создавать группы (или «кластеры») из сотен и тысяч адресов, принадлежащих одному владельцу. Если другие методы позволят установить владельца хотя бы одного из адресов, станет ясно, что ему же принадлежат и все остальные адреса из группы. Таким образом, кластеризация адресов работает в сочетании с другими методами и позволяет в разы увеличить долю размеченных (т. е. деанонимизированных) адресов.

Общая трата (common spending)

Чтобы перевести средства с биткоин-адреса, нужно знать секретный код («приватный ключ») к этому адресу. Тот, кто знает приватный ключ, фактически владеет криптой в данном кошельке. Если в одной транзакции задействованы средства с нескольких входящих адресов — значит, тот, кто инициировал сделку, знает приватный ключ каждого из них. Следовательно, все эти адреса принадлежат одному владельцу.

Транзакция с общей тратой

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

Coinjoin-транзакции

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

Coinjoin-транзакция

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

Кластеризация через машинное обучение (ML)
Суть метода

Алгоритм анализирует большое число транзакций или адресов (кошельков), стремясь выделить группы (кластеры) со схожими свойствами. Для каждого кластера умозрительно (или на основании данных, полученных при помощи других методов) определяется род деятельности владельца.

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

Зато с помощью машинного обучения можно охватить гораздо больше адресов:

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

Разработка и применение алгоритмов машинного обучения — задача творческая, тут нет универсальных шаблонов. Общая последовательность действий для разработки алгоритма машинного обучения — следующая:

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

  • сумма,
  • частота (транзакций) для адреса,
  • эвристика транзакций (см. выше),
  • количество входов и выходов транзакций,
  • количество адресов, с которых поступали или на которые отправлялись средства с данного адреса, и т.д.

При выборе значимых параметров важно соблюсти баланс. Избыток параметров усложнит вычисления, и результаты будет трудно интерпретировать. А если чрезмерно упростить модель, можно пропустить значимых участников.

2. Кластеризуем (т. е. группируем) адреса с близкими свойствами. Есть много подходов к решению задачи кластеризации. В контексте блокчейна чаще всего упоминают:

  • К-среднее,
  • кластеризация по плотности (DBSCAN),
  • графовая или иерархическая кластеризация.

Не будем вдаваться в математические детали. На выходе каждой модели мы получим некоторое число кластеров (т. е. групп адресов), а также адреса, не попавшие ни в один кластер.

3. Интерпретируем результаты. Если модель сформирована корректно, попадание адресов в один кластер означает, что ими владеют участники с одинаковым родом деятельности. Однако соответствие тут неточное, и велика вероятность ошибки. В один кластер могут попасть адреса совершенно разных участников, которые оставляют схожий «след» в блокчейне.

В некоторых случаях возможно использование моделей «с учителем». В этом случае из других источников заранее известен «ответ», то есть мы заведомо знаем, кому принадлежат адреса, попавшие в тот или иной кластер. Такие модели будут работать более точно, и их легче интерпретировать: логично предположить, что адреса, попавшие в один кластер с теми, которые размечены как криптобиржи, тоже принадлежат биржам.

Пример

Для иллюстрации принципов работы ML-кластеризации возьмем упрощенный пример. Допустим, мы рассматриваем только два параметра адресов:

  • число транзакций за единицу времени (например, в день),
  • общую сумму, которая перемещается с адреса и на адрес за единицу времени.

Если нанести рассматриваемые адреса на график, можно получить, например, такую картину:

Пример кластеризации по плотности

На графике мы видим три кластера по плотности:

  • кластер 1 — много транзакций на крупную сумму,
  • кластер 2 — много транзакций, но на меньшую сумму,
  • кластер 3 — мало транзакций на небольшую сумму.

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

Сбор общедоступной информации
Суть метода

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

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

Вебскрейпинг (web-scraping)

Вебскрейпинг предполагает сбор информации на вебсайтах, форумах, в соцсетях, каналах и чатах. Зачем публикуют такую информацию? Вот несколько примеров:

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

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

Отзывы пострадавших (victim reports)

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

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

Решения правоохранительных органов

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

Обычно связанные с противозаконной деятельностью кошельки размечают по решению правоохранительных органов (возбуждено дело, есть постановление суда и т.п.). Перед этим следственные органы проводят расследование, устанавливают личность владельца и род его деятельности. О подобных решениях могут сообщать непублично – в этом случае правоохранители напрямую уведомляют централизованных участников рынка (криптобиржи, аналитические компании). «Грязный» адрес также могут включить в публикуемые санкционные списки (в качестве примера, вот список санкционных адресов от Управления по контролю за иностранными активами минфина США: https://sanctionssearch.ofac.treas.gov/ ).

Говоря о санкционных списках, нельзя не упомянуть, что не все санкции бывают связаны с реальными уголовными преступлениями – они могут носить и политический характер (например, санкции за пожертвования нежелательной организации). Это накладывает дополнительные трудности для работы с санкционными списками в разных юрисдикциях.

Данные онлайн-сервисов (бирж, магазинов и т.п.)
Суть метода

Используем информацию из онлайн-сервисов, которые ведут базу пользователей (почта, телефон, ФИО, IP-адрес и т. п.), их адресов и транзакций. Любые сервисы, которые вы применяете при работе с криптовалютами, потенциально имеют доступ и к данным, которые могут помочь вас идентифицировать. Предоставляя вам удобный интерфейс, они фактически соединяют блокчейн и реальный мир. Но помимо удобства, это и одна из главных угроз для анонимности.

Какая информация доступна?

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

Биржи и обменники, как минимум, требуют ваши контакты при регистрации (email, телефон). Крупные регулируемые биржи, соблюдающие требования AML, обязаны проверять личность и документы клиентов в рамках процедуры KYC. А еще они знают, с каких кошельков вы пополняете баланс и на какие выводите крипту. Конечно, здесь не всегда возможно установить полное соответствие, ведь вы можете отправить деньги на чужой адрес. Тем не менее, это может стать надежной стартовой точкой для дальнейшего расследования.

Магазины (в т.ч. даркнет-маркет) могут знать контакт и локацию доставки, а также адрес, с которого вы оплачиваете покупку.

Кошельки, обозреватель и даже полная блокчейн-нода (которая считается самым лучшим вариантом кошелька для поклонников полной анонимности) могут получать и передавать данные о вашем IP и используемых устройствах.

Как получить информацию?

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

Официальный запрос. Такой способ доступен правоохранительным органам. Также (в теории) он может работать и для аффилированных аналитических компаний. Чаще всего официальные запросы касаются расследования конкретных нарушений.

Утечки. Хакеры могут атаковать как централизованные серверы, так и персональные устройства пользователей. Несмотря на то, что крупные игроки имеют внушительную систему безопасности, утечки иногда случаются (пример).

Отпечатки пальцев (fingerprints). Кошельки, биржи и другие участники рынка могут целенаправленно либо из-за ошибок в коде создавать транзакции определенного вида, то есть оставлять специфический «след» своей работы в блокчейне. Анализируя такие отпечатки, можно, как минимум, легально установить, какое приложение использовал владелец адреса – а это может стать хорошим подспорьем в дальнейшем расследовании.

Ловушки. Творческий метод, в значительной степени основанный на социальной инженерии. Например, можно открыть собственный магазин и предложить оплатить товар в криптовалюте с указанием контактов. Можно объявить о раздаче монет (airdrop) и для этого попросить интересующих вас пользователей оставить контакты и кошельки. Еще вариант: разослать определённую сумму заведомо «грязной» крипты на интересующие вас адреса и проследить, кто пожалуется в открытых источниках. Подобные трюки балансирует на грани законности, но могут использоваться в том числе и правоохранительными органами.

Слежка в сети. Иногда это возможно даже через общедоступные источники. Например, существует подход, при котором специальная нода блокчейна анализирует трафик транзакций в обработке и пытается установить IP-адрес той ноды, на которой они были созданы. Ещё один вариант (требующий уже доступа к инсайдерской информации): если в блокчейн-обозревателе с одного и того же IP постоянно проверяют транзакции с одного адреса, то можно предположить, что это делает владелец кошелька.

Расследования
Суть метода

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

  • легально ли происхождение средств на определённом адресе?
  • где находятся украденные средств?
  • кто вовлечен в схемы вымогательства?

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

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

On-chain расследования (отслеживание транзакций)

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

Для проведения on-chain расследований иногда достаточно бесплатных веб-обозревателей (типа https://blockchair.com/ ). Удобнее (особенно для сложных случаев) использовать специализированные инструменты визуализации, которые позволяют представить транзакции в виде графа:

Пример визуализации транзакций

Такие инструменты являются частью аналитический платформ и доступны их корпоративным клиентам.

Off-chain расследования

Могут использоваться все следственные методы: опрос свидетелей, доступ к облачным хранилищам, физический захват серверов, обыски, прослушка средств коммуникации и т. п. Полный набор инструментов, конечно, доступен только правоохранительным органам и только в случае серьезных правонарушений. Однако расследованиями могут заниматься и службы поддержки криптобирж – задавая дополнительные вопросы клиентам, запрашивая подтверждение происхождение средств и т.д. Вот примеры крупных успешных расследований:

Выводы

Итак, мы рассмотрели основные методы, которые используются компаниями, специализирующимися на блокчейн-аналитике, и другими участниками рынка для установления личности владельцев крипты в рамках соблюдения требований ПОД/ФТ:

Сравнение методов деанонимизации криптовалют

Борьба между регуляторами и адептами анонимности (как идейными, так и просто стремящимися скрыть свои источники дохода) не стоит на месте. И с той, и с другой стороны периодически появляются новые приемы и решения как для анонимизации, так и для деанонимизации, что позволяет то одной, то другой стороне на время вырваться вперёд. Уже лет через 5-10 набор методов может сильно измениться.

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

Биткоин-кошелёк и сдача на нём. Как не потерять деньги

Расскажем простым языком о сдаче в кошельках Биткоина и других криптовалют. Поскольку большинство криптовалютных кошельков — это форки (клоны) кошелька Bitcoin Core, они работают одинаково.

Биткоин-кошелёк и сдача на нём. Как не потерять деньги. Фото.

Если хотите разобраться в принципах работы кошельков, обязательно прочтите статьи из нашей Криптовалютной Библии:

Устанавливаем кошелек Bitcoin Core.

Важное уточнение: описанный ниже принцип работы актуален для Litecoin, Doge, DASH, Ravencoin, Firo и других форков Биткоина. Их кошельки работают точно так же.

Рассмотрим вопрос сразу на практике. Как и почему так происходит — вопрос к Сатоши Накамото. В интернете этот процесс объясняют заботой о вашей безопасности и приватности. Мы будем обсуждать именно Bitcoin, хотя, повторимся, процесс работы кошелька аналогичен для многих других криптовалют. Кстати, в сети Ethereum все происходит намного проще и кошельков для сдачи и проблем с ними не существует.

Первым делом мы скачиваем программу Bitcoin Core с официального сайта и ждем пока ваша Bitcoin-нода синхронизируется с остальным миром. Bitcoin Core — самая надежная программа кошелька для хранения BTC с полной копией блокчейна на вашем компьютере. Обратите внимание, что на это может уйти много времени (вплоть до нескольких дней) и много свободного места на жестком диске (около 400 GB). Ваш кошелек для хранения криптовалюты создается автоматически при первом запуске программы.

Сдача в Bitcoin кошельке. Откуда она берётся и куда идёт?

Биткоин-кошелёк и сдача на нём. Как не потерять деньги. Сдача в Bitcoin кошельке. Откуда она берётся и куда идёт? Фото.

Заходим в меню программы-кошелька Bitcoin, смотрим адрес получения средств (File -> Receiving address). Допустим, у вас есть 2 пиццы, а ваш друг хочет обменять их на свой Bitcoin. Даем другу первый адрес из Receiving Address, назовем его Адрес А. Он отправляем вам 2BTC, а вы даете ему 2 пиццы. Монеты приходят. Теперь на вашем кошельке есть 2 BTC. Затем отправляем Маше 1 BTC за услуги — на кошельке остаётся 1 BTC. Но не всё так просто. Оставшийся 1 BTC лежит не на Адресе А, а на новом Адресе Б. Почему так произошло?

Полученные 2 BTC стоит рассматривать как банкноту в 2000 рублей. Когда мы платим 1000 рублей Маше, мы не можем взять и разрезать банкноту пополам. Мы даём банкноту в 2000 рублей, а затем получаете бумажку в 1000 рублей в виде сдачи. Чаще всего криптовалютный кошелек работает так, что сдача идёт на новый адрес.

Биткоин-кошелёк и сдача на нём. Как не потерять деньги. Сдача в Bitcoin кошельке. Откуда она берётся и куда идёт? Фото.

Визуально в кошельке заметить это будет невозможно, поскольку кошелёк просто показывает баланс в 1 BTC. Баланс кошелька — это сумма балансов всех ваших адресов. Кстати, с точки зрения блокчейна ваши адреса не связаны никаким образом. Просто кошелёк объединяет их под одной крышей.

Почему мой Биткоин-адрес меняется?

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

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

Где мои деньги? Как посмотреть адреса для сдачи?

Есть стандартная команда getaccountaddress «» которая показывает адрес для получения средств. Она в данном случае не подойдет, потому что покажет только 1 текущий адрес.

В консоли кошелька нужно ввести команду listaddressgroupings
Эта команда покажет все адреса в вашем кошельке и их балансы соответственно.

Биткоин-кошелёк и сдача на нём. Как не потерять деньги. Где мои деньги? Как посмотреть адреса для сдачи? Фото.

Можно ли настроить пути отправки сдачи?

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

Можно ли выбрать адрес, с которого отправлять транзакцию?

Нет. Но как же тогда быть? Как пользоваться анонимными сервисами?

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

Как можно потерять деньги на сдаче?

Без дополнительных настроек кошелек Bitcoin хранит только 100 адресов по умолчанию. Предположим, мы заводим кошелек и делаем его резервную копию. Дальше отправляем тонны монеты своим друзьям, причём на 101-й транзакции ваш бэкап уже не будет хранить все ваши адреса. Если на первом адресе остались монеты — нам крышка.

Как избежать?

  • Постоянно делаем резервные копии;
  • Увеличиваем количество хранимых адресов. Для этого в файл bitcoin.conf вносим параметр keypool=10000;
  • Указываем в настройках, чтобы сдача приходила каждый раз на один и тот же кошелёк.

Биткоин-кошелёк и сдача на нём. Как не потерять деньги. Как можно потерять деньги на сдаче? Фото.

Кстати, в последних версиях кошелька Bitcoin Core количество хранимых адресов было увеличено со 100 до 1000. Приятно.

И ещё раз для закрепления: описанный ниже принцип работы актуален для Litecoin, Ravencoin, Dash, Firo, Doge и других форков Биткоина. Их кошельки работают точно так же.

Криптовалюта для хакера. Часть 2.

https://t.me/+W6jGA3-NpGUzODFi
Всем привет. С вами Алина.

Что же делает транзакция? Транзакция сообщает сети, что владелец какого-то биткоин адреса санкционировал передачу определённого количество биткоинов с этого адреса другому владельцу:

Биткоин транзакции построены подобно строкам в бухгалтерской книге с использованием двойной записи. Двойная запись это способ ведения бухгалтерского учёта при котором каждое изменение состояния средств организации отражается по крайней мере сразу на двух счетах обеспечивая общий баланс. Каждая биткоин транзакция содержит один или несколько входов и один или более выходов. Входы и выходы необязательно составляют одну и ту же сумму, а выходные данные транзакции составляют чуть меньше чем входные. Разница представляет собой комиссию за транзакцию, которую получает майнер за добавление этой транзакции в блок:

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

Давайте рассмотрим простой пример который поможет вам разобраться в устройстве биткоин транзакций. Предположим что вы купили 0.01 BTC и продавец отправляет вам его на ваш адрес. Теперь на вашем адресе образовался непотраченный выход (UTXO — Unspent Transaction Output):

Далее вы решили отправить своему другу 0.005 BTC. Транзакция будет выглядеть следующим образом:

Ваш UTXO (непотраченный выход) 0.01 BTC используется в данной транзакции как вход, а выходов будет два. Первый выход это 0.005 BTC, которые идут на адрес вашего друга, а оставшиеся 0.0049 BTC идут на ваш новый биткоин адрес в виде сдачи. Таким образом ваш непотраченный выход разделился на две части, одна из которых ушла на адрес вашего друга и образовала у него на адресе UTXO в 0.005 BTC, а вторая часть отправилась как сдача на ваш новый адрес, который был создан вашим биткоин кошельком. Большинство биткоин транзакций будут похожи на ту, которую я сейчас рассмотрела, и чаще всего транзакции будут содержать сдачу, которая отправляется на ваш новый адрес автоматически.

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

То есть, если бы захотели отправить своему другу именно 0.0099 BTC, то сдачи бы на ваш новый адрес не было, потому что вы полностью потратили UTXO на один выход.

Но самая популярная структура биткоин транзакции выглядит вот так:

В случае с примером, на адресе вашего друга, после того как была отправлена ваша транзакция, сформировался новый UTXO размером в 0.005 BTC.

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

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

Четыре UTXO с четырёх разных адресов используются для формирования двух выходов. Первый выход это 0.1 BTC который идёт получателю, а второй выход оставшаяся сдача, которая идёт на ваш новый адрес. Биткоин транзакции могут также иметь один вход и несколько выходов. Такая транзакция формируется при использовании одного UTXO для отправки средств сразу на несколько адресов:

Из всего выше написанного мной сделаем следующие выводы:

  • Биткоин транзакции работают в определённом формате, который не похож на стандартные денежные переводы.
  • Биткоин транзакции состоят из входов и выходов. Непотраченный выход (UTXO) на биткоин адресе образуется каждый раз при получении входящей транзакции.
  • UTXO с биткоин адреса используется вами для создания исходящей транзакции.
  • Биткоин транзакции связаны между собой через входы и выходы.
  • Выходы одной транзакции используеются как вход или входы для другой транзакции, которые впоследствии формируют выходы для новой транзакции и так далее. Именно по анализу входов и выходов определённых транзакций можно связать несколько биткоин адресов, а далее узнать личность человека скрывающегося за этими адресами.

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

В этом случае мы видим, что у вас есть два входа на 0.5 BTC и 0.3 BTC. Вы хотите отправить кому-то 0.7 BTC, у вас одного входа по отдельности не хватает, поэтому в транзакцию объединяются эти два входа и формируют один непотраченный выход 0.7 BTC, а оставшаяся часть в виде 0.0999 BTC будет сдачей на ваш новый адрес, которая также формирует на вашем новом адресе непотраченный выход, который потом вы можете использовать для создания новой транзакции.

Вот пример того как выглядит стандартная биткоин транзакия где есть два входа и два выхода:

Input (вход). То есть кошелёк берёт два входа со своих адресов, объединяет их и отправляет на адрес получателя следующую сумму:

А оставшаяся часть идёт в виде сдачи:

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

Вернусь опять же к примеру:

Если у вас выход 0.5 BTC, то вы не можете от него отщепнуть 0.25 BTC и оставить 0.25 BTC себе на адресе, абсолютно всегда идёт сдача. Вы отщипываете 0.7 BTC в данном случае от общей суммы, но сдача всегда возвращается вам на ваш новый адрес.

Теперь я постараюсь объяснить это более простым примером. Давайте представим так, что входы это обычные физические денежные купюры и любая транзакция, которая приходит на ваш адрес, формирует на нём новую купюру. Допустим я получила на свой первый адрес 150, на второй 250, на третий 500 и на четвёртый 70:

У меня на каждом адресе сформировалась купюра в соответствии с суммой на которую мне пришла входящая транзакция, 150, 250, 500 и 70. Эти купюры как раз таки и являются UTXO (непотраченными выходами). Теперь я могу эти купюры использовать для формирования новой транзакций, чтобы отправить свои деньги кому-то другому.

Допустим я хочу отправить человеку 120 рублей, представим что это рубли. Я ищу подходящий выход, в этом случае за меня это делает всё кошелёк автоматически, он подбирает самый подходящий выход, который более ближе подходит к вашей отправляемой сумме, в моём случае это 150. Я беру купюру в 150 рублей, отправляю человеку 120, а сдача от купюры идёт мне на мой новый адрес:

Сдача неполная, потому что 1 рубль идёт на комиссию майнерам. Принцип работы транзакции очень похож на оплату товаров в магазине, такой же принцип, только вместо комиссии на оплачу майнерам у вас там НДС (налог на добавочную стоимость).

Далее ваш адрес 5 уже находится в списке ваших выходов, а купюра с первого адреса убирается потому что мы её уже использовали:

Но не всегда хватает одной купюры чтобы оплатить транзакцию. Допустим вы хотите отправить транзакцию на сумму 800 рублей. У вас не хватает по отдельности каждого выхода, потому что каждый из них составляет меньше чем 800. Поэтому транзакция автоматически объединяет сразу три ваших купюры вместе и они в сумме составляют 900 рублей. Они объединяются вместе. Купюры суммой в 800 рублей идут на адрес получателя, а сдача в 99 рублей идёт на ваш шестой адрес:

Именно так работают биткоин транзакции. Предположим, что я эти купюры потратила, в 150, 250 и 500. У меня остаются только вот эти:

Абсолютно тот же принцип применяется к биткоинам. Просто заменяем рубли на BTC:

Допустим я хочу отправить сумму в 1.5 BTC, но у меня нет на одном выходе столько средств, поэтому объединяется два моих выхода в одну транзакцию и она идёт на адрес получателя, а оставшаяся сдача идёт обязательно мне, на мой седьмой адрес:

Так выглядит любая стандартная транзакция в сети биткоина. Сдачи не может быть только в том случае, если вы абсолютно полностью тратите свой выход. Это базовый принцип работы биткоина который необходимо вам знать. Именно биткоина, потому что в эфириуме и эфироподобных монетах транзакции работают по другому. В эфириуме как раз таки используются более простой принцип транзакций. В эфириуме есть один адрес, там просто есть баланс, который как раз таки отщипывается. Допустим у меня на балансе в эфириуме лежит 1500 рублей, а я хочу отправить человеку 1000. Я отправляю ему 1000, но при этом никакой сдачи нет, у меня просто отщипывается 1000 и у меня остаётся 500:

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

Зачем это вообще нужно в биткоине? Это очень важная вещь для понимания того, как сохранить анонимность своих средств. Вам нужно понимать как контролировать свои непотраченные выходы. Я сейчас покажу небольшой пример для того, чтобы вы понимали почему это важно.

Давайте представим, что у вас есть четыре непотраченных выхода:

В рублях буду опять же объяснять для лучшего понимания. Вы всегда принимали каждую транзакцию на свой новый адрес, то есть, эти адреса никак не связаны между собой. Допустим транзакцию на адрес номер 1 вы получили с биржи Binance, транзакцию на адрес 2 вы получили от друга Миши, на третий ваш адрес пришла сдача с той суммы на которую вы купили что-то в даркнете, а на четвёртый адрес пришла сдача с покупки какой-то вещи в обычном легальном магазине:

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

Что же теперь произойдёт если вы будете неграмотно заниматься отслеживанием своих входов и выходов? Например вы захотели отправить своему другу Пете 800 рублей. Из-за того, что у вас не хватает купюр по отдельности, у вас объединяются три купюры и формируют выход на адресе Пети:

Но теперь в блокчейне видно, что эти три ваших адреса использовались в одной транзакции. Теперь любой сторонний наблюдатель в блокчейне может знать, что эти три адреса принадлежат именно вам, одному человеку.

И допустим человек, который продал вам вещь в даркнете знает, что третий адрес это ваш, потому что с данного адреса ему пришла оплата. Но теперь увидев вашу новую транзакцию, он знает что ещё и ваши 2 и 4 адреса, тоже ваши. Например вы указали свой адрес номер 4 где-то для сбора пожертвования вконтакте или на ютубе, думая что он чист. А тут вам напишет в личные сообщения этот самый продавец и настойчивого попросит денег, иначе расскажет родственникам и вашим друзьям, что вы покупали что-то незаконное. Это ещё повезёт если напишет именно он, а не ФСБ придёт домой, ведь они также мониторят транзакции таким же образом, смотрят откуда они приходят человеку который продаёт что-то незаконное, а потом пытаются всё связать в одну цепочку.

Главное чтобы вы понимали как это всё происходит и не соединяли свои входы и не объединяли свои адреса, потому что это противоречит анонимности полностью. Ведь транзакции в блокчейне публичные и их может посмотреть любой человек.

Ещё есть такая вещь как пылевая атака. Предположим у вас есть биткоин адрес, вы купили что-то незаконное в даркнете и потратили с него полностью всю сумму, у вас там осталось 0. Вы забыли про этот адрес и пользуетесь другим. Вы ведёте свой ютуб канал, телеграм блог, вк страницу и оставили новый чистый адрес для сбора пожертвований, или ещё для какой-то цели, например дали его кому-то при продаже какой-то белой услуги. Хакер смотрит откуда приходили деньги на кошелёк продавца в даркнете и отыскивает полностью потраченные биткоин адреса покупателей с нулевым балансом. Далее он закидывает на эти адреса по 0,0000001 BTC. Сумма настолько маленькая, что её называют пылью и очень часто люди не обращают внимание на подобные транзакции даже не замечая изменения на балансе. Транзакция хакера образует непотраченный выход на вашем чёрном биткоин адресе. И когда вы в следующий раз что-то покупаете со своего чистого биткоин адреса, вполне законное и чистое, либо меняете деньги на валюту своей страны в обменнике и вам не хватает на нём средств, то ваш чистый адрес добавляет те самые 0,0000001 с чёрного адреса к чистому, а также других ваших адресов и объединяет это в одну транзакцию. Всё. Это отображается в открытом доступе блокчейна и хакер связывает ваши адреса. А далее просто вставляет в гугл поиск ваш чистый адрес и находит вашу страницу вк или ютуб канал где вы оставили свой чистый адрес, а потом начинает вас шантажировать и просит перевести деньги, либо расскажет вашим друзьям и родственникам о вашей покупке в даркнете. Таким же методом очень часто пользуются спецслужбы для вычисления покупателей запрещёнки.

Покажу на примере.

Я отправила себе две транзакции по 0.00003 BTC. В общей сумме у меня получилось 0.0006 BTC:

Можно посмотреть, что у меня сформировалось два непотраченных выхода с разными адресами которые я могу потом использовать для создания новой транзакции:

Давайте сейчас это продемонстрирую, вписываю сумму которую я хочу перевести:

Транзакция показывает, что у меня тут написано "ввод" и "вывод", на самом деле должно быть написано "вход" и "выход", немного неправильный перевод. Но тем не менее, кошелёк показывает, что я в транзакции использовала два своих непотраченных выхода с разными адресами и они стали входами в новой транзакции. То есть, при формировании транзакции, ваши непотраченные выходы становятся входами для новой транзакции. Из моих двух непотраченных выходов формируется одна транзакция, и там ещё сдача в виде 0.00005 BTC которая уйдёт на мой третий адрес.

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

Теперь я могу посмотреть в любом блокчейн обозревателе, как и любой другой человек абсолютно все транзакции всех людей. Давайте посмотрим как это будет выглядеть. Например в этом https://blockstream.info:

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

Теперь поговорим о том как контролировать свои UTXO (непотраченные выходы). Это очень важно делать, чтобы сохранить анонимность своих средств.

Сейчас у меня открыт мой кошелёк Wasabi Wallet на котором есть несколько непотраченных выходов:

У данного кошелька есть отличная функция. Данная функция позволяет выбирать UTXO которые вы хотите потратить. Как вы видите у меня здесь есть 10 непотраченных выходов, то есть это было 10 транзакций на 10 моих разных адресов:

Соответственно из них я точно могу знать, у меня здесь есть заметки, то что самый нижний выход полностью чистый и не имеет никакой связи с моей личностью:

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

Но 9 выходов на этом кошельке у меня грязные:

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

Если я выберу вот так вот, то объединю эти 2 выхода в одну транзакцию, грязные и чистые:

Если вы не выбираете это вручную, то кошелёк автоматически может это делать за вас, многие об этом даже не задумываются. А далее тут уже будет видно https://blockstream.info что два этих ваших выхода связаны между собой и принадлежат одному человеку. Соответственно вы сразу же свой чистый выход деанонимизируете полностью, потому что вы его использовали вместе со своими грязными деньги. Это делать ни в коем случае нельзя. Поэтому в Wasabi Wallet это невероятно полезная функция для сохранения вашей анонимности.

Если же я возьму Trust Wallet, то в нём такой функции нет:

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *