Pages:
Author

Topic: Blockchain download speed singularity - page 2. (Read 4538 times)

sr. member
Activity: 433
Merit: 267
The Bitcoin blockchain is not going to handle all transactions in the United States or the world with today's technology. Making hundreds of thousands of duplicates of every single transaction throughout the world is non-trivial. Even if Bitcoin blocks were massive we would run into the issue of transaction fees being too high to be reasonable, not to mention the outrageous bandwidth requirements that would be necessary.

That does not mean Bitcoin is dead or doomed (Why the FUD?). It means that other technologies must be used to facilitate the majority of "Bitcoin" transactions in the long run. This isn't ideal, but sometimes the perfect is the enemy of the good.

https://en.bitcoin.it/wiki/Off-Chain_Transactions
https://blog.coinbase.com/2013/08/06/you-can-now-send-micro-transactions-with-zero-fees/
https://lightning.network/
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK

The latency of the internet and Tor and the time it takes to establish a connection makes changing ip addresses quickly enough to broadcast that many transactions per second impossible. The attacker would not be able to connect to another proxy and the bitcoin network, and still be able to send several million transactions per second. He's would need to broadcast then all almost at the same time or several million per IP. Thus, the network would still block him.


Multiple PCs , different locations?

I know its far fetched, but if a gov is seriously considering eliminating bitcoin, they do have alot of resources to do so.


Quote
The blockchain only stores transactions that are confirmed, e.g. in a block. All unconfirmed tensions remain in the mempool, and if not broadcasted repeatedly, will be removed and forgotten within a day or two. Again, since 1 satoshi transactions are low priority miners are less inclined to fill blocks with them. Miners can also choose to not include any of the attacker's txs. Thus the attacker needs to continually broadcast all of his transactions to get them in a block, and the continual spamming of millions of dust transactions will get him blocked.
Yea but again, multiple IP, different addresses, different PC's. With enough resources it can be done

Quote
That already is a hard cap on block size... at 1Mb.

So if 99% of the transactions are the attacker sending dust, then the mempool will be overloaded with other peoples transaction, that will never execute.

So either you have to increase that number or the miners increase the average fees.


legendary
Activity: 952
Merit: 1005
--Signature Designs-- http://bit.ly/1Pjbx77
So either you decrease block creation speed, but then you hit the speed of light boundary, to send information, and the blockchain falls apart
OR
You increase block size, but then you will run out of bandwidth, that not even big companies could provide, and blockchain falls apart.

We can't change block creation target rate of 10 mins without a major fight over this hard fork. Changing creation rate messes with block rewards miners receive. They will fight this  Cheesy

The block size limit is now 1M. I believe the current bandwidth in a developed city network will have no problem accommodating 5M blocks. Remember the block size limit is only a "limit". Miners are interested in the 25 btc block reward and not fees. They do not have incentive to mine larger blocks for the fees because larger blocks are slow to propagate.

By the time block rewards are much lower and fees play a larger role, then we might see blocks approaching 5M. Hopefully better infrastructure would have been developed by then.
sr. member
Activity: 268
Merit: 258
May 18, 2015, 11:22:14 PM
#9
Each time send it to a newly generated address, and change IP addresses if or when necessary.
The latency of the internet and Tor and the time it takes to establish a connection makes changing ip addresses quickly enough to broadcast that many transactions per second impossible. The attacker would not be able to connect to another proxy and the bitcoin network, and still be able to send several million transactions per second. He's would need to broadcast then all almost at the same time or several million per IP. Thus, the network would still block him.

Quote
If you hard cap the block size at 1 GB, then you have to lower the block creation interval at some point, because the malicious user would fill up the TX with 1 GB of orders, and more waiting in pending mode + the other people's transactions.
That already is a hard cap on block size... at 1Mb.

Quote
So the pending orders would exponentially increase, and sooner or later only the bad guy would execute transactions, and everyone else would have his TX in infinite pending mode.

But if you decrease block creation time, then eventually you hit a lower time interval = light speed, the time it would take buch of data to travel from 1 point of the world to another.

