Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: fevir on February 18, 2016, 09:36:57 AM



Title: transaction scalability through hashing?
Post by: fevir on February 18, 2016, 09:36:57 AM
Hi,

I was just wondering based on some rough figures, according to this site http://bitcoinstats.com/network/propagation/2013/11/23 it takes 8.3 seconds for a message to propagate to 90% of the network and transactions are stored locally in a node's memory pool. It takes 125.8 (say 130) seconds to propagate a message to 99% of the network. Every block is found at an average of 10 minutes (600 seconds). Once a block is created, it contains transactions that have been broadcasted to the network, so the assumption here is that once a miner starts mining a block it took 130 seconds to reach that miner, and the transaction still has 600-130=470 seconds to propagate through the rest of the network.

Each block contains approximately 4200 transactions (assuming an average transactions size of 235 bytes, depending on the signature, and a 1MB (1.000.000 in bytes) block size), which leads to (4200/600) approximately 7 transactions per second.

Now, what if each node creates a hash (say SHA256) of each valid transactions, and adds those hashes in a block. Each block can contain 8.000.000 (in bits) / 256 = 31.250 transactions, a factor 7 increase.

The miner broadcasts the block containing the hashes of transactions, and every other node verifies these hashes with its own memory pool in which the transactions and corresponding hashes are stored. If valid, the block is added to the chain, including the actual transactions in case of any forks occurring. Would that work?


Title: Re: transaction scalability through hashing?
Post by: achow101 on February 18, 2016, 12:49:52 PM
While that could potentially work the problem is that transactions could actually become lost. By doing this, transactions aren't actually included in the blockchain. It would require nodes to store all of the transactions and then those nodes need to request the transaction from other nodes. Then, when scanning the blockchain, a node would have an additional network overhead because it has to ask other nodes for all of those transactions. It also makes the blockchain not a permanent place to store transaction data.


Title: Re: transaction scalability through hashing?
Post by: fevir on February 18, 2016, 02:03:35 PM
Thanks for answering. So if we'd be able to store transactions outside of the chain, this would be for now a viable solution. Interesting, going to ponder on that :-)


Title: Re: transaction scalability through hashing?
Post by: Jet Cash on February 18, 2016, 03:46:16 PM
They are called side chains.