Pages:
Author

Topic: Are we stress testing again? - page 3. (Read 33192 times)

hero member
Activity: 910
Merit: 1003
November 13, 2015, 06:44:18 AM
If your wallet is producing valid standard transactions with proper fees, they can be expected to be confirmed with a high degree of certainty for all practical purposes. That changes when blocks are saturated, and there's an ever-growing tx backlog, and fee estimation becomes difficult, but we're still far from that point on average, while we might've already experienced this over short periods of time. I have guessed it's a problem caused by the wallet, but I don't have enough information.

Bitcoin has a fair number of probabilistic variables built into it, and the wallet's job is to account for that fact.

This has been the stock answer of small-blockian core devs to the issue of usability under saturated conditions: "the wallet can be programmed to compute the right fee, and adjust it (with RBF) if needed."

Their faith in computers is moving, but the wallet cannot compute an answer if it does not have the necessary data.  What is the proper fee to get my transaction confirmed in less than 1 hour?  Well, it depends on the fees paid by the transactions that are already in the queue, and by the transactions that will be issued by other clients in the next hour.  Since the latter are running "smart wallets" too --  perhaps the exact same wallet that I am running -- the problem that the wallet has to solve is basically "choose a number that is very likely to be greater than the number that you are going to choose".

If the network is well below saturation, computing the fee is trivial. If you pay just the minimum fee, your transaction will get confirmed in the next few blocks.  A larger fee will have effect only if the backlog of unconfirmed transactions becomes greater than 1 MB. This condition may be caused by an extra-long delay since the previous block, or by the miners solving one or more empty blocks due to "SPV mining" and network delays.  As long as the network is not saturated, these backlogs are short-lived (lasting a couple hours at most) and have a predictable distribution of size, frequency, and durations; and many users will not mind the delays that they cause, so they will use minimum fees anyway. Therefore, if I need to have my transaction confirmed as soon as possible, I need to pay only a few times the minimum fee.  Those who believe in "smart wallets" seem to be thinking about this situation only.

However, if the network becomes saturated, the situation will be very different.  If the average demand T (transactions isssued per second) is greater than the effective capacity C of the network (2.4 tx/s), there will be a long-lasting and constantly increasing backlog.  If the daily average T close to C but still less than C, such persistent "traffic jams" will occur during the part of the day when the traffic is well above average.  In that case the backlog may last for half a day or more.  If the daily average T itself is greater than C, the traffic jam will last forever -- until enough users give up on bitcoin and the daily averaged T drops below C again.  

In both cases, while the current traffic T is greater than C, the backlog will continue growing at the rate T - C.  If and when T drops below C again, the backlog will still persist for a while, and will be cleared at the rate C - T.   In those situations, the frequency and duration of the traffic jams will be highly variable: a slightly larger demand during the peak hours may cause the jam to last several days longer than usual.  

In those conditions, choosing the right fee will be impossible.  As explained above, the "fee market" that is expected to develop when the network satiurates will be a running semi-blind auction for the N places at the front of the queue, where new bidders are coming in all the time, and those who are already in the hall may raise their bids unpredictably.  There cannot be an algorithm to compute the fee that will ensure service in X hours, for the same reason that there is no algorithm to pick a winning bid in an auction.  

But the small-blockian Core devs obviously do not understand that.

Not to mention that the "fee market" would be a radical change in the way that users are expected to interact with the system.  As bitcoin was designed, and has operated until recently, the user was supposed to prepare the transaction off-line, then connect to a few relay nodes (even just one), send then the transaction, and disconnect again from the network.  That will not be possible once the network gets saturated, or close to saturation.  The wallet will have to connect to several  relay nodes before assembling the transaction, in order to get information about the state of the queue.  Since nodes can have very different "spam filters", the wallet cannot trust just one node, but will have to check a few of them and merge the data it gets.  After sending the transaction, the wallet must remain connected to the network until the transaction is confirmed, periodically checking its progress in the queue and replacing it with a higher fee as needed.  The client will have to provide the wallet in avance with parameters for that process (the desired max delay X and the max fee F), and/or be ready to authorize further fee increases.  From the user's viewpoint,

