Перевод Кластер критической децентрализации 36c3 - Подход Monero к масштабированию

Тема в разделе "Журналы о Monero", создана пользователем Mr. Pickles, 30 июл 2020.

  1. Mr. Pickles

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

    Регистрация:
    11 сен 2017
    Сообщения:
    783
    Симпатии:
    229

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

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

    Это краткий обзор моего сегодняшнего выступления. Мы рассмотрим проблему весовых значений блоков относительно размера блоков, рациональных майнеров и пользователей, комиссий и весовых значений блоков, вернёмся к рациональным майнерам, вернёмся к этому вопросу. Затем нами будет рассмотрен один из сценариев, касающихся того, что происходит, если размер вознаграждения за блок опускается до нуля, ситуация «слона в комнате», характерная для многих основных монет, и каковыми могут быть последствия как для Monero, так и для Bitcoin, а также подобных Bitcoin монет с малым весовым значением блока и рынка комиссий Сатоши.

    Пожалуй, начнём с темы весового значения блока относительно его размера в Monero. Понятие весового значения блока было введено в Monero одновременно с Bulletproofs, и основная причина состояла в том, что время верификации масштабируется логарифмически, прошу прощения, масштабируется линейно, то есть размер доказательства масштабируется как логарифм с основанием 2, и мы стремились сделать так, чтобы расчёт времени верификации производился надлежащим образом, так как это позволило бы избежать некоторых типов атак. Таким образом, для транзакций с 2 выходами мы определяем, что весовое значение транзакции равно размеру транзакции. В случае наличия более 2 выходов мы получаем 80% экономию, а уже затем пересчитываем весовое значение, после чего весовое значение становится равным размеру блока плюс эти вычеты. И идея состоит в том, чтобы расчет происходил правильно. Большинство людей путает эти понятия, и это не удивительно, но суть заключается именно в этом. Всё, о чём я буду говорить, будет сводиться к весовым значениям блоков, так как это связано со штрафными функциями и так далее, и начнём мы с этого.

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

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

    И если внимательно посмотреть на то, как работает масштабирование блоков и весовых значений в Monero, то можно понять, что именно это фундаментально отличает Monero от Bitcoin. Всё то, что вы знаете о комиссиях и размере блоков в Bitcoin, BitcoinCash или Litecoin, вы всё это можете забыть, поскольку размер комиссий и предел адаптивного размера блока Monero зависит от штрафа. И именно штраф вы соглашаетесь выплатить, если весовое значение добытого блока превышает среднее. Таким образом, если вы превышаете размер блока, вы платите штраф и теряете часть вознаграждения за блок, и это ключевой момент. И, конечно же, числа: MB является весовым значением блока транзакции, затем у нас имеется MS — краткосрочное среднее значение, которое является вашим средним значением, ML — долгосрочное среднее значение и MN, которое является минимумом двух средних значений, прошу прощения, MN — это минимум общего среднего значения ML, которое является долгосрочным средним значением.

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

    Таким образом, мы можем определить, дать некоторые определения: B можно рассматривать в качестве отношения MB и MN и как весовое значение блока, когда вы вычисляете блок с превышением размера. Так штраф может быть снижен до базового вознаграждения в B2 раз, всегда будет базовое вознаграждение, а B можно рассматривать в качестве процентного увеличения весового значения блока, и это будет штраф, который вы заплатите. Таким образом, если вы вычислили блок, превышающий нормальный размер, скажем, на 10%, ваш штраф составит 1% от вознаграждения за блок, независимо от начального размера блока, от среднего значения.

    Теперь рассмотрим, что происходит, когда мы добавляем транзакцию, которая приведёт к начислению штрафа. Существует целый набор формул — берётся начальная транзакция как формула, основанная на 2BBT, где BT является весовым значением блока транзакций, плюс BT2, а B указывает, какой штраф вы получаете. Эта формула определяет размер комиссии, которую получит майнер за включение транзакции.

    Так мы определяем размер комиссий. И, по сути, получается две комиссии. Средние значения, которые мы использовали для вычисления комиссий, являются долгосрочными и краткосрочными средними значениями. И в случае с MF значение составляет 300 тысяч байт. A — транзакция с двумя входами и двумя выходами. Вы используете эталонное значение три тысячи байт, это стандартный размер транзакции, плюс предел для безопасности. Таким образом, это определяется этой минимальной штрафной комиссией с размера блока, прошу прощения, весового значения блока, составляющего 300 тысяч байт, и стандартного размера транзакции. Так обычно вычисляется комиссия Monero. И ключевым моментом для понимания является то, что комиссия за байт пропорциональна отношению. Например, как это произошло в 2018, если вы снижаете размер транзакций в пять раз, то комиссии фактически снижаются в 25 раз. Именно поэтому мы наблюдали такое серьёзное снижение размера комиссий при введении Bulletproofs, поскольку так и произошло при падении размера комиссии на байт в пять раз, размер транзакции также упал в пять раз, и таким образом общий размер комиссий упал в 25 раз.

    Далее комиссии устанавливаются в зависимости от стандартной комиссии, и если кратко, вот, что вы получаете: вы получаете низкую комиссию, равную 0,002R. Следует помнить о том, что вычисление каждой комиссии служит основой, основой для вознаграждения за вычисление блока, и это очень важно понимать: основа — это всегда часть этих вычислений. И другое вычисление производится в случае среднего размера блока. Таким образом, если увеличить MF в десять раз, комиссии за байт снизятся в десять раз, размер транзакции останется тем же, размер блока увеличится в десять раз, а комиссии упадут в пять или десять раз.

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

    Теперь о последствиях этого изменения. В 2019 нами было введено долгосрочное среднее значение, которое, по сути, увеличивает спамер в 50 раз. Это среднее значение блока, равное 10, 50 тысячам, без штрафа. Это не позволяет проводить атаки путём раздувания, и в то же время сохраняется гибкость системы, как в рождественский сезон шопинга, если сравнивать с нашими основными конкурентами, Visa, цифры в 20 раз выше среднего показателя транзакций в такой день, как 23 декабря. Поэтому это необходимо учитывать, если вы собираетесь таким образом поупражняться с транзакциями. Если вы занимаетесь розничной торговлей, вам необходима возможность менять всё по необходимости, в зависимости от сезона, и я не знаю, есть ли какой-нибудь другой проект, который бы занимался решением этой проблемы. Мы занимаемся созданием системы, которая позволила бы вам адаптировать транзакции при розничной торговле.

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

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

    Ведь что происходит, когда оно опускается до нуля? То же происходит и с комиссиями. Всё очень просто. Майнеры могут сказать: «Ну, установим минимальный размер комиссии и реализуем протокол». Но это не сработает. Monero пытается избежать этого, и даже у нас предусмотрена последующая эмиссия. Именно поэтому последующая эмиссия критически важна для Monero. Без неё ничего не будет работать. И тут наилучшим примером может служить Bytecoin, который использует те же формулы, что и Monero. Ну, так было до того, как они начали использовать minerd. И проблема состоит в том, что им пришлось отказаться от этого и перейти к минимальному размеру блока, чтобы контролировать размер комиссий. И тут мы снова возвращаемся к проблеме Bitcoin. Вам приходится ограничить размер блока, чтобы комиссии компенсировали или чтобы, по крайней мере, попытаться компенсировать работу майнеров. И будущим сценарием для Bytecoin является картель майнеров и трагедия общих ресурсов.

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

    Теперь рассмотрим некоторые последствия. У Bitcoin ничего не вышло. Почему? Потому что им пришлось сохранить комиссии или даже увеличить их, ограничив размер блока, и это убило транзакции, валютные транзакции. И, чтобы добиться успеха, приходится делать штрафы более жёсткими. А у Monero, по крайней мере, есть шанс, так как в случае с Monero всё стремится к нулю. Таким образом, приходится использовать более строгий подход. И сообщество Bitcoin ограничивает весовое значение блока одним мегабайтом, и они действительно ограничены своим заданным весовым значением блока, что, на мой взгляд, является наиболее благоразумным подходом. Но это не способствует гибкости валютных транзакций.

    Мы реализуем форки. В сообществе Bitcoin говорят: «Да, давайте сделаем это с блоками», но снижают комиссии. BitcoinCash — блоки в тридцать два мегабайта, что кстати, если компенсировать согласно закону негативного влияния на пропускную способность, которая сегодня меньше, чем была, когда в 2010 году был введён размер блока, равный одному мегабайту. И у меня есть чувство дежавю, когда я смотрю на BitcoinCash. Они делают классные вещи, но где код, где формулы? Где можно посмотреть на всё это? Существует возможность атаки? Думаю, что существует — если у вас самые низкие на сегодняшний день комиссии, то на рождественские праздники у вас будет более низкий объём потока транзакций. Если вы хотите атаковать монету только на основании её комиссии, вы не сможете сыграть в Скруджа. И это теоретические атаки, которые не сработают сегодня. Очень хорошо, что это открывается сейчас. Но давайте подождём лет десять-двадцать и посмотрим на вещи серьёзно — если ничего не делать с этим, то валюту можно будет атаковать, Bitcoin можно будет атаковать, и я не знаю, возможно, к 200-летней годовщине со дня рождения Чарльза Диккенса это произойдёт. Опять же, пока у нас больше вопросов, чем ответов.

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

    Диего: Большое спасибо, ArticMine. У нас не осталось времени на вопросы. Он истратил всё время, но вы можете задать их ему вне сцены, если вам есть что обсудить. А мы готовимся к следующему выступлению, которое начнётся буквально через пять минут. Мы поговорим о Nym. Это будет Гарри Хелпин, Хеплин, тут одно из сочетаний «лп», но я не уверен на все 100%, какое именно. Так что мы скоро продолжим, сейчас готовятся слайды. А пока что вы можете ещё пообщаться с ArticMine на тему адаптивных весовых значений блоков Monero. Там сзади расположились ребята из FossAsia. Если хотите, можете пойти и поговорить с ними о том, что они делают на семинаре. В вашем распоряжении есть всё, что имеется на C3, и я надеюсь, что вы хорошо проводите время.

    Источник: Critical Decentralisation Cluster 36c3 - Monero’s Adaptive Blockweight Approach to Scaling

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

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