OP_CAT and Bitcoin Ossification with Blockstream’s Andrew Poelstra

In a recent interview with Bitcoin Magazine, Shinobi spoke with Blockstream’s Andrew Poelstra to discuss the views of his colleague Rusty Russell ambitious proposal. Rusty plans to restore several abandoned features from Bitcoin’s code, a bold move that could significantly improve the functionality and expressiveness of Bitcoin scripts.

Understanding the new cost model

One of the central aspects of the “Great Script Restoration” proposal is the introduction of a new cost model for opcodes. Currently in Bitcoin, every operation costs the same, regardless of its computational complexity. However, this model does not accurately reflect the true cost of running scripts, leading to potential inefficiencies and limitations. Rusty’s new cost model attempts to address this by assigning different costs to opcodes based on their compute requirements. This approach deviates significantly from the existing model and aligns more closely with the way computation fees are handled in other blockchain platforms such as Ethereum.

Andrew Poelstra highlighted the potential benefits and challenges of this new model. “The new fee model is very interesting and slightly different from the way Bitcoin works today,” he noted. The new model would ensure that scripts are priced more fairly based on the resources they consume, potentially preventing spam attacks and other issues.

Challenges and consensus building

Implementing this plan is not without challenges. A major problem is the complexity of determining the execution time of scripts. For example, in Ethereum, transactions have a gas limit to prevent excessive computation. Poelstra acknowledged the similarities, saying, “I’m going to say something mean here and say this looks like gas, right?” However, he emphasized that unlike Ethereum, where running out of fuel still costs the user, a failed transaction in Bitcoin does not result in lost funds.

To move forward, the Bitcoin developer community must build consensus around this plan. Poelstra mentioned a noticeable shift in community attitudes toward the expressiveness of scripts in recent months. This change is partly due to the emergence of new use cases and the realization that restrictive approaches can hinder innovation. “There has been a very interesting mood swing in the Bitcoin developer community over the last six months, just like the last six months,” he noted.

Tackling Bitcoin Ossification

The path forward includes several important steps. First, developers need to write a good proposal, including reference implementations and test vectors. This proposal will then be reviewed and discussed within the community to gather feedback and reach consensus. Poelstra emphasized the importance of this process, saying, “Initially the steps are pretty simple, right? You write a good proposal, you have a reference notation, you write test vectors, you get benchmarks.”

An important part of the consensus-building process will be addressing the debate around ossification – the idea that Bitcoin’s protocol must remain unchanged to maintain stability and security. Some community members, known as ossificationists, believe that Bitcoin should resist changes to avoid the introduction of potential vulnerabilities and maintain its current robustness. Poelstra acknowledges this concern, but states that certain changes, such as Rusty’s proposal, are necessary for Bitcoin’s continued growth and functionality.

The debate focuses on whether the risks associated with changes outweigh the benefits. Poelstra pointed out that Bitcoin is already evolving, citing the rise of ordinal numbers and inscriptions as examples of how the network is being used in new, unexpected ways. He emphasized that refusing to adapt could limit Bitcoin’s potential and that economic incentives within the network will naturally regulate usage priorities.

“We need to talk to people who identify as ossificationists or who we could call ossificationists, right? People who don’t want Bitcoin to change. And I think we just have to argue passionately and correctly that this is something that would be good for Bitcoin,” Poelstra said. He believes that by clearly articulating the benefits of improved script expressiveness and addressing the concerns of ossificationists, a balanced and informed consensus can be achieved.

Furthermore, Poelstra emphasized that while change brings risks, it also presents opportunities for essential improvements, such as better scalability, improved security through vaults, and more efficient use of blockchain space with mechanisms such as coin pools. These improvements can make Bitcoin more robust and adaptable to future needs.

The next steps include not only the technical process of formalizing the proposal and conducting rigorous testing, but also engaging in broader community dialogue. This dialogue will need to balance the preservation of Bitcoin’s core principles with the need for innovation and adaptation, to ensure that the network can continue to thrive and meet the changing demands of its users.

Conclusion

Rusty’s plan to make the Bitcoin script great again represents an important step toward increasing the expressiveness of the Bitcoin network. While there are challenges to overcome, the potential benefits in terms of functionality and innovation are significant. As the Bitcoin developer community continues to evolve and embrace new ideas, these types of proposals will be crucial in shaping the future of the network.

Leave a Comment