The small-blockian Core devs do not seem to see this as a significant change.  Or even realize that the "fee market", from the client's perspective, will be the most radical change in the system since it was created.

So, Adam, where is the "fee market" BIP?

And they do not seem to be aware of the fact that the fee market will cause a large jump in the internet traffic load for the relay nodes. Once the "smart wallets" become the norm, each transaction will require at least one additional client-node access (to get the queue state), possibly several; and more accesses to monitor its progress.  So the fee market will certainly harm the nodes a lot more than a size limit increase would.

In fact, it seems that the small-blockian Core devs do not want to understand those problems. I have pointed them out several time to several of them, and they just ignored the problem.

Hence the theory that they want bitcoin to become unusable as a payment system, so that all users are forced to use off-chain solutions...
legendary
Activity: 1386
Merit: 1009
November 13, 2015, 01:23:48 AM
So i lost some money yesterday because my legit transactions with enough fee did hang unconfirmed because there were too many legit transactions to get included. Great outlook on the future if the 1megabyte blocks remain.
How on earth do you manage to run into this? Blocks are reguraly underfilled, the transaction rate is ~2 tps, average blocksize is 0.5 Mb. Your transaction should've been included quite fast. I guess you simply have wallet problems, e.g. improper fees, non-standard tx or something of that kind, that prevents you txs from being included in a block.

It seems like you're blaming the user.  If bitcoin is to be successful it needs to work quickly and reliably for all users, especially non-expert users such as newbies.

It also seems that you don't understand computer systems performance.  Performance begins to degrade noticeably well before capacity limits are reached.  Noticeable degradation and unwanted performance artifacts can appear with loads under 20%.  This is especially true with a system like bitcoin where the service rate depends on the random timing of blocks and where there is priority queuing rather than simple FCFS.
It seems like you're blaming the protocol while I'm blaming the wallet software for this particular problem. I'm not blaming the user.

The latter part is not entirely relevant, while correct. If your wallet is producing valid standard transactions with proper fees, they can be expected to be confirmed with a high degree of certainty for all practical purposes. That changes when blocks are saturated, and there's an ever-growing tx backlog, and fee estimation becomes difficult, but we're still far from that point on average, while we might've already experienced this over short periods of time. I have guessed it's a problem caused by the wallet, but I don't have enough information.

Bitcoin has a fair number of probabilistic variables built into it, and the wallet's job is to account for that fact. Can the protocol be designed better? Yes, it can, but it's hard to change what we have now. There's still room to improve UX by improving the wallet software, though.

PS. Please stop with your didactic tone. Arrogance is counter-productive.
sr. member
Activity: 278
Merit: 254
November 12, 2015, 12:32:21 PM
So i lost some money yesterday because my legit transactions with enough fee did hang unconfirmed because there were too many legit transactions to get included. Great outlook on the future if the 1megabyte blocks remain.
How on earth do you manage to run into this? Blocks are reguraly underfilled, the transaction rate is ~2 tps, average blocksize is 0.5 Mb. Your transaction should've been included quite fast. I guess you simply have wallet problems, e.g. improper fees, non-standard tx or something of that kind, that prevents you txs from being included in a block.

It seems like you're blaming the user.  If bitcoin is to be successful it needs to work quickly and reliably for all users, especially non-expert users such as newbies.

It also seems that you don't understand computer systems performance.  Performance begins to degrade noticeably well before capacity limits are reached.  Noticeable degradation and unwanted performance artifacts can appear with loads under 20%.  This is especially true with a system like bitcoin where the service rate depends on the random timing of blocks and where there is priority queuing rather than simple FCFS.


hero member
Activity: 644
Merit: 504
Bitcoin replaces central, not commercial, banks
November 11, 2015, 05:26:42 PM
So i lost some money yesterday because my legit transactions with enough fee did hang unconfirmed because there were too many legit transactions to get included. Great outlook on the future if the 1megabyte blocks remain.
How on earth do you manage to run into this? Blocks are reguraly underfilled, the transaction rate is ~2 tps, average blocksize is 0.5 Mb. Your transaction should've been included quite fast. I guess you simply have wallet problems, e.g. improper fees, non-standard tx or something of that kind, that prevents you txs from being included in a block.