So it needs (with ultra future technology) 133 miliseconds to transmit data, but with malicious users hijacking the whole network, you would have to lower the blockc creation time until you hit 133 permanent limit. And after you hit that, we are literally fucked, because the transactions will only stack up, and pending orders will be infinitely pending.

The only long term viable option is to delete the old transactions that are older than 6 months. Sorry but a permanent blockchain with full record history is not viable in the long term.
The blockchain only stores transactions that are confirmed, e.g. in a block. All unconfirmed tensions remain in the mempool, and if not broadcasted repeatedly, will be removed and forgotten within a day or two. Again, since 1 satoshi transactions are low priority miners are less inclined to fill blocks with them. Miners can also choose to not include any of the attacker's txs. Thus the attacker needs to continually broadcast all of his transactions to get them in a block, and the continual spamming of millions of dust transactions will get him blocked.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
May 18, 2015, 10:45:50 PM
#8
The other solution would be to keep the block size limit less than 1Gb. Even if the attacker tried to flood the network, the miners would drop their dust transaction unless they paid an exorbitant transaction fee. Furthermore, someone would notice 100 billion dust txs from the same address and inform the miners, who could just drop those txs from that address. The only way the attacker could succeed would be if they had 50% of the hashing power, in which case the network is already in trouble.

But who said he would use the same address and same IP address.

He would do it like this


A->B->C->D->E...

Each time send it to a newly generated address, and change IP addresses if or when necessary.

--------

If you hard cap the block size at 1 GB, then you have to lower the block creation interval at some point, because the malicious user would fill up the TX with 1 GB of orders, and more waiting in pending mode + the other people's transactions.

So the pending orders would exponentially increase, and sooner or later only the bad guy would execute transactions, and everyone else would have his TX in infinite pending mode.

But if you decrease block creation time, then eventually you hit a lower time interval = light speed, the time it would take buch of data to travel from 1 point of the world to another.

So it needs (with ultra future technology) 133 miliseconds to transmit data, but with malicious users hijacking the whole network, you would have to lower the blockc creation time until you hit 133 permanent limit. And after you hit that, we are literally fucked, because the transactions will only stack up, and pending orders will be infinitely pending.

The only long term viable option is to delete the old transactions that are older than 6 months. Sorry but a permanent blockchain with full record history is not viable in the long term.
sr. member
Activity: 268
Merit: 258
May 18, 2015, 10:36:35 PM
#7
The other solution would be to keep the block size limit less than 1Gb. Even if the attacker tried to flood the network, the miners would drop their dust transaction unless they paid an exorbitant transaction fee. Furthermore, someone would notice 100 billion dust txs from the same address and inform the miners, who could just drop those txs from that address. The only way the attacker could succeed would be if they had 50% of the hashing power, in which case the network is already in trouble.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
May 18, 2015, 10:25:47 PM
#6
My numbers do not account for these, but they typically occur off chain. These transactions typically happen within the exchanges own system. The numbers I use come from https://www.frbservices.org/files/communications/pdf/research/2013_payments_study_summary.pdf. These numbers include all credit card, debit card, ACH, checks, and prepaid cards from 2012.
Yea, but eventually they will have to load it into the blockchain, and the more exchanges pop up the bigger a block gets.



Someone doing that would be banned almost immediately. Their node would receive a banscore from its peers, and would thus be disconnected and blocked from the entire network for at least 24 hours. Miners would might also drop his transactions. Dust transactions have a lower priority, and it is likely that the miners would not include the transactions sent by the attacker into their blocks.

Yea but i`m not talking about ordinary hackers, but rather a 3 letter agency, or some bankers who would not like it.

They would just use Tor or proxies to send the money back and forth.Now i agree that it would need more resources, a few million $ perhaps to pull it off, but those 3 letter guys definitely have it, if they decide to sabotage it they will be prepared.

1 method could be to raise the mining fee or eliminate the 0 fee completely, but that would raise all costs then. For example if you would set the mining fee to 0.01 satoshi that would make a transaction cost the same as a bank transfer, so it would not be that cheap anymore, but atleast it would protect us from this disaster.
sr. member
Activity: 268
Merit: 258
May 18, 2015, 10:18:36 PM
#5
(Now i`m sure your statistic doesnt count HIGH FREQUENCY TRADING inside exchanges, nor other financial markets, only interbank transfers is it?)
My numbers do not account for these, but they typically occur off chain. These transactions typically happen within the exchanges own system. The numbers I use come from https://www.frbservices.org/files/communications/pdf/research/2013_payments_study_summary.pdf. These numbers include all credit card, debit card, ACH, checks, and prepaid cards from 2012.

