Pages:
Author

Topic: Bitcoin version 0.3.24 released - page 3. (Read 23283 times)

newbie
Activity: 57
Merit: 0
July 12, 2011, 04:50:13 AM
#69
Thanks for all of the info!

Sendmany looks like it could really save me some time Smiley

I'll take a look at sendmany...and in the meantime, I'll try the input trick.  I've definitely been spending from one or two inputs, so that is very likely the culprit.

Again, thanks! Much appreciated!
staff
Activity: 4326
Merit: 8951
July 12, 2011, 02:09:05 AM
#68
Went to grab some example payments and I noticed a pattern Wink
It seems that in any batch of payments, the first payment I send is free, and any subsequent payments charge the transaction fee.
I guess sending more than one transaction within a short time period requires the fee.
I normally send a few payments at once, as I'm paying out a bunch of members from our site Smiley

This is what sendmany is for. I highly recommend you use it: You can pay many people with a single transaction, and a single fee (if required).

What is sounds like is happening in your case is that the change from the first transaction is being respent right away, and respending right away is a DOS-attack-like behavior (e.g. an attacker would ping pong coin rapidly to generate traffic). Bitcoin should normally avoid doing this— preferring to use older inputs, but if there aren't enough other inputs in the wallet to satisfy the payments without using the fresh change then it will use it.

If e.g. you have a single 50 BTC input in your wallet and you've been sending out 1 BTC payments you end up with transactions like  50->{1,49} ; 49->{1,48} ; etc.    So if you simply do a send of 50 to yourself: {10a,10b,10c,10d} to break the input up, then the software should instead prefer to spend 10a->{1, 9}; 10b->{1, 9} rather than reusing the change right away and probably avoid the fees.

Either of these cases should be sufficient to avoid the fees in your case, and the sendmany puts less load on the blockchain as well.

legendary
Activity: 1204
Merit: 1015
July 12, 2011, 02:03:30 AM
#67
I normally send a few payments at once, as I'm paying out a bunch of members from our site Smiley
You should really look into using sendmany, then.
newbie
Activity: 57
Merit: 0
July 12, 2011, 01:58:29 AM
#66
Really?  I've been using 0.3.23 for a while and I've had to pay the transaction fee on every single transaction except for about 5/100.  For me, the *rare cases* are when it doesn't make me pay a fee.  Did something change in 0.3.24?

Care to share an example transaction so we can see why?

I can only guess you're making payments with outputs smaller than 0.01 BTC?

Went to grab some example payments and I noticed a pattern Wink

It seems that in any batch of payments, the first payment I send is free, and any subsequent payments charge the transaction fee.

I guess sending more than one transaction within a short time period requires the fee.

I normally send a few payments at once, as I'm paying out a bunch of members from our site Smiley
staff
Activity: 4326
Merit: 8951
July 11, 2011, 07:59:41 PM
#65
Really?  I've been using 0.3.23 for a while and I've had to pay the transaction fee on every single transaction except for about 5/100.  For me, the *rare cases* are when it doesn't make me pay a fee.  Did something change in 0.3.24?

Care to share an example transaction so we can see why?

I can only guess you're making payments with outputs smaller than 0.01 BTC?
staff
Activity: 4326
Merit: 8951
July 11, 2011, 07:57:04 PM
#64
I don't care that there's a fee.  I have mine set to 0.01 for all transactions, anyway.  just STOP SAYING there is no minimum fee when clearly there is.  It's confusing.


Right. This is my point.  There is no minimum fee:  I, and a great many other people using unmodified .24, send zero fee transactions all the time.  Thus: The minimum fee is zero.

If you went to a car lot shopping for used cars, would you say that there is a minimum fee of $90,000 because thats the price on some of the cars?  No.

It doesn't help that we've used some fairly confusing terminology in the software, we should be more careful about that in the future. But it still doesn't excuse people claiming that there is a minimum fee. :-/

If you don't want technical details — thats fine.   "There is a particular fee required for transactions that look too much like a DOS attack to the system" is an accurate statement.  "There is a minimum fee" is misleading and contributing to poor health of the bitcoin network by causing people to stay on older versions.

newbie
Activity: 57
Merit: 0
July 11, 2011, 07:53:21 PM
#63
I don't care that there's a fee.  I have mine set to 0.01 for all transactions, anyway.  just STOP SAYING there is no minimum fee when clearly there is.  It's confusing.
Its also confusing when people say there is a minimum fee.  The satoshi client forces you to apply a fee on transactions only in very rare cases when your transaction looks like spam.

