BTC $ 4045.35334733 (-0.32 %)
ETH $ 140.118726726 (-1.19 %)
XRP $ 0.3185271944 (-0.32 %)
LTC $ 60.7243918716 (-2.43 %)
EOS $ 3.7564840984 (-1.18 %)
BCH $ 161.632916437 (-2.15 %)
XLM $ 0.1153794758 (4.06 %)
BNB $ 15.6135861377 (-1.52 %)
USDT $ 1.01192595 (0.25 %)
TRX $ 0.0230762207 (-1.28 %)

Метод хеширования в Эфириуме под названием Ethash

20:45 10/01/2019
Метод хеширования Ethash в сети Эфириум

Введение

 

По сравнению с Биткоином, Эфириум обладает множеством новых особенностей. Некоторые свойства, унаследованные им от Биткоина, были улучшены. Одни были частично модифицированы (например, адреса), а другие (такие как алгоритмы хеширования) — полностью заменены.

 

Что касается хеширования, Биткоин по-прежнему использует метод SHA256, тогда как Эфириум внедрил алгоритмы Keccak256 и Ethash. Целевые области для этих двух методов — сжатие адресов, связь между блоками и майнинг.

 

Keccak и Ethash

 

Поскольку алгоритмы Keccak и Ethash имеют отличные друг от друга свойства, применяются они в разных процессах. Основной алгоритм хеширования в Эфириуме называется Keccak, который работает как «губка»: собирает данные и распространяет результат, основываясь на всех предыдущих обработках информации. Такой метод привносит значительную гибкость в систему и может рассматриваться как псевдослучайность. Keccak используется во многих областях, за исключением майнинга.

 

Подробности о методе Ethash

 

Ethash используется исключительно для майнинга. Такой подход был выбран по следующим причинам:

 

 Алгоритм майнинга должен быть устойчив к ASIC. Для достижения этой цели алгоритм был разработан так, чтобы использовать максимум памяти.

 Алгоритм майнинга должен быть максимально совместим с GPU-устройствами. К сожалению, CPU не может быть использован как основная цель, а GPU — достаточно сбалансированное решение.

 Новые блоки должны быстро подтверждаться на легких клиентах (также известных, как легкие ноды).

 Новые блоки должны медленно обрабатываться на легких клиентах.

 Легкие клиенты должны приступать к работе как можно быстрее.

 

В целом алгоритм Ethash состоит из следующих шагов:

 

  1. Сканирование заголовков блоков позволяет сформировать seed.
  2. После нахождения seed, он становится источником 15 Мб псевдослучайного кэша. Он также хранится на легких клиентах.
  3. Кэш является источником 1 Гб данных. Они состоят из многих частей, каждая из которых зависит лишь от части кэша. Эти данные хранятся только внутри майнящих и полных клиентов.
  4. Случайные единицы данных берутся и обрабатываются хешем для майнинга. В случае необходимости может храниться только кэш для генерации хэша на лету.

 

Этот алгоритм является измененным методом Dagger-Hashimoto. Он был значительно переработан 23 раза. Номер блока определяет размер кэша и размер подсчитанных данных. Несмотря на это, их рост линеен. Применяемая агрегация данных использует функцию, основанную на FNV, вместо обычного логического оператора XOR. У нее есть два основных отличия. Во-первых, она не криптографическая, была разработана для использования при подтверждении контрольной суммы и быстрого построения хэш-таблиц. Как следствие, она считается более быстрой. Во-вторых, она применяется с легкостью.

Подробности о методе Ethash

Больше подробностей о этапах расчета кэша, основных данных, майнинга и всего остального описаны и разъяснены на соответствующей веб-странице. Некоторые расчеты проводятся с помощью основного метода кодировки для сериализации объектов на Эфириуме под названием Recursive Length Prefix.

 

Послесловие

 

Эфириум — это очень интересное решение среди всех остальных криптопроектов. Большинство представленных сообществу предложений — просто копии Биткоина с минимальными изменениями в коде. Эфириум же предлагает абсолютно новый подход ко многим криптокомпонентам. Сегодня мы детально рассмотрели один из двух методов хэширования, но существует множество других деталей, достойных упоминания. О них мы поговорим в следующих статьях.

Нашли ошибку? Выделите её и нажмите Ctrl + Enter чтобы сообщить администратору.

Самые актуальные новости о криптовалютах и блокчейне. Прочтите первым!

Зачем мне это?

Загрузка...