Quote
But what about malicious users?

Suppose a malicious user would buy 1000 Bitcoin solely for the purpose of sabotaging the network, he then would send those 1000 Bitcoins in 1 satoshi pieces (even though he would have to wait 3-4 days) or 1 satoshi with 10k satoshi fee, depending how it would be more efficient, back-and-forth between his addresses.

So he could generate 100,000,000,000 transactions in 1 round, then after 4 days another 100 billion.

Thus in 3 weeks he could generate 500 billion transactions ,that would make 1 block 2.4 gigabyte instantly.

In 2-3 months he could destroy Bitcoin literally.  Embarrassed
Someone doing that would be banned almost immediately. Their node would receive a banscore from its peers, and would thus be disconnected and blocked from the entire network for at least 24 hours. Miners would might also drop his transactions. Dust transactions have a lower priority, and it is likely that the miners would not include the transactions sent by the attacker into their blocks.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
May 18, 2015, 10:10:44 PM
#4
While there is a problem with scalability in Bitcoin, the number of transactions required to create blocks that exceed the network speed is astronomically large. I ran some numbers to show this:

The USA handled 122.8 Billion non-cash transactions in 2012. I rounded this up to 150 Billion transactions.
In transactions per second: 4756 tx/s in 2013. Round up to 5000 tx/s
In transactions per block: 3000000
Thus, using the average transaction size of 0.2 Kilobytes, the block size would be 600000 Kb = 600 Mb.

Now, this is just the USA, with some inflated numbers, so the numbers worldwide are definitely higher, but not be too much.

Even with larger than 1 Gb blocks, the worldwide average network speed is 23.3 Mb/s, so I rounded down to 20 Mb/s.
The largest block size which could cause the scenario you outlined would be 12 Gb. Which could most definitely support all the worldwide non-cash transactions.

Of course, these numbers are averages, they could be higher, they could be lower. The internet speed depends on the location, the number of transactions depends on the time and place.

While the number transactions could pose a problem for block size and internet speeds, due to the astronomically large number of transactions to cause a problem, the core developers are not focusing on that yet. They will probably get around to addressing that issue, but they have other issues such as the size of the blockchain. This issue is currently being thought about and developers are attempting to resolve it. They will move onto other pressing issues first before coming to fixing the issue with download speeds.

If you have a solution to this issue you present, by all means, share it. Propose a BIP and submit it to the community and the core devs. It will eventually become implemented, and you will have just fixed a potentially big problem with Bitcoin for the future.

Ok that's 600 Mb/s for a average population of pool of 319 million, but we got 7 billion people, so on average that would be 22x bigger.

And let's ignore the fact that USA has more money to send / higher developed nation, i dont think with internet & bitcoin it would be that hard to get access to transactions. So we can safely include undeveloped regions like africa and south asia.

So in best case scenario we would face 13.2 Gb /block, if people would restrain themselves.

