0

I'm just wondering why do we need blocks. I mean, I could have my tx (signed), with its outputs/inputs, make a hash of it and broadcast it. Basically 1 tx per block, if you want to see it like that.

Then, a miner could run a lighter version of PoW (or any alternative, e.g. PoS) over the single transaction (with low difficulty). This way, we wouldn't have to wait over 10 mins/block to be created. Couldn't this achieve more TPS on a blockchain? (not talking about Bitcoin specifically).

Probably the answer is no, but I just want to know why. I found several related questions here but no one seems to solve my question...

PS: I read about the relay times on the Bitcoin network to be about 14s. My question is ignoring this delays.

Thanks :)

0

The purpose of the blockchain is to allow nodes to agree on what transactions have occurred in the past. Part of this is how to resolve conflicts. When, at a particular height, multiple blocks are found at the same time, resolving this requires the next block to be found.

If the block time is very low, what ends up happening is that there is a higher probability that this race will occur. This results in the blockchain having more forks, and potentially longer forks that could become problematic.

If the block time was low enough for every transaction to be its own block, then it would be almost impossible to resolve to a single blockchain. With the number of transactions being made, you couldn't possible create a fixed transaction order because then the blockchain would essentially become synchronous.

By aggregating transactions into blocks that are spaced somewhat far apart, this problem is avoided. It becomes less likely that there will be conflicting blocks for a particular height. And if there are, the fork that they create does not last for more than 1 or 2 blocks. This allows the blockchain to eventually converge and everyone can agree on the transaction history.

1
  • I think it's more clear now. Thank you very much!
    – AIR
    Mar 8 at 17:39
0

The Problem is that the nodes in the peer to peer network need to synchronize after every block. That means every new block needs to be shared with every participant in the network. This takes some time.

If someone on the other side of the world creates a block it might take a few seconds until this block reaches you. Even if this block contains only 1 tx. That's because latency does not reduce, if you reduce the block size.

Therefore you would have to give the network at least a few seconds time to synchronize after every transaction. This would reduce the overall tx per second drastically compared to aggregating multiple tx in a block and producing a block every 10 minutes on average.

1
  • Thanks for your response :) However, time would be decreased. In fact, one counter argument of increasing Block size is the download time. I'm assuming that at 1 transaction level, the transmission time would be about milliseconds. EDIT: Maybe lowering PoW time would cause more forking?
    – AIR
    Mar 7 at 15:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.