3

As I know, in Bitcoin block size is limited to 1MB. This limits the number of transactions in a block and thus the transaction throughput and blockchain size growth rate. This in turn prevents centralization because less powerful nodes can participate in the network consensus.

In Ethereum there is no block size limit, however there is block gas limit. It plays the same role as the block size limit in Bitcoin and prevents centralization.

The majority in the Bitcoin community decided to cancel segwit2x fork (increasing block size) mainly because it will increase centralization.

Isn't increasing block gas limit equivalent to increasing centralization? What is the design rationale behind the decision to give this freedom to miners, unlike Bitcoin community?

3

Only a small minority of Bitcoin developers and users think that the base block size should permanently be 1 MB. It was left unchanged because of a combination of disagreements about the process to raise it, and because some developers thought it should remain at 1 MB (extended to a maximum of 4 MB by SegWit) for now, and only raised at some time in the future.

Ethereum designers had the benefit of seeing what worked well and what didn't work in Bitcoin. They decided that giving the power to miners in a defined process, although bearing the risk that they may raise it further than was sensible, was better than the alternative of paralysis and/or ongoing political factional food-fights.

On whether the current level in each system is appropriate, there is room for a variety of opinions and more evidence is coming on over time, but to date we have not seen substantial reductions in node numbers or substantial increases in miner centralization as gas limits have increased.

Note that there are some differences in Ethereum's design that partly address some of the concerns expressed by some Bitcoin users about larger blocks. For example, rewarding orphaned blocks reduces the miner centralization incentive thought to result from slower propagation times, and state root commitments (equivalent to UTXO commitments in Bitcoin, which have been discussed but not yet deployed) allow clients to more easily validate blocks without downloading the entire history from the genesis block onwards.

2

I can see one crucial difference in the gas limit and block size limit:

Block size is constant

If you increase it - you increase it for everyone. Gas, on the other hand, is the situation that participants can pay for more resources.

The increased/flexible bitcoin block size seems to have few interesting implications.

With constant block size the bitcoin supply is constant and steady

If you read original Satoshi's paper - it seems like by design. Because the block size is limited, and the difficulty is adjusted so one block is mined every 10 minutes - you have steady increase +12.5BTC in the network per minute. (It will be halved and halved until there's 21mln BTC in the network)

What could happen with "infinite" block size?

It sometimes helpfull to analyze the extremes, so let's do it. If block size limit does not exists, a miner can process all transactions in the queue. One of the result would be every transaction is processed.

So an adversary could spam the network (https://bitcoin.stackexchange.com/questions/16942/is-it-possible-to-spam-the-bitcoin-network-with-dust) to the point the blockchain grows to the size it can not be supported by any device (https://www.reddit.com/r/Bitcoin/comments/7oszqh/eli5_why_would_bigger_blocks_lead_to/). And BTC is dead.

Block size is flexible, and miner pays a fee for bigger mined block size?

First problem would be - to whom miner pays the fee? Would it be proportional refund to every sender? Does it mean more transactions to mine?

I'm not sure if the protocol allows anything like this, but let's assume it does, and miners have to balance their profit as

fees_from_transactions - big_block_size_fee

This basically would be ETH approach - transaction sender can pay bigger fee to offset big block size cost.

Except of the first problem mentioned - I can't see a problem with that really.

Last extreme - allow more blocks that 1 per 10 min

I'm not sure how this could be achieved, but probably by setting the difficulty to a constant value.

Con of this approach would be that in periods where there are less transactions: it could lead to new block every few seconds with one transaction in the block. That would bloat the blockchain size with a lot of "metadata".

So, in my opinion, it's a tradeoff game, and we would have to see how different cryptos take different paths and how it pans out.

  • Do you think it's a good idea to make block size in Bitcoin flexible same as block gas limit in Ethereum? (so it can grow and shrink depending on the miner preference) – medvedev1088 Feb 13 '18 at 13:01
  • I honestly don't know. I don't fully understand yet how bigger block size leads to bigger centralization, so I don't feel fully qualified to even speculate ;) – Grzegorz Feb 13 '18 at 13:05
  • 1
    Bigger blocks take longer to propagate and require more computing power to validate, which skews things in favour of those who can afford beefier gear (i.e. pools, and people with money), thereby centralising away from the normal folks like us. – Richard Horrocks Feb 13 '18 at 13:20
  • @medvedev1088 I've read a bit, and added some ideas to my answer - maybe you'll find it interesting. – Grzegorz Feb 13 '18 at 13:37
  • Happy to help, this topic is fascinating. Thanks for an interesting question. – Grzegorz Feb 13 '18 at 14:47
0

Yes your right. In Bitcoin block size is fixed value. Because bitcoin is for designed for currency(with out central authority).

Where is case of eth is designed for computing. We don't know how much computing is required or state changes for a particular contract or transaction. If its 1MB or some X/MB, Eth will not scale.

If I want to do big operation which is more than 1or2 mb. Then its difficult to do even thought I've good computing system. That means this is based on miner rather than whole community. This is one of factor people will say Eth is scaleable.

Update:

Eth is for computing we don't know how much computing is required? Its depends on smart contract or trans. In bitcoin world all about money not more like computing. And incentive model is also different for both the cases. Total Bitcoin number of coins are fixed link, where is case of eth its different.

Both are solving different problems. In bitcoin that is correct algo. Computing world we can't ask every one to fix one value. So that's a reason blocksize should flexible in Eth.

  • I understand from your answer that flexible gas limit makes Ethereum more scalable. Does it mean that flexible block size in Bitcoin will make it more scalable? – medvedev1088 Feb 13 '18 at 13:07
  • @medvedev1088, Eth is for computing we don't know how much computing is required? Its depends on smart contract or trans. In bitcoin world all about money not more like computing. And incentive model is also different for both the cases. Both are solving different problems. In bitcoin that is correct algo. Computing world we can't ask every one to fix one value. So that's a reason blocksize should flexible in Eth. – Jitendra Kumar. Balla Feb 13 '18 at 13:13
  • I'd argue that we can fix one value for block gas limit. Look at this graph etherscan.io/chart/gaslimit. Most of the time the gas limit is fixed, only sometimes it makes jumps. If we freeze the block gas limit at the current rate the network will continue to function properly. Only the transaction throughput will become constant same as in bitcoin. – medvedev1088 Feb 13 '18 at 13:22
  • @medvedev1088 I do agree with you, fixing gas limit may be most of the time function properly, but 1% it may fail. It depends on transaction size and computing power. I want to save 5mb data as a state change. In that situation eth may not work. You may say do it in off chain, that it may not scalable. – Jitendra Kumar. Balla Feb 13 '18 at 13:28

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.