(Now i`m sure your statistic doesnt count HIGH FREQUENCY TRADING inside exchanges, nor other financial markets, only interbank transfers is it?)

But with bitcoin everything has to go through the blockchain, while you could have an exchange holding debt/ IOU /promissary notes, it will definitely increase it on the large run.

But what about malicious users?

Suppose a malicious user would buy 1000 Bitcoin solely for the purpose of sabotaging the network, he then would send those 1000 Bitcoins in 1 satoshi pieces (even though he would have to wait 3-4 days) or 1 satoshi with 10k satoshi fee, depending how it would be more efficient, back-and-forth between his addresses.

So he could generate 100,000,000,000 transactions in 1 round, then after 4 days another 100 billion.

Thus in 3 weeks he could generate 500 billion transactions ,that would make 1 block 2.4 gigabyte instantly.

In 2-3 months he could destroy Bitcoin literally.  Embarrassed
sr. member
Activity: 268
Merit: 258
May 18, 2015, 09:17:45 PM
#3
While there is a problem with scalability in Bitcoin, the number of transactions required to create blocks that exceed the network speed is astronomically large. I ran some numbers to show this:

The USA handled 122.8 Billion non-cash transactions in 2012. I rounded this up to 150 Billion transactions.
In transactions per second: 4756 tx/s in 2013. Round up to 5000 tx/s
In transactions per block: 3000000
Thus, using the average transaction size of 0.2 Kilobytes, the block size would be 600000 Kb = 600 Mb.

Now, this is just the USA, with some inflated numbers, so the numbers worldwide are definitely higher, but not be too much.

Even with larger than 1 Gb blocks, the worldwide average network speed is 23.3 Mb/s, so I rounded down to 20 Mb/s.
The largest block size which could cause the scenario you outlined would be 12 Gb. Which could most definitely support all the worldwide non-cash transactions.

Of course, these numbers are averages, they could be higher, they could be lower. The internet speed depends on the location, the number of transactions depends on the time and place.

While the number transactions could pose a problem for block size and internet speeds, due to the astronomically large number of transactions to cause a problem, the core developers are not focusing on that yet. They will probably get around to addressing that issue, but they have other issues such as the size of the blockchain. This issue is currently being thought about and developers are attempting to resolve it. They will move onto other pressing issues first before coming to fixing the issue with download speeds.

If you have a solution to this issue you present, by all means, share it. Propose a BIP and submit it to the community and the core devs. It will eventually become implemented, and you will have just fixed a potentially big problem with Bitcoin for the future.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
May 18, 2015, 07:27:17 PM
#2
Also after some point if the blockchain gets too big, nobody could download it ever again, because your download speed would be smaller than the size of 1 block.

If 1 block size will reach 1 GB, and you got a 1mb/s internet then in 10 minutes, you can only download 600 mb, and by the time you download 600mb another block gets formed. So you will be forever locked out of the blockchain and you could never download it.

Even if you put it in a torrent, nobody could download it because by the time you download it it doubles or triples in size

 Huh Huh
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
May 18, 2015, 07:19:55 PM
#1
So the blockchain grows exponentially as more and more users are using it. And now its around 35 GB and it will grow faster and faster , but we also know that the hard disks will also be bigger and bigger, thus they will grow paralelly ,and with the implementation of supernodes, larger companies will store the blockchain for us, after it gets very large.

However, what about the download speed??  Huh

Since most of us have thought about the size of the blockchain, but what about the download speed.


Think of it this way, the size of the blocks have to increase at some point to absorb more and more transactions, or the block creation interval has to become shorter.


If the block creation interval becomes shorter, then at some point we have to get to an interval of less than 1 second, and after that there will be more transactions / time, than the speed of the average user, thus he cant keep up with the exponentially increasing blockchain, and the network will fall apart. This is true with supernodes , because this doesnt depend on the bandwidth , but the connection speed, which is bounded by the speed of light.

OR

If the block max size will be increased, then it depends from the bandwidth, and we know that even the fastest internet is not that big perhaps 1000x largers than the average one. And the internet bandwidth speed cant be increased like the hard disk space.

Largest bandwitdh ever: 1.4 terrabyte /s
http://www.independent.co.uk/life-style/gadgets-and-tech/fastest-ever-commercial-internet-speeds-in-london-download-44-films-in-a-second-9077061.html

However you can easily buy 100 petabytes storage space if you got money, but the internet speed will never increase at such a great pace.


Summary
So either you decrease block creation speed, but then you hit the speed of light boundary, to send information, and the blockchain falls apart
OR
You increase block size, but then you will run out of bandwidth, that not even big companies could provide, and blockchain falls apart.

Is bitcoin doomed?  Cry Cry
Pages:
Jump to: