Pages:
Author

Topic: bitcoin block size (Read 2189 times)

legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
August 12, 2011, 06:09:08 PM
#22
it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.

You do not need the entire block chain to run a wallet. For example, the Android wallet app uses a very light version which is only like 30MB instead of 400mb and it's a fully-functional wallet. The point is, not every functional Bitcoin user need store the entire Bitcoin database. As long as some people or companies are, then the network functions.
sr. member
Activity: 350
Merit: 251
August 12, 2011, 02:47:39 PM
#21
given the number of 4000 average TXN per second at 438 bytes per TXN

1752000bytes per second
105120000 bytes per minute
6307200000 bytes per hour
147825000 kilobytes per day
~140 gigabytes per day
~51456 terabytes per year (365)

seeing these numbers makes you wonder really wonder. what is the solution?

I think you may have mixed up your labeling there. ~140 * 365 = ~51456 GIGAbytes, not terabytes. ~51 terabytes per year isn't really that bad today for a professional data storage place, and likely will be something home users can get 10 years from now (according to this http://www.pricewatch.com/hard_removable_drives/ ~51 terabytes only costs about $2,338.86 today, which already isn't much compared to what some of the bigger mining rig operators spend. This will likely drop to $200 in ten years)

yes i know the data is not really accurate at all, i was lazy and just pounded some numbers in a calc instead of excel.

http://en.wikipedia.org/wiki/Phase-change_memory

this is what i hope we all have once we pass 2020 or  2015, if we are lucky
legendary
Activity: 1680
Merit: 1035
August 12, 2011, 02:38:10 PM
#20
given the number of 4000 average TXN per second at 438 bytes per TXN

1752000bytes per second
105120000 bytes per minute
6307200000 bytes per hour
147825000 kilobytes per day
~140 gigabytes per day
~51456 terabytes per year (365)

seeing these numbers makes you wonder really wonder. what is the solution?

I think you may have mixed up your labeling there. ~140 * 365 = ~51456 GIGAbytes, not terabytes. ~51 terabytes per year isn't really that bad today for a professional data storage place, and likely will be something home users can get 10 years from now (according to this http://www.pricewatch.com/hard_removable_drives/ ~51 terabytes only costs about $1,774.80 today, which already isn't much compared to what some of the bigger mining rig operators spend. This will likely drop to $200 in ten years)
donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
August 12, 2011, 12:04:51 PM
#19
then what is it for?
It's a commodity that works like a currency, like gold. It's not a transaction clearing system, like Visa. You can certainly make transaction clearing systems that handle transactions denominated in bitcoins, but bitcoin itself is not such a system.

In the Visa system, where does the currency come in? Visa doesn't shuttle dollar bills around, they clear things electronically. The currency comes in when you pay your Visa bill and Visa pays the vendors. That's where bitcoin would come in too.

Bitcoin is not a microtransaction system, but a microtransaction system that handled bitcoin transactions would be a good thing to have.
I see what you are saying here. A credit risk system is useful for making small and fast transactions. I just don't think it is necessary with bitcoin as the risk of small transactions being double-spent or fraudulent is much harder with bitcoin than a credit card number. The transaction fee savings with cryptocurrency will more than pay for the occasional unconfirmed bitcoin for that mocha-latte.
full member
Activity: 168
Merit: 100
God creats math and math creats bitcoin.
August 12, 2011, 11:36:42 AM
#18
i just recently read some slides on bitcoin that seems to make some okay arguments against it, mostly concerning the size of the blockchain.

they make the claim that if bitcoin were to replace just visa, then we would require 3TB of storage every 21 days.

the average transaction size for the past 1000 blocks is 438, bytes i assume, it does not give units.

given the number of 4000 average TXN per second at 438 bytes per TXN

1752000bytes per second
105120000 bytes per minute
6307200000 bytes per hour
147825000 kilobytes per day
~140 gigabytes per day
~51456 terabytes per year (365)