Yep. FUD.
legendary
Activity: 1386
Merit: 1009
November 11, 2015, 05:21:54 PM
So i lost some money yesterday because my legit transactions with enough fee did hang unconfirmed because there were too many legit transactions to get included. Great outlook on the future if the 1megabyte blocks remain.
How on earth do you manage to run into this? Blocks are reguraly underfilled, the transaction rate is ~2 tps, average blocksize is 0.5 Mb. Your transaction should've been included quite fast. I guess you simply have wallet problems, e.g. improper fees, non-standard tx or something of that kind, that prevents you txs from being included in a block.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
November 11, 2015, 04:26:19 PM
So i lost some money yesterday because my legit transactions with enough fee did hang unconfirmed because there were too many legit transactions to get included. Great outlook on the future if the 1megabyte blocks remain.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
November 10, 2015, 10:24:49 PM
IT must be a failed trans.

Someone could be testing to see if they can fake BTC.
No. No one can create a fake BTC. To spend a BTC input, you need a valid signature for all of the inputs and the input must be a UXTO which can be found on the node's UXTO inventory. If not, nodes would refuse to relay it and miners would not be including it into their block. Invalid transaction/double spends are impossible to be included into the block as nodes would reject the block and is hence not a factor for the increased block size.
hero member
Activity: 910
Merit: 1003
November 10, 2015, 09:32:41 PM
It is not possible to guess what fees the attacker would have to pay, but if there are 40'000 tx/day  that would not pay more than $1 in fees, he would have to burn at most $120'000 per day to keep them in limbo.
No more than $2000 daily according to my calculations.
https://bitcointalksearch.org/topic/cheap-way-to-attack-blockchain-1166928

Wow!  Well, I was thinking of a rich but relatively dumb attacker... 
legendary
Activity: 1470
Merit: 1004
November 10, 2015, 05:14:08 PM
Bitcoin rate is going down. From 380 to 320 usd now; in only few hours
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
November 10, 2015, 04:55:01 PM
Full blocks all the time it seems. And i'm wondering why my normal fee'd transaction don't confirm. Surely we need to keep 1 Megabyte blocks to make it even more fun. Roll Eyes

Or is a stress test running that iam not aware of? For me it looks it's the rising transaction volume because of the crash.

Even without stress tests, the average number of transactions per day (in 7 day running average) has climbed from ~130'000 in September to ~160'000 now, with a peak of 210'000 on 2015-11-05 (click "raw values" on that graph).  

This increase does not seem to be due to a stress test, but simply to the rapid changes in bitcoin price over the last month, that seem to have prompted many people to deposit and withdraw BTC from exchanges.  It may also be due in part to Sergei Mavrodi's onging Global MMM ponzi, that uses bitcoins only and may have made millions of victims all over the world, but mostly in China.

However, the prospects for a true good spam attack are getting better and better.  The effective capacity of the Bitcoin network seems to be about 240'000 tx/day.  Therefore, by issuing only 120'000 tx/day, with suitable fees, an attacker could block 40'000 legitimate transactiions each day and hold them in the queue to the end of the attack.  

It is not possible to guess what fees the attacker would have to pay, but if there are 40'000 tx/day  that would not pay more than $1 in fees, he would have to burn at most $120'000 per day to keep them in limbo.

I noticed malleability attack is going on too at the moment. At least when i sent one transaction to poloniex i had, again, two transactions with the same details in their deposit list. One of them confirmed after a hour or so.

The crazy thing is... the one who propose to let it be at 1mb blocksize limit, and who want to develop a fee market, want it to be the standard that a certain amount of legit bitcoin transactions can never be confirmed. That is so crazy that i can't believe how many think that this would be a good idea. They speak of us being socialists and that we try to undermine their bitcoin. Really crazy stuff at times.
legendary
Activity: 1260
Merit: 1019
November 10, 2015, 04:33:57 PM
It is not possible to guess what fees the attacker would have to pay, but if there are 40'000 tx/day  that would not pay more than $1 in fees, he would have to burn at most $120'000 per day to keep them in limbo.
No more than $2000 daily according to my calculations.
https://bitcointalksearch.org/topic/cheap-way-to-attack-blockchain-1166928
hero member
Activity: 910
Merit: 1003
November 10, 2015, 03:34:39 PM
Full blocks all the time it seems. And i'm wondering why my normal fee'd transaction don't confirm. Surely we need to keep 1 Megabyte blocks to make it even more fun. Roll Eyes

