Ad
Tech

Satoshi-Era Bitcoin Function 'OP_CAT' Dusted Off as Development Fervor Grows

Developers Ethan Heilman and Armin Sabouri view OP_CAT as a simple opcode that offers some of the general purpose functionality currently missing in Bitcoin

Updated Mar 8, 2024, 9:32 p.m. Published Feb 14, 2024, 12:11 p.m.
OP_CAT crew
OP_CAT crew
  • OP_CAT has the goal of restoring functionality that was available in early versions of the network software but was removed by Satoshi Nakamoto in 2010.
  • The BIP's developers see OP_CAT as a simple upgrade to introduce greater functionality for the building of L2s, decentralized exchanges or even file hosting.
  • Such concepts however often prove contentious among some members of the Bitcoin community.

As Bitcoin developers experiment with features and upgrades that increasingly resemble the vibrant activity on alternative blockchains like Ethereum, some of programmers are pushing for a revival of a piece of code that existed on the network in its early days.

A Bitcoin Improvement Proposal (BIP) for a new version of the "OP_CAT" code, introduced in October, aims to restore functionality that was available in early versions of the blockchain's software but was removed by its elusive and likely pseudonymous creator, Satoshi Nakamoto, in 2010.

The "cat" in the proposed operational code is short for "concatenate" – since technically the function was used to join two elements in a script.

Nakamoto was concerned that OP_CAT exposed the network to security concerns, such as the risk of a denial-of-service (DoS) attack if it were used in conjunction with other opcodes to create very large stack elements. Another concern was the potential for "exponential" memory requirements.

The developers behind the new proposal, BastionZero co-founder Ethan Heilman and Botanix Labs lead software engineer Armin Sabouri, describe their refreshed version of OP_CAT as a simple piece of coding – just a dozen or so lines. They say it could provide the general-purpose functionality that's been missing from Bitcoin since its very early days, and that's been a key driver of growth on Ethereum, the second-biggest blockchain. If launched, so-called layer-2 networks might be easier to build atop Bitcoin, along with other innovations like decentralized exchanges or file hosting.

This article is featured in the latest issue of The Protocol, our weekly newsletter exploring the tech behind crypto, one block at a time. Sign up here to get it in your inbox every Wednesday. Also please check out our weekly The Protocol podcast.

The developers argue that technological advances since 2010 and other changes to the Bitcoin code have already addressed many of the risks that worried Nakamoto.

"Having worked with Bitcoin for a really long time and having built a number of protocols on top of it, one of the big problems I kept running into is that variables in the programmability of the network can't really be combined," Heilman told CoinDesk in an interview.

"My biggest use case for CAT is introducing protocols that have the ability to post something on the layer 1 and have another transaction reference it, showing that one element proves another element and so on," Sabouri explained.

Other camps/devs believe Bitcoin is far from ready to ossify ...

Such functionality could provide smart contract-like features and trustless bridges to layer 2s, he said.

It would also enhance the building of vaults – a type of Bitcoin smart contract or “covenant” that puts constraints on how a bitcoin can be spent. These systems can help deter hackers or other malicious parties from attacking decentralized apps.

"It's pretty common in second-layer designs to have to combine things in order to sign or hash them, Merkle trees being a really good example," Sabouri said. "The fact that you cannot do that in the scripting language of Bitcoin is a pretty big shortcoming."

Screenshot of the proposed code for reviving OP_CAT on Bitcoin. (GitHub)
Screenshot of the proposed code for reviving OP_CAT on Bitcoin. (GitHub)

Philosophical conflicts

The proposal could prove contentious among some members of the Bitcoin community who believe adding functionality to the network is at odds with the blockchain's original ethos of providing a store of value and a peer-to-peer payments network.

The Ordinals protocol, for example, was a notable development for essentially bringing non-fungible tokens (NFTs) to Bitcoin for the first time, by allowing users to "inscribe" data on chain. However, the congestion that the inscriptions caused, and the premium they added to fees, drew ire from some Bitcoin purists.

Luke Dashjr, an influential Bitcoin developer who has mounted campaigns to fight what he terms as "spam" transactions on the 15-year-old blockchain, told CoinDesk in a direct message that he is "not familiar enough with the use cases for OP_CAT to comment on it specifically right now."

"Building on Bitcoin is fine. Attacking Bitcoin (eg, "ordinals") is not," Dashjr wrote.