seeing these numbers makes you wonder really wonder. what is the solution?

if we could get the average TXN size down to 300 bytes per TXN @ 4000 TPS

1200000 bytes per second
72000000 bytes per minute
70312.5 kilobytes per minute
4119 megabytes per hour
98876 megabytes per day
34 terabytes per year

i don't know if bitcoin has a future seeing this.

but here are some solutions to help the problem

use only 1 address
checkpoint blocks, every x number of blocks, every transaction done since the last checkpoint block is consolidated, only contains a huge DB of who has how much, its a block that does not use any hashing and is made by every client, no reward is given. yes there is some security problems with this.
compression(i think the blockchain gets ~70% compression ratio)
making a brand new branch of bitcoin every so often

yes i will still use bitcoin, we just need to fix this problem now before the situation gets out of control.

99.99% of the bitcoin transaction will happen inside the online wallet service in the future. we are not patient animal who can wait 10 - 60 mins for the transaction confirmation. the bitcoin network just function  on a lower fundamental level, just to control the quantity of the money
donator
Activity: 2058
Merit: 1054
August 12, 2011, 06:45:12 AM
#17
it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.
If you don't particularly need to verify the transactions, you don't need them. The miners generate the hashes without the transactions, so it's obviously not needed to check them either.

(The header contains a hash of the tree of transactions. With just that hash, you can verify that the block contains proof of work, but you could get duped into accepting a block with illegal transactions. But since you haven't accepted the transactions anyway, that should be harmless. There are trade-offs involved in this approach, no doubt.)

so you could just prune txn data from say, the first 100000 blocks and be safe, as long as you did not get any coins in that 100000
I think you're mixing two different things:
1. Full nodes will prune old transactions that were already spent. They will keep unspent transactions.
2. Lightweight clients will only keep block headers and relevant Merkle branches. They will not at any point keep transactions that do not concern them.
sr. member
Activity: 350
Merit: 251
August 12, 2011, 06:41:42 AM
#16
it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.
If you don't particularly need to verify the transactions, you don't need them. The miners generate the hashes without the transactions, so it's obviously not needed to check them either.

(The header contains a hash of the tree of transactions. With just that hash, you can verify that the block contains proof of work, but you could get duped into accepting a block with illegal transactions. But since you haven't accepted the transactions anyway, that should be harmless. There are trade-offs involved in this approach, no doubt.)

so you could just prune txn data from say, the first 100000 blocks and be safe, as long as you did not get any coins in that 100000
donator
Activity: 2058
Merit: 1054
August 12, 2011, 06:39:23 AM
#15
it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.
You prune transactions only when there's already a long chain on top of the block in question, and you trust that the block was verified when it was fresh. So to tamper with the block you'll need to redo all the proof of work from then until now, which is unlikely (if you can do that, you can recreate the chain regardless of pruning transactions).
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
August 12, 2011, 06:34:23 AM
#14
it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.
If you don't particularly need to verify the transactions, you don't need them. The miners generate the hashes without the transactions, so it's obviously not needed to check them either.

(The header contains a hash of the tree of transactions. With just that hash, you can verify that the block contains proof of work, but you could get duped into accepting a block with illegal transactions. But since you haven't accepted the transactions anyway, that should be harmless. There are trade-offs involved in this approach, no doubt.)
sr. member
Activity: 350
Merit: 251
August 12, 2011, 06:30:06 AM
#13
You do know that this has already been discussed to death, right? For starters have a look at https://en.bitcoin.it/wiki/Scalability.

1. Only a full node will need the entire block chain. End users will use a lightweight client that stores only relevant info, and uses the services of a full node to learn about transactions (but not to sign transactions).
2. Spent transaction will be pruned from the block chain, so storage requirement will be small.
3. 1.8 MB/s bandwidth is very reasonable.
4. Some of your math is off, eg it would be 50 TiB per year, not 51456.

Bitcoin is not meant to replace Visa any more than dollars or gold are meant to replace Visa.
I partially disagree. One of the selling points of Bitcoin is that it is a currency that has payment processing built-in. Centralized services like Visa will have their place, but it is a good thing if they are in competition with raw Bitcoin.

it was my understanding that you needed the entire block in order to hash it to verify it, so how can you possibly remove data from the chain.
donator
Activity: 2058
Merit: 1054
August 12, 2011, 06:24:41 AM
#12
You do know that this has already been discussed to death, right? For starters have a look at https://en.bitcoin.it/wiki/Scalability.

1. Only a full node will need the entire block chain. End users will use a lightweight client that stores only relevant info, and uses the services of a full node to learn about transactions (but not to sign transactions).
2. Spent transaction will be pruned from the block chain, so storage requirement will be small.
3. 1.8 MB/s bandwidth is very reasonable.
4. Some of your math is off, eg it would be 50 TiB per year, not 51456.

Bitcoin is not meant to replace Visa any more than dollars or gold are meant to replace Visa.
I partially disagree. One of the selling points of Bitcoin is that it is a currency that has payment processing built-in. Centralized services like Visa will have their place, but it is a good thing if they are in competition with raw Bitcoin.
sr. member
Activity: 350
Merit: 251
August 12, 2011, 06:21:08 AM
#11
not sure if it is needed to have the complete block chain to do a payment really Tongue

its not required, but you only know of transactions that exist in the portion of the chain you have. also, you can never know if the part of the chain you have is valid in comparison to the full chain.

IMO i think we need a drastic rework on how we make sure who has how much and such without requiring so much data to be stored forever.

i do not know of a way, but i would guess a way to not need the entire chain through "checkpoint" blocks. also we could drop addresses that have had no activity for x number of blocks.

or we could start over from scratch with a brand new genisis block and everything once the chain gets unmanageable. or even a competing chain would be good. that way the phase out period is smaller. (do not use ixcoin, we need a TRUSTED new chain, where the genesis block is made live, just import and start hashing)
this would also get rid of the "early adopter" "problem", since every few years a new chain would start competing with existing chains.

You either centralize the system which brings back the problems of abuse and counterparty risk or live with the problems that any decentralized system has.

Its not a bug, its a feature.  Tongue

i agree, i guess i want my cake, and to eat it too.

but i think competing systems is always good, even for bitcoin.
legendary
Activity: 1148
Merit: 1001
Radix-The Decentralized Finance Protocol
August 12, 2011, 06:14:57 AM
#10
not sure if it is needed to have the complete block chain to do a payment really Tongue

its not required, but you only know of transactions that exist in the portion of the chain you have. also, you can never know if the part of the chain you have is valid in comparison to the full chain.

IMO i think we need a drastic rework on how we make sure who has how much and such without requiring so much data to be stored forever.

i do not know of a way, but i would guess a way to not need the entire chain through "checkpoint" blocks. also we could drop addresses that have had no activity for x number of blocks.

or we could start over from scratch with a brand new genisis block and everything once the chain gets unmanageable. or even a competing chain would be good. that way the phase out period is smaller. (do not use ixcoin, we need a TRUSTED new chain, where the genesis block is made live, just import and start hashing)
this would also get rid of the "early adopter" "problem", since every few years a new chain would start competing with existing chains.

You either centralize the system which brings back the problems of abuse and counterparty risk or live with the problems that any decentralized system has.

Its not a bug, its a feature.  Tongue
sr. member
Activity: 350
Merit: 251
August 12, 2011, 06:06:41 AM
#9
not sure if it is needed to have the complete block chain to do a payment really Tongue

its not required, but you only know of transactions that exist in the portion of the chain you have. also, you can never know if the part of the chain you have is valid in comparison to the full chain.

IMO i think we need a drastic rework on how we make sure who has how much and such without requiring so much data to be stored forever.

i do not know of a way, but i would guess a way to not need the entire chain through "checkpoint" blocks. also we could drop addresses that have had no activity for x number of blocks.

or we could start over from scratch with a brand new genisis block and everything once the chain gets unmanageable. or even a competing chain would be good. that way the phase out period is smaller. (do not use ixcoin, we need a TRUSTED new chain, where the genesis block is made live, just import and start hashing)
this would also get rid of the "early adopter" "problem", since every few years a new chain would start competing with existing chains.
hero member
Activity: 792
Merit: 1000
Bite me
August 12, 2011, 05:54:33 AM
#8
not sure if it is needed to have the complete block chain to do a payment really Tongue
sr. member
Activity: 350
Merit: 251
August 12, 2011, 05:49:47 AM
#7
i guess i just see something in bitcoin that is not possible large scale. where you can freely pay who you want without having to worry about the government tracking your every move. not having to trust 2 people to do one transaction.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
August 12, 2011, 05:28:21 AM
#6
then what is it for?
It's a commodity that works like a currency, like gold. It's not a transaction clearing system, like Visa. You can certainly make transaction clearing systems that handle transactions denominated in bitcoins, but bitcoin itself is not such a system.

In the Visa system, where does the currency come in? Visa doesn't shuttle dollar bills around, they clear things electronically. The currency comes in when you pay your Visa bill and Visa pays the vendors. That's where bitcoin would come in too.

Bitcoin is not a microtransaction system, but a microtransaction system that handled bitcoin transactions would be a good thing to have.
sr. member
Activity: 350
Merit: 251
August 12, 2011, 05:24:47 AM
#5
i just recently read some slides on bitcoin that seems to make some okay arguments against it, mostly concerning the size of the blockchain.

they make the claim that if bitcoin were to replace just visa, then we would require 3TB of storage every 21 days.

the average transaction size for the past 1000 blocks is 438, bytes i assume, it does not give units.

given the number of 4000 average TXN per second at 438 bytes per TXN

1752000bytes per second
105120000 bytes per minute
6307200000 bytes per hour
147825000 kilobytes per day
~140 gigabytes per day
~51456 terabytes per year (365)

seeing these numbers makes you wonder really wonder. what is the solution?

Don't use Bitcoin like credit cards?

After all, the credit cards companies keep a record of my transactions which they bill me at the end of the month. My bank or bitcoin wallet in this context only see one transaction where I pay them at the end of the month or whenever I please.

So credit cards companies don't have to worry Bitcoin will drive them out of business, one less enemy Cheesy
They just need to update their systems to accept transactions denoted in BTC that's all.


i see what your saying, and i thought of this, but it goes against what bitcoin is about, you holding your money. we already have this partialy, for example person to person transfers inside wallets and exchanges. no transaction is made in the chain. this also means that someone could just decide they wanted you coins and would just take them, or they could start FRB.
newbie
Activity: 42
Merit: 0
August 12, 2011, 05:19:34 AM
#4
i just recently read some slides on bitcoin that seems to make some okay arguments against it, mostly concerning the size of the blockchain.

they make the claim that if bitcoin were to replace just visa, then we would require 3TB of storage every 21 days.

the average transaction size for the past 1000 blocks is 438, bytes i assume, it does not give units.

given the number of 4000 average TXN per second at 438 bytes per TXN

1752000bytes per second
105120000 bytes per minute
6307200000 bytes per hour
147825000 kilobytes per day
~140 gigabytes per day
~51456 terabytes per year (365)

seeing these numbers makes you wonder really wonder. what is the solution?

Don't use Bitcoin like credit cards?

After all, the credit cards companies keep a record of my transactions which they bill me at the end of the month. My bank or bitcoin wallet in this context only see one transaction where I pay them at the end of the month or whenever I please.

So credit cards companies don't have to worry Bitcoin will drive them out of business, one less enemy Cheesy
They just need to update their systems to accept transactions denoted in BTC that's all.
sr. member
Activity: 350
Merit: 251
August 12, 2011, 05:08:59 AM
#3
then what is it for?
Pages:
Jump to: