Перевод Отслеживание Monero и других монет на базе Cryptonote через блокчейн

Тема в разделе "Статьи", создана пользователем Mr. Pickles, 12 апр 2019.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    536
    Симпатии:
    200
    4.jpeg

    Вступление


    В предыдущих статьях мы обсудили, как превратить «вспенивание» в подтверждающее доказательство при помощи внешних метаданных [ 1 ], а также, как отсутствие вспенивания позволит отследить ваши средства путём простой маркировки выходов (атака Knacc) [ 2 ]. В этой статье мы расскажем о том, как отследить вспенивание, а также проводить активные атаки для отслеживания через блокчейн, не используя при этом каких-либо метаданных. Фактически вы можете, не мудрствуя, попробовать проделать это через ваш блокчейн Monero прямо сейчас.

    Атака путём простого слияния выходов

    Этот вариант атаки основан на атаке Heuristic II (см. Раздел 5.2 в работе «Анализ отслеживаемости блокчейна Monero», написанной Амритом Кумаром, Клементом Фишером, Шрути Топлом и Пратиком Саксена, Электронный архив публикаций IACR, которую можно найти по этой ссылке).

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

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

    Нормальный порядок проведения транзакций

    1.png

    В целях упрощения диаграммы на ней показаны только входы.

    Эта диаграмма отражает нормальный порядок проведения транзакций. В данном случае у Элис есть четыре выхода 1A-1D. Она тратит выходы 1C и 1D в транзакции T1 для покупки чего-либо. Она получает выход 2A в качестве сдачи на свой кошелёк. При проведении транзакции T2 тратится эта сдача и выход 1B, при этом генерируется другой выход сдачи 3A, и так далее.

    Отслеживание вспенивания

    На прошлой неделе я рассказал, как атака Knacc позволяет отслеживать пользователей. Стандартным ответом Monero в этом случае является так называемое «вспенивание» (отправка средств самому себе). Я настоятельно рекомендовал пользователям не делать этого. Автор атаки не согласился со мной, возможно, не зная о такой возможности [ 1 ]. Давайте посмотрим, как выглядит вспенивание в этом контексте.

    2.png
    Элис проводит одну транзакцию вспенивания.

    У Элис в кошельке есть три выхода (1A, 1B и 1C). Она использовала выходы 1B и 1C, чтобы отправить деньги самой себе в транзакции T1, а затем заплатила кому-то, проведя транзакции T2 и T3.

    Вы можете увидеть, что, в отличие от нормального порядка проведения транзакций, выходы 3A, 2A и 2B формируют кольцо. Если мы видим, что возможные входы в кольцевой подписи группируются, мы можем отбросить все остальные варианты, так как вполне вероятно, что именно они окажутся реальными выходами.

    Какова вероятность, что такое произойдёт случайно? Она ничтожно мала — я уже приводил вычисления в статье об атаке Knacc. Если размер кольца составляет три участника (три генерации по графу), вероятность остаётся точно такой же, и даже при большем размере кольца выходы можно будет отследить с большой долей вероятности, не делая при этом ничего особенного, а просто сканируя блокчейн.

    Активная атака отслеживания

    Вы заметили, что мы деанонимизировали T2? Нам известно, что транзакция T2 была создана Элис, нам известно, что выход 3A является сдачей, и что другой выход не использовался для формирования другого кольца, а следовательно, Элис либо ещё не потратила его, либо отправила его кому-то другому.

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

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

    Так как между ними существует кольцо, то Бобу известно, что транзакции T1, T2 и T3 были сгенерированы Элис.

    3.png
    Активная атака отслеживания выходов

    Благодарность

    Я бы хотел поблагодарить сообщества Dash и ZCash за помощь в распространении информации о проблемах, связанных с обеспечением анонимности, после того как меня забанили на канале Telegram @monero.

    Источник: On-chain tracking of Monero and other Cryptonotes

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    MoneroRus нравится это.
  2. MoneroRus

    Команда форума Модератор Редактор

    Регистрация:
    30 ноя 2017
    Сообщения:
    222
    Симпатии:
    44
    чето я не понял про активную атаку. как это сработает.
     
  • О нас

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