Blockstream & Core Developers’ BIP Identity Crisis

A decision on the part of Core developers to use the same BIP ID number for their “compact blocks” proposal as its counterpart, “Xthin,” has ignited a controversy as some are now questioning the competency of Core developers.

Also read: Bitcoin Price Slumps While Altcoins Party

Xthin & Compact Blocks, One BIP

There has been an ongoing debate among the Bitcoin community regarding the decision of Core developers to assign the same Bitcoin Improvement Proposal number (BIP #) to their version of Xthin.

Gregory Maxwell

The debate centers around two competing protocol proposals that offer similar solutions regarding the amount of bandwidth needed for block propagation. The two optimizations are “Xthin,” which was proposed by non-core developers, and the Core/Blockstream variant called “Compact Blocks.”

“Xthin” was first proposed by Peter R and others, then some time later a modified version of the idea was proposed by Blockstream/Core developers as a response to some problems they felt existed with the initial proposal. However, the problem arose when Core devs gave the ‘compact blocks’ proposal the same identifier as Xthin.

Questioning Core Developers

This has sparked a backlash within the community against the core developers, with some questioning their competency as project leaders. Two of the Core developers, Greg Maxwell and Luke-Jr, have specifically been called out for their ineptitude. Although, this is no surprise considering that Maxwell and Luke are probably responsible more than anyone else for the controversy.

bitcoin_core_logo_colored_reversedThis is considering the fact that Luke is the man in charge for the assignment of BIP ID numbers and Maxwell is the one who gave him that power. However, the two have been defending the action on Reddit, saying that the proposals can be assigned the same BIP ID # without a hitch. Nevertheless, people have contested this as some argue that the only way it would work is by making the features confer with one another, therefore lengthening the process and requiring more data use.

Basically, the controversy boils down to a belief that the Core developers, Maxwell and Luke especially, complicated things by assigning two improvements the same identifier. This is because a client relies on these identifiers to distinguish between data types and to allow clients to notify each other about which optional features they are using. Without unique IDs, a hack has to be introduced to reroute data processing dependent on something other than the identifier.

What do you think of the Core developers decision to take Xthin’s BIP # and assign it to their protocol implementation?

Images courtesy of

  • Jan Jurk

    For a outsider like me, who would just like to see bitcoin become a success based on the strong points of the bitcoin concept, it is unbelievable that the community that drives bitcoin seems so committed to mess everything up and scare users and newcomers away with all this controversy.

    • wonky tonky

      one starts to think they do it on purpose

  • Nepa1

    It is not a BIP # that core have re-used, rather an enum. In fact, Luke (apparently) belatedly assigned BIP153 for xthins, which was a political move to force xthins to change their enum, seeing compact blocks are specified in BIP152. However, xthins were deployed on the bitcoin network over 6 months before compact blocks’ code even made it to release candidate state.