Skip to content

Instantly share code, notes, and snippets.

@btcdrak
Last active July 2, 2021 21:16
Show Gist options
  • Save btcdrak/1c3a323100a912b605b5 to your computer and use it in GitHub Desktop.
Save btcdrak/1c3a323100a912b605b5 to your computer and use it in GitHub Desktop.
@hoffmabc
Copy link

Biggest issue is that 8MB cap. I think the numbers could be adjusted here, but probably one of the most compelling early pitches to come to consensus.

@btcdrak
Copy link
Author

btcdrak commented Aug 22, 2015

Regarding the 8MB cap, I only suggested it because Chinese miners seemed reluctant to go above it. However, it might make sense to place the limit at 32MB (or just under) because that is the limit of the p2p messaging system and anything bigger will require another hard fork there anyway.

@GamerSg
Copy link

GamerSg commented Aug 24, 2015

Doesn't this suffer from a Tragedy of Commons scenario where even if there is a real need to increase blocksize, miners refuse to do it and hope someone else will do it?

@btcdrak
Copy link
Author

btcdrak commented Aug 24, 2015

@GamerSg When the blocksize must be increased miners are likely to communicate out of band to reach an agreement. We have already seen pools are willing to worth together and forge consensus. What is does ensure however is the blocksize will actually grow according to demand. Increasing blocksize is in the interest of miners to claim transaction fees.

@hoffmabc I removed the 8MB limit because there is a natural limit of 32MB anyhow. I am assuming miners are not going to raise blocksize to levels that hurt their interests.

@rubensayshi
Copy link

can you explain why you'd make it 'free' to downvote?

@afk11
Copy link

afk11 commented Aug 25, 2015

The 32mb p2p message limit is something I've forgotten about of late! It's similar to having soft-forked the size downwards. We've had this before - having an artificial limit of 0.5mb, which was increased when miners changed the setting.

I had initially hoped that any hard fork would do away with this, and give us some means of arriving at the figure by consensus, so I'm glad to see the change from 8 to 32mb. It's one less hard-fork to worry about.

I'm now almost convinced there should be a cost to down-voting the size.

The argument against giving miners the ability to indefinitely raise the block size is it can lead to mining centralization. I believe a similar argument exists for lowering the size, since it increases fee pressure, centralizing the ability to participate in the network to fewer and fewer institutions.

I liken this to institutional centralization. Setting up a regulated fiat payment processing service involves licensing, legal fee's, ongoing costs that can make innovation prohibitive.

This isn't possible with a static size, as although a cartel can agree to use only 0.5Mb, any miner can break ranks and mine a 1Mb block. Consensus enforced limiting of the blocksize is a departure from this reality, so I think there should be a cost to a negative size vote - incurring the same cost as raising the limit by the same amount.

@mmeijeri
Copy link

Wouldn't the median be a better yardstick than the average?

@mmeijeri
Copy link

Using a decimal rather than a binary multiplication factor might lead to subtle rounding errors. It would be very unfortunate if that led to unintentional forks...

@mmeijeri
Copy link

Since hashing produces uniformly distributed pseudorandom numbers half the block hashes of blocks that meet the target are actually below half the target, a third below a third the target, and 90% below 90% of the target. Doesn't that mean that miners get almost free votes in favour of a 10% increase?

@btcdrak
Copy link
Author

btcdrak commented Aug 28, 2015

@mmeijeri I agree it's better to use binary votes. I'm just more concerned about the other details as the format of the votes is relatively minor.

Regarding your comments on miner luck, it doesnt matter because they cant mine and then cast their vote, as they commit to the vote in the coinbase before solving the PoW hash. Some votes will get a lucky hash, some will be unlucky.

@btcdrak
Copy link
Author

btcdrak commented Aug 28, 2015

@rubensayshi Ensures most of the mining power is on the same page regarding blocksize.

@mmeijeri
Copy link

How does having to cast a vote first help? Wouldn't they simply set all their votes to the maximum value?

Some votes will get a lucky hash, some will be unlucky.

Wouldn't 90% of them be lucky hashes?

@maaku
Copy link

maaku commented Aug 28, 2015

@mmeijeri they are paying for voting up by giving up subsidy. See this writeup for details:

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008017.html

@btcdrak
Copy link
Author

btcdrak commented Aug 28, 2015

OK I've reworked quite a bit of the text and reduced complexity, and saved some bytes in the coinbase field. I'm going to transfer this over to my bips fork and open a pull request.

@btcdrak
Copy link
Author

btcdrak commented Aug 28, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment