Майнинг в сети Ethereum существенно отличается от принципов, на основе которых работает Биткоин, хотя тоже использует для нахождения блоков принцип доказательства работы (Proof-of-Work). Управление сложностью вычислительной задачи, как и в Биткоин, зависит от совокупного хешрейта сети. Однако сама степень сложности значительно снижена, поэтому на создание блока Ethereum требуется гораздо меньше времени. В настоящий момент среднее время создание блока в сети Ethereum составляет около тринадцати секунд – по сравнению с десятью минутами в сети Биткоин. То есть пока в сети Биткоин создается один блок, в Ethereum их будет около пятидесяти. Это привело к тому, что база блоков и транзакций сети Ethereum уже сопоставима по размеру с базой Биткоина, и это несмотря на то, что сеть Ethereum возникла на шесть с половиной лет позже, чем проект, положивший начало блокчейн-индустрии. Для расчетов внутри сети, в том числе для оплаты транзакционных комиссий и формирования вознаграждения за майнинг, используется криптовалюта под названием «эфир» (Ether). В случае, когда сложность поиска валидного хеша при майнинге относительно невысока, блоки в сети создаются довольно быстро. А значит, и величина вознаграждения за майнинг пропорционально невелика и совершенно несопоставима по ценности с премией для создателей блоков в сети Биткоин.

Описывая принципы децентрализованного майнинга в сети Биткоин, мы рассматривали ситуацию коллизии в случае, если разные узлы находят блоки в пределах десятиминутного временного интервала. Образующиеся при этом ответвления в цепочке блоков в конечном итоге должны быть отброшены сетью в пользу более длинной цепочки. Похожий принцип используется и в сети Ethereum. Однако из-за того, что блоки в ней создаются почти в пятьдесят раз быстрее, ситуация с возникновением конкурирующих найденных блоков встречается примерно во столько же раз чаще. Поэтому сеть Ethereum почти всегда находится в состоянии, при котором у нее имеются альтернативные цепочки, угрожающие целостности сети, так что постоянно надо делать выбор в пользу более ценного для системы ответвления. В Ethereum для этого используется протокол GHOST (Greedy Heaviest Observed Sub Tree – «жадное и наиболее весомое из известных ответвлений»). Он отдает предпочтение тем ответвлениям с блоками, на добычу которых было затрачено больше вычислений.

Исходя из того, что конкурирующие блоки довольно часто создаются почти одновременно, возникает вопрос, как вознаграждать майнеров. Если поощрять только одного майнера-победителя, тогда для остальных, также нашедших блок, это станет существенной демотивацией. Поскольку майнеры-конкуренты проводят столь же сложную вычислительную работу, создатели системы решили, что будут выделять часть вознаграждения еще максимум двум параллельно найденным, но не принятым сетью блокам. Такие блоки назвали uncles (от английского uncle – «дядя»), поскольку они являются родственными в силу общего «блока-предка». Майнеры, их создавшие, также получают определенную премию, хотя и меньшую, чем те, которые создают блок, принятый сетью как истинный, – для этого существует специальная формула распределения вознаграждения.

Сама непосредственная процедура майнинга эфиров также отличается от проекта Биткоин. В сети Ethereum используется совершенно иной алгоритм поиска валидных хешей, который разработчики назвали Ethash. Проблема исключительного расхода электроэнергии на добычу биткоинов всегда вызывала озабоченность у создателя проекта Ethereum Виталика Бутерина. Поэтому он решил бороться с чрезмерным увеличением совокупного хешрейта в своем проекте, и в первую очередь – с использованием для майнинга устройств ASIC. В связи с этим было принято решение об усложнении алгоритма перебора хешей до уровня, при котором потребовалось бы существенно больше оперативной памяти, чем алгоритму SHA-256, используемому в сети Биткоин.

Перейти на страницу:

Поиск

Похожие книги