Можно ли объединить две подписанные транзакции в одну?

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

Термин для поиска: «ребенок платит за родителя». Все, что требуется, — это один майнер, чтобы подобрать пару «родитель-потомок» для подтверждения. Положите хорошую жирную комиссию за дочернюю транзакцию. Вы также можете связаться с майнером напрямую.
@RichApodaca Вы не можете сделать так, чтобы ребенок платил за родителя, если комиссия за транзакцию вашего родителя ниже minrelay. Узел не примет дочерний элемент, если он не знает о родителе, и узлы не будут передавать родителя, поэтому они не узнают об этом.
Узлы устанавливают свои собственные политики ретрансляции. Bitcoin Core добавляет транзакции без родителей в сиротский пул. Требуется только один майнер, чтобы подобрать пару «родитель-потомок». Правда, может не работать в зависимости от пиров. Но это не консенсусные правила.

Ответы (1)

Потенциально. Это зависит от того, как была подписана транзакция.

Если он был подписан с SIGHASH_ALLфлагом, вы не можете его объединить, так как подпись проверяет, чтобы входы и выходы не были изменены.

Если он был подписан ANYONE_CAN_PAYфлагом, вы можете добавить дополнительные входы и, возможно, больше выходов в зависимости от остальной части подписи.

Все известные мне потребительские кошельки по умолчанию имеют значение SIGHASH_ALL, так что вам, вероятно, не повезло.

Лучше всего было бы либо отправить больше BTC на этот адрес и подписать новый tx, либо импортировать свой закрытый ключ в другой кошелек с большим количеством BTC и создать транзакцию с более чем одного адреса.