"There is the camp that believes Bitcoin should entirely ossify and not change much because its such a vital piece to this core new money system," André Neves, co-founder and chief technology officer of Bitcoin payments company Zebedee, told CoinDesk via email. "Other camps/devs believe Bitcoin is far from ready to ossify, as there's a lot more to be added/fixed/improved."

"There are people who want Bitcoin to work forever just how it is working now," Heilman said. "I don't think they are wrong; it's just a question of the philosophy and the direction that the greater community wants to go in."

OP_CAT might indirectly help to relieve network congestion, according to the authors.

"We need to be looking at how we can get Ordinals onto a second layer, so it's on a completely different network which has a Bitcoin peg but does not consume any on-chain footprint," Sabouri said. "Things like CAT enable more layer 2s, so really it's a toolbox to enable the building of those trust-minimized pegs onto different off-chain protocols."

Holding pattern

At this point, OP_CAT is still in a holding pattern, up for discussion but without much apparent movement. It was assigned a BINANA (Bitcoin Inquisition Numbers And Names) number of BIN-2024-0001, which would allow it to be added onto the Signet test network, but it still has not been assigned a "BIP" number as a formal Bitcoin Improvement Proposal.

Theoretically, the proposal would be subject to extensive public reviews and meetings where other developers will raise issues with the code, discuss improvements and so on.

Heilman said this will commence in early March with hopes of it being approved by the end of the month.

But major proposals like this can be tough to push through on Bitcoin – seen as perhaps the most leaderless and decentralized blockchain, often relying on volunteers to maintain the code repository – unless there is a groundswell of community support that leads to overall consensus about an update.

"It is really hard to predict how long from this point it will take for CAT to be activated into Bitcoin," he added. "It is possible that the CAT code will be merged into Bitcoin Core in April and the soft-fork activation process could begin soon after. It is also possible that it takes a year or more or that the community decides they don't want CAT at all."

Dashjr, for his part, said he doubts OP_CAT will get incorporated "in the near future." However, another proposal, known as CTV, for "OP_CHECKTEMPLATEVERIFY," is likely closer to reality. That function would introduce new scripting logic for how a transaction can spend specific coins.

Bob Bodily, CEO of Bioniq, an Ordinals marketplace, said that "even though CTV is the technically better proposal, CAT has way more positive mindshare in the Bitcoin ecosystem, and almost everyone wants it, regardless of the specific Bitcoin camp you are part of."

Litmus Test

Indeed, the OP_CAT proposal's fate might be seen as a litmus test for where the community sees Bitcoin going: Will it become a more general-purpose, programmable blockchain or preserved strictly as a peer-to-peer payments system and settlement layer for financial transactions?

"We all know what the problems with Bitcoin are to do with scalability and so on, and we've got to solve them at some point, or otherwise it won't work for mass adoption," Sabouri said. "There's going to be much bigger, more complicated upgrades, but OP_CAT's such a simple and easy one that I think will set the template for how future upgrades should go."

If OP_CAT isn't adopted, other proposals for added functionality, such as "covenants" might do the trick, according to Neves, the Zebedee co-founder.

OP_CAT was recently honored by Bitcoin Ordinals project Taproot Wizards with a NFT-like collection of digital cats. Despite multiple technical difficulties and delays in the minting process, the 3,000 collectibles priced at 0.1 BTC ($4,300) each sold out, bringing in total revenue of nearly $13 million. They're now changing hands on the secondary marketplace Magic Eden for nearly 0.3 BTC. Less than 24 hours later, buyers were already flipping them for more than twice the original price.

The episode might offer a market indicator of how much pent-up demand there is for Ethereum-style functionality on Bitcoin, still the largest blockchain by far, with a market capitalization of $929 billion.

"Taproot Wizards approached us after we put out the proposal, asking us how they could help," Sabouri said. "They wanted to know what resources they could provide to see OP_CAT go through as the next software, which they're really determined to see happen."

One might say it's a ball of yarn to be unraveled.

Jamie Crawley

Jamie joined CoinDesk as a news reporter in February 2021 after writing widely about crypto and blockchain for two years in other roles. Away from crypto, Jamie runs a lot and loves all things sport. He holds small amounts of BTC, ETH, ADA and LTC.

picture of Jamie Crawley