581
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 14, 2015, 08:39:26 PM
|
As these [statoshi.info]( http://statoshi.info/dashboard/db/transactions?from=1436730481809&to=1436903281810) plots show, the test is still not over. The input traffic is still high and erratic: 4-10 tx/s, with a few spikes of higher values. The testers are changing the parameters (tx size, fee, tx rate) every now and then. In normal conditions (before the test), the traffic was ~1.4 tx/s in daily average, with an average transaction size of 540 B/tx; that meant 0.75 kB/s. The current effective network capacity seems to be ~720 kB/block x 0.00162 blocks/s = ~1.15 kB/s; so the normal daily average traffic is ~65% of the effective capacity. Bt the way, about the theory that some large miner (or mining consortium) is behind this test: the profit of a 20% miner from the extra fees is small by mining standards, but is already more than the declared budget of the testers. So this COULD become quite lucrative if part or all of the extra revenue of that miner, insted of being pocketed, is "reinvested" to keep the "test" going and thus drive the fees of normal users even higher...
|
|
|
582
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 14, 2015, 05:28:20 PM
|
Yes. it's nutty how much they're spending on this.
Coinwallet.eu, the somewhat mysterious entity doing the "stress test", said that they had 5000 EUR budgeted for it. Transaction fees were ~20 BTC/day just before the test; they have increased by 10 + 25 + 30 + 22 + 22 = 107 BTC over the 5 days since it started, with would be ~30'000 EUR (or USD) at the current price. However, many client have had to increase the fees on their own transactions in order to get them through the backlog. So it is possible that Coinwallet only spent 5000 EUR while the legitimate users spent 25'000 EUR. Given the investment here, I expect that whoever is doing it intends to make a return. To me that means getting the money back plus more. The only way they get most of the money back, plus more, is if they're mining a very significant fraction of the blocks.
I can think of many possible motivations for this test, besides technical need for it in order to ensure that the system can handle future traffic surges or hostile spam attacks. That may be another one: a miner, or a group of large miners, trying to force an increase in the fees for their profit. Given the above numbers, and assuming that clients will continue to pay an average of 10 BTC/day above the normal amount over the next 5 days (that it will take for the backlog to clear), the total extra revenue for all miners resulting from the test would be ~45'000 EUR. If Coinwallet was financed by a miner with 20% of the hashpower, that miner would get 9'000 extra revenue, or 4'000 extra profit. If the sponsors were a coalition of the top 4 Chinese miners, with 60% of the hashrate, their payoff would be ~27'000 EUR, or ~5'500 EUR average profit for each of them. These profits are rather small considering that the miners all together made ~10'000'000 EUR in those 10 days (2'000'000 EUR for a 20% miner, 6'000'000 for a 60% consortium). So, if the miners did that for the extra fees, they must have been quite disappointed. An alternative theory is that Coinwallet.eu was financed by some "benevolent" entity or individual who thinks that the current fees are too low and wanted to force the developers, miners, and nodes to raise them. Second, if they are making a profit or expect fees to increase to the point where they will, then this "stress test" will be SUSTAINED FOREVER at least until version-4 blocks come out with a 20Mbyte limit. I'm pretty sure it wouldn't be worth the money with a 20Mbyte liimit.
I think that this makes the block size limit increase that Gavin proposed into an emergency.
Even an 8 MB limit will make the test much more expensive, and its effect more short-lived. It is more than 8 times, because miners are currently mining blocks with maybe 600 kB only on average, even when there is a backlog; and the normal traffic already uses 2/3 of that. So there are only 200-300 kB per block available for clearing the backlog, and an attacker needs to issue only more than that amount to create a backlog. If the limit were increased to 8 MB, and the minimum fee was raised to an amount that would convince the miners to keep filling at least 60% of that during such jams, there would be ~3200 kB per block available to clear the backlog. An attacker would have to issue 10-12 times more transactions per second to create and sustain a backlog, and the backlog would clear 10-12 times faster once the attack stopped.
|
|
|
583
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 14, 2015, 01:35:54 AM
|
That's the problem with all these people. It's not that they can't use Bitcoin, it's that they don't know how to do it properly. Hint: pay high enough fees and it works. In this particular situation, Bitcoin works as intended.
One may question whether the network is really robust, but the faith of the true bitcoiner will resist any reality attack. If tomorrow a hacker steals half the coins of the world by exploting some obscure old bug in BitcoinCore that exposed their private keys; or the Chinese miners go on strike and mine only empty blocks, orphaning all other blocks; or the US government blocks all relay nodes except those run by the NSA, that filter out any contributions to Wikileaks or Snowden -- the faithful will still claim that Bitcoin worked as intended. And they woudl be right... PS. It might not work when Bitcoin actually saturates, and that need to be addressed. But this doesn't have much to do with this stupid attack.
To be pedantic, this was not an "attack" but a "stress test" -- even if a rude and inconsiderate one. The difference is that a hostile attacker would have tried to block even most of the transactions with higer fees, by raising the fees on its own transactions to keep the legitimate ones perpetually off the next block. And an hostile attacker who decided to do that would probably have a much higher budget, and would prepare his own transactions discreetly months in advance, so that they would be impossible to distinguish from legitimate ones. I don't know what to think of this test. Since I am not a user, and I see bitcon as a computer science experiment rather than a product ready for general use, I personally think that it was a valid and necesary "stress test" -- a test that one must do on any novel engineering artifact, meant to understand how it behaves if by accident or malice it is used outside its intended operating range (like the stress test that VISA does in August every year -- or the test that caused the Chernobyl disaster ). Such a test must usually be performed on the real thing, since a test mock-up will always lack some feature of it that would break in the test. If possible it should be done "without passengers", but that is impossible for large 24/7 systems like VISA, Bitcoin, or the national power grid. In particular, the goal of the testers of creating a 200 MB backlog on the queues may have been intended to test whether the relay nodes were able to handle queues that big. (And in fact they broke many programs that work on those queues.) Trying to put myself in place of the typical user, I would think that many who tried to use Bitcoin these days, and were not aware of the need to pay higher than normal fees, must have concluded that the system was broken, and did what any user of free software would do: gave up on it. Note that only a few thousand bitcoin users read the forums or the bitcoin "news" sites (an the latter tend to hide or minimize problems). It is quite possible that the test had other goals besides a purely technical one. However, it is hard to guess what those intentions could be. The authors are anonymous, and Coinwallet.eu seems to be a phony site create just to give an excuse for the test. Coinwallet.eu earlier had said that they supported Gavin's original proposal to raise the block size limit to 20 MB. So perhaps they are big-blockians trying to show to the community what a saturated network feels like. They knew that, thanks to the 1 MB limit and ridiculously low minimum fees, they could create a 200 MB backlog (that will take ~5 days to clear) by spending only 5000 euros or so in fees. If the block size limit had been 8 MB, the backlog they could have created with that budget would have been much smaller, and would have been cleared ~15 times faster. However, the test was not very apropriate for that purpose: they did not try to raise their fees in the same rate that normal clients raised their; and they knew that a 200 MB backlog of low-fee transactions would not be as bad as a 20 MB backlog of real ones. Moreover, they did not bother to disguise their transactions, and it seems that some nodes started to reject them. On the other hand, the testers may have been small-blockians impatient to see and demonstrate the "fee market" that (they claim) will make a saturated network even better than an unsaturated one. Some of the "new devs" invented spiffy tools/toys that they were clearly dying to see in use, but needed a saturated network to work. And some of these devs are notoriously rude and inconsiderate enough to clog the network for days just to see their toys spin and blink. Or perhaps the "test" was meant to convince the "true bitcoiners" who use the network directly to move to a hosted wallet provider, like Coinbase or Circle -- or perhaps Coinwallet.eu. (Coinbase, for example, seems desperate to get new users: they are now offering 25 $ reward (in BTC) for any user who can convince some friend to register and spend 100 $ with them.) Perhaps even Blockstream is an accomplice of this plan: that would explain why they are so adamantly opposed to any increase in the block size limit, and pretend not to udnerstand what congestion by natural traffic would mean for the usability of Bitcoin...
|
|
|
587
|
Economy / Service Discussion / Re: BFL fucked us over again (redux)
|
on: July 13, 2015, 03:40:53 AM
|
LotSys Web pages saved in 2006 prior to Sonny going to Italy then getting arrested; LotSys pages once again being saved after Sonny Vleisides is released from prison: http://web.archive.org/web/20080708183234/http://www.lotsys.com/What are the odd? http://web.archive.org/web/20051028212909/http://www.lotsys.com/Euro Millions,
LotSys has implemented the Euro Millions Transfer Hub application software which purpose is to interconnect the Swiss lotteries to the Euro Millions Draw Administration System. This system has entered into operation on October 8th, 2004 for the first Euro Millions draw involving new European countries including Switzerland.
Self Service Solution in France,
LotSys software for self service terminal is now operating in France. Quiet intredasting... not just a naive engineer who had the misfortune to join a rotten company?
|
|
|
588
|
Bitcoin / Development & Technical Discussion / Re: Reminder: zero-conf is not safe; $500USD reward posted for replace-by-fee patch
|
on: July 13, 2015, 03:31:11 AM
|
Miners dont really control the protocol like that.
I have explained a few times, here and on reddit, how a miner or cartel that controls the majority of the hashpower could in fact force a change in the protocol against the will of all other players. The procedure that the miners would use to achieve that is not complicated, but understanding it requires a bit of social intelligence: the ability to put oneself in other people's place, and think of how they would actually act in response to one's actions and changed circumstances -- rather than how one would like them to act. Most bitcoiners just refuse to understand the procedure ("it is impossible to make someone understand something when his revenue depends on him not understanding it"). The few who do understand believe that they can counteract it by the "big red button"defense: let the whole network mine the cartel's version, while the faithful bitcoiners will throw their bitcons away, create a new premined altcoin that can be mined only with CPUS, and declare it to be "the" true bitcoin. Yes, clients can get and recognize "the" valid blockchain as long as they can contact only one honest node; and the verification can be optimized, as you say, if one of the contacts is honest and is aware of the "false" blockchain(s) that other nodes(s) may be serving to unwary clients. But that will not prevent the miners from imposing a protocol change, because they will do it in the open and there will never be any question about which is their "reformed" chain and which is the "orthodox" one. In fact, clients would have to upgrade to the miner-provided software to be able to receive and interact with their branch of the fork at all; and would be forced to do so in order to regain control of their coins.
|
|
|
589
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 12, 2015, 03:13:44 PM
|
I don't know if this has been discussed, but here it goes: what is the best way to spend the outputs that spammers are leaving on well known private keys? We could try and drain their funds, a bit like f2pool did.
I read that those are being swept away as fast as the backlog will allow.
|
|
|
590
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 12, 2015, 02:17:50 PM
|
If someone were to actively attack the network with 51% of the hashrate, or otherwise attempt to attack the network, then the short term effect of bitcoin would likely be severe to the negative. If someone were to execute a successful 51% attack, then why would someone want to buy bitcoin? Why would someone not want to sell it until such attack is over? IMO any actual attack on the network that is successful will have very serious short term effects on the price of bitcoin. I don't think simply having 51% of the network alone would have any serious impact other then that miners will likely migrate away from that pool.
Those who dismiss the risk of a 51% attack by that argument usually assume that (a) the attack will be a double-spend or some other banal fraud, and (b) most bitcoiners will scream 'bitcoin is dead" and dump all their holdings when that happens. As for (a): A cartel or monopoly is usually formed with the goal of increasing the members' revenue over the long term. In a free market (which is not "a market without government regulation"), the price of the product or service ends up being a "fair" price, that makes its suppliers roughly as profitable as any other business. In a monopoly or oligopoly market, where new suppliers are excluded by non-market means, the price is such that maximizes the total net revenue of the suppliers. The banks use their cartel power by charging high fees, not by stealing money from client accounts. It should be easy to see how a mining cartel with (say) 67% of the hashpower could make smaller miners or pools unprofitable, by selectively orphaning some of their blocks. If the cartel wished, they could starve all other miners that way, and earn 100% of the block reward instead of only 67%. That would be a 50% increase in their total revenue, probably a 100% increase in their profits. With current prices, that extra revenue would be almost 360'000 USD/day, or 130 million USD/year. The temptation is clearly there -- especially if a price drop to, say 200 USD/BTC, or the next halving of the reward, would make them unprofitable. A large miner or mining cartel, even with less than 50%, could force an increase in the transaction fees, if there are enough clients who would pay a higher fee for a faster service. At present, that is not worthwhile, since even if they were 5 or 10 times higher, the transaction fees would still be peanuts compared to the block reward. However, a majority cartel could force arbitrarily high fees, by orphaning any block that contains transactions with lower fees. In fact, I have described in detail, several times, how a majority cartel could impose a change in the protocol --such as a postponment of the next halving -- to all the other players. Most bitcoiners simply refuse to understand, and claim that the "economic majority" has the power, not the miners. The few who do understand have ready a "defense" against that: all faithful bitcoiners would abandon bitcoin, and create an altcoin that can be mined only with CPUs -- and declare it as being "the" true bitcoin. As for (b), that is not the normal reaction of people in such cases. Americans did not burn their dollar bills when the US government removed their gold/silver backing. People do not stop using banks or credit cards in protest when these use their cartel power to raise fees or cut services. People do not stop buying medicines when the pharma industry uss patent laws to charge exorbitant prices. In general, a cartel or monopoly can force its users to accept any change (such as higher prices) that would be less harmful to them than doing without the service. For example, suppose that a small miner complained of having a higher orphan rate than the rest, even when he won the block race by tens of seconds. I bet that 99% of the bitcoin users and holders would not even get to know about his complaint; and the other 1% would blame it on network delays, or some fault of the miner himself. Even if it became obvious that a cartel of miners was targeting him, the few bitcoiners who cared would rationalize that "it is the free market at work" (obviously not!), "it has little effect on the hashrate", or "it is good for bitcoin". (Like: "Remember the 6-block reorg after the BIP66 fork? It was started by BTCNuggets, a small miner that had not yet upgraded to v3 when 95% of them already had. If there were no small miners, the reorg would not have happened. Small miners increase the risk of a persistent coin split at a fork.") As for the miners in the cartel pools, why would they switch to a non-cartel pool? By staying with the cartel, they would increase their revenue as the small competitors are driven out of the field. By switching, they would risk becoming the next targets of the cartel. On the contrary, miners in the non-cartel pools would be tempted to join the cartel. Even if the cartel used its majority power to impose a change in the halving schedule, I bet that most holders would hide their fears and speak out in support of the change, "because it strengthens the security of the network", "because it avoids a fee hike that would be fatal for bitcoin's adoption", etc.. They would do that precisely to preserve the value of their investment. From the looks of it, the recent issues with the soft fork and f2pool mining invalid blocks cost [ the hash-stealing miners ] >100 BTC, although they claim it was less. The fact that they have not stopped SPV mining would imply that they made in excess of what they lost in additional mining revenue as a result of their SPV mining, probably from winning orphan races and from being able to mine additional blocks they would not otherwise be able to mine.
Indeed. I read somewhere a quote from F2Pool's reply to the critics. They said that they had disabled parent-block validation (in parallel with next-block mining) after losing a orphan race a while ago. They would re-enable that, but had no intention of stopping the hash-stealing practice (that implies mining an empty block, and possibly winning it, well before they get the whole parent block). Owning 51% of the network hashrate in itself is not a major issue, the problem lies when a single entity starts to actually attack the network after they reach such a percentage. Even if they were to disguise their found blocks as belonging to other entities, it should still be fairly obvious when they are executing some kind of 51% attack.
IIRC, no one cared when GHash.io was accused of attempting double-spends against some gambling site. The "community" (actually, the 1% or so who follows such news) reacted only when they passed 51% -- because, until then, it was common knowledge that the security of the network would not be guaranteed if a miner had more than 51%. However, the "51%" risk is not much less if >60% of the power is in the hands of 4 Chinese miners (who, in spite of being competitors, have already a history of cooperation on issues of common interest). Only that, since then, the "community" has developed a new "defense" against such risks: they convinced themselves that it is the "economic majority" that matters, not the mining majority. I am not sure about this. Back in 2010, the terms nodes and miners were synonyms. He stated that he predicted that one or two nodes would feed a server farm via LAN, and I cannot think of any reason why any kind of server farm would be doing anything to do with bitcoin other then it is mining.
You've completely misunderstood what satoshi said.
Well, you can believe what you want. Considering how the protocol is supposed to work, decentralization of mining is much more critical than decentralization of relay nodes. As long as a client has access to one honest relay node, he will get and recognize the true blockchain, no matter what all the other nodes do; and he can drop any nodes that he suspects are trying to fool him. Whereas every client is forced by the protocol to use the blockchain that is being maintained by the majority of the miners, and cannot selectively "drop" suspect miners from it... I suspect that over the long term, entities that have a vested interest in ensuring that transactions are properly propagated will be running a large number of full nodes. This would include entities similar to bitpay/coinbase who process transaction on behalf of merchants and have a vested interest in having all transactions (not just those being spent to them) in being properly propagated throughout the network.
That is exactly my understanding of what Satoshi meant by that quote. And it makes sense, too.
|
|
|
591
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 12, 2015, 05:51:41 AM
|
As long as the people who own the miners keep their equipment mining on a reputable pool that does not control an outsized share of the network, acts generally ethically (e.g. does not actively allow people to double spend their unconfirmed transactions), confirms transactions while only taking profit (and ethics) into consideration (not personal beliefs) and that pays out mining revenue quickly then the network should remain sufficiently decentralized. When a particular pool starts to get too high a percentage of the network hashrate, people will start to worry and take their mining power elsewhere. When a pool scams/gets hacked, it's miners will only be marginally affected because only a small amount of mining revenue would be unpaid. When pools start to do shady things, it's miners will take their equipment elsewhere.
Most pools are for-profit enterprises, so they have financial incentives to act in ways that allow them to continue to operate over the long term. If they act in ways that is not good for it's miners then the miners will take their equipment elsewhere because they have a financial incentive for bitcoin to be successful because if it is not (at least over the short to medium term) then their investment in their mining equipment will have diminished (or possibly severely negative) returns.
You cannot assume that incentives and motivations of miners are different from those of pool operators. It seems that many pool members are themselves small or medium-size industrial installations (see BitFury vs GHash). While those "whale" members may not dominate in numbers, they may dominate in terms of hashpower. It is possible for someone to follow idealistic principles when that means a monthly loss of 10 $; but that is very unlikely if the loss is 10'000 or 10 million $. Miners know that their equipment will be unprofitable in 2-3 years, as chip efficiency (H/J) improves. So, their goal is to maximize their revenue in that time frame, even if it harms the coin's price in the longer run. If a pool can get a higher hit rate with the same hashpower, by using shortcuts that imply centralization or degradation of service (like mining empty blocks, serving only the header template to its members, "stealing" block hashes from other pools, etc.), it will pay more to its members; and members will then be reluctant to leave it, even if it reaches 51%. What happened to GHash when they went over 50% was a charade that only fooled those who wished to be fooled. It is pointless to prevent a single pool to exceed 51%, if no one knows who owns the pools and miners and what contracts they have made among themselves. Right now the top 4 Chinese pools have 60% of the hashrate. Are their members Chinese too? If the Chinese government decided to force those pools to do something "special", like block all transactions out of some address indefinitely, would they comply? Would their members leave and join non-Chinese pools? The top 5 miners -- those 4 plus the Ukranian BitFury -- have 73% of the total. Wouldn't they form a cartel to do something special that increases their share of the rewards? Would their members notice it? Would they really care? Even satoshi had predicted that, over time the network would become somewhat centralized, some might even say that he blessed the somewhat centralization of mining (however this would probably be more speculation then fact): --snip--
I anticipate there will never be more than 100K nodes, probably less. It will reach an equilibrium where it's not worth it for more nodes to join in. The rest will be lightweight clients, which could be millions.
At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN.
Satoshi was very unhappy about the prospects of GPU mining and called for a moratorium on such programs until bitcoin was better established. His vision seems clear: he expected mining to remain decentralized, done by the clients themselves, off and on at random times; while the relay nodes (that must be running continuously, and would have a heavier load) would be relatively centralized, as above. Instead, mining became an industrial activity and inevitably centralized because of economies of scale and geographic advantages. Whereas now we are told that it is the relay nodes that must remain decentralized and run by individual volunteers... By the way, Adam and the other small-blockians have been insisting all along that raising the block size to 8 MB would make full nodes too expensive to run, and that would lead to more centralization. That is already a dishonest argument because they always replace size limit by size, even after that "misunderstanding" is pointed out to them. People have asked Adam & co many times for an explicit analysis, with numbers, of the impact of the 8 MB limit, but they never gave one. Well, yesterday I tried to do such an analysis myself. I don't know whether it is correct, but it showed that the impact would be small, and 8 MB limit might even be better for the full nodes in case of a spam attack. But then I learned that what they call "full node" is actually a "selfish node" -- that just downloads and checks the blockchain, but does not relay transactions or blocks to anyone else. Bummer. Yes, those nodes will be more costly if the average block size (not just the limit!) increases, because their network, procesing, and disk loads are proportional to the blockchain size only. But they don't contribute anything to the security of the network, only to their own. If 99% of the clients are already SPV mode, what does it matter if those selfish nodes drop from 6000 to 3000? (Or if they are forced to do only partial validation, by random sampling?) If one consider the full nodes that do transaction propagation and serve queue data to miners and other applications, the impact of an increase in average block size (not just the limit!) is much less, because it will not affect the larger cost of propagating and validating transactions. Bummer.
|
|
|
592
|
Bitcoin / Development & Technical Discussion / Re: Reminder: zero-conf is not safe; $500USD reward posted for replace-by-fee patch
|
on: July 12, 2015, 03:44:05 AM
|
The Lightning Network is is still in the paper napkin stage, and "Sidechain" is just another word for "something".
Why not do a cursory google search before making trivially disprovable assertions? https://github.com/ElementsProject/lightningThere are a lot of sketches and ideas for its parts, but not a design for the whole that is expected to work. I have asked several times to Adam, Luke, adn other "new core devs" to provide a simple but 'complete' example of how a week of "life under LN" would be like for, say 3 consumers, 3 merchants, and one hub. The discussion invariably ends at that point. Because, when one tries to think how the pieces would fit and spin together, one sees that they wouldn't. Not to mention that the LN woudl be the exct opposite of what bitcoin was supposed to be. The problem with Sidechains is that the definition is (and must be) so vague that anything can be said to be a sidechain. I have read the whitepaper carefully, and concluded that the old sofa in my living room is a sidechain. (In fact, the proof of that is trivial. The proof that it is a good sidechain requires a bit more argument. I hope to post the proofs eventually.) The point is that a sidechain is supposed to be designed, implemented, and managed independently of bitcoin; and therefore cannot be trusted to behave in any specific way, except that it cannot break bitcoin -- which no one is supposed to be able to do anyway. And, anyway, the core devs themselves admitted that sidechains will not solve the scalability problem. RBF was just a paper napkin when the OP was posted. Now it's real.
RBF and CPFP are not solutions to scalability, or ingredients of the "overlay network". They are part of the "fee market" concept that the "new devs" claim will make a block size increase unnecessary, even undesirable. Yes, unfortunately there are already implementations of RBF; and Peter Todd convinced F2Pool to go ahead and implement his favorite brand of RBF, that makes it easy to do double-spends of 0-confirmation payments. (Until others warned F2Pool of the risks, and they pulled back.) And Luke has just released his own fork of the core, that implements CPFP and also a relay node filter that discards transactions that he considers "spam" (mostly, SatoshiDice and the like).
|
|
|
593
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 12, 2015, 02:22:23 AM
|
The core client wallet lets you see estimated fees to get your transaction confirmed within the next Nth block, and adjust the fees above or below the threshold as desired. The devs of those wallet apps need to adjust their coding, not the core devs, imo.
I tried to explain to the devs that such an algorithm cannot exist, for the same reason that there is no algorithm that will choose the right price to bid at an auction: the desired answer depends entirely on data that does not exist yet, and must be higher than the value that others will choose, using the same or better algorithms -- in other words, the answer must be X such that X = X + 1. I suppose that I should have added the " " when I wrote: clients who have read the source code of the core implementation (and are aware of the modifications and parameter choices made by the major miners and relay nodes) can easily compute the fee that will let their transaction go through in the next N blocks, provided only that they correctly guess what fees will be paid by the 20'000 x N transactions that will be issued by the testers in the next 10 x N minutes, and also by the 800 x N transactions that will be issued by ordinary clients who want to get their transactions in front of the queue.
That scenario is valid now. If things go according to the "new devs"' plans, by the end of the year the network would be *naturally* close to saturation. These are estimated parameters: Max block size limit: 1 MB/block Average transaction size: 400 bytes/tx Average block size with full queues: 500 kB/block = 1250 tx/block Network capacity: 2.08 tx/s = 1250 tx/block = 7500 tx/h = 180'000 tx/day Daily average traffic: 1.74 tx/s = 1041 tx/block = 6250 tx/h = 150'000 tx/day (83% of capacity) Now suppose that, when you are about to pay for your airline ticket, there is a "traffic jam" caused by a temporary surge of demand Short-term traffic: 3.12 tx/s = 1873 tx/block = 11200 tx/h = 270'000 tx/day (50% above capacity, 80% above daily average) Queue backlog: 30'000 tx = 24 blockfuls Let's say that you are happy to wait 2 hours = 12 blocks for your first confirmation. The fee that you will have to pay to get nto the next N = 12 blocks (that will carry only 1250 x N = 21'600 tx) will depend on the fees of (a) those 30'000 tx in the queue, (b) the 1873 x N = 22'476 transactions that are expected to arrive in the next 2 hours, and (c) those transactions, among those 30'000 + 22'476, that will be reissued by their clients in the next 2 hours with fees adjusted (by various algorithms) so as to try to get ahead of your transaction. The results would be a) the core client would keep working just like it always does [ ... ] Is it good for the immediate health of bitcoin to suffer these types of "attacks"? Not particularly, because application devs were not prepared in some cases, and can't react fast enough to satisfy their users, which might hurt some levels of bitcoin adoption. For the most part, though, I think it's a great thing, and hope someone keeps spending their money on this kind of thing. It drives advancement, thought, and prices.
The only thing that is more resilient than the bitcoin network is the faith of the faithful bitcoiner. If a bug in the core implementation were to expose the private keys of half the UTXOs generated since 2012, and hackers stole all those coins, the faithful bitcoiner would point at that with pride and say that, once more, the network worked just as intended -- and that was good for bitcoin. Note, again, that this was not an hostile attack; it was a test, even if rather harsh and inconsiderate. A malicious attacker would have tried to jam a substantial part of the legitmate traffic by adjusting his fees as needed to keep those transactions out of the next block, even as they updated their fees. By the way, here is the interim report of the previous (prematurely aborted) stress test, a couple of weeks ago: CoinWallet.eu Stress Test Analysis
|
|
|
594
|
Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion
|
on: July 12, 2015, 12:00:03 AM
|
Here is a tinfoil hat theory for your amusement: the stress test was part of a pump-and-dump plan for Litecoin.
I have read on /r/bitcoin that some Chinese entity had been pumping Litcoin in China for some time, with ads etc.. Also there I read a testimonial by a BTC day-trader who said he used LTC regularly for arbitrage, to move funds between exchanges -- because of Litecoin's much shorter block interval (2.5 min).
So, perhaps those same Litecoin pumpers contracted the stress test, for the purpose of pushing as much of that inter-exchange traffic to LTC instead fo BTC, driving up its price even futher -- before the final dump.
|
|
|
596
|
Bitcoin / Bitcoin Discussion / Re: Are we stress testing again?
|
on: July 11, 2015, 11:29:58 PM
|
The network is actually working exactly as it is supposed to. Nothing with bitcoin core is broken from the flood of transactions, except the ability to send free transactions through the network in a timely manner, if at all. That is by design.
There are tons of posts on reddit by ordinary users complaining about their transaction being delayed for many hours. They are mostly those who who just let their wallet app choose the transaction fee. It happens that the stress test is now using standard and maybe above-standard fees. Luckily, this is a (pedagogical?) test, not an attack. Thus, clients who have read the source code of the core implementation (and are aware of the modifications and parameter choices made by the major miners and relay nodes) can easily compute the fee that will let their transaction go through in the next N blocks, provided only that they correctly guess what fees will be paid by the 20'000 x N transactions that will be issued by the testers in the next 10 x N minutes, and also by the 800 x N transactions that will be issued by ordinary clients who want to get their transactions in front of the queue. For example, half an hour ago the fee to get into one of the next 12 blocks was 4.5 US cents, but then the testers paused to catch their breath, and now it is only 2.6 cents or so. Hurry up before they resume, perhaps by raising their fees. Apparently, the total cost of this stress test so far has been ~30 BTC yesterday, and ~20 BTC today, not counting the "payload" (output amounts) that is ultimately being donated to Wikileaks, charities, and known "public fountain" addresses. That is ~15'000 USD, which is about three times Coinwallet's originally declared budget (5000 euros). Their peak transaction issuance rate, according to statoshi.info, was over 100 tx per second (the actual capacity of the network being ~2.7 tx/s). Now imagine what a *malicious* spam attack fould do with that sort of budget...
|
|
|
597
|
Bitcoin / Development & Technical Discussion / Re: Reminder: zero-conf is not safe; $500USD reward posted for replace-by-fee patch
|
on: July 11, 2015, 10:57:50 PM
|
"Fork of July" Beast of Apocalypse of the Anagavinists
Heh, very droll. Tres bot mots! The first one is not mine; I got it from /r/bitcoin. Thanks for the other... I'm not sure from where you're getting this "new" [ core dev ] adjective.
"New" in the sense that they took control of the "reference" implementation after Gavin stepped aside. The ad hom is irrelevant in any case, because the claim you infer from it, that "they have invented several spiffy gadgets to handle it that they are dying to use," is not accurate. Sidechains and Lightening are spiffy to be sure
I was referring to replace-by-fee, child-pays-for-parent, and other tools that they have developed for the "fee market". I understand that BIP66 fixes a malleability bug and a security risk, but I got the impression that it got implemented now because it was necessary for those tools to work. but we are seeing them being slowly deployed via the proper (IE whitepaper->peer review->prototype->testnet->listserve feedback->BIP) process, in marked contrast to the Gavinista's insurgent tactics of going straight to the drooling masses and inciting the mob to demand Action Now.
AFAIK, Gavin has been discussing the block increase with the other devs for a long time. He implemented a 20 MB prototype, tested it on the test net with full load, and wrote many blog posts about it. He sought the main affected parties -- major miners, exchanges, and payment processors, etc. -- and got their support (something that the "new devs" apparently are not willing to do). But since the "new devs" were bent on the "let it clog" plan, he brought the issue to the general bitcoin public (something that the "new devs" did not do) and went on to support the BitcoinXT code fork. Which is what any dev is supposed to do when he is unhappy with the evolution of an open source project. I am not a fan of Gavin; I cannot forget that he supported the Bitcoin Foundation well after it started to smell bad, and apparently still likes the title of "Chief Scientist of TBF" even though he is not being paid by them. But I cannot have any respect for the "new devs" for their use of ad-hominem and vague technical FUD to prevent a block increase; and for their stated plans to push all person-to-person traffic off the bitcoin network and appropriate the experiment for their company's use. I cannot understand how the bitcoiners could be happy with that plan... The Lightning Network is is still in the paper napkin stage, and "Sidechain" is just another word for "something". But what is certain is that the "overlay network" will have a few large "hubs", and individual users would have to open accounts with those hubs and lock all their circulating bitcoins in those accounts. I have a hunch about the names of the first two hubs: one will start with "C" and end with "e", while the other will end with "e" and start with "C"...
|
|
|
598
|
Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion
|
on: July 11, 2015, 01:49:04 PM
|
You've always been very negative about bitcoin. Did you change your mind? You sound very positive about it now, or are you trolling? Why would you care about the blocksize? It sounds like you care.
The bitcoin protocol is a great advance towards an old computer ssience problem, and was a very interesting experiment in payment technology. As a computer scientist, I could like that. But I wrote "was" because that experiment has been turned into something that is not nice at all. Mainly, a huge pyramid scheme that is sucking millions of dollars every day from hundreds of thousands of ill-informed people, burning much of it in useless computations, and giving the rest to some smart and/or lucky people. That scheme has ruined the experiment, by pumping up its value to 1000 x what it should have been, and centralizing mining into a handful (literally, 5) of companies. Bitcoin could still go back to being a nice computing experiment, as it was in 2009, if the price crashed back to cents. It should do that eventually, because the investment pyramid cannot go on forever. But now there is a new unexpected threat: Blockstream has taken control of the reference implementation (BitcoinCore) and intends to turn it into a channel for settlements among big entities, drive all person-to-person traffic off the bitcoin network, to offchain solutions like Coinbase, Circle, or the hypothetical Lightning Network. To achieve that goal, they are refusing to make what should be a no-brainer maintenance fix (raising the block size limit) , spreading FUD about centralization, and trying to descredit Gavin and Mike Hearn. So I am taking side in this dispute because it is a technical computer science question, and I cannot avoud giving my technical opinion about it. Plus, I have this psychological problem about scammers and cheats -- and I feel that the Blockstream guys are getting pretty close to that...
|
|
|
599
|
Economy / Speculation / Re: Wall Observer BTC/USD - Bitcoin price movement tracking & discussion
|
on: July 11, 2015, 12:24:41 PM
|
Dafuq is going on? A "stress test" by an entity called coinwallet.eu . It should show what happens when the network saturates (expected to happen naturally by the end of the year) and therefore why increasing the blocksize limit should be a no-brainer decision. But the "new core devs" are absolutely against it, for reasons that only their investors know...
|
|
|
|