Algorand and Blockstack Are Building a Multi-Chain Smart Contract Language
Clarity, a new open-source programming language, promises to deliver less-buggy smart contracts.
![(Credit: Danny Nelson / CoinDesk)](https://www.coindesk.com/resizer/FIJWHJOtNVBYEUW-KZK5zhpfcLo=/567x366/filters:quality(80):format(jpg)/cloudfront-us-east-1.images.arcpublishing.com/coindesk/ZIXSB4JLQFEIBOTCR4SUFWPAMY.jpg)
Algorand and Blockstack are collaborating on a new smart contract programming language that moves the two startups toward direct, inter-blockchain communications.
Called Clarity, the project will ultimately allow developers to write smart contracts that execute across their two blockchains – and others that might decide to join the open source initiative – without involving third-party interoperability protocols like Polkadot, executives at both companies told CoinDesk.
The potential for direct inter-chain communications is likely as boundless as the ideas of the developers deploying smart contracts across the two very different platforms. Algorand’s proof-of-stake blockchain often caters to financial use cases, while Blockstack’s upcoming Stacks 2.0 “proof-of-transfer” blockchain looks more broadly at decentralized computing.
“We believe it's a multi-chain world,” said Steve Kokinos, chief executive at Algorand. “People are going to use different chains for different purposes and interoperability is going to be critical.”
Less-buggy smart contracts
Blockstack CEO Muneeb Ali said it was the similarity of his and Algorand’s smart contract design philosophies that brought them together.
“We were already looking at the same properties,” Ali said.
Both are acutely interested in deploying “non-Turing complete” languages. Algorand 2.0’s TEAL smart contract language is non-Turing complete, as is Blockstack’s eponymous Clarity, already planned to debut on Stacks 2.0. Ali estimated the two languages had “80-90%” in common at the outset.
Non-Turing completeness means, in part, that a language’s programs cannot in theory run forever – and that, in practice, means its programs are somewhat more restrictive than ones written in a Turing-complete language.
But non-Turing complete languages are also far less prone to bugs than their computationally complete brethren because of that same property. Their smart contracts don’t need to be manually audited, Ali said.
“Everything can be precise, everything can be verified,” Ali said, contrasting Clarity with potentially error-prone alternative languages that could put “hundreds of millions of dollars” of smart contract user funds at risk.
The infamous DAO hack is perhaps the best-known example of the potential perils of buggy smart contracts written in a Turing-complete language. That 2016 heist cost users $50 million in ether, all because of a bug.
“The number question for these smart contracts is actually just: Are they precise and secure?’ So the language has to be just focused on that, which is what we have done here,” Ali said.
Kokinos said Clarity provides a “philosophically different approach to smart contracts.”
Clarity will also make for simpler developer experiences, he said. “We’re providing people tools to make it less necessary for them to learn a lot about how the blockchain works and about the underlying parts of the system and just enable people to get their work done.”