Pages:
Author

Topic: Разбор блока Биткоина - page 2. (Read 238 times)

member
Activity: 532
Merit: 21
Неужели никому не интересно? Все заняты только зарабатыванием токенов на баунти, а копнуть поглубже, разобраться в той сфере, на чём зарабатываете, никто не хочет.
member
Activity: 532
Merit: 21
     Многие знают и помнят, что блок биткоина - это базовая составляющая его блокчейна, так сказать, одно из звеньев в длинной цепочке.
Но, вероятно, даже некоторые старожилы форума, а тем более новички плохо ориентируются в терминологии и составляющих заголовка блока. Именно в заголовке блока находится вся основная важная иформация о нём и обо всём блокчейне в целом, хотя большую часть его памяти занимает список транзакций, в него включённых.
  
Итак, разберём блок биткоина на примере блока, присоединённого сегодня, 02.05.2018 года:

Все параметры из рисунка будут рассмотрены ниже и выделены жирным шрифтом.

Блок в блокчейн добавляют майнеры за награду. Первоначально награда была 50 BTC, но для поддержания дефицита, награда за блок уменьшается каждые 210.000 блоков или, примерно, каждые 4 года. На данный момент награда составляет 12.5 BTC , уменьшение произойдёт в 2020 году до 6,25 BTC.
Что же вычисляют майнеры, за что получают биткоины? Про это нам расскажет сам заголовок блока.

Как видим из рисунка выше, на нём присутствует некое число Nonce. Именно это таинственное число и ищут майнеры по всему миру. Нужно подобрать такое числовое значение Nonce , чтобы Hash нового блока, записываемый в его заголовок,  начинался с определённого числа нулей или просто был меньше заранее заданного значения Target, которое мы рассмотрим ниже.
Именно те майнинговые пулы, которые первыми вычислят число Nоnce и имеют право добавить полученный блок в блокчейн и получить за это 12,5 BTC.

Difficulty - параметр, определяющий сложность майнинга, то есть сложность нахождения числа Nonce:


Первоначально при запуске сети биткоина в 2009 году сложность была минимально возможной и равнялась 1. Между тем, число Target обратно пропорционально сложности, оно как раз наоборот, первоначально было максимально возможным, и постепенно уменьшается, снижая диапазон верных значений для нахождения Nonce.
Сложность Difficulty введена для регулирования скорости добычи блока при всё возрастающем количестве вычислительных мощностей, и регулируется таким образом, чтобы новый блок находился примерно за 10 минут. Для этого производится пересчёт сложности каждые 2016 блоков, 2 недели или 20160 минут.
Для вычисления новой сложности находят сначала поправочный коэффициент, для этого делится время, которое должно быть затрачено на нахождение блоков за эти 2 недели, то есть 20160 минут, на реально потраченное время, которое почти всегда меньше необходимого из-за всё возрастающих мощностей, поправочный коэффициент, соответственно почти всегда выше предыдущего по той же причине. Далее старая сложность умножается на поправочный коэффициент - это и будет новая сложность Difficulty: Сложннов. = Сложн.стар.*20160/реал.потр..

Каждые 2 недели вместе со сложностью пересматривается также и обратное ей число Target. Для этого максимально возможное число Target делят на новую сложность. Так как сложность в основном увеличивается, соответственно Target уменьшается, усложняя задачу майнерам, так как теперь нужно подобрать такое число, чтобы на выходе получилось число ещё меньшее ( меньшее или равное новому значению числа Target), чем прежде, то есть вариантов искомых значений становится меньше. Формула расчёта нового числа Target:  Target = Max Target /Сложн.нов..

Мы разобрали основные параметры блока, определяющие всю структуру блокчейна. Далее разберём оставшиеся параметры и значения:

Number Of Transactions - количество транзакций, записанных в блоке.

Transaction Fees - суммарные комиссии майнерам за все транзакции, включённые в блок.

Estimated Transaction Volume - примерный объём транзакций.

Height - номер блока в блокчейне.

Timestamp - временная метка записи блока .

Relayed By - пул, включивший данный блок в блокчейн.

Bits - формат записи числа Target.

Size - размер блока.

Version - версия блокчейна биткоина, не менялась со времени его создания.

Weight - вес блока SegWit.

Hash - хеш заголовка нового блока.

Previous Block - хэш предыдущего блока.

Next Block(s) - хэш для следующего блока.

Merkle Root - хэш транзакций текущего блока, рассчитанный с использованием алгоритма, имеющего название  дерево Мёркла.

Надеюсь, эта информация будет вам полезной. Старался писать понятным и простым языком, чтобы было наиболее доступно всем.

P.S. С некоторыми понятиями я ещё до конца не разобрался, так что строго не судите. Если кто знает пишите, дополняйте.
Pages:
Jump to: