A Closer Look at Bitcoin Unlimited’s Configurable Block Size Proposal – Nasdaq.com the price of bitcoin

The proposal

The bitcoin protocol, as enforced by economically relevant nodes, currently includes a one-megabyte block size limit. If a miner were to create a block larger than one megabyte, that block would be considered invalid. It would not become part of bitcoin’s blockchain, and the miner that mined it would have wasted its resources producing it.

BUIP001 – drafted by bitcoin unlimited lead developer andrew stone – disposes of the one-megabyte block size limit protocol rule entirely, and replaces it with three configurable options. Two of these are configurable by all node operators, which include regular users as well as miners. And a third option is only for miners.

These configurations are signaled to the bitcoin network. Regular users broadcast their preferences to other nodes, and miners embed their preferences in the blocks they mine.The price of bitcoin

Option 1: maximum generation size, or MG

First, there is the maximum generation size, also referred to as MG. This option is for miners only and is fairly straightforward: it lets miners set the size of blocks they produce. The default setting is one megabyte: it doesn’t automatically diverge from the current bitcoin protocol. But if a miner wants to create a two-megabyte block, it’s as simple as flipping a switch in bitcoin unlimited’s user interface. If a miner wants to produce an eight-megabyte block, it’s the same switch.

(the only limits left are limits on message length, which bitcoin unlimited set at 160 megabytes. And eventually data type limits or machine resource limits.)

MG gives miners full control over the size of blocks they produce. But of course, as explained above, a two-megabyte block would be rejected by the network right now.The price of bitcoin

That’s where the second configurable option comes in.

Option 2: excessive block size, or EB

The excessive block size, typically referred to as EB, determines the size of blocks that nodes and miners accept. If a miner produces a two-megabyte block, that block will be accepted by all nodes and miners that set EB to at least two megabytes.

EB is set at sixteen megabytes by default and is configurable by both normal users and miners. But it is an especially important configuration for miners: miners only mine on top of blocks they accept. A miner that maintains bitcoin’s current one-megabyte block size limit will reject a two-megabyte block, to instead keep mining on the last one-megabyte block. A miner that sets EB to two megabytes, however, will immediately mine on top of that same two-megabyte block, regardless of what the rest of the network does.The price of bitcoin

Of course, this also presents a problem.

If a minority of miners sets EB to one megabyte, and a majority of miners sets EB to, say, two megabytes, the network could split in two. As soon as anyone mines a two-megabyte block, a minority of miners will ignore it, and instead continue to extend the one-megabyte chain. The majority of miners, however, will accept the chain with the two-megabyte block, and extend that chain.

Different groups of miners would consider different chains valid, and mine on top of their own chain while ignoring the other chain. This split could technically last forever without the two chains ever converging, in effect splitting bitcoin into two different networks and currencies.

In an attempt to resolve this, bitcoin unlimited introduces the third configurable option.

Option 3: excessive acceptance depth, or AD

the price of bitcoin

Excessive acceptance depth, or AD, essentially overrules EB. More specifically, AD determines the number of added confirmations a block requires, before nodes and miners accept it regardless of that block’s size. The default is four.

So, let’s say a node sets EB to two megabytes, and AD to four added confirmations. If that node receives a three-megabyte block, it will initially ignore that block since it exceeds its two-megabyte EB. But if a majority of miners does not ignore that block, and mines four new blocks on top of it, the node’s two-megabyte EB is overruled by its four AD confirmations. The three-megabyte block is retroactively accepted as valid.

As such, different miners (and nodes) should – eventually – converge on a single valid chain, even if they have different MG and EB settings.The price of bitcoin

Last, it’s worth briefly mentioning the sticky gate. If a node’s AD is hit, that node will accept subsequent blocks of any size for about 24 hours (144 blocks). This sticky gate ensures that miners immediately build on the chain with the newly accepted bigger blocks, and not continuously lag behind on the rest of the network, while waiting for each block to reach sufficient AD.

The next article will take a closer look at some of the weaknesses of BUIP001.

