en
Back to the list

Stellar sparks smart contract upgrade — and it’s not an EVM

source-logo  blockworks.co 21 February 2024 16:51, UTC

Validators of the Stellar network voted Tuesday to upgrade the Stellar mainnet to “Protocol 20,” which introduces the Soroban smart contract platform.

The addition of smart contracts follows years of planning for Stellar — which has been known primarily for payments — as it seeks to compete with a plethora of smart contract ecosystems.

The Stellar community aims to differentiate Soroban by emphasizing a combination of its efficiency, focused use cases, and integration with Stellar’s existing infrastructure.

Soroban is expected to extend Stellar’s current strengths on cross-border transactions and interoperability between various fiat currencies and cryptocurrencies, with support for compliance and regulatory requirements directly within the smart contract layer, making it more appealing for institutional adoption.

Originally launched in 2014, Stellar made a name for itself through its native stablecoins, including USDC, and partnership with Moneygram in 2021.

The platform was always more than a currency, with many basic building blocks for the payments focus built in, said Tomer Weller, vice president of product at the Stellar Development Foundation (SDF).

“You have things like payments, a decentralized exchange, all the technical minutia — things like multisig, time locks, issuing assets as a first class primitive,” Weller told Blockworks. “One thing that’s kind of been absent is this idea of writing fully custom trust-minimized code.”

That’s where smart contracts come in.

Playing catch-up or catching narratives?

The past year has seen numerous examples of chains that previously launched as their own layer-1 networks, shifting to an Ethereum L2 — think Celo, and more recently Lisk — or of chains adopting the Ethereum Virtual Machine (EVM) after once eschewing it, such as Tezos, EOS, XRP and IOTA.

With Soroban, Stellar is charting its own course, not jumping on prevailing narratives — it’s neither a layer-2, nor is it using the EVM.

“We want to ensure that this doesn’t affect the existing stakeholders, so we’re taking a very progressive approach to opening up the floodgates,” Weller explained. “We’re launching with very minimal capabilities and slowly opening it up.”

It took some time to get full buy-in from all Stellar’s stakeholders, but with the emergence of successful decentralized apps (dapps) like Uniswap on Ethereum — which iterate quickly thanks to their smart contract platforms — the SDF realized that having to coordinate a chain upgrade with validators to deploy a dapp like an AMM-based DEX wasn’t the ideal strategy.

“If we actually want to have, like, a good pace of innovation on the protocol layer, we probably need to detach it from the core protocol,” Weller said, recounting deliberations from mid-2021.

Then the question turned to how, exactly, to go about implementing smart contracts without disrupting the financial institutions that already rely on the network.

“We started this journey [trying] to be extremely un-opinionated in the beginning,” Weller said. “We talked with pretty much anyone who would talk to us.”

Eventually, the team settled on a WebAssembly (WASM) runtime written in the Rust programming language. That sets it up to stand out from the EVM crowd, but it still prepares for a multichain future.

“WebAssembly is a very widely used technology, not only in the space of blockchains, but also in the web,” Weller said. “There’s a lot of transferable tools and transferable knowledge, both in terms of WebAssembly [and] in terms of Rust.”

Deian Stefan, co-founder and chief scientist at Cubist — which is “largely a Rust shop” and focuses on building tooling for cross-chain interoperability solutions — was impressed by Stellar’s approach.

“There are a bunch of really good verification tools that would help you get that code right, and the semantics of these contracts I would say are much simpler than something like Solidity,” the language of Ethereum smart contracts, Stefan told Blockworks. “A bunch of bugs should just go away or not even exist if you are targeting Soroban.”

Read more: Solving Web3’s Developer Problem: Web2 Remains Hesitant

There’s less “lower level plumbing” to be done by developers writing smart contract code in Rust, Defan said, which is one reason why some are attracted to Solana.

“I like the targeting of WASM because it also makes it possible to really support a bunch of languages and dovetail [with] work that’s done on the WASM side of things,” he said, adding: “They have the benefit of hindsight from seeing what Solana has done.”

Cubist aims to connect Soroban to EVM-based chains using its cross-chain software development kit (SDK). That should allow developers to build things like cross-chain tokens on top of generic messaging systems such as LayerZero in order to, for example, write cross-chain token swaps that work like they would on a single chain.

Solang, a Solidity compiler developed under the umbrella of the Hyperledger Foundation, will allow EVM dapp builders to port over their code to Soroban, with a bit of effort.

Weller said that Stellar took greater inspiration from Solana.

“The transactions come with an access list which [means] each transaction contains an indicator for ‘what state I’m going to read and what state I’m going to write,’ and then the validator can actually make an intelligent decision on how to divide the transaction sets in a way that they don’t have any dependencies internally.”

This should be useful in the future as the platform scales. The next version of Soroban will include concurrency — also known as parallel execution — one of the core requirements in the architecture.

The initial 10 transactions per second (TPS) looks low at first blush. But Weller pointed out that’s on top of the existing Stellar chain’s 200 TPS, and will rise over time.

“We are taking a very slow and safe approach to scalability here,” he said.

What cross-chain applications developers will come up with — and where demand from users will take the platform — remains to be seen, according to Stefan.

“I think there’s a little bit of a chicken and egg — it’s so hard to build anything that spans multiple chains right now,” he said. “If the tools sucked less, we can potentially make it easier for people to build, and then what people build will be interesting to see.”

The plan is to target not only users unfamiliar with Stellar, but those unfamiliar with DeFi generally. For example, an integration between a Stellar wallet, Beans, Moneygram and DeFi protocol Blend.

“They demonstrated this very tight experience in which you can deposit cash into USDC and directly into a yield protocol all in the same wallet and the same experience,” Weller said.

“We’re not going for the ‘degen’ ecosystem,” he added. “We’re really trying to use the existing stellar infrastructure in order to bring more innovative financial instruments to people that don’t necessarily have access to them right now.”

blockworks.co