Эгоистичный майнинг: устаревший или сиротский?

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

Разве мы не имеем в виду устаревшие блоки, когда говорим в контексте эгоистичного майнинга?

Несмотря на ответ Питера Вуилле на аналогичный вопрос , я не уверен, какой тип будет применяться к блоку за пределами лучшей цепочки в эгоистичном сценарии майнинга.

Вот выдержка из ответа Питера:

Однако существуют и настоящие сиротские блоки, где сиротство имеет исходное значение «не имеющий родителя». Это блоки, полученные узлом, который еще не имеет полного предка и, следовательно, не может быть проверен. Узлы сохраняют такие блоки в памяти, при этом просят своих пиров заполнить пробел в своей истории. Клиент их не показывает, поэтому, когда люди говорят о блоках-сиротах, они, скорее всего, имеют в виду вымершие блоки. Обратите внимание, что начиная с Bitcoin Core v0.10 таких блоков-сирот больше нет из-за значительного изменения механизма загрузки.

Кроме того, я хотел бы знать, удаляются ли и какие из устаревших или потерянных блоков из истории? И в какие промежутки времени, если да?

Ответы (1)

Разве мы не имеем в виду устаревшие блоки, когда говорим в контексте эгоистичного майнинга?

Вы всегда имеете в виду устаревшие блоки, а не потерянные.

Сиротский блок — это тот, который вы не можете подключить к своей локальной сети, потому что вам не хватает родителя, в текущей версии программного обеспечения вы никогда не попадете в ситуацию, когда это произойдет. Когда большинство людей говорят о «сиротском блоке», они имеют в виду «устаревший блок», поведение синхронизации — это не то, с чем пользователи когда-либо сталкивались.

Это неправильное название происходит от того, что пользователи майнят с помощью bitcoin-qt, когда блок устаревает, транзакция, выплачивающая выход coinbase в их кошелек, получает тег «осиротевший». Люди неправильно связывали термин «бесхозная транзакция» с «бесхозным блоком», чему способствовал тот факт, что многие популярные веб-сайты также используют этот термин для описания устаревших блоков.

Неверный веб-сайт, показывающий термин «сиротский блок».

Кроме того, я хотел бы знать, удаляются ли и какие из устаревших или потерянных блоков из истории?

Они сохраняются на диске на случай повторного использования в будущем. Специального процесса удаления устаревших блоков с диска не существует.

Спасибо! Не могли бы вы сказать, в каких случаях блоки обрезаются, потому что я думаю, что что-то упустил, поскольку я всегда представлял себе блокчейн скорее как «дерево блоков», чьи подветви никогда не обрезаются!?
Я удалил комментарий об autoprune, оглядываясь назад, он не имеет отношения к этому вопросу. Нет причин оставлять устаревшие ветки цепочки блоков, если очевидно, что они не будут расширены, их удаление не нанесет ущерба целостности цепочки.
хорошо, я понимаю, но удаление устаревших блоков стало важным моментом для меня, поскольку я пытался понять достоверность утверждений, в которых говорится, что вы не можете полностью полагаться на количество устаревших блоков как на индикатор эгоистичного майнинга, поскольку устаревшие блоки удаляются !?
Они не удаляются, они остаются на диске , если только пользователь не использует pruneset в конфигурации, и в этом случае большинство старых блоков отбрасываются. Узлы не имеют никакого реального применения для блоков после их обработки, за исключением случаев, когда им нужно реорганизоваться в другую ветвь цепочки или когда одноранговому узлу необходимо синхронизироваться из сети и попросить его отправить блок. Нет никакой статистики о том, сколько существует устаревших блоков, я не уверен, что интерфейс ядра биткойна даже дает вам список тех, о которых он знает.