Author

Topic: Grease Payments to Miners (Read 954 times)

newbie
Activity: 26
Merit: 0
August 24, 2013, 11:11:42 PM
#2
They could send the transaction using an ANYONE-CAN-PAY signature type.  But I don't know of any software which makes those kinds of transactions.  But it would allow you to add additional inputs, even if the transaction was already fully-funded.

It's probably not what you're looking for.
full member
Activity: 144
Merit: 100
August 24, 2013, 10:07:39 PM
#1
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_payment

The 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-188695

merchant-pays-fee (aka child-pays-for-parent) is clever, but relies on being able to spend the outputs.  
https://github.com/bitcoin/bitcoin/pull/1647
https://gist.github.com/gavinandresen/4120476
If 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?
Jump to: