BTC $ 12968.8606065 (2.2 %)
ETH $ 310.728580017 (-1.9 %)
XRP $ 0.3948947274 (-2.24 %)
BCH $ 417.206439811 (-1.89 %)
LTC $ 118.863583399 (-3.4 %)
EOS $ 5.8580554873 (-2.46 %)
BNB $ 31.8970974961 (-4.93 %)
USDT $ 0.9998418267 (-0.57 %)
BSV $ 203.534927004 (-2.65 %)
TRX $ 0.0337806644 (-1.16 %)

Метод хеширования в Эфириуме под названием 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 чтобы сообщить администратору.

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

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

Загрузка...