Что побуждает майнеров биткойнов ретранслировать блоки?

Допустим, я занимаюсь майнингом биткойнов и только что получил новый блок, который добыл кто-то другой. Что побуждает меня отправить этот блок кому-нибудь еще.

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

Конечно, если бы все так поступали, результат был бы ужасным, но какой стимул побуждать людей (кроме первоначальных майнеров) распространять блоки, кроме альтруизма?

Ответы (6)

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

Т.е. в один момент ваш шанс собрать блок не выше, если вы майните один и тот же блок какое-то время: шанс всегда одинаков.

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

Поскольку риск того, что ваш блок будет потерян (в настоящее время вы потеряете 25 BTC ~= 3750 €) на много порядков выше, чем стоимость его передачи (я бы оценил это в кучу сатоши), всегда удобнее передать это.

Я согласен и могу резюмировать/добавить: если вы майнер, вы хотите, чтобы блок, который вы добываете «поверх», был как можно более широко распространен, потому что вы хотите свести к минимуму риск создания осиротевшего форка.
Я не думаю, что это отвечает на вопрос. Предположим, вы получили блок. Понятно, что вы должны майнить поверх него, но зачем передавать этот блок другим узлам, если пропускная способность стоит денег?
@NickODell, потому что риск потерять ваш добытый блок (~ 2650 евро в настоящее время) намного выше, чем стоимость ретрансляции блока (куча сатоши, я думаю?).
@Lohoris Хороший вопрос.
@NickODell отредактировал соответственно
@Lohoris: не увеличивает ли ретрансляция блока риск того, что ваш блок останется сиротой? Блоки-сироты возникают, когда вы майните ветку, которая побита другой веткой, да? Тогда вы не хотели бы расширять ветки других узлов, так как это означает, что они с большей вероятностью потеряют ваш блок, да?
@Clinton, мы говорим о ретрансляции блока, на котором вы майните , что снижает вероятность того, что ваш возможный новый блок окажется осиротевшим.
ОТ: лол, по какой-то причине я неправильно прочитал «Клиткойн» вместо «Клинтон», лол.
Хорошая идея для другой монеты

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

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

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

«Майнер, который нашел блок, хочет передать его как можно большему количеству людей, чтобы они получили вознаграждение. Другие майнеры хотят получить его, чтобы они могли построить более длинную цепочку». <- В этом объяснении отсутствует случай, о котором идет речь. Есть третья сторона: эта часть ответа не распространяется на случай, когда другой майнер получил блок и теперь решает, отправлять его дальше или нет. Кроме того, речь также не идет о теоретических мерах противодействия, которые могут быть реализованы в будущем. Речь идет о текущей ситуации.
@ДэниелС. Это Интернет. Если X хочет отправить информацию Y, Y хочет получить информацию от X, и X, и Y подключены к Интернету, третья сторона не может их остановить. Что касается «текущей ситуации», то нет никаких доказательств того, что эта проблема существует в текущей ситуации. Нам нужно решить некоторые будущие ситуации, когда это является реальной проблемой. (Вы не можете повернуть машину, чтобы не съехать с дороги за несколько миль до поворота.)

Был проведен частичный анализ в рамках академического заявления о том, что отказ от передачи блока в некоторых ситуациях выгоден для майнинг-пула. В настоящее время статья находится на стадии препринта , и ее выводы горячо обсуждаются, в том числе в блоге Bitcoin Foundation .

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

Догадка оригинального плаката абсолютно верна. У майнера есть все основания немедленно отправить свой вновь найденный блок пирам. Любая задержка только вредит его шансам на встраивание в постоянную цепочку.

Майнер также очень хочет получать новые блоки, добытые другими, поэтому он может строить на вершине.

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

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

@TomHarding прав в том, что майнер не может аннулировать блок, добытый другим майнером, просто не передав его. Блок в любом случае распространяется через другие узлы.

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