Принимает ли какой-либо пул транзакции двойной траты с более высокой комиссией вместо более ранней?

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

Насколько я знаю, они выбрали ту, которую получили первой, самую старую транзакцию.
Заставит ли, как вы описываете, других честных майнеров отклонить блок, предполагая, что они сначала получили другую транзакцию?
Полагаю, это был бы быстрый способ для пула совершить самоубийство. Плохой пиар в результате, вероятно, был бы фатальным.
@HighlyIrregular Нет, поскольку транзакция все равно будет действительной. Пул может поместить в блок любую допустимую транзакцию, даже если он делает недействительными некоторые другие транзакции, не являющиеся частью какого-либо блока. В противном случае каждый раз, когда кто-то будет проводить атаку с двойной тратой, возникнет форк.
@StephenGornick Конечно, это было бы так, если бы кто-то создал для себя частный пул, который предпочел бы более высокооплачиваемые транзакции, он все равно мог бы это сделать. Вероятно, некоторые майнеры все же присоединятся к нему в надежде получить немного более высокие выплаты.
Тогда я думаю, что это хорошая причина ждать дополнительных подтверждений, если вы получаете значительную сумму биткойнов от ненадежной стороны.

Ответы (2)

Похоже, что такой пул сейчас существует, рекламируя поведение как функцию, позволяющую «отменить ошибочные платежи»:

BitUndo

Они также поставляют патч для bitcoind.

В вашем сценарии две транзакции с одинаковыми входными данными, т.е. попытка двойной траты.

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

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

Таким образом, нет никакой возможности для атаки двойной траты из-за более высокой комиссии за транзакцию.

Что ж, это неплохой анализ проблемы, но на самом деле он не отвечает на вопрос. Существует «потенциал» для такой атаки с двойной тратой, но это необходимо сделать через какой-то вредоносный пул, предназначенный для таких атак.
-1 это хорошо, но совершенно не отвечает на вопрос, который ТОЧНО спрашивает, есть ли такой пул.
Я бы не назвал это «атакой двойной траты», если первая транзакция имеет 0 подтверждений, но это вопрос определения. Если подумать, если бы пулы сделали политикой предпочтение транзакций с более высокими комиссиями в таком сценарии (не злонамеренными, если вы спросите меня), это позволило бы отменить неподтвержденные транзакции, заплатив более высокую комиссию. Пока продавцы ждут хотя бы 1 подтверждения, они в безопасности.
@bananer: Это все равно, что сказать: «Я бы не назвал это воровством, если в магазине нет охраны». Любая попытка отменить платеж продавцу является атакой двойной траты, независимо от принятых защитных мер. Что касается релевантности - ожидание 1 подтверждения в большинстве случаев нецелесообразно, поэтому очень важно, чтобы транзакции с 0 подтверждениями также были достаточно безопасными. Если майнеры отказываются от известного им транзакционного сообщения в пользу другого, с более высокой комиссией, это будет скомпрометировано.