Деанонимизация Транзакций Эллиптических Наборов Данных

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

Правила криптовалют с каждым годом становятся все строже, и теперь компании обязаны соблюдать политику AML\KYC. Примерно тем же самым занимается компания «Эллиптик», которая в начале августа 2019 г.

опубликовано помеченный набор данных о 200 тысячах биткойн-транзакций.

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

Набор данных анонимизирован и имеет 167 атрибутов.

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

Используя данные файла elliptic_txs_edgelist.csv, вы можете построить ориентированный граф и вычислить степень входящего и исходящего txId каждой транзакции.

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

В таблице elliptic_txs_features.csv назовем столбцы в виде V1 — V167 и сразу заменим V1 на txId, V2 на elliptic_time. Некоторые атрибуты лучше других коррелируют со значением входящей и исходящей степени графа: cor(out-grade,V16) = 0,689, cor(out-grade,V7) = 0,680, cor(in-grade,V6) = 0,589, cor(в градусах,V8) = 0,582. Давайте посмотрим на эти переменные.



Деанонимизация транзакций эллиптических наборов данных

Диаграмма рассеяния переменной смещения V6 и степени входящего графика из elliptic_txs_edgelist На графике видно, что для каждого значения в степени существует верхний предел значений V6, кроме того, если отсортировать V6 и найти разницу между близкими значениями, то она изменится как целое число, умноженное на константу:

Деанонимизация транзакций эллиптических наборов данных

Уникальные значения изменения отсортированного V6 (diff_V6), встречающаяся частота (Freq) значений diff_V6 и отношение diff_V6 к минимальному значению из diff_V6. В таблице изменений V6 видно, что 0,075038 встречается гораздо чаще других значений и, вероятно, связано с изменением значения in-grade на 1. Учитывая тот факт, что минимальное количество входов в транзакции равно 1 (если это не coinbase-транзакция), пишем: inputs_count_V6 = (V6 - мин(V6)) / мин(diff_V6) + 1. После аналогичного анализа для V7, V8, V16:

  • inputs_count_V6 = 13,3266685112665 * V6 + 2,62544842444139,
  • inputs_unique_count_V8 = 11,9243179897452 * V8 + 2,34747189219164,
  • outputs_count_V7 = 50,3777694891647 * V7 + 4,21030186142152,
  • outputs_unique_count_V16 = 49,3957564403755 * V16 + 4,121809499973.
Здесь inputs_count_V6 — общее количество входов транзакции, inputs_unique_count_V8 — количество уникальных входов транзакции, outputs_count_V7 — количество выходов транзакции, outputs_unique_count_V16 — количество уникальных выходов.

Может возникнуть вопрос: почему inputs_count отображается в V6, а не в V8? Ответ прост, всегда inputs_count > = inputs_unique_count, а подставив значения V6 и V8 из elliptic_txs_features.csv в указанные формулы, можно убедиться в выполнении неравенства (13.3266685112665 V6 + 2,62544842444139) > = (11,9243179897452 V8+2.34747189219164) всегда выполняется одинаково, что позволяет правильно коррелировать V6, V8, inputs_count и inputs_unique_count друг с другом.

То же самое для выходов_count и выходов_уникальный_count. Как только мы нашли количество входов и выходов, а также количество уникальных входов и уникальных выходов, мы можем найти транзакции, в которых комбинации указанных чисел встречаются только один раз за всю историю Биткойна (до тех пор, пока не был опубликован эллиптический набор данных).

).

Это позволяет вам находить уникальные транзакции и приблизительное время для каждого значения elliptic_time:

Деанонимизация транзакций эллиптических наборов данных

Дата уникальных транзакций, найденных для каждого elliptic_time. На графике выше видно, что дата линейно зависит от elliptic_time: приблизительное_время = 1450468509,80488 + 1155672,19512195 * эллиптическое_время.

Здесь приблизительное_время — приблизительное unixtime для каждого эллиптического_времени.

А поскольку elliptic_time варьируется от 1 до 49, дата приблизительного времени изменяется с 01.01.2016 на 04.10.2017 с шагом 1155672,19512195/3600/24 = 13,37584 дня.

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

Например, есть только одна транзакция с 1 входом и 13107 выходами — dd9f6bbf80ab36b722ca95d93268667a3ea6938288e0d4cf0e7d2e28a7a91ab3. Теперь вы можете найти другие характеристики транзакции, такие как комиссия, а также общий объем ввода (total_in_value) и вывода (total_out_value) в сатоши.

Поиск корреляций и линейная регрессия помогают сделать это быстро; Приведу лишь окончательные формулы:

  • плата_V4 = 81341,4537626213 + 386323,710952989 * V4,
  • total_out_value_V3 = 2742460603,92287 + 15853961614,9796 * V3.
Искомое total_in_value находим из равенства: общее_входное_значение = общее_выходное_значение + комиссия.

Общая найденная информация позволяет нам идентифицировать 92,9% всех транзакций в наборе данных Elliptic. Остальную часть можно выявить, воспользовавшись графом транзакций из elliptic_txs_edgelist.csv, сравнив его с графиком, построенным на множестве совпадающих транзакций с их связями, записанными в блокчейне, это добавляет еще 6,6%.

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

Вы можете просмотреть деанонимизированный набор данных Здесь .

А здесь Эллиптические исходные данные.

Теги: #Криптовалюты #Открытые данные #биткоин клейн эллиптический

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.