Как мемпул включается в расчет хэша блока?

Итак, я читал о том, как вычисляется одноразовый номер. Есть одна часть, которую я не понимаю. Итак, есть мемпул, и каждый узел (или узел майнинга) берет часть (или всю часть) этого мемпула, вычисляет корень меркла и комбинирует его с одноразовым номером, чтобы получить хэш определенного уровня сложности.

Мемпул (или его часть) сначала преобразуется в хеш программным обеспечением для майнинга, а затем входит в вычисление одноразового номера?

Существуют ли требования к порядку транзакций при майнинге блока?

Могут ли узлы выбирать порядок транзакций в блоке? Свободен ли узел выбирать любой порядок транзакций, который он хочет, или он должен выбираться в хронологическом порядке?

(не стесняйтесь редактировать вопрос, я попытался объяснить это как можно лучше)

Ответы (1)

Каждый узел в сети имеет файл mempool. mempoolСодержит неподтвержденные транзакции . Каждый из них mempoolможет немного отличаться, поскольку они составляют подмножество всех неподтвержденных транзакций в сети: некоторые из них могли не быть переданы узлу, поэтому он не знает о них, владелец узла установил более высокий уровень minTxRelayFeeи отфильтровал некоторые транзакции с низкая комиссия, или владелец узла установил меньший лимит данных для своего домена mempool.

В любом случае, все вышесказанное верно и для любой майнерской ноды. Когда майнеры пытаются найти блок, они выбирают набор транзакций для подтверждения из своих файлов mempool. Из этих транзакций они строят дерево Меркла. Дерево Меркла позволяет представить все данные транзакции только корнем Меркла . Этот корень Merkle является частью заголовка блока.
Майнеры могут свободно выбирать, какие транзакции включать, и они также могут размещать их в любом порядке, который они хотят, при условии, что транзакции действительны. Поскольку сейчас для подтверждения доступно больше транзакций, чем места в блоке, майнеры обычно выбирают транзакции, которые максимизируют комиссию, которую майнер может заработать.

Итак, майнеры выбрали несколько транзакций и создали для них дерево Меркла. Они объединяют это с другими частями заголовка блока: отметкой времени, ссылкой на предыдущий блок, описанием сложности и расширением nonce. Это nonceпроизвольное число, поэтому майнеры могут построить блок-кандидат со всеми остальными данными, а затем много раз попробовать этот кандидат, циклически перебирая все возможные значения одноразового номера.
При каждой попытке они помещают заголовок блока в алгоритм хеширования и получают дайджест или хэш данных. Если этот хеш удовлетворяет заявлению о сложности, майнер нашел новый блок и передаст его в сеть.