Wizard Haldey. Image by Chase Elliot Clark via flickr.com. License: Creative Commons

BIP-420 is intended to reintroduce a long-deactivated script command, OP_CAT. This would enable numerous exciting operations for Bitcoin. But even more exciting than the technology is the social procedure surrounding it – and the fact that BIP-420 doesn’t even have an official number.

The Tabroot wizards around Udi Wertheimer and Eric Wall are known for enriching the Bitcoin culture with a somewhat trollish lightness.

They are currently drumming up a Bitcoin Improvement Proposal (BIP) to reactivate the deactivated opcode OP_CAT. The GDP, says Udi, already has a number, namely 420, and it has received it in a decentralized manner.

That’s not true – Udi is trolling, as is so often the case – but it still contains a lot of truth. The proposal doesn’t have a number, but it really exists. The introduction of OP_CAT is technically possible and interesting, and there are actually delicate efforts to free the BIP process from its current, centralized and rigid form.

So by inventing a GDP number, Udi is inflating a true story and achieving the highest thing a troll can achieve: bringing attention to a relevant issue.

This gives us a story in which there is gold, both technically and socially. In order to understand this, we have to go back a little and explain the respective aspects. We start with the technology.

Bitcoin Scriptsystem

Bitcoin, you know, has its own scripting system programmed by Satoshi himself. When a transaction is checked to see if it was actually signed by the associated key, a sequence of operations takes place that accumulates, hashes, and verifies data.

This scripting system is modeled on an old, simple device programming language, Forth, and operates by placing commands on a so-called stack and calling them from there.

You don’t have to understand these details, not even begin to understand them. What it’s more about is the following: Just like a calculator, the Bitcoin software has various commands, the so-called opcodes. These commands are not Turing-complete as in a conventional programming language, but allow combinations of various operations to be carried out that go far beyond standard transactions.

Many of these commands, which were initially included in Bitcoin, were later deactivated. Satoshi feared that they could be misused, such as to launch congestion attacks, while they were not necessary for the ordinary transactions that he was concerned with, at least in the early days of Bitcoin.

The return of OP_CAT

One of these disabled codes is OP_CAT. The “CAT” stands for concatenation and in computer science means concatenating elements in list-like data structures without changing their order. If you connect 1 and 2 with a concatenation, it doesn’t become 3 as with addition, but 12.

OP_CAT has long been on many developers’ wish list of opcodes to reactivate. The alleged BIP 420 explains quite nicely why: With OP_CAT you could map numerous operations on the blockchain that are not currently possible, including:

  • You can create vaults. This is a way of storing Bitcoins so that they cannot be stolen even with knowledge of the private key. Vaults or covenants were supposed to be introduced with BIP-119, but this failed. OP_CAT would be sufficient to create vaults even without this.
  • One can introduce quantum-safe Lampert signatures (although it is not entirely clear whether they would really be quantum-safe in this framework)
  • You can exchange keys decentrally using the Bitstream protocol, which would, among other things, enable decentralized file hosting
  • You can also use tree signatures to build large multisig constructions in an extremely data-efficient manner
  • With OP_CAT you could improve payment channels in a certain way.

OP_Cat allows a whole new class of operations. As with Taproot, it can be assumed that the examples mentioned only cover a small part of what will be possible, probably not even the most interesting.

Certainly possible thanks to Taproot

The problem with OP_CAT is that the opcode made it possible to sneak operations into a transaction that would be exponentially more complex to execute than the data itself. This could have overloaded the memory of all nodes.

BIP 420 gets around this problem by introducing OP_CAT as a tapscript. Tapscript is the scripting language in Taproot signatures. With a few exceptions, it is identical to the traditional Bitcoin scripting language. One difference, however, is that each stack element is limited to 520 bytes, which effectively defuses the attack.

GDP – without the number 420 – already exists. Blockchain researcher and Bitcoin developer Ethan Heilman submitted it for discussion in December 2023. It was well received in the developer community and there are currently no valid objections. But despite repeated requests, Ethan didn’t receive an official number.

This brings us to the social component of this story, which is perhaps more important than the technical one.

The keeper of the sacred numbers

The BIP process is a procedure for putting proposals for the technical improvement of Bitcoin into a standardized form and discussing them. The process has proven effective for finding consensus in a decentralized developer community and has also been adopted by other cryptocurrencies, such as Ethereum.

The assignment of a number is considered a milestone in the history of a GDP. It makes it easier to discuss a proposal and gives it official credibility. A name is an idea – a number is a project in the pipeline.

But to get such a number, GDP has to go through a bottleneck. The keeper of the BIP numbers is Luke Dashjr, one of the earliest Bitcoin developers still active today.

Luke has a reputation for being technically brilliant. SegWit goes back to him as a soft fork; he designed the P2SH format that is still used today. But Luke is also considered extremist and fanatical, for example when it comes to the scalability of Bitcoin. The fundamentalist Catholic (who rejects the Pope) is also known for being idiosyncratic to the point of quirkiness, and some security incidents mar the impression of his technical brilliance.

That a figure like Luke became the custodian of upgrades and improvements to software that powers a trillion-dollar network is one of the strange, ironic jokes of Bitcoin history. But for people like Ethan Heilman and others who would rather see OP_CAT reactivated today rather than tomorrow, Luke is mostly a nuisance. Because he has so far refused to give the GDP for OP_CAT a number without giving any substantive reasons for doing so.

Trolling with a subtle sense of humor

When Udi now claims that the GDP for OP_CAT was given the number 420, he is primarily trolling Luke and the social system of Bitcoin development.

He explains on Twitter: “BIP numbers are assigned by the Bitcoin community, in a decentralized process of rough consensus, similar to the rules of Bitcoin itself. No single person controls the rules of Bitcoin, and no specific person controls the BIP Numbers.”

The joke is subtler than meets the eye at first glance. Udi doesn’t just act as if it wasn’t Luke’s responsibility to assign the BIP numbers. Rather, he parodies it by claiming the role that Luke likes to claim – being a central party who channels the community’s consensus in an almost magical way, not much different than a priest who receives the grace of God, or a Populist who channels the will of the people.

Udi’s action may be primarily humorous and aimed at drawing attention to the proposal. In fact, it could be the beginning of overturning the rigid BIP system and possibly pushing Luke out of his role as its guardian.

It may not be entirely coincidental that Bryan Bishop, also a long-time Bitcoin developer, half-jokingly and half-seriously offered to replace Luke as BIP editor, and not entirely coincidentally, some prominent figures in the Bitcoin world have This development was welcomed half in jest and half seriously.

Whether it will actually come to that, whether the now visible resistance to the somewhat encrusted corset that has dominated Bitcoin development over the last ten years will prevail, or whether there will even be a serious attempt to bring about change – that is cannot be said at the moment.

In any case, Udi may have already managed to wrest control of the BIP numbers from Luke. Because the introduction of OP_CAT is already being traded as BIP-420 – and this actually happened through a decentralized community consensus instead of a central gatekeeper.

Source: https://bitcoinblog.de/2024/04/24/die-rueckkehr-der-konkatenation-in-bitcoins-skriptsprache/



Leave a Reply