Is there a way to add more miner fees after a transaction has been broadcast without having to modify the original transaction?
Lets say a customer makes a transaction going to an offline wallet. For some reason the fee paid is below what miners are charging today. Instead of trying to get the customer to work around resending the payment with all the difficulty that involves, I could just broadcast a facilitating payment.
http://en.wikipedia.org/wiki/Facilitating_paymentThe proposals in this thread refer to inputs added before the transaction is broadcast:
https://bitcointalksearch.org/topic/merchant-pays-fee-proposal-for-bitcoin-payment-messages-188695merchant-pays-fee (aka child-pays-for-parent) is clever, but relies on being able to spend the outputs.
https://github.com/bitcoin/bitcoin/pull/1647https://gist.github.com/gavinandresen/4120476If the outputs are designed to be spent on some external conditions, like with an escrow, spending the outputs would disrupt the flow.
Also, merchants can setup their servers with watching only wallet. For security, online computers cannot spend the outputs, only view them. The offline wallet would be intentionally hard to spend, requiring human intervention to spend the child.
I suppose that if any change was sent back to the original payer, and they had a Coin Controlled client, a child-pays-for-parent transaction could be spent for the change. There is no guarantee that there would be change though, and ideally anyone would be able to add more fees.
I imagine that the facilitating payment would be something like an output that anyone could send, but required a certain transaction to have been mined. The transaction would reference two transactions as it's inputs. One would be the expedited transaction, but not actually spend that input. The other input would be a normal send change to self, but with the fee granted.
Is there a way to have an input referenced without the private keys?