Алгоритм майнинга EtHash — BitcoinWiki
Понравилась статья? Поделись:
Ethash — это алгоритм хеширования, изначально используемый для функции проверки работоспособности в основанных на Ethereum криптовалютах. Он использует альтернативные версии SHA3-256 и SHA3-512, часто называемые Keccak-256 и Keccak-512.
Ethash — это алгоритм интеллектуального анализа, реализованный сетью Ethereum и криптовалютами на основе Ethereum. Ethash является преемником предыдущего алгоритма Ethereum, называемого Dagger-Hashimoto, и, по сути, является его обновлением. Тем не менее, текущие этапы разработки обоих алгоритмов сделали их слишком отличными от того, чтобы считаться одним и тем же алгоритмом. Ethash использует алгоритмы хеширования «Keccak-256» и «Keccak-512», что приводит к некоторой путанице из-за одновременной разработки криптографических стандартов SHA-3 (Secure Hash Algorithm 3) наряду с разработкой Ethash.
Стандарт SHA-3 является частью более обширного семейства криптографических примитивов под названием Keccak, которое также называют синонимом SHA-3.
Ethash был разработан с упором на защиту от майнеров ASIC (Application Specific Integrated Circuits), но выдающаяся популярность Ethereum — ведущего криптографа на основе Ethash — привела к росту интереса разработчиков ASIC к производству Ethash-совместимых майнеров. В конце концов, в апреле 2018 года Bitmain объявил о первых майнерах ASIC для Ethash. Тем не менее, проект сообщества Ethereum решительно выступил против перспективы доминирования ASIC в сети, что привело к дискуссиям о «брикетировании» устройств. В терминах оборудования для майнинга «кирпич» означает технологическое обновление сети, которое делает аппаратное обеспечение бесполезным или даже сломанным, если оно подключено к сети. Такие предложения заставили майнеров ASIC скрыть свое присутствие и снизить мощность хэширования своих устройств. Планы Ethereum по переходу с технологии Proof с Proof-Work на гибрид POW/POS (Proof-of-Stake) делают разработку ASIC для Ethash очень рискованной для производителей.
Первоначальная версия Ethash была основана на алгоритме Dagger Hashimoto — алгоритме, который был разработан путем объединения алгоритма Hashimoto Thaddeus Dryja и алгоритма Dagger — Виталика Бутерина. Он был разработан с учетом трех основных условий: устойчивость к ASIC, легкость проверки клиента и полное хранение в цепочке.
Dagger Hashimoto реализует подход Hashimoto в доказательстве емкости ввода/вывода, но не использует блокчейн в качестве набора данных, генерируя пользовательский набор данных объемом 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах совместно используемой памяти была устранена за счет создания набора данных, используемого для запроса полупостоянного блока и его обновления через некоторые заранее определенные интервалы времени. Эта корректировка уменьшила усилия, необходимые для создания набора данных, практически ничтожными и устранила предыдущую проблему оптимизации ASIC.
Ethash mining может выполняться как с CPU, так и с GPU. Криптовалюты на основе Ethash отличаются по своим требованиям к майнингу, поэтому в этой статье Ethereum будет использоваться в качестве примера в качестве наиболее популярной реализации Ethash, а другие криптографии часто используют то же программное обеспечение для майнинга, что и он. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, и как минимум одна учетная запись Ethereum. Другим криптовалютам Ethash необходим кошелек или учетная запись в соответствующих сетях.
Майнинг процессоров криптографии на основе Ethash больше не приносит прибыли из-за почти в два раза более эффективных возможностей майнинга майнеров на GPU. Тем не менее, майнинг ЦП может использоваться для первых попыток майнинга или с целью создания некоторого количества монет для питания интеллектуальных контрактов или для попыток транзакций криптовалюты в сети. Процессинг майнинга процессора Ethereum выполняется с помощью ETH-клиента с именем geth.
GPU майнинг — лучший вариант для Ethash. Однако важно помнить, что Ethash занимает мало памяти и требует не менее 1-2 ГБ ОЗУ на каждый используемый графический процессор. Графические процессоры AMD обычно показывают лучшие результаты, чем продукты NVidia той же категории, ASIC и FPGA (полевые программируемые массивы шлюзов), которые в настоящее время способны к интеллектуальному анализу Ethash, неэффективны по сравнению с графическими процессорами и не приветствуются как сообществом, так и разработчиками. Чтобы начать майнинг на GPU, необходимо скачать Ethminer — Ethash miner, разработанный командой Ethereum и подходящий для работы с каждым криптографическим средством на основе Ethash, которое специально не блокирует эту возможность. Ethminer доступен в формах Eth (его CLI), AlethZero (его GUI) и EthMiner (автономный майнер).
Майнинг пула также доступен для большинства криптовалют Ethash. Пулы часто требуют, чтобы майнеры платили некоторые сборы (в основном около 1-2% дохода), но это все еще остается лучшим вариантом для майнинга популярных криптовалют на основе Ethash с посредственным оборудованием.
Самым известным блокчейном на основе Ethash, очевидно, является сеть Ethereum. Ethash был разработан фондом Ethereum специально для построения своей сети на его основе. Первый блокчейн был разветвлен после того, как The Dao был взломан из-за его умной уязвимости, связанной с контрактами, и разделился на две разные блокчейны со своими криптовалютами — Ethereum (ETH) и Ethereum Classic (ETC). Ethereum classic, первый блокчейн на основе Ethash, больше не находится в разработке первоначальной команды Ethereum и поддерживается компанией-разработчиком Ethereum Classic.
Ethereum — ведущая платформа для создания токенов и dapps с их криптовалютами. Augur, Binance Coin, Bytom, Status и многие другие криптовалютные проекты основаны на техническом стандарте Ethereum ERC 20 и де-факто используют Ethash в качестве проверочного алгоритма.
Согласно CoinGuides.org, независимые криптовалюты с их блокчейном на основе Ethash с минимальным шифрованием включают в себя следующие проекты, ранжированные по популярности:
- Metaverse (ETP)
- Expanse (EXP)
- Musicoin (MUSIC)
- Ellaism (ELLA)
- Elementrem (ELE)
- DaxxCoin (DAXX)
См. также на BitcoinWiki[править]
Алгоритм майнинга Эфириума (Ethereum) — описание работы Ethash, особенности, обзор, история
Криптовалюта
24.06.2021
Комментариев: 0
Просмотров: 1948
Читать: 13 мин
ETH — популярная монета среди майнеров. Многие геймеры переквалифицировались в майнеров, и начали добывать на своих игровых видеокартах Ethereum. Алгоритм майнинга Эфира называется Ethash. Главной его особенностью считаются повышенные требования к ОЗУ графических процессоров, а также стойкость к добыче криптовалюты ASIC-майнерами. Такие отличия обусловлены спецификой архитектуры алгоритма, а также принципами ее построения.
Ethash — это алгоритм интеллектуального анализа. Он является преемником Dagger-Hashimoto. Но текущие этапы разработки обоих алгоритмов сделали их слишком отличными от того, чтобы считаться одинаковыми. Ethash использует алгоритмы хеширования «Keccak-256» и «Keccak-512», что приводит к некоторой путанице из-за одновременной разработки криптографических стандартов SHA-3 (Secure Hash Algorithm 3) наряду с разработкой Ethash.
Стандарт SHA-3 является частью более обширного семейства криптографических примитивов Keccak, которое также называют синонимом SHA-3. Иногда хеш-функции Ethash называют «sha3_256» и «sha3_512», но версия Ethereum для Keccak не является стандартным хеш-алгоритмом SHA-3.
Ethash (алгоритм Ethereum) был разработан с упором на защиту от майнеров ASIC (Application Specific Integrated Circuits), но выдающаяся популярность Ethereum привела к росту интереса разработчиков ASIC к производству майнеров. В апреле 2018 года Bitmain объявил о первых майнерах ASIC для Ethash. Проект сообщества Ethereum решительно выступил против перспективы доминирования ASIC в сети, что привело к дискуссиям о «брикетировании» устройств. Такие предложения заставили майнеров на ASIC скрывать свое присутствие, снижать мощности хэширования своих устройств. Планы Ethereum по переходу с технологии Proof с Proof-Work на POS (Proof-of-Stake) делают разработку ASIC очень рискованной для производителей.
Эфириум не имеет лимитов эмиссии. Майнинг осуществляется с помощью протокола «доказательства работы» Proof-of-work (PoW). Новые блоки появляются каждые 14-15 секунд. Вознаграждение за блок получает тот участник майнинга, который первым найдет хэш, соответствующий ответу на задачу. Далее он передает блок по сети, чтобы каждый узел добавил его в копию блокчейна. Ethash использует альтернативные версии SHA3-256 и SHA3-512. Из-за них майнинг проходит много быстрее, чем у биткоина.
Алгоритм Эфириума (Ethash) выполняет следующие функции:
- Защита криптосети от хакеров. Ethash — наиболее надежен для майнинга. Если злоумышленникам удастся взломать узел, это не нарушит работу блокчейна.
- Проверка отправителя транзакции. Личный ключ пользователя виртуальной сети шифруется и включается в заголовок операции. Наличие подписи гарантирует, что отправитель планирует передать определенный объем средств.
Первоначальная версия Ethash была основана на Dagger Hashimoto — алгоритме, который был разработан путем объединения Hashimoto Thaddeus Dryja и Dagger — Виталика Бутерина. Он был разработан с учетом трех основных условий: устойчивость к ASIC, легкость проверки клиента, полное хранение данных в цепочке.
Dagger Hashimoto реализует подход Hashimoto в доказательстве емкости ввода/вывода, но не использует блокчейн в качестве набора данных, генерируя пользовательский набор данных объемом 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах совместно используемой памяти была устранена за счет создания набора данных, используемых для запроса полупостоянного блока и его обновления через некоторые заранее определенные интервалы времени.
Принцип работы алгоритма EthereumВ основе Ethash лежит граф, состоящий из последовательных узлов. Граф можно представить в виде дерева с большим числом ответвлений. Эта особенность заметно усложняет создание ASIC-устройств для работы с ним.
В начале процесса майнинга на память видеокарт загружается специальный DAG файл. Размер этого файла постоянно увеличивается. Чем больше существует криптовалюта, тем размер большое. Поэтому необходимо помнить, что чем объемнее DAG файл, тем более мощная видеокарта нужна для добычи этой криптовалюты.
Размер DAG-файла увеличивается каждый раз, когда создаются новые 30000 блоков. На данный момент размер DAG файла для Ethereum около 4.18 Гб. Это означает, что видеокарты на 3 — 4 Гб уже не могут заниматься майнингом этой монеты.
Процесс хеширования состоит из 6 этапов:
- На входе алгоритму подается препроцессированый заголовок, полученный из последнего блока и «nonce». «Nonce» число, выбранное случайным или псевдослучайным образом. Это подается на SHA-3 подобную функцию, которая создает 128 байтный микс.
- Далее этот микс используется для того, чтобы определить какую 128-байтную страницу из DAG нужно извлечь.
- Полученная страница сочетается с миксом с помощью специальной функции смешивания
- 2 и 3 шаг повторяется 64 раза.
- Полученный в итоге микс обрабатывается для получения более короткого 32-байтного дайджест микса.
- В конце дайджест микс сравнивается с целевым порогом. Если дайджест микс меньше или равен порогу, то «nonce» считается успешным и транслируется в сеть Ethereum.
Если же дайджест микс больше порога, то выбирается новый «nonce» путем рандомного выбора или прибавлением единицы к старому «nonce». Потом алгоритм перезапускается с новым значением «nonce».
Ethash mining может выполняться как с CPU, так и с GPU. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, а также одна учетная запись Ethereum. Другим криптовалютам Ethash необходим кошелек или учетная запись в соответствующих сетях. Майнинг на процессоре монет на основе Ethash больше нельзя считать прибыльным из-за почти в два раза более эффективной добычи на GPU.
GPU майнинг — лучший вариант для монет на Ethash и, в частности, Ethereum. Алгоритм, какой бы выгодный и перспективный он не был, все же требователен к оборудованию. Графические процессоры AMD обычно показывают лучшие результаты, чем продукты NVidia той же категории. Чтобы начать майнинг на GPU, необходимо скачать программу для майнинга и присоединиться к пулу. Пулы часто требуют, чтобы майнеры платили комиссионные сборы (в основном около 1-2% дохода), но майнить в соло не слишком выгодно, поэтому затраты вполне оправданы.
В настоящее время Ethash используется во многих криптовалютах. Но самым популярными из них, помимо Эфира, являются:
- Ethereum Classic. Эта криптовалюта появилась в результате несогласия некоторых пользователей с хард-форком оригинального Ethereum. Он произошел из-за того, что один хакер нашел уязвимость и воспользовался ею, чтобы украсть около 50 млн $. Разработчики выпустили обновление, убирающее эту уязвимость, а также позволившее вернуть украденные деньги владельцам. Часть людей посчитало, что злоумышленник не нарушал никаких правил. А так как платформа является децентрализованной, то никто не может вносить в нее изменения.
Поэтому они высказались против обновления.
- QuarkChain (QKC) пытается решить фундаментальные проблемы для всей отрасли блокчейнов — масштабируемость, безопасность и децентрализацию. Использовал ICO.
- IDEX — это внутренний токен одноименной полу-децентрализованной криптовалютной биржи.
- Ellaism (ELLA). Основная цель — создать платформу смарт контрактов, которая будет честной и заслуживающей доверия.
- Atheios разрабатывается для изучения новых способов интеграции блокчейна в видеоигры, а также другие интерактивные платформы.
- Ethersocial — это форк Эфира. Основное внимание проекта уделяется оптимизированной разработке системы вознаграждений для онлайн-форумов и игр.
- Dogethereum — это децентрализованная цифровая валюта, основанная на Dogecoin и работающая на алгоритме Ethash. Монета имеет мгновенные транзакции и смарт контракты.
- Цель Bitcoiin2Gen — создание улучшенной и более совершенной версии оригинального Биткойна.
- EtherInc (ETI). Форк Ethereum. Имеет альтернативный протокол для работы децентрализованных организаций и создания децентрализованных приложений.
- MOAC — это революционная платформа со смарт контрактом Multi-Blockchain и сетью сервисов P2P для эффективного построения и масштабирования децентрализованных приложений.
- Musicoin предназначен для поддержки, создания, распространения и приобретения музыки.
- Yocoin (YOC). Децентрализованная цифровая валюта Peer-to-Peer, которая позволяет Вам легко отправлять деньги в интернете. Концепция YoCoin родилась из успеха новаторской криптовалюты Bitcoin.
- Pegascoin (PGC). Проект имеет биржу и DOB, благодаря которому можно получать пассивный доход от владения монетой.
- EtherGem (EGEM).
Монета на блокчейне Ethereum для улучшения сети.
- DubaiCoin (DBIX). Цель — предоставить платформу, позволяющую пользователям (в основном в бизнесе) создавать dApps и запускать смарт-контракты на платформе.
- Ether1 (ETHO). Оптимизированная, полностью децентрализованная платформу для разработки и размещения контента.
- Metaverse (ETP). Оцифровывает активы: редкие товары, интеллектуальную собственность и права на прибыль от финансовых инструментов, чтобы повысить эффективность рынка.
- Expanse (EXP). Открытая блокчейн-платформа, которая позволяет любому создавать и использовать децентрализованные приложения, работающие на технологии блокчейн.
- Nilu. Блокчейн платформа для децентрализованных приложений, криптовалют и смарт-контрактов.
- Pirl. Проект, основанный на сообществе, который первый ввел технологию мастернод на алгоритме Ethash в экосистему blockchain.
- Akroma (AKA). EVM платформа для разработки приложений, со стабильной и самофинансирующейся моделью управления.
Мы рассмотрели особенности криптовалюты ETH, какой алгоритм используется в сети и особенности майнинга.
Источники:
как он работает для Ethereum
По мере того, как интерес к криптовалютам набирает обороты, увеличивается и их добыча.
Это создает существенный экономический стимул не только для производства большего количества оборудования для майнинга, но и для разработки более быстрых и более эффективных устройств.
Мы увидели это с Биткоином: майнинг перешел с процессоров, на видеокарты, затем на FPGA, а теперь и на ASIC.
Сегодня майнинг Ethereum на видеокартах является нормой, и пока еще майнеры не сделали сильного скачка к запуску алгоритма майнинга Ethash, на специализированных аппаратных решениях (например, FPGA и ASIC). Асики в сети есть, но они не дают такого большого преимущества как на Биткойне.
Множество статей и форумов объясняют это тем, что разработка асиков для Ethash — это проблема с памятью).
Здесь мы расскажем о том, откуда берется жесткая привязка к памяти у Ethereum и как может выглядеть следующее поколение пользовательских майнинг-устройств для добычи ETH.
В этой статье мы предполагаем, что читатели имеют общее представление о стандартных компьютерных технологиях и блокчейне, но не должны быть экспертами по программированию или майнингу.
Для более технического, ориентированного на программиста объяснения алгоритма майнинга Ethereum, называемого Ethash, пожалуйста, обратитесь к странице Ethash в GitHub репозитории Ethereum.
Быстрое объяснение сути Proof-of-Work
При майнинге с проверкой работы (Proof-of-Work) майнеры ищут решение (называемого одноразовым номером – «nonce»), которое при хешировании выдает выходное значение, которое меньше предварительно заданного целевого порога.
Слишком сложно? Читайте простое и профессиональное объяснение сути майнинга.
Из-за криптографического характера хэш-функции каждой валюты нет никакого способа для обратного инжиниринга или обратного вычисления одноразового номера («nonce»), который удовлетворяет целевому пороговому пределу.
Вместо этого майнеры должны «угадывать и проверять» хэши как можно быстрее и надеяться, что они — первые майнеры во всей сети криптовалюты, которые найдут действительный одноразовый номер. Тем самым они найдут новый блок.
Как работает алгоритм Ethash
DAG файл
Алгоритм Ethash опирается на псевдослучайный набор данных, инициализированный текущей длиной цепочки блоков.
Это и называется DAG – файлом и восстанавливается каждые 30 000 блоков (или каждые ~ 5 дней). По состоянию на март 2020 года размер DAG файла Ethereum составляет ~ 3.5 ГБ, и он будет продолжать увеличиваться в размере по мере роста блокчейна.
Особенности создания DAG не так актуальны для этой статьи, но вы можете прочитать больше о генерации DAG тут (англ. ).
Ход выполнения алгоритма хеширования Ethash можно обобщить следующим образом:
Принцип работы алгоритма хеширования Ethereum
- Preprocessed Header — препроцессированный заголовок (полученный из последнего блока) и Current Nonce (текущее однократно используемое число), в сочетании с использованием SHA-3-подобного алгоритма, чтобы создать наши первоначальные 128 байты микса, называются здесь Mix-0.
- Mix используется для вычисления того, какую 128-байтовую страницу из группы DAG нужно извлечь, представленную блоком «Get DAG Page».
- Mix сочетается с полученной страницей DAG. Это делается с помощью функции смешивания «Ethereum-specific», для генерации следующего микса, называемого здесь Mix 1.
- Шаги 2 и 3 повторяются 64 раза, в результате получается Микс 64.
- Микс 64 подвергается постобработке с получением более короткого 32-байтового Mix Digest (дайджеста микса).
- Mix Digest сравнивается с предопределенным 32-байтовым Target Threshold (целевым порогом). Если Mix Digest меньше или равен Target Threshold, то текущий одноразовый номер (Current Nonce) считается успешным и будет транслироваться в сеть Ethereum. В противном случае текущий одноразовый номер считается недействительным, и алгоритм перезапускается с другим одноразовым номером (либо путем увеличения текущего одноразового номера, либо путем выбора нового случайным образом).
Почему Ethash привязан к памяти?
Каждая операция смешивания требует 128-байтового чтения из DAG (см. Рисунок 1, шаг 2).
Для хеширования одного одноразового номера требуется 64 микса, в результате чего (128 байт х 64) = 8 КБ чтения памяти. Чтение с произвольным доступом (каждая 128-байтовая страница выбирается псевдослучайно на основе функции смешивания), поэтому помещение небольшого фрагмента DAG в кэш L1 или L2 не очень поможет, так как следующая выборка DAG с большой вероятностью приведет к отсутствию кэша.
Поскольку извлечение страниц DAG из памяти намного медленнее, чем вычисление смешивания, мы почти не увидим улучшения производительности от ускорения вычисления смешивания.
Лучший способ ускорить алгоритм хэширования Ethash — ускорить выборку 128-байтовой страницы DAG из памяти.
Таким образом, мы считаем алгоритм Ethash жестко привязанным к памяти или связанным с памятью, поскольку пропускная способность памяти системы ограничивает нашу производительность.
Достижение предела пропускной способности памяти в реальном оборудовании
В качестве примера того, как ограничение пропускной способности памяти влияет на реальное оборудование, давайте подробнее рассмотрим производительность майнинга часто используемой видеокарты: RX 590.
Если хеширование Ethash действительно требует большой памяти, мы ожидаем, что фактическая скорость майнинга для этого оборудования будет очень близка к максимальной теоретической скорости хеширования, при условии, что выборка страниц DAG является единственным выполненным шагом.
Мы можем рассчитать этот максимальный теоретический хэшрейт следующим образом:
(Пропускная способность памяти) / (DAG-память, извлекаемая для хэширования) = максимальный теоретический хэшрейт
(256 гигабайт / сек) / (8 килобайт / хэш) = 32 Мегагэша/сек.
Эмпирический хэшрейт RX 490 во время реальной работы составляет ~ 31 мегахеш / с.
Эта небольшая задержка может быть легко объяснена задержкой памяти или другими быстрыми операциями в системе. Таким образом, производительность этой видеокарты такая же, как и ожидалось, при условии, что хеширование данных является трудным для памяти, а выбор страниц DAG является шагом ограничения скорости.
Победа над видеокартами: будущее поколение майнинг-устройств для добычи ETH
Единственный способ, которым может пригодиться пользовательское оборудование для майнинга Ethereum, — это если он более экономичен или энергоэффективен при пропускной способности памяти (меньше $ / (ГБ / сек) или меньше Вт / (ГБ / сек)).
Вариант 1. Платы FPGA / ASIC с высокой пропускной способностью памяти
Взглянув на RX 590, мы можем немного подсчитать (245 долл за карту / (256 ГБ / с)), чтобы увидеть, хешрейт стоит 0,95 долл / ГБ / с.
По сравнению с одним чипом GDDR5 (например, Micron EDW4032BABG), который стоит 6,83 долл. И имеет пропускную способность 24 ГБ / с, мы можем добиться большего успеха — 0,28 долл. / ГБ / с.
Таким образом, если мы сможем создать собственный чип (либо ASIC, либо FPGA), чем интерфейс с 9 чипами GDDR5, у нас будет пропускная способность памяти 216 ГБ / с по цене $ 61,47.
Однако это будет еще не законченное устройство, так как нам нужен контроллер памяти FPGA или ASIC, печатная плата и вспомогательная электроника.
Если отгруженная окончательная сборка (добавление дополнительных деталей, процессов, испытаний и логистики) стоит меньше, чем RX 590 (всего $ 245), тогда пользовательская плата превзойдет видеокарту.
То есть, пока на рынке не появится более быстрая, более эффективная и дешевая видеокарта.
Например Видеокарты HBM уже доступны. Но если вы найдете недорогие готовые микросхемы FPGA или ASIC с контроллерами памяти 5–10 DDR или HBM или у вашей компании есть опыт создания специализированных ASIC устройств с высокой пропускной способностью памяти, вы можете обойтись и без аппаратного обеспечения.
Однако в этой ситуации вам, вероятно, следует изменить свою бизнес-модель и вместо этого создавать видеокарты, поскольку это уже огромный рынок.
Вариант 2: Использование мобильных чипсетов следующего поколения
По мере того как растет использование смартфонов и мобильных 3D-графиков мы увидим более дружественную для мобильных устройств и высокую пропускную способность памяти.
Это могут быть решения для мобильных систем на кристалле со встроенным графическим процессором (например, NVidia Tegra X1) или автономный мобильный графический процессор (например, PowerVR Series 8XE), либо специализированные процессоры с высокой пропускной способностью или ориентированные на нейронные сети со встроенной памятью (например, Movidius Myriad 2).
Эти классы устройств будут продолжать развиваться, и если стоимость, мощность и пропускная способность памяти попадут в нужное место, мы вполне можем увидеть пользовательские майнеры Эфириума с 10-20 мобильными графическими процессорами или VPU, расположенными на одной плате.
Выводы
Последовательные выборки DAG страниц в алгоритме хеширования Ethash достигают пределов пропускной способности памяти современного аппаратного обеспечения.
В данный момент ограничен их теоретический максимальный хэшрейт.
Какими мы увидим будущие майнеры Эфириума? Они, вероятно, не будут основаны на ASIC или FPGA. Скорее всего, они будут основаны на готовых чипах (мобильных GPU или VPU), а не на форм-факторе традиционной видеокарты, который мы так привыкли видеть в современных компьютерах потому, что мобильных GPU или VPU более заточены под пропускную способность памяти.
Одна заключительная оговорка: Каспер
Эта статья написана о текущем протоколе Ethash, основанном на Proof-of-Work, который используется для майнинга Ethereum. В системах на основе Proof-of-Work, подобных этой, майнеры выполняют значительные объемы вычислений для нахождения новых блоков, и получают денежные вознаграждения.
Как только сеть Ethereum перейдет на систему Proof-of-Stake (предположительно после 2020 года с фазой Ethereum 2.0 или Serenity), денежные вознаграждения будут предоставлены держателям валюты Ethereum, а не майнерам, что, вероятно, сделает добычу Эфириума устаревшей.
Когда этот переход произойдет, пока неясно, ожидается, что первая фаза будет запущена уже 3 января 2020 года.
Вы можете прочитать больше о первой, подготовительной фазе Ethereum 2.0 или Serenity.
Гид по криптовалютам: чем отличается биткоин от Ethereum
Криптовалюты с космической скоростью завоевали современный финансовый мир. Буквально за пару лет узнаваемость термина «биткоин» выросла в сотни раз. При этом в умах закрепилась ассоциация: говорим криптовалюта, подразумеваем — биткоин, говорим биткоин, подразумеваем — криптовалюта. Но сегодня это утверждение безвозвратно устарело и ошибочно. Число криптовалют в мире перевалило за 1500 и продолжает расти.
Биткоин действительно первая и самая известная криптовалюта, с ним проведены миллионы транзакций, это уже обкатанная система. Однако основные уникальные свойства биткоина, принесшие ему невероятную популярность, — децентрализованность (отсутствие регулирования) и анонимность — сегодня уже не новость. А обкатанная система начала давать сбой. Например, несоизмеримо увеличились стоимость и время транзакций, а хваленая анонимность дала брешь — оказалось, что личность пользователя можно установить в ряде случаев.
В погоне за успехом биткоина, а также исправляя его недостатки, разработчики завалили рынок разнообразными криптовалютами. Так, появились альткоины, суть которых заключена в самом названии — альтернатива биткоина. Альткоинами именуются все криптовалюты за исключением биткоина. Многие из них обладают уникальными особенностями и, естественно, имеют свои плюсы и минусы. Объединяет их единый механизм — блокчейн-технология, благодаря которой существует весь этот мир электронных денег. Блокчейн — это распределенная (нет одного общего сервера) база данных, которая хранит свою информацию в виде строго упорядоченных записей транзакций. Эти записи собираются в последовательность блоков, которые зашифрованы и защищены от какого-либо вмешательства из вне. То есть незаметно подделать или изменить эту «бухгалтерию» криптовалют, отображающую их движение от пользователя к пользователю, невозможно.
А теперь рассмотрим несколько криптовалют, которые входят в топ-10 по объему капитализации или семимильными шагами набирают популярность у пользователей, а главное, обладают интересными технологическими особенностями.
Криптовалюта Ethereum
Дата появления: 30 июля 2015 года
Авторы: Виталик Бутерин, Gavin Wood
Реклама на Forbes
Языки программирования: C++, Go, JavaScript, Python, Java, node. js, Haskell
Сайт: ethereum.org
Главным из альткоинов является Ethereum (эфир), он занимает второе место среди криптовалют по капитализации после биткоина. В противовес биткоину Ethereum имеет серьезную команду разработчиков, и у него есть неформальный лидер — Виталик Бутерин. Изюминкой эфира является возможность создания умных контрактов — это такой электронный алгоритм или условие, при выполнении которого стороны могут обмениваться деньгами или другими активами. Потенциально эта технология может получить широкое применение в финансах, менеджменте, аудите и логистике. Один из основателей Ethereum Чарльз Хоскинсон пошел еще дальше, создав эфир нового поколения — криптовалюту Cardano. Его «фишка» — высокая надежность и скорость работы, возможность создания многоуровневых смарт-контрактов и коллективное управление проектом при помощи всеобщего голосования.
Криптовалюта RippleДата появления: сентябрь 2012 года
Авторы: Arthur Britto, David Schwartz, Ryan Fugger
Разработчик: Ripple Labs
Сайт: ripple. com
Ripple в стане криптовалют — чужой среди своих. Он централизован, уже полностью намайнен, и его доля в 62% находится в руках компании Ripple Labs. Его плюсы: возможность трансграничных платежей и быстрое подтверждение транзакций. Платформа способна обрабатывать 1500 транзакций в секунду. Для сравнения: у биткоина этот показатель равен семи, у эфира — 15, а у Visa и MasterCard — около 20 000. В перспективе Ripple может стать конкурентом системе SWIFT. Технологию Ripple уже тестируют крупнейшие мировые банки: Merrill Lynch, Santander, Unicredit, банки Англии, Канады и многие другие. Но в данном случае непонятно, как будут связаны вложения инвесторов в криптовалюту Ripple с применением соответствующей технологии. Банкам для проведения транзакций с помощью Ripple будет достаточно владеть небольшим объемом, а значит, нет смысла покупать большие количества. У Ripple уже есть конкурент — проект Stellar, который ряд экспертов считает улучшенной копией Ripple. Он фокусируется на обслуживании населения и уже начал сотрудничать с такими крупными компаниями, как IBM и Deloitte.
Дата появления: 18 апреля 2014 года
Авторы: Riccardo Spagni, Francisco Cabañas
Язык программирования: C++
Сайт: getmonero.org
В последнее время на фоне закручивания гаек в отношении криптовалют со стороны регуляторов всего мира выросла популярность электронных монет с повышенной анонимностью пользователей. Мonero — это как раз тот случай. В этой криптовалюте заложена технология кольцевых подписей, которая делает пользователей анонимными. Транзакции проводятся при предъявлении ключа, но вычислить его предъявителя нельзя. Кроме того, в Мonero есть специальный код, который перемешивает транзакции. В результате понять со стороны, сколько монет находится в конкретном кошельке или каков объем конкретной транзакции, становится совершенно невозможно. Неудивительно, что Monero используется как в легальных сделках, так и в теневой экономике.
Дата появления: 18 января 2014 года
Автор: Эван Даффилд
Язык программирования: C++
Сайт: dash.org
Еще одной анонимной криптовалютой является Dash, отличающийся быстрым временем транзакций и низкой комиссией. Неудивительно, что уже сейчас его принимают тысячи продавцов по всему миру. Главная «фишка» Dash — мастернода — суперсервер, предоставляющий сети дополнительные функции. Например, сервис PrivateSend, который смешивает монеты пользователей через взаимный обмен, в результате сторонний наблюдатель не может ни отследить транзакции, ни вычислить владельца конкретной монеты.
Реклама на Forbes
Криптовалюта Tron
Дата появления: ноябрь 2017 года
Авторы: Тим Бернерс-Ли, Джастин Сун
Сайт: tron. network
В последние месяцы популярность набирает криптовалюта — Tron. Ее разработчики сделали ставку на пользователей интернет-игр, видеоматериалов и на хранение контента. Призвание Tron сделать транзакции дешевле и создать всемирную бесплатную развлекательную систему. Как и многие другие криптовалюты, Tron основан на распределенной технологии хранения информации. При этом данные бесплатны и не контролируются, поэтому пользователи могут использовать систему для чего им хочется и как им хочется. Любопытно, что Tron нельзя майнить, зато его можно получать в виде вознаграждения за активную деятельность и содействие в развитии. Рынок онлайн-развлечений продолжает активно расти, а Тron претендует на роль аналога AppStore и Google Play в криптомире.
Криптовалютная платформа TONПланируемая дата появления: 2018-2019 год
Авторы: Павел и Николай Дуровы
Реклама на Forbes
Разработчик: Telegram
В последнее время в центре внимания попал блокчейн-проект TON (Telegram Open Network) братьев Дуровых с криптовалютой Gram. White Paper (меморандум для инвесторов) проекта вызвал повышенный интерес. Ведь в нем заявлены гарантия осуществления платежей и решение проблемы нехватки места для хранения всех записей. Если это будет реализовано, то система сможет обрабатывать миллион транзакций секунду, а комиссии будут низкими. Настоящий прорыв для финансовой сферы! Веры в проект добавляет личность Павла Дурова, который успешно реализовал ряд интернет-стартапов, и наличие готовой сети пользователей Telegram. Главный вопрос: как в TON будет решен вопрос анонимности пользователей?
Подведем итог. Главным достижением всего криптомира, несомненно, является сама блокчейн-технология, которая легла в основу не только электронных денег, но и многих других сфер деятельности, где нужно хранить большой объем информации. Так что эта идея будет жить. А вот какая из криптовалют станет лидером, зависит лишь от того, кто из разработчиков найдет самое интересное и эффективное применение этой технологии. Поиски еще продолжаются.
Ethereum перейдет на новую систему, которая позволит значительно сократить выбросы СО2
Разработчики Ethereum, второй по величине криптовалюты после биткоина, планируют в течение нескольких месяцев перевести свою базовую инфраструктуру на новую модель. Этот переход позволит сократить объем углеродных выбросов от работы экосистемы Ethereum в сотни раз, пишет The Guardian.
Сейчас, как и другие криптовалюты, в том числе биткоин, Ethereum работает на основе системы Proof-of-work (PoW). В PoW все участники соревнуются в криптографической защите транзакций и добавлении их в блокчейн. Этот метод требует больших энергозатрат.
По приблизительным подсчетам, одна транзакция Ethereum потребляет ровно столько же электроэнергии, сколько один американский дом за день.
В ближайшие месяцы платформа завершит переход к новой модели ― Proof-of-Stake, что должно повлечь за собой значительные улучшения, рассказал Карл Бикхёйзен, сотрудник отдела исследований и разработок в Ethereum Foundation, возглавляющий разработку криптовалюты.
Одно из них ― существенное сокращение потребляемой экосистемой энергии и сокращение выбросов CO2.
Proof-of-stake (PoS) — это базовый механизм, который активирует валидаторы после получения достаточного количества ставок. Для Ethereum пользователям необходимо сделать 32 ставки ETH, чтобы стать валидатором.
Алгоритм PoS позволит полностью отказаться от энергозатратной добычи. Следовательно, в будущем миллионы процессов больше не будут участвовать в проверке транзакции.
Так как Ethereum предоставляет инфраструктуру для множества других проектов, связанных с криптовалютой, в том числе для многочисленных платформ NFT, эти изменения могут радикально повысить энергоэффективность сектора, отмечает The Guardian.
По словам Бикхёйзена, в случаях, когда существующая сеть Ethereum потребляет около 5,13 Гигаватта энергии (это эквивалентно энергозатратам Перу), после перехода на новую систему потребление упадет до 2,62 Мегаватт.
Система Proof-of-work (PoW) существует несколько десятков лет и используется крупнейшими криптовалютами. В последнее время это привело к беспрецедентным объемам потребления электроэнергии.
По оценкам исследователей, на обслуживание блокчейн-сети биткоина ежегодно тратится 45,8 Терраватт электроэнергии. В перерасчете на углеродный след выходит, что при выработке такого количества энергии в атмосферу было выброшено от 22 до 22,9 мегатонн углекислого газа.
Сопоставимые объемы СО2 производят некоторые города (например, Гамбург и Лас-Вегас), или даже небольшие страны вроде Шри-Ланки или Иордании.
Обзор: алгоритмы консенсуса в блокчейне
Одним из наиболее важных аспектов децентрализованного криптовалютного проекта является алгоритм консенсуса, ведь именно от него зависит внедрение новой цифровой валюты. Консенсусный алгоритм предотвращает проблему с двойными расходами, так как крипто-конверсии реализуются в форме общедоступных децентрализованных регистров, ведь блокчейн — децентрализованная система, в которой нет центральной власти, но есть вопросы по поводу принятия решений.
Консенсусные алгоритмы предназначены обеспечивать достоверность транзакций через проверку точности проведенных действий, которая распределяется между многими участниками сети. В рамках существующих блокчейн-проектов выделяют четыре основных алгоритма консенсуса, каждый из которых имеет свои уникальные преимущества.
Proof-of-Work (PoW) был первым успешным децентрализованным алгоритмом консенсуса в блокчейне. PoW используется в Bitcoin, Ethereum (Ethereum планирует перейти на Proof-of-Stake), Litecoin, ZCash, Monero и на многих других платформах. Самый известный алгоритм работает следующим образом: в начале пользователи сети отправляют друг другу цифровые токены, затем все произведенные транзакции собираются в блоки и записываются в распределенный открытый реестр — блокчейн.
В PoW все транзакции доказываются с помощью трудных математических вычислений, достоверность которых может перепроверить любой пользователь сети. Майнеры решают задачу, формируют новый блок и подтверждают транзакции. Задачи с каждым разом становятся сложнее, так как количество пользователей растет, и нагрузка на сеть становится больше. Хэш каждого блока содержит хэш — выходные данные предыдущего блока. Это повышает безопасность системы, и порядок созданных блоков нарушить невозможно. Пользователь должен первым правильно определить «nonce» — число, добавленное в конец строки для того, чтобы создать хеш, который начинается с необходимого количества нулей. Если майнер сумел решить задачу, формируется новый блок: в нем размещается очередной комплект транзакций, и они считаются подтвержденными.
Консенсусные алгоритмы предназначены обеспечивать достоверность транзакций через проверку точности проведенных действий, которая распределяется между многими участниками сети. В рамках существующих блокчейн-проектов выделяют четыре основных алгоритма консенсуса, каждый из которых имеет свои уникальные преимущества.
Этот алгоритм является честным и понятным, ему можно доверять. Однако у PoW есть главный недостаток — потребление огромного количества энергии. В 2017 году на полное оформление одной транзакции в системе Bitcoin требовалось затратить в среднем 163 кВт/ч энергии. Таким количеством энергии можно в течение пяти с половиной дней полностью обеспечивать нужды семьи из трех человек, проживающей в небольшом одноэтажном доме. Кроме того, те майнеры, которые обладают более быстрыми и мощными ASIC, получают больше, чем остальные. В результате этого биткоин оказывается не таким децентрализованным, как задумывалось изначально.
Proof-of-Stake во всех реализациях для проверки транзакций требует от участников доли части монет, которые они хранят в сети. PoS является альтернативным механизмом PoW, впервые реализованным в 2012 году в криптовалюте PPCoin (переименована в PeerCoin). Идея Proof-of-Stake заключается в решении проблемы Proof-of-Work, связанной с большими затратами на электроэнергию.
Достоверность произведенных транзакций подтверждают валидаторы. Преимущество PoS заключается в том, что он более энергоэффективен и, возможно, лучше предотвращает атаки, чем PoW.
Валидаторы ставят свои монеты на транзакции путем блокировки монет. Микшер, который используется для завершения блока, выбирается пропорционально значению, поставленному в сети. Proof-of-Stake предотвращает плохое поведение в сети с помощью перекладывания полномочий по проверке на самых активных и интересующихся пользователей. Алгоритм консенсуса доказательства владения доли используется в Peercoin, Decred и вскоре будет функционировать на Ethereum, в котором заранее прописывался переход с одного алгоритма на другой.
Делегированное подтверждение доли Delegated proof-of-stake (DPoS), которое было разработано Дэниелом Ларимером в 2014 году, только внешне похоже на имя Proof-of-stake, ведь детали реализации двух алгоритмов существенно отличаются друг от друга. В DPoS вместо ставки на монеты для проверки транзакций держатели токенов в ходе голосования выбирают валидаторов транзакций, которые будут формировать блоки. Вес каждого голоса определяется суммой активов голосующего. Держатели монет, в случае сомнений, могут перевыбирать кандидатов. Благодаря этому можно достичь высокой устойчивости сети. Если большая часть исполнителей вышла из строя, то сообщество тут же проголосует за их замену.
DPoS остается децентрализованным в том смысле, что все пользователи в сети участвуют в выборе тех нодов, которые проверяются транзакциями, но централизован этот алгоритм консенсуса из-за того, что все решения принимает небольшая группа. Реализации DPoS поддерживают постоянный процесс голосования и систему перетасовки, которая выбирает рандомных валидаторов. Работоспособность системы заключается в отборе ценных для сети участников и в удалении бесполезных, поэтому весь алгоритм зависит от активности избирателей.
DPoS используется Steemit, EOS и BitShares. Новый крипто-проект Minter от блокчейн-сообщества DeCenter основан на алгоритме консенсуса делегированного подтверждения доли.
Византийская отказоустойчивость (Byzantine fault tolerance) носит весьма технический характер (как и другие консенсусные алгоритмы). Целью BFT является установление доверия между несвязанными сторонами сети. Концепция данного алгоритма консенсуса была представлена в научной работе Лесли Лэмпорта, Роберта Шостака и Маршала Писа еще в 1982 году.
BFT позволяет валидаторам совершать быстрые транзакции, управлять каждым состоянием сети и обмениваться сообщениями друг с другом, чтобы получить правильную запись транзакции и обеспечить честность. Данный алгоритм реализуется компанией Ripple, где валидаторы предварительно выбираются фондом Ripple, и Stellar, где любой может быть валидатором — доверие устанавливается сообществом. В отличие от блокчейнов, основанных на PoW, блокчейны BFT не подвергаются нападению, если только сами пользователи сети не координируют атаку. BFT считается выгодным алгоритмом, поскольку он масштабируем и охватывает транзакции с низкой стоимостью, но, как и DPoS, внедряет компонент централизации.
Проблема алгоритмов консенсуса и проверки транзакций очень сложна и имеет много нюансов. Более согласованные алгоритмы, которые находят разные комбинации компромиссов, скорее всего, будут представлены в будущем и заменят используемый текущий набор алгоритмов.
Например, сейчас набирают популярность направленные ациклические графы Directed acyclic graph (DAG), и, возможно, в ближайшем будущем будут активно использоваться в блокчейн-проектах, потому что они могут выступить в качестве потенциального решения проблем, связанных с масштабируемостью. DAG — ориентированный граф с данными на основе топологической сортировки. Его развитие идет только в одном направлении — от ранних блоков к поздним. Из-за безблочного устройства все транзакции совершаются в сетях DAG, поэтому этот процесс занимает намного меньше времени, чем в случае блокчейнов, основанных на PoW и PoS. В сети DAG нет майнеров. Подтверждение осуществляется непосредственно в самих транзакциях, поэтому сделки проходят почти мгновенно.
Интересным с точки зрения экономики платформы является Proof-of-Importance (PoI). Алгоритм консенсуса используется в блокчейне NEM. Значимость каждого пользователя в сети определяется количеством средств, имеющихся у него в кошельке, и количеством проведенных транзакций. В отличие от PoS, который учитывает сумму имеющихся средств у пользователя, PoI принимает в расчет количество средств и активность пользователя в блокчейне. Такой подход побуждает активно использовать те средства, которые хранятся на счете.
Большинство платформ, несмотря на обилие алгоритмов консенсуса, по-прежнему используют Proof-of-Work, Proof-of-Stake и их модификации. Одним из наиболее оптимальных является алгоритм консенсуса Delegated Proof-of-Stake, плюсы которого заключаются в увеличенной скорости подписания блоков и большей энергоэффективности за счет ограниченного количества подписантов.
В настоящее время алгоритмы консенсуса должны находить компромисс между масштабируемостью и степенью централизации. Остается лишь наблюдать за тем, как механизмы приспособятся к реалиям, а сообщества адаптируются к внедрению технологических разработок. Кто сможет лучше всех остальных простимулировать широкомасштабное участие и стабильное управление проектов — покажет время.
Адаптация материала с Hackernoon.
от нулевой фазы до PoS-алгоритма
1 декабря запускается нулевая фаза Ethereum 2.0 — обновления сети второй крупнейшей по капитализации криптовалюты после биткоина. Оно решит проблемы масштабируемости и безопасности сети Ethereum, переведет ее на алгоритм консенсуса Proof of Stake (PoS), запустит шардинг, новую виртуальную машину (eWASM) и возможность стейкинга. Однако обновление не будет активировано мгновенно — оно будет развертываться поэтапно, и на его полную имплементацию уйдет от одного до двух лет. Разобрались, какие изменения произойдут в сети Ethereum на данном этапе, как будет происходить многолетний переход на PoS-алгоритм и как он отразится на развитии проекта Виталика Бутерина.
Почему Ethereum должен обновитьсяУ Ethereum давние проблемы с масштабируемостью. Чем популярнее становится эфир, тем менее эффективным становится его блокчейн. Сейчас сеть Ethereum уже перегружена и не подходит для массового использования.
В Ethereum стоимость комиссии за транзакцию определяется количеством и ценой затраченных ресурсов («газом»). Этот показатель регулируется лишь ростом цены эфира. С начала 2020 года стоимость транзакции выросла в 15.4 раза — с $0.076 до $1.173, а в сентябре достигла своего исторического максимума — $13.4. Это очень дорого для крупнейшей блокчейн-сети, которую используют сотни и тысячи проектов.
График роста цены средней комиссии за транзакцию в сети Ethereum по данным Ycharts. ИсточникНачавшийся в этом году бум популярности DeFi-протоколов, большинство из которых используют Ethereum, еще сильнее перегружает сеть и приводит к росту комиссий. В результате блокчейн становится слишком затратным и неэффективным для использования в децентрализованных приложениях (dApps) и в DeFi-секторе, опирающихся на мелкие транзакции.
Ограниченность Ethereum уже сейчас мешает проекту развиваться. Если ничего не предпринять, сетью станет просто невозможно пользоваться и ее вытеснят конкурирующие блокчейны. А уж о том, чтобы использовать эфир для десятков и сотен миллионов человек, пока и говорить не приходится.
Для решения проблемы масштабирования с 2016 года разработчики Ethereum подготавливали переход сети с алгоритма консенсуса Proof of Work (PoW) на PoS-алгоритм — Ethereum 2.0. Здесь не будет майнинга, а обработкой транзакций и поддержанием работоспособности сети займутся валидаторы. Это сделает Ethereum более масштабируемым, быстрым и выгодным.
Каким будет Ethereum 2.0Ethereum 2.0 — это попытка улучшить масштабируемость, безопасность и программируемость сети без ущерба для децентрализации.
Масштабируемость и шардинг. Сейчас скорость Ethereum — 30 транзакций в секунду.
Уже вскоре после запуска нулевой фазы обновления Ethereum сможет масштабироваться примерно до 3 000 транзакций в секунду, а после перехода к первой фазе и запуска шардинга — и до 100 000.
Сейчас у Ethereum один блокчейн, состоящий из одной цепочки с последовательными блоками. Это безопасно, но очень медленно и неэффективно.
Шардинг — разделение единого блокчейна на отдельные узлы (шарды), в каждом из которых транзакции будут обрабатываться параллельно. Это одно из основных новшеств Ethereum 2.0. Валидаторам нужно хранить и подтверждать данные только для того сегмента, за который они отвечают, а не для всей сети (как это происходит сегодня с PoW). Это ускоряет процесс и резко снижает требования к оборудованию.
PoS-алгоритм консенсуса и стейкинг. Сейчас в Ethereum для достижения консенсуса между майнерами используется PoW-алгоритм. В Ethereum 2.0 его заменит PoS-алгоритм.
PoW — популярный алгоритм, который используется во всех ранних блокчейнах: Bitcoin, Litecoin, Bitcoin Cash, Monero, Dash, и Zcash среди многих других. Это высокозащищенная, но очень энергозатратная и не масштабируемая консенсусная модель.
Для подтверждения транзакций в PoW специальное оборудование должно решать сложные математические задачи. Тот, кто первым решит задачу, добавляет новую транзакцию в блокчейн и получает за это вознаграждение в монетах. Этот процесс называется майнингом.
В PoS вместо майнеров транзакции подтверждают валидаторы, которые делегируют (замораживают) монеты в мастер-ноды и получают за это вознаграждение. Этот процесс называется стейкингом.
Он работает как банковский депозит и предоставляет крипто-инвесторам возможность получать пассивный доход. Чем больше монет заморожено, тем выше вознаграждение. В самом начале работы сети валидаторы, как ожидается, получат примерно 20% годовых от суммы внесенных для стейкинга ETH. Позже доходность снизится и со временем может опуститься до 5%.
Главное преимущество алгоритма PoS в том, что он гораздо более энергоэффективен, чем PoW. В нем не важна вычислительная мощность компьютера и нет огромных энергозатрат. Поэтому быть валидатором можно с любого ноутбука.
Безопасность. Переход на PoS сделает Ethereum более безопасной экосистемой. Например, такая уязвимость PoW-алгоритма, как атака 51%, при которой злоумышленники, завладев больше чем половиной мощности сети, получают контроль над подтверждением транзакций и генерацией блоков, станет невозможной. Минимальное количество валидаторов — 16 384 — обеспечивает нужный уровень децентрализации. Для контроля за валидаторами создана специальная команда. Если валидатор попробует действовать против сети, для него предусмотрено наказание, например, лишение вознаграждения или даже заморозка депозита. В результате валидатор-злоумышленник не может навредить сети, не понеся значительных финансовых потерь.
Когда завершится обновление ЕТН 2.0?Обновление Ethereum может казаться простым делом, но подготовка к нему не зря заняла столько лет. Как-то Виталик Бутерин, создатель эфира, заметил, что легко разработать блокчейн, сочетающий два из трех важнейших свойств, которыми являются децентрализация, безопасность и масштабируемость. Но сложно создать блокчейн, сочетающий все три свойства без ущерба для каждого из них. Это называется трилеммой масштабирования: ради большей производительности необходимо пожертвовать децентрализацией или безопасностью. До сих пор ни один блокчейн не смог обойтись без подобных компромиссов. Ethereum 2.0 претендует стать первым блокчейном, в котором удастся добиться равнозначной комбинации всех трех свойств.
Развертывание Ethereum 2.0 будет проходить в три этапа: Фаза 0 (разработчики любят считать с нуля), Фаза 1 и Фаза 2. Такая неспешность нужна для того, что избежать ошибок и предусмотреть все возможные проблемы. Ожидается, что на полное обновление сети уйдет около двух лет.
Фаза 0 запустится 1 декабря 2020 года, остальные — в 2021 и 2020 годах, но точные даты пока еще не заданы. По мере развертывания апдейта планы и конкретная реализация обновлений могут быть скорректированы.
Фаза 0: Beacon ChainФаза 0 — Beacon Chain — будет запущена 1 декабря.
В нулевой фазе Ethereum 2.0 будет внедрена так называемая цепочка Beacon Chain. В будущем она обеспечит поддержание консенсуса во всех параллельных блокчейнах, работающих в экосистеме Ethereum. Но пока ее задачи:
- координировать работу новой сети, управляя реестром валидаторов и распределяя их по сегментам, над которыми они должны работать;
- развернуть PoS;
- заложить основу для последующих обновлений, прежде всего, шардинга;
- проверить работу Lighthouse — клиента новой сети.
Beacon Chain будет работать отдельно от первоначальной сети. То есть Ethereum 1.0 будет работать параллельно и продолжит функционировать на PoW-алгоритме. При этом запуск обновления не отразится на пользователях ЕТН 1.0 и децентрализованных приложений на Ethereum.
Ethereum 2.0 начнется с делегирования монет валидаторов. Для поддержания децентрализованной сети ETH 2.0 требуется минимум 16 384 валидатора.
Пользователи, которые хотят стать валидаторами и получать процентное вознаграждение за добавление новых блоков, должны будут «заморозить» минимум 32 ЕТН ($18 442 на день публикации) и держать ноды постоянно подключенным к сети. За регулярное или слишком долгое отключение от сети валидаторы лишатся своего вознаграждения. Вывести средства можно будет только после запуска Фазы 1.5, в которой первоначальный блокчейн ЕТН 1.0 окончательно перейдет на PoS.
Beacon Chain — это, по сути, лишь проверка работоспособности сети и тестирование возможностей PoS-алгоритма. В ней будет доступен стейкинг новых монет и возможность переводить монеты из EТН 1.0 в ETH 2.0. Но в нулевой фазе не будет транзакций, полноценной экономической активности, смарт-контрактов, децентрализованных приложений и DeFi-протоколов.
Фаза 1: ШардингФаза 1 предполагает запуск шардинга — разделения данных на несколько фрагментов, или шардов, в результате чего снижается нагрузка на сеть. Эта фаза будет запущена в 2021 году и займет около 6 месяцев.
Первоначально ЕТН 2.0 будет развернута с 64 шардами. По идее это должно увеличить пропускную способность сети примерно в 64 раза. Позднее количество шардов может быть увеличено до 1024, что сделает сеть еще более масштабируемой.
В Фазе 1 транзакции, взаимодействие с пользовательскими адресами, смарт-контракты и децентрализованные приложения будут недоступны, но, возможно, в качестве тестов они появятся в нескольких шардах. Первоначальный блокчейн останется функционировать на PoW, а EТН 1.0 и ЕТН 2.0 продолжат работать параллельно.
Скорость транзакций в ЕТН 1.0 увеличится до 100 000 в секунду, что гораздо быстрее скорости платежных сетей Visa и Mastercard — около 65 000 операций в секунду. Это станет возможным благодаря запуску решения второго уровня Rollup, позволяющего проводить транзакции вне основного блокчейна (в него записывается лишь результат операции). По замыслу Бутерина, вся экосистема Ethereum в краткосрочной и среднесрочной перспективе будет опираться в основном на Rollup, а также, возможно, на другие решения второго уровня — Plasma и каналы состояния (State channels).
Заметим, что решения второго уровня не из простых. Используя их, даже опытному и технически продвинутому пользователю легко ошибиться и потерять средства. Поэтому они могут значительно усложнить использование эфира, что не будет способствовать его популярности. Кому нужен сверхбыстрый блокчейн, если им могут пользоваться только подкованные технари? Бутерин понимает это, но отмечает, что пока у эфира нет другого выбора. По его мнению, решения второго уровня по-прежнему дают наилучшую надежду на масштабируемость Ethereum до того, как основная сеть Ethereum 2.0 станет полностью работоспособной.
Фаза 1.5: Ethereum 1.0 становится шардом новой сети и переходит на PoS-алгоритмФаза 1.5 — это промежуточное обновление, которое должно пройти в 2021 или 2022 году. После него первоначальная сеть Ethereum станет лишь одним из шардов новой сети и перейдет на PoS. Это поможет избежать хардфорка — разделения одного блокчейна на два разных. Первоначальный блокчейн просто станет частью нового, старые смарт-контракты сохранятся.
После запуска Фазы 1.5 майнинг ЕТН станет невозможен, а эфир, каким мы его знаем, окончательно исчезнет и перейдет в новое состояние.
Фаза 2: State executionФаза 2, окончательное обновление сети Ethereum, должна быть запущена в 2021 или 2022 году после того, как шарды станут полностью функциональными и совместимыми со смарт-контрактами.
На заключительной фазе в сети запустятся полноценные ЕТН-адреса и транзакции, а также будут работать децентрализованные приложения и смарт-контракты. Каждый шард будет управлять отдельной виртуальной машиной (eWASM), отвечающей за исполнение смарт-контрактов.
Это будет уже полноценно работающая сеть Ethereum 2.0. Только на этом этапе валидаторы, заморозившие ЕТН при запуске обновления, смогут свободно выводить эфир из депозитного контракта.
Ethereum после обновления: чего ждатьДолгожданное обновление Ethereum, о котором эксперты спорили столько лет, фактически уже началось. Ethereum, каким мы его знаем, довольно скоро прекратит свое существование.
Обновление не будет быстрым и гладким. Уверены, мы еще не раз услышим новости о технических сбоях, срыве сроков, изменении первоначальных планов.
Ethereum 2.0 действительно станет более масштабируемым и безопасным. Скорость транзакций достигнет десятков тысяч операций в секунду, проблема высоких комиссий отпадет. В таком виде Ethereum станет по-настоящему доступен для массового использования.
Решение проблем масштабирования сети повлечет за собой более высокий спрос как на блокчейн, так и на эфир. Это, скорее всего, значительно разгонит цену ЕТН. Эфир с начала года в преддверии запуска обновления уже вырос в несколько раз. Бычий тренд вполне может сохраниться еще долго, что, конечно, не исключает краткосрочных коррекций.
Все интеграции и обновления Ethereum 2.0 не окажут заметного влияния на работу первоначального блокчейна и на опыт пользователей. Все дополнения к будущей сети совместимы с существующей инфраструктурой. Поэтому пользователям не понадобится устанавливать новые специализированные программы, ETH останется родной монетой блокчейна.
Стоит помнить, что до полной имплементации обновления проблемы Ethereum сохранятся. Стоимость комиссий продолжит расти, а сеть будет становиться все загруженнее. За год-два эфир вполне могут догнать конкурирующие с ним блокчейны, например, EOS, TRON или NEO. Однако мы думаем, что Ethereum все же сохранит за собой статус лидера, но определенно потеряет монополию. Впрочем, это не плохо — разнообразие и конкуренция на руку рынку.
Переход Ethereum на PoS значительно увеличит значимость стейкинга на рынке. Из-за высокого минимального депозита должно появиться множество предложений облачного стейкинга и стейкинга посредством криптобирж. Также стейкинг может привлечь значительный приток средств от институционалов. Все это положительно отразится на цене ЕТН.
Обновление Ethereum показывает, что эфир — развивающийся проект, разработчики которого скрупулезно подходят к решению проблем. Это окупается: Ethereum совершенствуется, пользователи верят в проект, что отражается на росте цены ЕТН.
Какой алгоритм шифрования использует Ethereum и как он работает? : ethereum
Чтобы немного прояснить для OP. Хеш — это то, из чего сделан блокчейн. Каждый блок хешируется, затем этот хеш включается в следующий блок, образуя цепочку, каждый из которых содержит хэш своего родителя.
Шифрование другое. Это способ безопасной передачи информации.
Вот ОТЛИЧНОЕ видео о том, как они работают: ThreeBrown1Blue — Вы когда-нибудь задумывались, как на самом деле работают биткойны (и другие криптовалюты)? Это видео сделал кто-то более умный, чем я, и разговор — лучший способ общения, чем текст, поэтому я настоятельно рекомендую его посмотреть.
Приведу краткий пример на случай, если по каким-то причинам не получается посмотреть видео.
HASH
хэш — это односторонняя функция. По сути, это способ идентифицировать что-то произвольной длины (например, блоки, которые могут быть довольно большими) в ограниченном пространстве.
Пример функции хеширования (и это плохая функция, но она объясняет, для чего нужны хеши):
Представьте, что для каждого блока мы складываем общее количество отправленных eth, а затем добавляем это к числу букв у каждого из людей, у которых была транзакция в этом блоке.Это было бы относительно большое количество, которое было бы очень трудно повторить. Очень маловероятно, что другой блок в сумме даст точно такое же число.
Алгоритм хеширования, который использует биткойн, называется «SHA256».
«Шифрование»
Шифрование отличается от хеширования. Шифрование преследует три основные цели.
Конфиденциальность: только предполагаемый получатель может прочитать сообщение
Целостность: Никто не может изменить сообщение до того, как оно попадет к предполагаемому получателю.
Доступность: если что-то сделать безопасно, слишком сложно, никто этого не сделает. Итак, вы хотите, чтобы шифрование было простым.
PKI (инфраструктура открытого ключа) — это шифрование. По сути, для достижения этих трех целей используются астрономически большие простые числа.
Вот несколько примеров, которые помогут вам наглядно представить, как это работает.
Допустим, вы хотите отправить посылку другу. Вы можете заблокировать пакет, но как тогда ваш друг его разблокирует? Им понадобится ключ, верно? Но вы не можете дать им свой ключ, потому что тогда они смогут разблокировать пакеты, которые вы отправляете другим людям.Поэтому вместо того, чтобы послать им ваш ключ, они отправят вам свой замок. После того, как вы заблокируете пакет, только они смогут его разблокировать.
Представьте себе, что сами замки каким-то образом волшебны и должны быть заперты одним ключом, но должны открываться другим ключом. Все, что заблокировано вашим «закрытым ключом», можно разблокировать только вашим «открытым ключом», а все, что заблокировано вашим «открытым ключом», можно разблокировать только вашим закрытым ключом. В остальном я буду называть закрытый ключ «секретным ключом», чтобы избежать двусмысленности, поскольку слова «частный» и «открытый» выглядят одинаково (по крайней мере, для меня).
Итак, если вы хотите что-то отправить человеку, вы используете его открытый ключ, который также является замком. Поскольку этот человек — единственный человек, у которого есть секретный ключ, он единственные люди, которые могут разблокировать пакет. Если кто-то хочет что-то вам послать, он использует ваш открытый ключ, а вы используете свой защищенный ключ, чтобы разблокировать его.
Вот кое-что классное, что вы можете сделать. Это называется подписание .
Поскольку любой человек в мире может знать ваш открытый ключ, и только вы знаете свой секретный ключ, вы можете заблокировать вещи своим секретным ключом, и каждый может его разблокировать.Это с уверенностью доказывает, что сообщение отправили вы, а не кто-то другой. Если кто-то другой попытается притвориться вами, ваш открытый ключ не сможет разблокировать пакет должным образом.
Таким образом, с помощью секретного ключа вы можете подписывать пакеты и доказывать, что именно вы их отправляете, а с помощью открытого ключа других людей вы можете предотвратить открытие пакетов злоумышленниками до того, как они попадут к ним. Фактически, вы могли бы объединить два. Вы можете заблокировать что-то своим секретным ключом и их открытым ключом.Только тогда они могут разблокировать его, но они также могут проверить, что он исходил от вас, а не от кого-либо еще.
консенсус — Какие доказательства работы функции использует Ethereum?
Алгоритм PoW, используемый в Frontier and Homestead, называется Ethash и был создан специально для Ethereum.
Основной причиной создания новой функции доказательства работы вместо использования существующей было решение проблемы централизации добычи , когда небольшая группа компаний по производству оборудования или операций по добыче полезных ископаемых приобретает непропорционально большое количество энергии для воздействия или манипулировать сетью (если они того пожелают).Экономические силы в существующих сетях (таких как Биткойн и Лайткойн) делают централизацию усилий по добыче полезных ископаемых очень прибыльной, частично из-за возможности производства ASIC , специализированных чипов, специально разработанных для того, чтобы на много порядков превосходить стандартизированное компьютерное оборудование по производительности хеширования. . Другие факторы, способствующие централизации майнинга, такие как обработка потерянных блоков, рассматриваются отдельно в протоколе Ethereum. Специально разработав алгоритм PoW, устойчивый к ASIC, команда Ethereum надеется снизить экономические стимулы для централизации добычи в Ethereum, по крайней мере, до тех пор, пока не будет разработан и развернут безопасный алгоритм PoS.
Способ, которым Ethash нацелен на обеспечение алгоритма PoW, для которого стандартное оборудование уже высоко оптимизировано (и, следовательно, создание ASIC, которое является дорогостоящим, даст очень мало преимуществ по сравнению с простым использованием новейшего массового оборудования). подчеркивает свойство, называемое твердостью памяти . Жесткость памяти по существу означает, что ваша производительность ограничена , насколько быстро ваш компьютер может перемещать данные вокруг в памяти, а не , насколько быстро он может выполнять вычислительные операции . Потребительские видеокарты очень сильно конкурируют в этой области , а это означает, что потенциальный разработчик ASIC не может легко добиться большего успеха : если бы у них появилась новая идея по увеличению пропускной способности памяти, было бы более выгодно продать эту идею графическим специалистам. card, чем разрабатывать для нее майнинговые ASIC. И в любом случае в массовой компьютерной индустрии уже есть большие команды, занимающиеся этой проблемой.
учетных записей — Как генерируются адреса Ethereum?
Пространство закрытого ключа:
Вот несколько примеров кода, основанных на эллиптической кривой secp256k1, используемой Ethereum, как отмечали другие, для того, чтобы 256-битный ключ был действительным, он должен быть меньше, чем параметр кривой n
, который также является 256-битным ключом. битовое значение, которое может быть записано в шестнадцатеричном формате как: 0xfffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
Проверка ошибок:
Различные библиотеки будут выдавать ошибки, если вы попытаетесь ввести в них закрытый ключ, превышающий n
, в качестве механизма проверки ошибок (т.е.е. Исключение: неверный приватный ключ
) См. Соответствующий ответ с примерами для более подробной информации.
Параметры связанной кривой:
Мы можем назвать закрытый ключ s
, чтобы обозначить его как секретную экспоненту, поскольку это значение обтекает кривую с помощью параметра g
(с использованием скалярного умножения), который обозначает общедоступную точку генератора, которая подобна универсальной константе, которую все знает и использует, чтобы сгенерировать свой открытый ключ из s
.
Итак, g
остается общедоступным, но s
должен храниться в секрете, чтобы кошелек Ethereum оставался безопасным после получения вашего адреса Ethereum из вашего открытого ключа.
Открытый ключ может быть представлен либо в сжатом формате общей длиной 33 байта, либо несжатым как 64 байта, и обычно обозначается начальным префиксом 0x02 для сжатых открытых ключей, но длина строки является лучшим индикатором в качестве префикса. также не отображается или не присутствует в зависимости от шага и реализации.
Криптографически безопасное получение ключа:
Способ выбора s
также имеет огромное значение с точки зрения его криптографической безопасности. Другими словами, не рекомендуется выбирать этот секретный показатель самостоятельно или придумывать какой-либо умный метод, как вы могли бы для пароля (он же мозговой кошелек), поскольку бесчисленное количество таких методов использовалось на протяжении десятилетий для взлома секретов с использованием различных алгоритмов и компьютерное программное обеспечение, например, используемое для взлома паролей.
Следовательно, секретный показатель должен быть сгенерирован с использованием криптографически безопасного генератора псевдослучайных чисел (CSPRNG), такого как API криптографии консорциума WorldWideWeb (W3C) (раскрытие: я являюсь одним из 12 участников этой спецификации на Github), чтобы вероятность того, что злоумышленник может предсказать это значение, гораздо меньше, поскольку случайные биты, составляющие это число, поступают из разных мест с вашего локального устройства и из процессов, которые не передают эти энтропийные данные в Интернете (при условии, что программное обеспечение вы используете безопасно вместе с безопасным CSPRNG).
Пример кода Python:
При использовании Python 3 в библиотеке секретов есть CSPRNG, который может быть столь же простым, как выполнение следующих команд по порядку из интерпретатора IDLE или файла .py после импорта библиотеки секретов:
секретов.ранды (256)
Приведенная выше команда сгенерирует 256-битное двоичное число, которое можно использовать в качестве закрытого ключа, если оно меньше значения n
, но его необходимо отформатировать как объект байтов в примере реализации Python ниже, используя библиотека eth-keys
из репозитория Ethereum Foundation Github (в приведенном ниже примере может потребоваться установка библиотеки sha3
(pip install pysha3), которая содержит Keccak, если она отсутствует в библиотеке hashlib по умолчанию ):
секреты импорта
импорт sha3
импортировать eth_keys
из ключей импорта eth_keys
private_key = str (шестнадцатеричный (секреты.randbits (256)) [2:])
private_key_bytes = bytes.fromhex (частный_ ключ)
public_key_hex = ключи.PrivateKey (private_key_bytes) .public_key
public_key_bytes = bytes.fromhex (str (public_key_hex) [2:])
Keccak256_of_public_key_bytes = sha3.keccak_256 (public_key_bytes) .hexdigest ()
public_address = keys.PublicKey (public_key_bytes) .to_address ()
print ('\ n Private_key:', частный_ ключ,
'\ n Private_key_bytes:', private_key_bytes,
'\ n Public_key_hex:', public_key_hex,
'\ n Public_key_bytes:', public_key_bytes,
'\ n Full_Keccak_digest:', Keccak256_of_public_key_bytes,
'\ n Адрес Ethereum:', public_address)
Пример вывода вышеуказанного кода (не для использования в основной сети, например)
Private_key: 7231bfb75a41481965e391fb6d4406b6c356d20194c5a88935151f05136d2f2e
Байты_ключа частного_ключа: b'r1 \ xbf \ xb7ZAH \ x19e \ xe3 \ x91 \ xfbmD \ x06 \ xb6 \ xc3V \ xd2 \ x01 \ x94 \ xc5 \ xa8 \ x895 \ x15 \ x1f \ x05 \ x13m /.'
Public_key_hex: 0x013e81c4a44c5303b11452f649be9427b75605339d8eba90f8e99cc401a8bd4f7494e0d0740bcc0282af75f9bd4571ed493a05ed02f1b968da45779f
Public_key_bytes: b "\ x01> \ x81 \ xc4 \ xa4LS \ x03 \ xb1 \ x14R \ xf6I \ xbe \ x94 '\ xb7V \ x053 \ x9d \ x8e \ xba \ x90 \ xf8 \ xe9 \ x9c \ xc4 \ x01 \ xa8 \ xbdOt \ x94 \ xe0 \ xd0t \ x0b \ xcc \ x02 \ x82 \ xafu \ xf9 \ xbdEq \ xedI: \ x05 \ xed \ x02 \ xf1 \ xb9h \ xa4ZF \ xf4 \ xd7 {\ xe1I "
Full_Keccak_digest: 3f54dd68163875b594cfdc8e8a2250aafb31638b19a83caa49d1ee61089dcb4b
Адрес Ethereum: 0x8a2250aafb31638b19a83caa49d1ee61089dcb4b
Шесть шагов от закрытого ключа до адреса Ethereum
Как видно из описанной выше реализации, шесть шагов для перехода от закрытого ключа к адресу ethereum можно резюмировать следующим образом:
- Сгенерировать 256-битное защищенное число в шестнадцатеричном формате, преобразованное в строку с отброшенным префиксом 0x.
- Преобразует шестнадцатеричную строку, созданную на шаге 1, в объект байтов (b "").
- Вычислить открытый ключ как шестнадцатеричный, используя объект байтов закрытого ключа, созданный на шаге 2.
- Преобразует шестнадцатеричный открытый ключ, сгенерированный на шаге 3, в байтовый объект.
- Вычислить хэш-дайджест байтового объекта, созданного на шаге 4, с помощью Keccak_256.
- Возьмите крайние правые / последние 40 шестнадцатеричных символов (конечные 160 бит на стороне с прямым порядком байтов) хеш-дайджеста, созданного на шаге 5, который становится производным адресом Ethereum.
Альтернативные зависимости:
В дополнение к библиотеке open-ssl, упомянутой в статье, отмеченной @tayvano, другие библиотеки, которые можно использовать для вычисления общедоступных адресов эллиптической кривой, включают библиотеку ecdsa Python и библиотеку secp256k1 Биткойна, написанную на C, хотя последняя будет содержать инструменты для форматирование адресов биткойнов, которые полностью отличаются от адресов Ethereum из-за этапов форматирования и различных хэш-алгоритмов и методов кодирования, даже если лежащий в основе закрытый ключ и открытый ключ совпадают, например.
Примечание: Наконец, важно провести тесты, чтобы убедиться, что сгенерированный адрес не только действителен, но и что лежащий в основе закрытый ключ, используемый в процессе, будет действителен для подписи транзакций (т. Е. Если пользователь создает хэш дайджест массива байтов, рассматриваемого как строка, а не как объект байтов, что приведет к неправильному хеш-дайджесту и, следовательно, неправильному адресу для базового ключа).
Пример : Одним из таких инструментов проверки адреса (контрольной суммы) из библиотеки eth-keys является следующая команда: keys.PublicKey (). To_checksum_address ()
, который использует байты открытого ключа (т.е. передача переменной public_key_bytes
в первые круглые скобки будет выглядеть так в приведенной выше программе keys.PublicKey (public_key_bytes) .to_checksum_address ()
to be убедитесь, что вычисленный адрес правильный). Вот почему использование существующих библиотек может быть безопаснее, чем написание кода с нуля.
П.С. Ответы и примеры не исчерпывают всех рисков / шагов.
4.Криптография - Освоение Ethereum [Книга]
Криптография с открытым ключом (также называемая «асимметричной криптографией») является основной частью современной информационной безопасности. Протокол обмена ключами, впервые опубликованный в 1970-х годах Мартином Хеллманом, Уитфилдом Диффи и Ральфом Мерклом, стал грандиозным прорывом, который вызвал первую большую волну общественного интереса к области криптографии. До 1970-х годов сильные криптографические знания держались в секрете правительствами.
Криптография с открытым ключом использует уникальные ключи для защиты информации.Эти ключи основаны на математических функциях, которые обладают особым свойством: их легко вычислить, но трудно вычислить обратное. На основе этих функций криптография позволяет создавать цифровые секреты и неподдающиеся подделке цифровые подписи, которые защищены законами математики.
Например, умножение двух больших простых чисел тривиально. Но, учитывая произведение двух больших простых чисел, очень сложно найти простые множители (проблема, называемая простым разложением на множители ).Допустим, мы представляем число 8 018 009 и говорим, что это произведение двух простых чисел. Найти эти два простых числа вам намного сложнее, чем мне умножить их, чтобы получить 8 018 009.
Некоторые из этих математических функций можно легко инвертировать, если вам известна секретная информация. В предыдущем примере, если я скажу вам, что один из простых множителей равен 2 003, вы можете легко найти другой с помощью простого деления: 8 018 009 ÷ 2 003 = 4 003. Такие функции часто называют функциями-лазейками , потому что их очень трудно инвертировать, если вам не дадут секретную информацию, которую можно использовать как ярлык для отмены функции.
Более продвинутая категория математических функций, используемых в криптографии, основана на арифметических операциях над эллиптической кривой. В арифметике эллиптических кривых умножение по простому модулю выполняется просто, но деление (обратное) практически невозможно. Это называется проблемой дискретного логарифма , и в настоящее время нет известных лазеек. Криптография на основе эллиптических кривых широко используется в современных компьютерных системах и является основой использования Ethereum (и других криптовалют) частных ключей и цифровых подписей.
Примечание
Если вам интересно узнать больше о криптографии и математических функциях, которые используются в современной криптографии, ознакомьтесь со следующими ресурсами:
В Ethereum мы используем криптографию с открытым ключом (также известную как асимметричная криптография) для создания пары открытого и закрытого ключей, о которой мы говорили в этой главе. Они считаются «парой», потому что открытый ключ является производным от закрытого ключа. Вместе они представляют учетную запись Ethereum, предоставляя, соответственно, общедоступный дескриптор учетной записи (адрес) и частный контроль над доступом к любому эфиру в учетной записи и над любой аутентификацией, необходимой учетной записи при использовании смарт-контрактов.Закрытый ключ управляет доступом, являясь уникальной частью информации, необходимой для создания цифровых подписей , которые необходимы для подписания транзакций для расходования любых средств на счете. Цифровые подписи также используются для аутентификации владельцев или пользователей контрактов, как мы увидим в главе 7.
Наконечник
В большинстве реализаций кошельков закрытый и открытый ключи хранятся вместе как пара ключей для удобства. Однако открытый ключ можно тривиально вычислить на основе закрытого ключа, поэтому также возможно сохранение только закрытого ключа.
Цифровая подпись может быть создана для подписи любого сообщения. Для транзакций Ethereum в качестве сообщения используются детали самой транзакции. Математика криптографии - в данном случае криптография с эллиптической кривой - обеспечивает способ объединения сообщения (то есть деталей транзакции) с закрытым ключом для создания кода, который может быть создан только со знанием закрытого ключа. Что код называется цифровой подписью. Обратите внимание, что транзакция Ethereum - это в основном запрос на доступ к определенной учетной записи с определенным адресом Ethereum.Когда транзакция отправляется в сеть Ethereum для перемещения средств или взаимодействия со смарт-контрактами, она должна быть отправлена с цифровой подписью, созданной с помощью закрытого ключа, соответствующего рассматриваемому адресу Ethereum. Математика эллиптической кривой означает, что любой, может проверить действительность транзакции, проверив, что цифровая подпись соответствует деталям транзакции. и - адрес Ethereum, к которому запрашивается доступ. При проверке вообще не используется закрытый ключ; это остается личным.Однако процесс проверки без сомнения определяет, что транзакция могла исходить только от кого-то с закрытым ключом, который соответствует открытому ключу за адресом Ethereum. Это «волшебство» криптографии с открытым ключом.
Наконечник
В протоколе Ethereum нет шифрования - все сообщения, отправляемые в рамках работы сети Ethereum, могут (обязательно) быть прочитаны всеми. Таким образом, частные ключи используются только для создания цифровых подписей для аутентификации транзакций.
EtHash - алгоритмы майнинга, монеты, токены
Это утвержденная версия этой страницы, а также самая последняя.
Понравилась статья? Поделиться:
Ethash - это алгоритм Proof-of-Work для майнинга Ethereum. Ethash был разработан, чтобы быть устойчивым к ASIC за счет жесткости памяти и легко проверяемым.Обзор Ethash [править]
Ethash - это алгоритм майнинга Proof-of-Work , реализованный сетью Ethereum и криптовалютами на основе Ethereum.Ethash является преемником предыдущего алгоритма Ethereum под названием Dagger-Hashimoto и, по сути, является его обновлением. Однако текущие стадии разработки обоих алгоритмов сделали их слишком разными, чтобы их можно было считать одним и тем же алгоритмом.
Ethash использует алгоритмы хеширования «Keccak-256» и «Keccak-512», что приводит к некоторой путанице из-за одновременной разработки криптографических стандартов SHA-3 (Secure Hash Algorithm 3) вместе с разработкой Ethash.
SHA-3 является частью более обширного семейства криптографических примитивов под названием Keccak , которое также называют синонимом SHA-3.Иногда хеш-функции Ethash называют «sha3_256» и «sha3_512», но версия Ethereum Keccak не является стандартным алгоритмом хеширования SHA-3.
Ethash был разработан с упором на защиту от майнеров ASIC (Application Specific Integrated Circuits), но выдающаяся популярность Ethereum - основной криптовалюты на основе Ethash - привела к повышенному интересу разработчиков ASIC к производству майнеров, совместимых с Ethash. В конце концов, в апреле 2018 года Bitmain анонсировала первые ASIC-майнеры для Ethash.Однако сообщество проекта Ethereum решительно выступило против перспективы доминирования ASIC в сети, что привело к дискуссиям о «блокировке» устройств. С точки зрения оборудования для майнинга, «разборка» означает технологическое обновление сети, которое делает оборудование бесполезным или даже сломанным, если оно подключено к сети. Такие предложения вынуждали майнеров ASIC скрывать свое присутствие и снижать мощность хэширования своих устройств. Планы Ethereum по переходу технологии доказательства с доказательства работы на гибрид POW / POS (доказательство доли владения) делают разработку ASIC для Ethash очень рискованной для производителей.
Раннее развитие [править]
- Основная страница: Dagger-Hashimoto
Первоначальная версия Ethash была основана на алгоритме под названием Dagger Hashimoto - алгоритме, который был разработан путем объединения алгоритма Hashimoto от Thaddeus Dryja и 60 - Dagger алгоритм Виталик Бутерин . Он был разработан с учетом трех основных условий: устойчивость к ASIC, легкая проверка клиентов и хранение всей цепочки.
Dagger Hashimoto реализует подход Хашимото в доказательстве пропускной способности ввода-вывода, но не использует блокчейн в качестве набора данных, генерируя настраиваемый набор данных размером 1 ГБ, созданный с помощью алгоритма Dagger. Уязвимость Dagger в аппаратных преимуществах с общей памятью была устранена путем создания набора данных, используемого для запроса блока полупостоянным и обновления через некоторые заранее определенные интервалы времени. Эта корректировка почти полностью сократила усилия, необходимые для создания набора данных, и устранила предыдущую проблему оптимизации ASIC.
Майнинг Ethash может выполняться как с помощью CPU, так и GPU. Криптовалюты на основе Ethash различаются по своим требованиям к майнингу, поэтому в этой статье Ethereum будет использован в качестве примера как наиболее популярная из реализаций Ethash, а другие криптовалюты часто используют то же программное обеспечение для майнинга. Чтобы начать майнинг ETH, потребуется полностью синхронизированный клиент криптовалюты, который включен для майнинга, и как минимум одна учетная запись Ethereum. Для других криптовалют Ethash требуется кошелек или учетная запись в соответствующих сетях.
Майнинг на ЦП криптографии на основе Ethash теперь более прибыльный из-за почти в два раза более эффективных возможностей майнинга майнеров на GPU. Однако майнинг с использованием ЦП может использоваться для первых попыток майнинга или с целью создания некоторого количества монет для работы смарт-контрактов или для выполнения транзакций с криптовалютой в сети. Майнинг ЦП Ethereum выполняется с помощью клиента ETH под названием geth . Geth - это программа, которая соединяет сеть Ethereum с оборудованием майнера.Добытые монеты будут отправлены непосредственно на адрес майнерской базы монет в сети.
Майнинг на GPU - лучший вариант для Ethash. Однако важно помнить, что Ethash - это с жесткой памятью , и для каждого используемого графического процессора требуется как минимум 1-2 ГБ ОЗУ. Графические процессоры AMD обычно показывают лучшие результаты, чем продукты NVidia той же категории, ASIC и FPGA (программируемые вентильные массивы), которые в настоящее время поддерживают майнинг Ethash, неэффективны по сравнению с графическими процессорами и не одобряются сообществом. и разработчиками.Чтобы начать майнинг на GPU, необходимо загрузить Ethminer - майнер Ethash, разработанный командой Ethereum и подходящий для работы со всеми криптовалютами на основе Ethash, которые специально не блокировали эту возможность. Ethminer доступен в формах Eth (его интерфейс командной строки), AlethZero (его графический интерфейс) и EthMiner (автономный майнер).
также доступен для большинства криптовалют Ethash. Пулы часто требуют от майнеров оплаты некоторых сборов (в основном около 1-2% от дохода), но это по-прежнему остается лучшим вариантом для майнинга популярных криптовалют на основе Ethash с посредственным оборудованием.
Самым известным блокчейном на основе Ethash, очевидно, является сеть Ethereum. Ethash был разработан фондом Ethereum специально для построения на его основе собственной сети. Первый блокчейн был разветвлен после того, как Dao был взломан из-за своей уязвимости, связанной со смарт-контрактами, и разделился на два разных блокчейна со своими собственными криптовалютами - Ethereum (ETH) и Ethereum Classic (ETC). Ethereum classic, первый блокчейн, основанный на Ethash, больше не разрабатывается исходной командой Ethereum и поддерживается компанией-разработчиком Ethereum Classic.
Ethereum - основная платформа для создания токенов и децентрализованных приложений с собственными криптовалютами. Augur, Binance Coin, Bytom, Status и многие другие криптовалютные проекты основаны на техническом стандарте Ethereum ERC 20 и де-факто используют Ethash в качестве алгоритма доказательства работы. Однако лишь некоторые из токенов ERC 20 пытались добыть. Таким образом, все упомянутые валюты не только сильно зависят от блокчейна Ethereum, но также не работают с точки зрения обслуживания блокчейна без него.
Согласно CoinGuides.org, независимые криптовалюты с их собственным блокчейном на основе Ethash с возможностью майнинга криптовалют включают следующие проекты, ранжированные по популярности:
- Метавселенная (ETP)
- Expanse (EXP)
- Musicoin (МУЗЫКА)
- Эллаизм (ELLA)
- Элементрем (ELE)
- DaxxCoin (DAXX)
Источники:
См. Также на BitcoinWiki [править]
Зачем менять алгоритм доказательства работы Ethereum Classic на Keccak-256 (SHA3) | кооперативом ETC | ETC Cooperative
Почему Ethereum Classic должен переключаться на алгоритмы майнинга
Ethereum Classic подвергся атаке 51% в январе 2019 года и еще 3 атакам 51% в третьем квартале 2020 года, которые привели к многомиллионным убыткам из-за двойных расходов и простоев обслуживания.В то время как на крупных биржах наблюдались двойные траты, Ethereum Classic находился в потоке для исключения из списка, и некоторые пулы для майнинга просто удалили свою службу ETC. В ответ на первую атаку 51% Алекс Цанков предложил Ethereum Classic изменить свой алгоритм PoW на Keccak-256, который указан в ECIP-1049 [1].
Keccak выиграл конкурс Национального института стандартов и технологий (NIST) и стал официальным алгоритмом Sha-3 в октябре 2012 года [2]. Каждая из функций Sha-3 основана на экземпляре алгоритма Keccak [3].Keccak был выбран в качестве официальной функции Sha-3 по нескольким из следующих причин:
- Элегантный дизайн и ясность конструкции.
- Способность хорошо работать на разных вычислительных устройствах.
- Более высокая производительность оборудования, чем у Sha-2.
- Обеспечивает страховку на случай поломки Sha-2.
- Ша-3 не похож на Ша-1 и Ша-2.
Когда Ethereum был запущен в июле 2015 года [4], Sha-3 использовался в Ethash и в функциях виртуальной машины Ethereum (EVM) для создания хэшей для учетных записей, блоков, транзакций и т. Д. Однако NIST внес незначительные изменения к алгоритму Sha-3 в мае 2014 года [5], а официальный стандарт Sha-3 был обновлен в августе 2015 года [6].Этот новый стандарт Sha-3 производил хеши, отличные от ранее признанной версии, используемой Ethereum. Версия Sha-3 в Ethereum больше не была стандартом Sha-3, а обновленный стандарт Sha-3 производил хеши, отличные от хэшей Sha-3 в Ethereum.
Чтобы избежать путаницы между версией Sha-3 Ethereum и официальным стандартом Sha-3, сообщество Ethereum начало называть его версию Sha-3 как «Keccak-256». Итак, когда мы говорим о «Sha-3» в Ethereum, на самом деле мы имеем в виду «Keccak-256».
Ethereum запущен с алгоритмом Ethash PoW, который основан на Keccak-256 с дополнительными функциями Dagger [7] и Hashimoto [8]. Почему это был не просто Keccak-256? Итак, Ethereum был основан с намерением перейти на систему Proof of Stake, и эта повестка дня была разработана с самого начала. Как недавно сказал Виталик, «большая часть сообщества [Ethereum] рассматривала Proof of Stake и Sharding как часть социального контракта в 2015 году или потенциально раньше [9]». У Ethash были две особенности, которые преднамеренно заставляли протокол переходить на PoS.Это ледниковый период и сопротивление ASIC.
Ледниковый период Ethereum - это схема сложности, которая увеличивает сложность до такой степени, что майнеры не могут справиться с ней и увеличивают время блока до точки, при которой блокчейн зависает. Как говорится в желтой бумаге Ethereum:
В выпуске Homestead сложность заключалась в том, чтобы медленно увеличиваться (каждые 100000 блоков) с экспоненциальной скоростью, тем самым увеличивая разницу во времени блоков и создавая давление при переходе на доказательство ставки. .Этот эффект, известный как «бомба сложности» или «ледниковый период» [10]…
PoS Ethereum еще не наступил, в то время как сложность продолжала расти, что Ethereum исторически задерживало ледниковый период, очевидный в EIP-649 [11] . Ethereum Classic, теперь сеть идентификации PoW, осознала, что ледниковый период неосуществима для ее PoW, и приняла ECIP-1041, чтобы удалить бомбу сложности [12].
Желтая бумага Ethereum придерживается более враждебного подхода к ASIC:
Одна из бед биткойн-мира - это ASIC.Это специализированные части вычислительного оборудования, которые существуют только для выполнения одной задачи (Smith [1997]). В случае Биткойна задачей является хэш-функция SHA256 (Courtois et al. [2014]) [12]
Однако сопротивление ASIC строится на ложной предпосылке, которая оценивает стоимость акций как номинальную, но не выдерживает на практике. У вас всегда будут компьютерные микросхемы, которые помогут выполнять задачи быстрее, безопаснее и эффективнее. Ethash требует наличия микросхем помимо требований к памяти.Итак, не будет ли здесь целью эффективность? Ну, нет, если ваша цель - PoS.
Повестка дня Ethereum PoS требовала сопротивления ASIC, потому что ASIC предназначены для PoW, который конкурирует с повесткой дня PoS. Попытка Ethash отложить использование ASIC до тех пор, пока PoS не сработает, поскольку сейчас на рынке появилось множество ASIC, задолго до PoS.
Пока существуют ASIC Ethash, была попытка уменьшить их долю в сети, и руководство команды ProgPoW не могло объяснить это лучше, чем в Discord Ethereum Classic:
Единственная причина, по которой рассматривается ProgPoW, - это для защиты повестки дня Ethereum PoS.
Programmable Proof of Work (ProgPoW), первоначально называвшаяся Progressive Proof of Work, представляла собой алгоритм PoW, предложенный на ETH для сокращения разрыва в эффективности между ASIC и GPU [13]. Хотя закрытие пробелов и прогрессирование можно продать, это предложение было политическим, а не техническим дебатом, потому что ProgPoW просто начал бы новый цикл продления ASIC, чтобы выиграть время для повестки дня Ethereum PoS.
Необходимость переключения алгоритма PoW связана с долгосрочной сетевой безопасностью.
Сеть ETC подверглась атаке на 51%, поскольку это сеть меньшинства, и стоимость атаки на сеть была незначительной. Например, атака 31 июля 2020 года обошлась злоумышленнику в 17,5 BTC (170 тысяч долларов), чтобы обмануть сеть в течение 12 часов [14], и каждая из трех атак 51% в 2020 году реорганизовала тысячи блоков.
Атаки 51%, или атаки большинства, являются частью PoW, но когда вы относитесь к меньшинству, вы теряете предположения безопасности консенсуса PoW. ETC не только уязвима для большинства цепочек ETH, но также уязвима для других сетей, адаптированных к оборудованию общего назначения, которое можно включить в ETC.
Путем переключения алгоритма PoW ETC может стать основной цепочкой в своем соответствующем алгоритме и восстановить предположения безопасности консенсуса PoW. На сегодняшний день не существует большинства PoW-сетей, доминирующих в своем классе оборудования, которые были бы успешно атакованы на 51% [15].
Клиент Core-geth, который имеет подавляющее большинство узлов в сети, в настоящее время имеет решение MESS в сети в попытке избежать большинства атак, в то время как Besu и Mantis, вероятно, увидят более надежное решение Checkpointing, которое ранее проверено [16] .Однако все эти решения временно нарушают консенсус PoW - по иронии судьбы избегают основного вектора атаки PoW. Итак, если мы хотим избавиться от костылей, ETC необходимо добиться статуса большинства, и Keccak-256 является наиболее популярным выбором.
Конечно, ETC может использовать любой другой алгоритм, который не принят на рынке, чтобы стать основным алгоритмом в соответствующем PoW, но есть несколько причин, по которым Keccak-256 выделяется.
- Собственный: Keccak-256 - это собственный алгоритм, используемый в Ethereum Classic и других платформах Ethereum.В то время как другие платформы Ethereum не используют Keccak-256 для своих PoW, они используют его в EVM, обеспечивая больше возможностей взаимодействия.
- FlyClients: с полным PoW у основных разработчиков было бы больше возможностей предоставить сообществу FlyClients, которые могут проверять PoW за один шаг. FlyClients могут быть в 6000 раз эффективнее, чем нынешний статус-кво.
- Разработчики Dapp: разработчики имеют доступ к функции keccak256 (), которая позволяет смарт-контрактам эффективно вычислять хэш заданного ввода.
- Специально созданная: рынок и сообщество ETC идентифицируют ETC как сеть Proof of Work. Тем не менее, Ethereum Classic унаследовал алгоритм Ethash, специально разработанный для перевода сети на PoS, и конструкция построена на ложной предпосылке сопротивления ASIC и театра акций. Если бы Ethereum был основан на PoW, то Dagger-Hashimoto не понадобился бы поверх текущего Keccak-256 в алгоритме Ethash.
- Криптографическая стандартизация: Keccak-256 (Sha-3) стал победителем конкурса Sha-3 NIST, и незначительные изменения параметров в обновленном стандарте Sha-3 не нарушают всех преимуществ Sha-3.
- Быстрее: Keccak-256 намного быстрее Ethash.
- Более эффективный: Keccak-256 - это просто алгоритм хеширования, не требующий от оборудования огромных требований к памяти или дага, ожидающего использования. Процессоры, FPGA, ASIC и графические процессоры могут майнить на Keccak-256. Вполне возможно, что экосистема майнинга может стать наравне с Биткойном, где в майнинге преобладает специализированное оборудование.
- Повышенная безопасность: Sha-3 является последним членом семейства стандартов Secure Hash Algorithm и сертифицирован Федеральными стандартами обработки информации (FIPS).Ethash не является сертифицированным алгоритмом.
- Повышенная производительность: Sha-3 хорошо документирован, и доступны проекты оборудования с открытым исходным кодом. Основные полупроводниковые компании создают микросхемы, которые проверяются на соответствие алгоритмов семейства Sha, и Keccak-256 будет работать с большинством современных микросхем.
- Встроенные устройства: Благодаря своей компактности и эффективности вычисления Sha-3 хорошо работают во встроенных системах.
- Сниженный риск несоблюдения: соглашения о программном обеспечении могут иметь сложные критерии соответствия, а аудит соответствия может занять много времени или просто нарушить условия сделки.Наличие стандартизированной криптографической хеш-функции снизило бы риск несоблюдения требований, поскольку Keccak-256 (Sha-3) пользуется доверием правительственных организаций и был тщательно проверен, чтобы занять свое место в семействе Sha. Хотя ETC может изменить свой алгоритм на Keccak-256, также может быть добавлена поддержка vanilla Sha-3, что расширит его поддержку как Keccak-256, так и новейшего алгоритма Sha-3.
- ECIP- 1049: Измените алгоритм ETC Proof of Work на Keccak256 https: // ecips.ethereumclassic.org/ECIPs/ecip-1049
- NIST выбирает победителя конкурса алгоритмов безопасного хеширования (SHA-3) https://www.nist.gov/news-events/news/2012/10/nist-selects-winner- secure-hash-algorithm-sha-3-Competition
- Стандарт SHA-3: хеширование на основе перестановок и функции расширяемого вывода https://www.nist.gov/publications/sha-3-standard-permutation-based-hash -and-extension-output-functions
- Запуск Ethereum https://etherscan.io/block/0
- Федеральный стандарт обработки информации (FIPS) 202 https: // www.Federalregister.gov/documents/2014/05/28/2014-12336/announcing-draft-federal-information-processing-standard-fips-202-sha-3-standard-permutation-based
- NIST выпускает криптографический хэш Sha-3 Стандартный https://www.nist.gov/news-events/news/2015/08/nist-releases-sha-3-cryptographic-hash-standard Кинжал
- : память трудно вычислить, память легко проверить Альтернатива Scrypt http://www.hashcash.org/papers/dagger.html
- Хашимото: подтверждение работы с привязкой к вводу-выводу https: //web.archive.org / web / 20170810043640 / https: //pdfs.semanticscholar.org/3b23/7cc60c1b9650e260318d33bec471b8202d5e.pdf
- Значительная часть сообщества [Ethereum] сочла доказательством ставки… - Виталик t = 1520
- Желтая книга Ethereum https://ethereum.github.io/yellowpaper/paper.pdf
- EIP-649: Задержка бомбы сложности в мегаполисе и снижение вознаграждения за блок https://eips.ethereum.org/EIPS/eip -649
- ECIP 1041: Удалить бомбу сложности https: //ecips.ethereumclassic.org / ECIPs / ecip-1041
- ProgPoW https://github.com/ifdefelse/ProgPOW
- Цепная атака 51% Ethereum Classic 31 июля 2020 г. https://bitquery.io/blog/ethereum-classic-51-chain -attack-july-31-2020
- Как Coinbase рассматривает безопасность доказательства работы https://blog.coinbase.com/how-coinbase-views-proof-of-work-security-f4ba1a139da0
- Сравнение ECIP для атаки 51% Сопротивление https://static.iohk.io/docs/etc/ecip-comparison-for-51-attack-resistance.pdf
Объяснение алгоритма Ethereum - Mycryptopedia
Объяснение алгоритма EthereumEthereum - это платформа с открытыми технологиями на основе блокчейна, которая позволяет людям разрабатывать и запускать децентрализованные приложения (также известные как децентрализованные приложения).Это стало возможным благодаря функциональности смарт-контрактов, которыми обладает платформа Ethereum. Собственным активом для блокчейна Ethereum является эфир, который функционирует как плата каждый раз, когда в сети Ethereum производятся вычисления. Эфир также играет важную роль в процессе майнинга доказательства работы Ethereum, выступая в качестве механизма финансового стимулирования, который побуждает майнеров защищать сеть. В основе Ethereum лежит алгоритм Ethereum для доказательства работы майнинга, который представляет собой алгоритм хеширования Ethash.
Подтверждение работыБлокчейн Ethereum поддерживается распределенной сетью узлов, и для того, чтобы узел добавил блок в цепочку блоков, он должен пройти процесс майнинга Ethereum, подтверждающий его работу. Этот процесс требует, чтобы майнер извлекал данные из заголовка блока для формирования ввода, а затем многократно хешировал этот ввод с помощью алгоритма криптографического хеширования, пока не было получено выходное хеш-значение фиксированной длины. Майнеры хешируют варианты входных данных, включая одноразовый номер.Одноразовый номер - это произвольное число, которое изменяет входные данные таким образом, чтобы можно было найти правильный вывод, который позволяет майнеру добавить новый блок в цепочку блоков. Алгоритм Ethereum, Ethash, - это алгоритм хеширования, который используется в этом процессе майнинга доказательства работы.
Алгоритм Ethereum: EthashEthash - это алгоритм доказательства работы Ethereum, который является измененной версией предыдущего алгоритма доказательства работы, Dagger-Hashimoto. Фиксированный вывод, который создается в процессе хеширования, чтобы узел мог добавить блок в цепочку блоков Ethereum, должен иметь значение ниже определенного порога.Это известно как сложность сети и включает в себя автоматическое увеличение или уменьшение этого порога. Функциональность сложности сети существует, чтобы можно было контролировать скорость добычи блоков в сети Ethereum. Если майнеры производят много хеш-значений, которые падают ниже порога, установленного сетью (что означает, что добывается много блоков), тогда сеть будет увеличивать сложность сети, то есть порог будет снижен. Это означает, что количество допустимых значений хеш-функции, которые можно обнаружить, также падает.Напротив, если частота блоков, обнаруживаемых в сети, уменьшается, то сетевой порог будет повышаться, чтобы генерировать большее количество действительных хэшей, которые могут быть найдены. В случае алгоритма Ethereum сложность сети динамически регулируется, так что в среднем один блок генерируется каждые 12 секунд.
Майнер, участвующий в процессе майнинга, который успешно обнаруживает блок, имеет право на следующее:
- Награда за блок в 3 эфира.
- Весь газ, который был израсходован при выполнении всех транзакций в блоке.
- Дополнительная награда за включение дядей в блок. Майнеры, которые включают дядей в блок, получают 2,625 эфира.
Ethash основан на случайно сгенерированном наборе данных, который называется DAG, что означает «направленный ациклический график». DAG Ethereum обновляется каждые 30 000 блоков в цепочке блоков. Размер DAG Ethereum на момент написания в настоящее время составляет 2,91 ГБ. Эта цифра будет продолжать расти по мере увеличения размера блокчейна Ethereum.
Доказательство работающего майнинга на алгоритме Ethereum, Ethash, требует извлечения частей случайных данных из DAG, хеширования случайно выбранных транзакций из любого блока в цепочке блоков и последующего возврата результата процесса хеширования. Таким образом, для того, чтобы человек мог майнить на Ethereum, он должен будет хранить весь DAG, чтобы иметь возможность извлекать данные и вычислять выбранные транзакции. Эта настройка майнинга на Ethereum является «жесткой для памяти», а «жесткая для памяти» - это термин, который относится к ситуации, когда время, необходимое для выполнения вычислений, в значительной степени зависит от объема памяти, необходимого для хранения данных.
Результатом структуры майнинга Ethereum является то, что майнер тратит больше времени на чтение DAG, а не на выполнение вычислений, которые извлекаются из него. Это специально разработанная архитектура, которая нацелена на обеспечение устойчивости майнинга на ASIC (интегральная схема для конкретного приложения) Ethereum. Требование наличия большого объема памяти во время процесса майнинга означает, что такие организации, как майнинговые фермы, мало выигрывают от загрузки терабайтов памяти в свои майнинговые устройства.Крупномасштабные майнеры получают небольшую выгоду от этого, потому что более мелкие майнеры могут аналогичным образом также покупать терабайты памяти, поскольку затраты энергии на память, потребляемую крупномасштабным майнером и меньшим майнером, сопоставимы.
.