Or is a stress test running that iam not aware of? For me it looks it's the rising transaction volume because of the crash.

Even without stress tests, the average number of transactions per day (in 7 day running average) has climbed from ~130'000 in September to ~160'000 now, with a peak of 210'000 on 2015-11-05 (click "raw values" on that graph). 

This increase does not seem to be due to a stress test, but simply to the rapid changes in bitcoin price over the last month, that seem to have prompted many people to deposit and withdraw BTC from exchanges.  It may also be due in part to Sergei Mavrodi's onging Global MMM ponzi, that uses bitcoins only and may have made millions of victims all over the world, but mostly in China.

However, the prospects for a true good spam attack are getting better and better.  The effective capacity of the Bitcoin network seems to be about 240'000 tx/day.  Therefore, by issuing only 120'000 tx/day, with suitable fees, an attacker could block 40'000 legitimate transactiions each day and hold them in the queue to the end of the attack. 

It is not possible to guess what fees the attacker would have to pay, but if there are 40'000 tx/day  that would not pay more than $1 in fees, he would have to burn at most $120'000 per day to keep them in limbo.
member
Activity: 117
Merit: 10
November 10, 2015, 03:17:01 PM
IT must be a failed trans.

Someone could be testing to see if they can fake BTC.
legendary
Activity: 2674
Merit: 1083
Legendary Escrow Service - Tip Jar in Profile
November 10, 2015, 02:58:52 PM
Full blocks all the time it seems. And i'm wondering why my normal fee'd transaction don't confirm. Surely we need to keep 1 Megabyte blocks to make it even more fun. Roll Eyes

Or is a stress test running that iam not aware of? For me it looks it's the rising transaction volume because of the crash.
member
Activity: 112
Merit: 10
November 07, 2015, 03:12:59 AM
This also happens with me. When I am getting paid by my signature campaign it normally takes around 9-10 hours with normal fees. I don't really think this is a worry as normal transactions with not as many outputs get processed much faster. Like 2-5 minutes
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
November 07, 2015, 03:01:38 AM
I had transactions of very small amount sent 3 days ago not confirmed so I am thinking this is true.
They were for 0.03mbtc so they were maybe too small to be sent during this testing time, this I am not too sure of. There are 3 of them and I do not think I will receive them any time in the future.
0.03mBTC including the transaction fee? That is really too small then. I don't think there is any major stress testing going on right now, network does require a higher fee since sometime ago.
legendary
Activity: 1204
Merit: 1028
November 06, 2015, 01:59:03 PM
Did some transactions recently on my updated Bitcoin Core 0.11.1 wallet and I had no problems, confirmation took around 40 minutes which I don't really care anyway since you have more chances of being hit by a car than the transaction screwing up.
legendary
Activity: 1792
Merit: 1283
November 06, 2015, 01:23:53 PM
I had transactions of very small amount sent 3 days ago not confirmed so I am thinking this is true.
They were for 0.03mbtc so they were maybe too small to be sent during this testing time, this I am not too sure of. There are 3 of them and I do not think I will receive them any time in the future.
Did you include a miners fee? That could be the problem...
legendary
Activity: 966
Merit: 1000
TRUMP IS DOING THE BEST! MAKE AMERICA GREAT AGAIN!
November 06, 2015, 01:20:38 PM
I had transactions of very small amount sent 3 days ago not confirmed so I am thinking this is true.
They were for 0.03mbtc so they were maybe too small to be sent during this testing time, this I am not too sure of. There are 3 of them and I do not think I will receive them any time in the future.
legendary
Activity: 1792
Merit: 1283
November 06, 2015, 01:16:54 PM
I had some problems as well, 2 transactions took over 6 hours to confirm.
Pretty annoying when you're trying to pay for something :-/
Pages:
Jump to: