Blog Article

Smart Contracts on Stellar: Why Now? Kicking off Project Jump Cannon

Author

Tomer Weller

Publishing date

Soroban

Smart contracts

We were wrong.

By we, I mean SDF. I know that’s not something people like to say a lot, but hey, SDF supports an open source network so transparency is kind of a core value.

What were we wrong about?

Our approach to smart contracts on Stellar. Let me take you on a little trip back in time to explain why we didn’t think we needed smart contracts on the network and why we’ve changed our minds.

Stellar was launched in 2014 — even before Ethereum! By some accounts in the crypto industry, that categorizes Stellar as a dinosaur. But as my story gets going, you’ll see how SDF’s experience and time in the industry is setting us apart for innovation we can bring to the network now with input from the ecosystem.

Back then, Bitcoin showed a lot of promise for cross-border payments, an area of the financial system that is unquestionably broken (that’s not just me saying it, even the establishment agrees). But solutions built on Bitcoin were running into issues, like volatility, confirmation times, and compliance.

In comes the Stellar network, built to be a blockchain for equitable access that solves these issues. Stellar was cheaper, faster, and had batteries included. By that, I mean anything that required some degree of complex scripting on Bitcoin (and later, Ethereum) was part of the core protocol: asset issuance, a decentralized exchange, multisig, and much more. This way, Stellar avoided the complexity, security implications, and slowness that on-chain scripting, a.k.a, smart contracts, entailed.

Let’s crystallize this with an analogy.

Imagine it’s the ‘80s (am I dating myself?) and you need to do scientific calculations. Option one is you could buy an expensive, slow, buggy PC. Or option two, you could buy a fancy TI calculator that is purposefully built, simpler, faster, and cheaper. In other words, early on in our industry, Bitcoin and Ethereum were more like PCs and Stellar the calculator.

At that time, and for a while afterward, it seemed like we made the right choice to build a lean, efficient calculator. I’ll turn your attention to ICO scams, the DAO, crypto kitties, and other craziness that went down in smart contracts, making Stellar a sensible design choice in contrast.

In the meantime, more and more people came to recognize the value of Stellar and leverage it to do what it does best. The anchor network of interoperable on/off ramps flourished, and it now serves more than 16 countries (and, through MoneyGram, it will soon reach pretty much everywhere), and drives hundreds of millions of dollars worth of transactions each year. In 2021 alone, the Stellar network processed over 2 billion operations, 155 million of which were payments, and as of this writing, there are more than 6.6 million individual Stellar accounts.

Just like PCs had the time to work the kinks out, so has the world of smart contracts. We’re seeing real innovation happening that levels the playing field and aligns well with our mission of creating financial equitable access.

And even though Stellar’s design choice to this point has been very reliable, it’s time to upgrade the calculator.

Why now?

Last year presented a tipping point for the network — the introduction of automated market maker (AMM) functionality to the Stellar protocol. These were, obviously, inspired by other liquidity pool contracts in the DeFi world. And they’ve been a huge success.

That said, what SDF realized during the AMM rollout is that it’s not sustainable to continue to limit key network innovation to protocol-level changes. Changes to the protocol have far-reaching consequences, so you have to be really careful with them. They involve a lot of tinkering to retrofit existing designs, and narrow key development to individuals intimately familiar with the Stellar Core codebase. They’re slow, they’re deliberate, and they require a ton of coordination across the ecosystem, so they don’t allow for easy iteration, and they're not great for ideation and experimentation. If the Stellar ecosystem is to keep growing and adding new functionality, there needs to be a new model for decentralized innovation in Stellar.

So here we are, kicking off the research and development for Project Jump Cannon: native on-chain smart contracts for Stellar! (Like the name? Keep reading until the end to get the explanation.)

I know earlier I said SDF was wrong… but that’s not actually how I think about it, I just wanted to get you to read this blog. Rather, I think the decision SDF made at the start of the network, and since, was right for Stellar and the direction the ecosystem was taking. It now puts the ecosystem in an exciting position to collaborate and build with so much knowledge about smart contracts today, and do it in a way that stays true to the initial vision – a lean, mean, efficient (and affordable!) machine.

All that to say, this is not a pivot for the network. The work SDF is supporting on asset issuance, payments, and the anchor network is going full steam ahead. And it’s been going well! (Have you heard of the MoneyGram integration yet?)

But what it does mean is that the Stellar ecosystem can implement smart contracts in a way that no one else in the market has done yet. I’m not saying that the issues with smart contracts have disappeared. Rather, I’m saying our understanding of their value, various risks, and best practices has evolved.

Together, we can build smart contracts that will allow developers to grow the Stellar ecosystem and build new financial instruments to promote inclusion. With so much knowledge and experience out there now, there has never been a better time in history to build a new smart contract platform. The corpus of research and prior art in the field provides us with a great toolbox.

And it’s still going to be Stellar. We’re going to work with the ecosystem to double down on the things that make Stellar what it is: safety, scalability and, above all, equitable access.

Safety? We want to provide a robust toolset for developers to ensure that their contracts work as intended and minimize the number of footguns. We’ll also start a grant program dedicated to auditing smart contracts.

Scalability? We want to foster smart contracts that are built from the ground up for parallelism. There is only so much performance you can squeeze from smart contracts that are designed to process one transaction at a time.

Equitable access? With smart contracts, we’ll see more use cases on Stellar that give more access to the digital economy. It’s important to keep our eyes on the ball and find the right governance structure to prioritize transactions that are close to the network’s mission.

And that’s what makes Project Jump Cannon special. That, and it is named after Annie Jump Cannon, an astronomer whose cataloging work was instrumental in the development of contemporary stellar classification still used to this day. Her work with the (mostly female) Harvard Computers pushed forward the world’s understanding of the universe. Inspired by Jump Cannon, we want to advance the understanding and possibilities for financial instruments with smart contracts on Stellar.

I’ll be sharing updates as #projectjumpcannon gets underway on Twitter, so follow me to get monthly updates (and hear other random musings from me and the rest of the SDF engineering team) and join the conversation in the Stellar Dev Discord.