Перевод Оценка верхних границ воздействия результатов разделения блокчейна Monero

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

  1. Mr. Pickles

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

    Регистрация:
    11 сен 2017
    Сообщения:
    252
    Симпатии:
    71
    В начале 2018 года сообщество и разработчики Monero готовились к обновлению протокола Monero до версии v7, когда вдруг случилось неожиданное — эйрдроп Monero.

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

    MoneroV была странным эйрдропом, который, как было заявлено, «решал» множество проблем Monero, и что примечательно, при фиксированной эмиссии самой MoneroV. В целом сообщество сочло такие планы странными, но сами заявления повергли всех в шок и трепет. Никто не ожидал, что форк может иметь такие последствия. Больше всего нас беспокоило то, как разделение блокчейна скажется на анонимности.

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

    Я поспешно стал размышлять над последствиями разделения блокчейна для анонимности Monero. Я опубликовал это видео в феврале, чтобы быть точным, и в нём говорю о том, что зона «наибольшего риска» приходится на несколько дней до и после разделения, а не только на несколько дней после. Также мною предлагаются три основных изменения, которые необходимо внести в кошелёк, чтобы избежать возможного ущерба. Я говорю и о том, что согласно результатам исследований, изложенным в бюллетене лаборатории MRL-0004, было бы неплохо увеличить минимальный размер кольца с 5 до 7. В конечном счёте все эти изменения были включены в версию 0.12.0 Monero.

    За это время мы пережили два последовательных разделения блокчейна с довольно коротким промежутком: Monerov6 (Monero Classic, Monero Original) 6 апреля и MoneroV 3 мая. Мне бы хотелось снова подчеркнуть, что само сообщество не разделялось. Эти форки по большей части произошли сами по себе и, по-видимому, растворились в никуда.

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

    Вот результаты использования инструмента отбора в конце августа 2018:
    HTML:
    2018-08-21 10:21:07.248 7f7bb3e58c00 INFO bcutil src/blockchain_utilities/blockchain_blackball.cpp:1290 rct-key-image-attack: 31359 (0.45299%)
    2018-08-21 10:21:07.248 7f7bb3e58c00 INFO bcutil src/blockchain_utilities/blockchain_blackball.cpp:1290 rct-chain-reaction: 8 (0.000115562%
    Давайте возьмём одно число, а именно 8. Оно превосходно подходит для нашей существующей модели, так как это число RingCT транзакций, которые были вскрыты в результате цепной реакции после разделения блокчейна. Мы можем использовать это число для оценки пропорции вскрытых выходов в заданных окнах.

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

    Если посмотреть на количество транзакций Monero в день, кажется, что оно составляет примерно 4000–6000 на момент разделения. Возьмём наименьшее количество, равное 4000, чтобы получить более высокую верхнюю границу.

    1.png
    Количество транзакций в день.
    Источник: https://stoffu.github.io/diff-chart/monero-tx-per-day.html

    Теперь мы можем воспользоваться Excel и целенаправленным поиском, чтобы оперировать нашими переменными.

    2.png

    Сравним эффективность размера кольца, равного 7, с эффективностью размера кольца, равного 5, чтобы увидеть разницу. Попробуем? Так как оба разделения блокчейна произошли, когда минимальный размер кольца, используемый Monero, составлял 7, мы можем протестировать условия, при которых размер кольца, равный 7, приводит к вскрытию 8 транзакций. Тестирование будет проводится по двум направлениям:
    1. Максимальная пропорция вскрытых выходов, которая может стать причиной вскрытия всех 8 транзакций за один день
    2. Средняя пропорция вскрытых выходов, при которой 8 транзакций будут вскрыты в период с 6 апреля по 25 августа.
    Для тестирования первого сценария мы можем запустить целенаправленный поиск, который позволит установить количество вскрытых транзакций в день при размере кольца, равном от 7 до 8. В результате мы получим 35,50% вскрытых выходов.

    Чтобы протестировать второй сценарий, мы можем запустить целенаправленный поиск и установить общее количество вскрытых за день транзакций, помножив количество дней (141 день) на 8. В результате получаем 15,56% вскрытых выходов.
    Следует помнить о том, что эти проценты не совсем точны. Если вместо 8 будет вскрыто 6 или 10 транзакций (например), то и проценты изменятся. Так что это - грубая оценка.

    Мы также можем сравнить среднее значение, полученное нами, и составившее 15,56%, с фактическим средним значением, равным 0,45299% (скопированные данные, полученные при помощи инструмента отрицательного отбора). Это позволяет предположить, что процент вскрытых транзакций был сильно смещён в сторону малого окна, а не равномерно распределён по всему длинному временному отрезку. Если мы возьмём все выходы, необходимые для вскрытия 8 транзакций за один день, то это составит примерно 0,25174% от выходов за период, составляющий 141 день. Это будет гораздо более близкое число, даже после исключения года RingCT выходов, созданных после 6 апреля.

    Мы можем зайти дальше и оценить реальное преимущество размера кольца, равного 7, в сравнении с размером кольца, равным 5. Для этого понадобится провести повторное тестирование при тех же сценариях. При первом сценарии размер кольца, равный 7, даёт на 55 меньше вскрытых транзакций (сокращение на 86%). При втором сценарии количество вскрытых транзакций сокращается на 330 (то есть на 97%). Реальное количество гораздо ближе к 55, чем к 330, по той же причине, которая была описана ранее.

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

    Ну, на этом мой пост закончен. Если у вас есть какие-либо вопросы или комментарии, пишите мне на адрес @JEhrenhofer.

    Источник: Estimating an Upper Bound for the Impact of Chain Splits on Monero

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
    #1 Mr. Pickles, 11 сен 2018
    Последнее редактирование: 11 сен 2018
  • О нас

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