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

Тема в разделе "Журналы о Monero", создана пользователем Mr. Pickles, 27 май 2021.

  1. Mr. Pickles

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

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

    Аннтотация

    Мне бы хотелось поделиться результатами моей работы по сокращению потребляемой энергии при использовании алгоритмов доказательства работы без ущерба для безопасности. Предлагаемый мной новый тип алгоритма называется PoLW, и на его создание меня вдохновили Itay, Александр и Ittay. В случае с практической системой, в которой майнинг будет приносить прибыль, PoLW даже способен повысить уровень безопасности.

    Стенограмма выступления

    Диего:
    Если вас интересует доказательство работы, то вам определённо стоит задержаться на следующее выступление. Он уже готов, стрим работает, всё хорошо, так? Мы можем переключаться с одного на другое? Тогда мы продолжаем, и я передаю микрофон тебе. Начнёшь на пару минут раньше. А все, кто хочет поговорить со мной, найдут меня вон там в глубине, чтобы мы не мешали выступлению, если у вас ещё есть вопросы, конечно. Большое спасибо.

    Ченг: Спасибо. Итак, я представлю вашему вниманию результаты своих недавних исследований, связанных с алгоритмом доказательства работы. Как известно, сегодня этот алгоритм много критикуют за то, что он является причиной большого энергопотребления во всём мире. Здесь приводятся некоторые оценки, которые, возможно, вы уже видели раньше. Расход энергии на майнинг Bitcoin составляет 0,3 процента от всей электроэнергии, производимой в мире ежегодно. Я не берусь утверждать, что это плохо, пожалуй, безопасность тоже имеет собственную цену, может, это и есть та самая цена, я не знаю. Но суть моей работы состоит в том, чтобы снизить энергопотребление и выяснить, как покрыть затраты.

    И первый вопрос: действительно ли нам нужно так много энергии? Вот некоторые показатели. Первое: хешрейт Bitcoin в этом году вырос вдвое. Что интересно, это означает, что если безопасность сети обеспечивалась в начале года, если сеть Bitcoin была безопасна, то теперь тратится половина этой энергии, если говорить только о безопасности блокчейна. Второе: хешрейт Bitcoin Cash составляет всего 2,7 процента от хешрейта Bitcoin. Таким образом, получается, что в случае с BCH вполне возможно проведение атаки 51%. Но пока этого не произошло, и только несколько майнеров пытались обратить изменённые транзакции. Но ситуация с BCH представляется чуть более сложной. Я просто излагаю факты: это могут быть проблемы с протоколом, это может быть какой-либо другой фактор. Известно, что Bitmain является самым крупным майнером BCH, например. Помимо этого, существует компромисс между потребляемой энергией и временем подтверждения. Если мы действительно хотим сократить количество потребляемой энергии и можем смириться с тем, что время подтверждения станет чуть больше, то это также будет способом снизить энергопотребление.

    И моё выступление будет посвящено тому, как снизить потребление энергии при использовании алгоритма доказательства работы, просто улучшив его. Мы не будем оценивать, сколько энергии действительно требуется для того, чтобы обеспечить безопасность сети Bitcoin. Просто примем как данность наличие сети Bitcoin, сети Ethereum и попробуем улучшить алгоритм так, чтобы снизить объём потребляемой энергии.

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

    Итак, первым идёт алгоритм хеширования. Я хочу выяснить, имеет ли значение алгоритм хеширования с точки зрения потребления энергии при использовании доказательства работы. Рассмотрим для начала пример: Bitcoin и Ethereum. Я взял две точки с веб-сайта, у меня не было времени на график за весь год, и я выбрал несколько точек, и результат довольно близок к общему. По сути, эти результаты относятся к майнерам, к каждому доллару, заработанному майнерами в качестве вознаграждения за блок. Расход энергии в случае Ethereum составляет 80% от расхода энергии Bitcoin. Таким образом, глядя на этот график, мы можем сказать только то, что Ethereum на данный момент является чуть более энергоэффективным, чем Bitcoin. Но на самом деле мы не можем утверждать этого со всей определённостью — алгоритм хеширования является ключевым пунктом, поскольку рыночная капитализация Ethereum, не рыночная капитализация, вознаграждение за вычисление блока Ethereum гораздо меньше, чем у Bitcoin. А это значит, что майнеры будут тратить больше энергии на майнинг Bitcoin из-за дохода, который по-прежнему будет более высоким.

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

    Итак, первая часть — это алгоритм хеширования, а вторая часть — сам чистый алгоритм, одноранговый алгоритм. И какова фактическая роль PoWE в блокчейне? По сути, алгоритм выполняет в данном случае две функции. Во-первых, он обеспечивает возможность децентрализованного случайного выбора. В данном случае это означает наличие не требующей каких-либо разрешений сети, к которой совершенно свободно может подсоединиться любой узел, но алгоритм PoW будет по-прежнему выбирать лидера, случайного лидера. Поэтому я считаю, что PoW по-прежнему является самым устойчивым способом обеспечения децентрализованного случайного выбора. В случае с алгоритмом PoS вы так же можете делать это, но процесс будет не таким же, то есть в течение короткого промежутка времени будет вычисляться большое количество блоков, что определённо нехорошо. Существует и другой тип алгоритма PoS, предполагающий необходимость в сборе двух, трёх или больше подписей в сети. Такой подход может привести к катастрофе, поскольку в сети может никогда не набраться достаточное количество подписей для отдельно взятого блока. А алгоритм доказательства работы обеспечивает достаточную устойчивость всего процесса.

    Во-вторых, алгоритм PoW требует больших затрат на майнинг каждого нового блока, что некоторым образом обеспечивает безопасность блокчейна. И нам не требуется большого количества энергии для обеспечения децентрализованного случайного выбора. Это означает, что когда хешрейт достигнет достаточно высокого уровня, время блока будет очень средним. То есть нам не требуется большого расхода энергии. Тем не менее затраты на майнинг Bitcoin и Ethereum тесно связаны с потреблением энергии.

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

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

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

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

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

    И я представляю мою работу под названием «доказательства наименьшей работы», Proof of Less Work. Предположим, coinbase-вознаграждение в блокчейне составляет одну монету, всего одну монету. Майнер может забрать только половину монеты, сжигая 1 – α монеты, добавляя дополнительный вес производимому им значению хеша. Теоретически идея состоит в том, чтобы потратить почти одну монету, чтобы получить вознаграждение за блок, которое также будет равно одной монете, и практически соответствующее количество энергии будет потрачено в реальном мире. В то же самое время я сжигаю 1 – a монеты, 1 – α в самой сети. Таким образом, для меня затраты остаются теми же, но значение хеша становится взвешенным. Всё получается очень-очень похожим на то, что происходит в физическом мире. Разницу я объясню позднее. Здесь мы вводим взвешенную функцию f, применяемую к 1 – a. По сути, когда вы сжигаете 1 – α монеты, вы получаете f применительно к взвешенному значению 1 – α. И на основе этой весовой формулы мы легко можем вычислить максимальную или оптимальную стратегию выбора значения α майнером.

    Безусловно, весовая формула предусматривает множество опций. Здесь показаны две типовые или наиболее часто используемые функции. Первая называется линейным доказательством наименьшей работы (Linear Proof of Less Work). В этом случае оптимальная стратегия, а также сбалансированная стратегия заключается в том, чтобы присвоить α значение 1 плюс γ, поделённые на 2. Это означает, что сначала необходимо сжечь ½ или 0,5 монеты и заниматься майнингом в реальном мире, чтобы получить обратно одну монету, если в сеть будет добавлен новый блок. Вторая функция называется экспонентным доказательством наименьшей работы (Exponential Proof of Less Work). По сути, вес является экспоненциальной функцией. В этом случае сбалансированная стратегия для майнеров будет заключаться в том, чтобы забирать только 1, поделённую на γ, монету, а остаток монет должен сжигаться. Использование этих двух алгоритмов позволяет сократить внешние затраты приблизительно до ½ или до 0. Но на практике всё обстоит несколько иначе, прежде всего, из-за доказательства работы, поскольку разные майнеры имеют разный расход энергии, а также разные люди по-разному рассчитывают свой долгосрочный доход. Многие добывают монету, рассчитывая на долгосрочный доход, то есть хранят её, чтобы продать позднее. Ситуации бывают разные, и всё может пойти иначе. И, когда я говорю об этом, я хочу сказать, что доказательство работы служит не только для обеспечения безопасности. По сути, это также и способ своего рода распределения монет. В данном случае он используется для того, чтобы сбалансировать внешние и внутренние затраты, чтобы мотивировать людей, чтобы они присоединялись к сети. В противном случае, если выгода от майнинга, если внешние затраты будут очень низкими и будут стремиться к нулю, то всё очень быстро сведётся к состоянию равновесия, всё станет очень удобным, поскольку затраты на майнинг станут низкими, все захотят этим заниматься, выгода снизится до нуля, и хешрейт будет низким с самого начала. И это значит, что со временем (кто?) не вырастет. Уровень безопасности в этом случае не снизится, но и не вырастет в долгосрочной перспективе. Это станет проблемой, и на практике следует навсегда установить определённую нижнюю границу.

    Здесь показан рост расхода энергии при увеличении вознаграждения. В случае с использованием обычного алгоритма PoW расходы на электроэнергию будут линейно пропорциональны размеру вознаграждения. А в случае с линейным PoLW это будет уже половина, а при расширении до экспонентного PoLW отношение к вознаграждению будет уже линейным. Таким образом, по сути, мы можем резко снизить количество затрат на энергию. Возьмём, к примеру, Bitcoin. На данный момент цена Bitcoin… на данном этапе Bitcoin тратит 0,3 процента от всей электроэнергии, вырабатываемой в мире. Если допустить, что размер вознаграждения не будет уменьшаться вдвое, а цена Bitcoin вырастет в 10 раз, то количество энергии, расходуемой Bitcoin, составит 3 процента от всей электроэнергии, вырабатываемой в мире. И в этом не будет ничего хорошего. Также это немного затруднит майнинг, поскольку доходность увеличится, а правительства и обычные люди станут говорить о том, что на это расходуется слишком много энергии — определённо, это не жизнеспособный вариант. Но в случае с PoLW мы можем всё смягчить, поскольку алгоритм является очень адаптивным. Вы можете задать нижнюю границу. Это действительно можно сделать, но не на основе фактических целевых показателей хеширования при майнинге, а в привязке к цене монеты в реальном мире. А затем она может корректироваться в соответствии с изменением затрат в реальном мире.

    Теперь рассмотрим часть, касающуюся безопасности. Поскольку вместо «чистого» алгоритма доказательства работы используется PoLW, входной барьер для майнеров будет снижен, поскольку теперь не потребуется так много тратить на оборудование, как это было в случае с обычным доказательством работы. В зависимости от настроек сеть может стать более децентрализованной. В результате к ней присоединится больше людей, которые захотят получить вознаграждение. Если сначала мы рассмотрим вариант со злоумышленником, стремящимся получить доход, из-за состояния равновесия выгода от майнинга всегда будет близка к нулю, поэтому уровень безопасности будет таким же, как при использовании обычного доказательства работы, PoLW будет всегда работать так же, как PoW. Но на практике из-за зависимости от временных параметров майнинг всегда будет приносить прибыль. Но, как я уже говорил, доказательство наименьшей работы снижает барьер для майнеров, а это значит, что конкуренция усилится. Поэтому доход будет несколько ниже, чем до этого. Например, допустим, сейчас доход Bitcoin составляет одну монету за каждый блок, а теперь расход энергии манерами понизится на 80 процентов, а размер вознаграждения по-прежнему будет составлять одну монету, и им придётся сжечь немного монет, чтобы размер вознаграждения составлял ту же одну монету. В этом случае у майнеров остаётся некоторое количество неиспользованной мощности хеширования. А майнинг по-прежнему приносит выгоду. Следовательно, они будут использовать оставшуюся мощность для получения ещё большего вознаграждения. На самом деле доходность при этом будет падать, а уровень безопасности расти. А теперь перейдём ко второму типу злоумышленника, который пытается навредить сети. Предварительные затраты на вычисление блока при использовании PoLW также будут составлять одну монету, поскольку в реальном мире необходимо потратить половину монеты, и майнер сжигает другую часть монеты. То есть обеспечивается тот же уровень безопасности, что и в случае с PoW. Но на практике имеются некоторые тонкости. Если речь идёт об одном отдельно взятом блоке, PoLW повышает изначальные затраты, поскольку доход становится меньше. Это означает, что приходится тратить больше. Но всё ещё более сложно, так как, предположим, при проведении атаки 51%, если будет атакована одна ветвь, если она будет изменена, затраты на майнинг будут иными, то расходы на электроэнергию в этой ветви исчезнут навсегда. Но поскольку мы используем меньше энергии там, если потребление в одной ветви прекращается, то затраты становятся меньше. Но в данном случае возможен компромисс. Здесь наблюдается некоторое противоречие, поскольку одни говорят, что если одна ветвь или один блок выпадает, то майнерам не следует тратить на них мощность хеширования. А другие считают, что следует, чтобы обеспечивалась безопасность сети. И если использовать PoLW, всегда можно достичь компромисса — возможен выбор обоих вариантов в зависимости от ваших предпочтений.

    Теперь обобщим. Нами предлагается усовершенствование алгоритма PoW, которое позволит снизить расход энергии. Это очень простое решение, которое будет работать со всеми DAA. Это означает, что мы можем использовать его как в случае с Bitcoin, так и в случае с Ethereum. И DAA очень важны с точки зрения безопасности сети, обеспечиваемой чистым PoW. Например, теоретически «эгоистичный» майнинг Bitcoin должен быть очень прибыльным. Я не говорю, что это так на практике. Но в случае с другими типами DAA, такими как Ethereum, он будет уже менее прибыльным. И в пользу нашего решения говорит то, что достаточно добавить всего один параметр в зависимости от сложности хеша. Поэтому всё делается очень и очень просто, а также автоматически. Решение также является адаптивным с точки зрения изменения цены, а рыночное давление снижается за счёт того, что размер вознаграждения также более низок. Вы получаете только половину монеты, покупая Bitcoin, вы сжигаете, вы тратите энергию, а затем получаете одну или 1,5 монеты обратно, а затем вам необходимо продать её на рынке, чтобы продолжать. Но этот алгоритм снижает давление рынка. Мне кажется, он может сделать систему более устойчивой, особенно если затраты, если цена будет снижаться. Самое важное — снизить расход электроэнергии без ущерба для безопасности. И здесь есть, что обсудить. Как уже говорилось, можно сначала сжечь 1 – a монеты, а затем получить одну монету. Но на самом деле можно найти такое решение, при котором майнеры будут получать только половину монеты, а следовательно, им не придётся сжигать монету заранее. Но при таком изменении изначальные затраты будут другими. И в этом заключается компромисс. Если вы считаете, что половины монеты достаточно для обеспечения безопасности сети, сделайте это. Но это опция, которая зависит от компромисса и готовности к нему со стороны разработчиков.

    Спасибо. Это была моя работа. Я готов ответить на ваши вопросы. Спасибо.

    ---

    Источник: Critical Decentralisation Cluster 36c3 - Proof of Less Work (Cheng Wang)

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

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