Really?  I've been using 0.3.23 for a while and I've had to pay the transaction fee on every single transaction except for about 5/100.  For me, the *rare cases* are when it doesn't make me pay a fee.  Did something change in 0.3.24?
gim
member
Activity: 90
Merit: 10
July 11, 2011, 07:52:10 PM
#62
only thing is the tests won't run, am i doing something wrong?

Quote
(.text+0x20): undefined reference to `main'

Same here, there's some '#define BOOST_TEST_DYN_LINK' missing.
But, anyway, there are just two boring tests available for now.
So, be patient Smiley

hero member
Activity: 755
Merit: 515
July 11, 2011, 07:45:54 PM
#61
I don't care that there's a fee.  I have mine set to 0.01 for all transactions, anyway.  just STOP SAYING there is no minimum fee when clearly there is.  It's confusing.
Its also confusing when people say there is a minimum fee.  The satoshi client forces you to apply a fee on transactions only in very rare cases when your transaction looks like spam.
sr. member
Activity: 294
Merit: 250
July 11, 2011, 07:41:49 PM
#60

Repeat after me: There is no minimum transaction fee.
...
On the flip side, the worst case for these newbie transactions is that it causes some users to have to pay a 0.0005 BTC fee per transaction sometimes.
...

Sure looks like a minimum transaction fee to me.
Did you bother to read the post, or did you just Cntrl-F for 0.0005?

The average user doesn't care about all the technical details in that post.  They care that people keep saying there's no minimum fee, when there is. 

I don't care that there's a fee.  I have mine set to 0.01 for all transactions, anyway.  just STOP SAYING there is no minimum fee when clearly there is.  It's confusing.

[edited for typo]
hero member
Activity: 755
Merit: 515
July 11, 2011, 07:35:47 PM
#59

Repeat after me: There is no minimum transaction fee.
...
On the flip side, the worst case for these newbie transactions is that it causes some users to have to pay a 0.0005 BTC fee per transaction sometimes.
...

Sure looks like a minimum transaction fee to me.
Did you bother to read the post, or did you just Cntrl-F for 0.0005?
sr. member
Activity: 294
Merit: 250
July 11, 2011, 07:33:44 PM
#58

Repeat after me: There is no minimum transaction fee.
...
On the flip side, the worst case for these newbie transactions is that it causes some users to have to pay a 0.0005 BTC fee per transaction sometimes.
...

Sure looks like a minimum transaction fee to me.

staff
Activity: 4326
Merit: 8951
July 11, 2011, 07:04:56 PM
#57
The minimum transaction fee effectively is a mining pool 'tax' for all network users. I understand the need to protect against DoS attacks. However, what is the point of protecting against an attack if there is no attack? If you're not flexible, always keeping your shield charged to the maximum, it is just a waste of resources!

Repeat after me: There is no minimum transaction fee.

and then:

Repeat:  The overwhelming majority of transactions are zero fee.

The software requires a for relay for transactions which the adaptive technical detection for DOS-attack-like transactions can't distinguish from an attack, and for transactions which are unusually burdensome (many kbytes of data).   The adaptive detection doesn't depend on the instantaneous network status:  Its can't easily because in a decentralized system there is no singular status, and if nodes disagree about the status the protection isn't effective (if its fail open) or it makes txn get stuck in unspendable limbo at random (if its fail closed).

Instead the adaptivity depends on the character of the transaction itself— it's value, the time since its inputs were last spent, the size of the outputs, and the amount of data used to represent it.   These are all factors which are directly relevant to a DOS attack because they objectively measure the effort it takes to perform the attack and the impact on the whole network of performing the attack.  This is a usable criteria because it's objective and can be acted on uniformly by independent nodes.

Above the cutoff priority txns are handled in a priority oriented manner which gives the soft "only messes things up if there is an attack" behavior that you seem to think we lack.   .... You only think we lack it because it actually works.   Unfortunately, the soft behavior can only work to a limited extent because in order to handle things in a priority order nodes must have first undertaken the non-trivial costs of storing and forwarding the transaction— so at some point the system has to simply say "No, I refuse to use memory for this, I refuse to use bandwidth for this". Otherwise the attacker can exhaust these resources even if non-spammish transactions always beat them into the blocks.  If the threshold at which transactions aren't remembered (which makes them _very unlikely_ to go through) is too dynamic then you'll continually end up with transactions which are stuck in limbo polluting your wallet, and potentially polluting the wallet of the receiver if they happened to hear the txn.  

These zombie unconfirmed transactions can end up like a spreading cancer, since their (or their change) will eventually get used as inputs as a last resort thus spreading the confirmation delays to additional transactions which would otherwise confirm quickly.

At yes, the setup is far from perfect— for example because, unfortunately, a lot of new users make transactions which are technically indistinguishable from a DOS attack... and because the proper fee for DOS-like-txn depends on the current "value" of bitcoin, which changes in unpredictable ways.

On the flip side, the worst case for these newbie transactions is that it causes some users to have to pay a 0.0005 BTC fee per transaction sometimes.  This is less than a penny. The gross burden on the disk space of full nodes to store the transaction (around 10 megabytes for a normal sized transaction, assuming 40k full nodes) is currently a similar cost.  The fee structure also creates a nice opportunity to educate people about more pro-social usage of bitcoin (e.g. making all payments with zillions of 0.01 txn is unnecessarily burdensome on the network).

Certainly there is a lot of room for improvement, but whining— especially whining which exaggerates and misrepresents the situation is not helpful.
legendary
Activity: 1596
Merit: 1100
July 11, 2011, 06:41:27 PM
#56
Bump.  All users are encouraged to upgrade to 0.3.24, to avoid block chain download issues currently seen in the field.


just to be clear, if i don't have issues myself, do i help others by upgrading?

Yes, most definitely.

Nodes requesting block chain downloads can have their downloads cut off abruptly, on older versions of bitcoin.

The more people running 0.3.24, the less this awful behavior will be seen.

member
Activity: 73
Merit: 10
July 11, 2011, 06:21:43 PM
#55
Bump.  All users are encouraged to upgrade to 0.3.24, to avoid block chain download issues currently seen in the field.


just to be clear, if i don't have issues myself, do i help others by upgrading?

also, +1 on sticky

Edit: just upgraded, working smoothly.
block download started instantly, got >25 connections within a minute and upnp didn't kill my already forwarded port Smiley

only thing is the tests won't run, am i doing something wrong?

Quote
$ make -j5 -f makefile.unix test_bitcoin
g++  -o test_bitcoin  obj/test/test_bitcoin.o -Wl,-Bstatic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l ssl -l crypto -l miniupnpc -Wl,-Bdynamic -l gthread-2.0 -l z -l dl -l pthread -lboost_unit_test_framework
/usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [test_bitcoin] Error 1
newbie
Activity: 59
Merit: 0
July 11, 2011, 06:11:39 PM
#54
Bump.  All users are encouraged to upgrade to 0.3.24, to avoid block chain download issues currently seen in the field.


Why not sticky release threads until the next release?
sr. member
Activity: 294
Merit: 250
July 11, 2011, 05:31:37 PM
#53
Bump.  All users are encouraged to upgrade to 0.3.24, to avoid block chain download issues currently seen in the field.


I'd be happy to if there was a Mac version.  Grin
legendary
Activity: 1596
Merit: 1100
July 11, 2011, 05:11:36 PM
#52
Bump.  All users are encouraged to upgrade to 0.3.24, to avoid block chain download issues currently seen in the field.
hero member
Activity: 588
Merit: 500
July 10, 2011, 07:57:35 PM
#51
Can we have an option to change the language on the fly please? I am on a Chinese language windows7 system, so all my Chinese software would work flawlessly, but I prefer my English software to be actually in English

When I need to do so (for example read a manpage in English instead of my locale), I use environment variables. If you're using an Unix-like system, you can run bitcoin with the following command on the shell prompt: LANG=en_US bitcoin

Slightly better is to use LC_ALL, lest some things be displayed strangely.

Code:
LC_ALL=en_US.UTF-8 bitcoin
sr. member
Activity: 288
Merit: 263
Firstbits.com/1davux
July 10, 2011, 07:43:59 PM
#50
Can we have an option to change the language on the fly please? I am on a Chinese language windows7 system, so all my Chinese software would work flawlessly, but I prefer my English software to be actually in English

When I need to do so (for example read a manpage in English instead of my locale), I use environment variables. If you're using an Unix-like system, you can run bitcoin with the following command on the shell prompt: LANG=en_US bitcoin
Pages:
Jump to: