Resources

Carbon: The Future of Blockchain Development?

Written by: Justin Walsh

Blockchain, and more specifically, cryptocurrency, is one of the most widely discussed emerging trends in the technology sector – piquing the interest of everyone from Wall Street traders to high school students. While Bitcoin, the first major blockchain development, has only been around since 2009, much of the foundations of Bitcoin are based on a nearly 40-year-old programming language: C++. Despite its age, C++ remains the fourth most popular programming language in the world, and it was used to write roughly 67% of the Bitcoin Core.

Why C++?

The C++ programming language is renowned for its performance and efficiency, making it an ideal choice to run resource-intensive applications. Many operating systems, web browsers, and other critical systems and applications have been written in C++. Furthermore, the language’s maturity allows it to work seamlessly with many legacy systems, and most issues with the language have been addressed after nearly 40 years of use—making it a perfect choice for safety-critical applications. With vast amounts of money at stake and major performance overhead, C++ seems like a logical choice for blockchain development. However, one of C++’s greatest strengths is also one of its greatest weaknesses.

With Maturity Comes Baggage

Chandler Carruth, Principal Software Engineer, and technical lead for Google’s core programming languages, spoke recently at the CppNorth conference, where he outlined the various issues with C++. C++ has accumulated decades of technical debt by inheriting the technical debt of the C language and continuously prioritizing backwards compatibility. According to Carruth and his team, “incrementally improving C++ is extremely difficult, both due to the technical debt itself and challenges with its evolution process.”

Is There a Better Solution?

While C++ was the predominant language used to develop Bitcoin, some newer cryptocurrencies have been developed using modernized programming languages, such as Rust. Solana and Polkadot are two prominent examples. While Rust is a popular choice as a modern C++ alternative for performance-critical applications, it also has its drawbacks. Specifically, Rust has a steep learning curve for many developers, and migrating to Rust can be a massive undertaking if you have a large C++ codebase with existing dependencies. Google’s recently announced Carbon programming language aims to solve these problems.

What is Carbon?

The Carbon programming language, branded as “an experimental successor to C++,” aims to match the performance of C++ with seamless, bidirectional interoperability, and a gentle learning curve for existing C++ developers. While the language is still in its infancy, it could eventually be a major innovation for blockchain development. Google believes Carbon’s approach will allow companies to “build on top of C++’s existing ecosystem, and bring along existing investments, codebases, and developer populations.” Carbon has the potential to thrive within the blockchain and cryptocurrency community by providing a scalable, high-performance programming language, like C++, without the drawbacks of Rust or other modern languages. Though we are still a few years away from a production language (Google hopes to ship version 1.0 of Carbon by 2025), this innovation could lead to some exciting new possibilities in the blockchain space in the years ahead.

While Carbon’s impact on the blockchain industry is unknown at this stage, demand for blockchain developers is at an all-time high, with a wide array of programming languages currently in use. Regardless of which language is chosen, secure software development practices should always be implemented to mitigate the risk of potential security vulnerabilities. Wolf & Company provides a robust suite of IT audit, cybersecurity, and advisory services specific to the crypto and blockchain industry.