Jonny1000 contributed to this article.

The proposal

The bitcoin protocol, as enforced by economically relevant nodes, currently includes a one-megabyte block size limit. If a miner were to create a block larger than one megabyte, that block would be considered invalid. It would not become part of bitcoin’s blockchain, and the miner that mined it would have wasted its resources producing it.The price of bitcoin

BUIP001 – drafted by bitcoin unlimited lead developer andrew stone – disposes of the one-megabyte block size limit protocol rule entirely, and replaces it with three configurable options. Two of these are configurable by all node operators, which include regular users as well as miners. And a third option is only for miners.

These configurations are signaled to the bitcoin network. Regular users broadcast their preferences to other nodes, and miners embed their preferences in the blocks they mine.

Option 1: maximum generation size, or MG

First, there is the maximum generation size, also referred to as MG. This option is for miners only and is fairly straightforward: it lets miners set the size of blocks they produce. The default setting is one megabyte: it doesn’t automatically diverge from the current bitcoin protocol.The price of bitcoin but if a miner wants to create a two-megabyte block, it’s as simple as flipping a switch in bitcoin unlimited’s user interface. If a miner wants to produce an eight-megabyte block, it’s the same switch.

(the only limits left are limits on message length, which bitcoin unlimited set at 160 megabytes. And eventually data type limits or machine resource limits.)

MG gives miners full control over the size of blocks they produce. But of course, as explained above, a two-megabyte block would be rejected by the network right now.

That’s where the second configurable option comes in.

Option 2: excessive block size, or EB

The excessive block size, typically referred to as EB, determines the size of blocks that nodes and miners accept. If a miner produces a two-megabyte block, that block will be accepted by all nodes and miners that set EB to at least two megabytes.The price of bitcoin

EB is set at sixteen megabytes by default and is configurable by both normal users and miners. But it is an especially important configuration for miners: miners only mine on top of blocks they accept. A miner that maintains bitcoin’s current one-megabyte block size limit will reject a two-megabyte block, to instead keep mining on the last one-megabyte block. A miner that sets EB to two megabytes, however, will immediately mine on top of that same two-megabyte block, regardless of what the rest of the network does.

Of course, this also presents a problem.

If a minority of miners sets EB to one megabyte, and a majority of miners sets EB to, say, two megabytes, the network could split in two. As soon as anyone mines a two-megabyte block, a minority of miners will ignore it, and instead continue to extend the one-megabyte chain.The price of bitcoin the majority of miners, however, will accept the chain with the two-megabyte block, and extend that chain.

Different groups of miners would consider different chains valid, and mine on top of their own chain while ignoring the other chain. This split could technically last forever without the two chains ever converging, in effect splitting bitcoin into two different networks and currencies.

In an attempt to resolve this, bitcoin unlimited introduces the third configurable option.

Option 3: excessive acceptance depth, or AD

Excessive acceptance depth, or AD, essentially overrules EB. More specifically, AD determines the number of added confirmations a block requires, before nodes and miners accept it regardless of that block’s size. The default is four.

So, let’s say a node sets EB to two megabytes, and AD to four added confirmations.The price of bitcoin if that node receives a three-megabyte block, it will initially ignore that block since it exceeds its two-megabyte EB. But if a majority of miners does not ignore that block, and mines four new blocks on top of it, the node’s two-megabyte EB is overruled by its four AD confirmations. The three-megabyte block is retroactively accepted as valid.

As such, different miners (and nodes) should – eventually – converge on a single valid chain, even if they have different MG and EB settings.

Last, it’s worth briefly mentioning the sticky gate. If a node’s AD is hit, that node will accept subsequent blocks of any size for about 24 hours (144 blocks). This sticky gate ensures that miners immediately build on the chain with the newly accepted bigger blocks, and not continuously lag behind on the rest of the network, while waiting for each block to reach sufficient AD.The price of bitcoin

The next article will take a closer look at some of the weaknesses of BUIP001.

Jonny1000 contributed to this article.