Bitcoin Forum
December 08, 2024, 01:09:47 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Fees in BitDNS confusion  (Read 4643 times)
galeru (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 2


View Profile
December 09, 2010, 07:45:38 PM
Merited by ABCbits (2)
 #1

A bunch of the current debate about including BitDNS or BitX makes assumptions that miners will include transactions or not based on some rather fine-grained conditions, while none of the standard code includes any sort of implementation that allows non-programmers to make decisions like that.  How will I, the user, figure out what sort of fees have to go into a transaction?
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
December 09, 2010, 07:51:02 PM
Merited by ABCbits (2), cr1776 (1)
 #2

A bunch of the current debate about including BitDNS or BitX makes assumptions that miners will include transactions or not based on some rather fine-grained conditions, while none of the standard code includes any sort of implementation that allows non-programmers to make decisions like that.  How will I, the user, figure out what sort of fees have to go into a transaction?

For currency transactions, if you notice your transactions taking a long time to confirm, you increase the TX fee.

For non-currency transactions, it sounds like there will be some sort of fee schedule.  The software that generates these special, non-currency transactions would likely have a user-friendly interface to indicate the cost.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 09, 2010, 08:51:00 PM
 #3

It would be nice if there was some way that using the standard client you might be able to adjust the fee schedule for your own purposes and set "policies" for mining blocks and including transactions.  I think that is a source of confusion here as no such user interface is currently provided for doing that.

Much of this is all theoretical at the moment because it is possible to make transactions "for free" and generally get them included in the next block at the moment.  I don't see that is going to be sustainable in the long run, but we'll see how that goes.  At the moment, it is important that most people using Bitcoins are simply hoping that the currency succeeds at all and aren't interested in making a killing or even a modest profit at it, which is why transaction fees are still mostly non-existent on the network.
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1008


1davout


View Profile WWW
December 09, 2010, 09:08:55 PM
Merited by Saint-loup (1)
 #4

Just wondering about the following example :
I broadcast a transaction, sending X coins to some address.
Doesn't get included in blocks for a while because I don't include a fee.

Do I have a way to cancel it and broadcast it again with a fee this time ?

RHorning
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
December 09, 2010, 09:41:58 PM
 #5

Just wondering about the following example :
I broadcast a transaction, sending X coins to some address.
Doesn't get included in blocks for a while because I don't include a fee.

Do I have a way to cancel it and broadcast it again with a fee this time ?

Yes, although I don't think the canceled transaction protocol is necessarily complete in terms of its current implementation.

See also: http://www.bitcoin.org/wiki/doku.php?id=bitcoins_draft_spec_0_0_1#tx

The "version" field allows somebody to send out a new transaction that effectively replaces an existing transaction with perhaps some new data.  As long as the transaction hasn't been accepted into a block, in theory you can "recall" the transaction and modify the transaction in any way.  Like I said, this is incomplete and the exact protocol to pull that off hasn't been included into Bitcoin yet.  But it certainly is a possibility and may be a feature in a future version of Bitcoin.

Certainly the ability to "recall" a transaction hasn't been implemented yet in the UI, and once the transaction has been accepted into a block the only hope to really kill a transaction after that is to hope that the block doesn't get accepted into the main block chain.  Then again, if the transaction has been accepted into a block without fees it shouldn't be a problem in terms of recalling the transaction for adding fees either as the issue is moot at that point.
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
December 09, 2010, 11:07:04 PM
 #6

Just wondering about the following example :
I broadcast a transaction, sending X coins to some address.
Doesn't get included in blocks for a while because I don't include a fee.

Do I have a way to cancel it and broadcast it again with a fee this time ?

See the discussion of locktime for transaction replacement.

Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
satoshi
Founder
Sr. Member
*
qt
Offline Offline

Activity: 364
Merit: 7424


View Profile
December 09, 2010, 11:58:54 PM
Merited by EFS (50), vapourminer (1), cr1776 (1), ABCbits (1), fillippone (1), Krubster (1)
 #7

Not locktime.

There's a possible design for far in the future:

You intentionally write a double-spend.  You write it with the same inputs and outputs, but this time with a fee.  When your double-spend gets into a block, the first spend becomes invalid.  The payee does not really notice, because at the moment the new transaction becomes valid, the old one becomes invalid, and the new transaction simply takes its place.

It's easier said than implemented.  There would be a fair amount of work to make a client that correctly writes the double-spend, manages the two versions in the wallet until one is chosen, handles all the corner cases.  Every assumption in the existing code is that you're not trying to write double-spends.

There would need to be some changes on the Bitcoin Miner side also, to make the possibility to accept a double-spend into the transaction pool, but only strictly if the inputs and outputs match and the transaction fee is higher.  Currently, double-spends are never accepted into the transaction pool, so every node bears witness to which transaction it saw first by working to put it into a block.
Peter Todd
Legendary
*
expert
Offline Offline

Activity: 1120
Merit: 1164


View Profile
December 10, 2010, 01:27:59 AM
Merited by Praxis (4), uanix (4), gmaxwell (1), cr1776 (1), ABCbits (1), fillippone (1), Bitcoins101 (1), Krubster (1)
 #8

Of course, to be specific, the inputs and outputs can't match *exactly* if the second transaction has a transaction fee.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!