Транзакции, используемые для формирования блока

Я прочитал руководство для разработчиков (bitcoin.org/en/developer-guide), спросил нескольких коллег и до сих пор не понимаю, как транзакции используются для формирования блока.

Я понял, что транзакции используются для формирования дерева Меркла. Все ли люди, добывающие следующий блок, используют одни и те же транзакции для формирования дерева Меркла?

Допустим, в сети Биткойн есть транзакции A, B, C, X, Y и Z. Все они неподтвержденные.

Я занимаюсь майнингом транзакций ABC, а вы майнингом XYZ. Если да, то если я найду блок, содержащий ABC, буду ли я майнить транзакции XYZ?

Если я найду блок, вам придется проверить, какие транзакции были включены мной в блок, прежде чем формировать следующее дерево меркла, верно? Если нет, вы можете снова использовать, например, транзакцию B, которая уже была подтверждена мной.

anonimou, я попытался уточнить ваш вопрос. Если я изменил цель вашего вопроса, не стесняйтесь использовать функцию «отката». (Это в истории изменений.)
Ник, Спасибо!! Я думаю, что своим изданием вы как бы задали мой вопрос. Я не был уверен, ДОЛЖНЫ ли транзакции, используемые для майнинга, БЫТЬ одинаковыми для всех людей, которые занимались майнингом в одно и то же время, или они могли быть разными (я работаю над A, B, C, а вы над X, Y, Z, Например). Спасибо!!

Ответы (1)

Все ли люди, добывающие следующий блок, используют одни и те же транзакции для формирования дерева Меркла?

Нет. Это может произойти из-за того, что майнеры по-разному выбирают транзакции (я говорю, что бесплатных транзакций быть не должно!) или из-за того, что о транзакции известно только 90% сети.

Я занимаюсь майнингом транзакций ABC, а вы майнингом XYZ. Если да, то если я найду блок, содержащий ABC, буду ли я майнить транзакции XYZ?

Это зависит от того, почему вы не включили XYZ в свой первый блок.

  • Если вы не включили их, потому что не знаете о них, то и не будете.
  • Если вы не включили их, потому что они не платили достаточно сборов, то вы могли бы.
  • Если вы не включили их, потому что в блоке не хватило места, то вы, вероятно, это сделаете.

Если я найду блок, вам придется проверить, какие транзакции были включены мной в блок, прежде чем формировать следующее дерево меркла, верно? Если нет, вы можете снова использовать, например, транзакцию B, которая уже была подтверждена мной.

Да. Клиенты для майнинга загружают и полностью проверяют блоки перед майнингом поверх них.