Algorand courts Python devs in ‘seismic change’

The Algorand Foundation touts the network as first to go after pool of 10 million global developers

article-image

Python and Adobe Stock modified by Blockworks

share

A choice of programming language is not the be-all and end-all of smart contract development. But it does influence the security, efficiency and accessibility of blockchain applications.

Each language comes with its own set of capabilities and limitations that can impact how contracts are executed, the potential for vulnerabilities, and the ease of finding and fixing errors. 

Algorand is becoming the first layer-1 blockchain to adopt Python as its canonical language, in what the Algorand Foundation Chief Technology Officer John Woods calls a “seismic change.”

“Python is a massive step forward on the roadmap towards removing all barriers to entry for developers,” said Woods.

With over 10 million developers worldwide, it’s perhaps surprising that the language has been historically overlooked by smart contract platforms, given that the total pool of specialized smart contract developers remains relatively tiny.

Read more: Electric Capital finds veteran Web3 devs are on the rise

Mariano Dominguez, software developer at Vestige.fi, an Algorand-based DeFi dapp, told Blockworks there are a few reasons for this.

For one, “most chains that have a smart contract execution layer operate in a resource constraint scenario that isn’t typical in modern development environments,” Dominguez said. “Because of this, it’s oftentimes easier and cheaper to build a Domain Specific Language (so Solidity, PyTEAL/TEAL, or Move for example), than it is to integrate a “normal” language since you can exercise these limitations from the get go.”

TEAL was Algorand’s earlier smart contract language and PyTEAL was a mechanism to call TEAL instructions from a Python file.

The difference now, the Foundation told Blockworks, is that native Python is compiled to the bytecode of the Algorand Virtual Machine (AVM), making it compatible with Python-native tooling, including testing suites.

That sets it apart from both PyTEAL and languages like Vyper for the EVM, which are only “Python-like.”

Read more: Move Chains are making moves

However, Dominguez added, Python’s “simplistic nature…makes it hard to adapt to a blockchain context.”*

That simplicity is a double-edged sword, agreed Deian Stefan, co-founder and chief scientist at Cubist, a developer of hardware-backed, non-custodial key storage and signing infrastructure.

“I think it’s fair to say the barrier to entry for the average Python developer is lower,” Stefan told Blockworks. However, he added, “from our experience working with different teams in the ecosystem: It’s not [yet] clear that the barrier is the language so much as everything around it.”

Stefan finds technical factors related to core platform performance, the ease of end-user onboarding, as well as non-technical factors like liquidity and network effects as being more significant.

While Algorand offers technological advantages like high throughput and low transaction fees, the network has historically struggled to attract a critical mass of compelling use cases and dapps, despite its strong roots in foundational cryptography and theoretical computer science.

Algorand’s latest effort, AlgoKit 2.0, is an attempt to “build tools that meet devs where they are,” Dominguez said, estimating that for a skilled Python dev, time needed to make the jump to writing smart contracts would shrink from “weeks” to “a matter of hours.”

It also helps Vestige’s own business, enabling the dapp to integrate a new dex written in Python for Algorand within days, or even quicker with access to the source code, he said.

“At the end of the day, the faster you can go from idea to product, the more things you can try out and the more innovation can occur,” Dominguez said.

But will it be safe?

Dean Tribble, CEO of smart contract platform developer focused on Javascript, Agoric OpCo, has his doubts.

“It’s a non-starter from a security perspective,” Tribble told Blockworks, citing technical reasons that Python is widely used for data analysis by the likes of Google, but not for applications managing trillions of dollars.

Read more: Solving Web3’s developer problem: Web2 remains hesitant

“We’ve already paid $10 billion dollars in losses for the current Solidity DeFi contracts that have been battle tested and survived,” Tribble said. “This is not to suggest we should be afraid to use contracts out there — they’ve paid the price (and it’s a steep check!) — but doing new, innovative work is very dangerous.”

For both adoption and security, the ability to use existing libraries and design patterns like battle-tested OpenZeppelin contracts in Solidity is key to the success of any language, Cubist’s Stefan said, noting that nuts and bolts factors like securely managing cryptographic keys, testing infrastructure deployments and executing upgrades are more important in practice.

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

AlgoKit 2.0 ships with a new templating system, a comprehensive library of smart contract templates, and all necessary infrastructure to run applications locally, according to the Algorand Foundation.

The hope is to court a range of developers, from students fresh out of computer science classes to advanced AI and machine learning researchers.

For dapp users, the chain, programming language or other technical factors shouldn’t matter, according to Dominguez. What does is “that the app they’re using solves the need that they have.”

“I think with Algorand the type of products and solutions that can be built are on par, and in some cases even better, than those that employ legacy systems,” Dominguez said, pointing to real estate tokenization platform Lofty as an example, where “people can invest in individual properties that they proceed to own as a legal DAO, without going through a custodian.”

Customers of these dapps will care about security, whether or not they understand the technical underpinnings. There, Tribble was skeptical.

“It is not likely to me that Python will ever be a language that you could run robustly on a blockchain,” the Agoric CEO said.

As for the number of Python developers? It’s a non-issue, he said: “Most Python developers already know JavaScript!”

Updated Friday, Apr. 26, 2024 at 5:20 am — Clarification on the work of Cubist.


*Such as the lack of static typing and uint math — arithmetic operations using unsigned integers to avoid negative numbers.


Start your day with top crypto insights from David Canellis and Katherine Ross. Subscribe to the Empire newsletter.

Tags

Upcoming Events

Salt Lake City, UT

WED - FRI, OCTOBER 9 - 11, 2024

Pack your bags, anon — we’re heading west! Join us in the beautiful Salt Lake City for the third installment of Permissionless. Come for the alpha, stay for the fresh air. Permissionless III promises unforgettable panels, killer networking opportunities, and mountains […]

recent research

Research report HL cover.jpg

Research

It's increasingly apparent that orderbooks represent the most efficient model for perpetual trading, with the primary obstacle being that the most popular blockchains are ill-suited for hosting a fully onchain orderbook. Hyperliquid is a perpetual trading protocol built on its own L1 that aims to replicate the user experience of centralized exchanges while offering a fully onchain orderbook.

article-image

The tokenization of real-world assets is set to continue as a “defining trend” for institutional crypto in 2024, Anchorage Digital CEO says

article-image

Upcoming macroeconomic clarity, or a lack thereof, is likely to be a key contributor to bitcoin’s next price movement

article-image

Runes protocol will bring versatility to Bitcoin, but some are worried about the increased fees

article-image

The sentencing closes the book on the DOJ’s settlement with Binance and its former CEO

article-image

Roger Ver was arrested in Spain on Tuesday, the DOJ said

article-image

This case is a big deal — so big, in fact, that one wonders whether the crypto community fully appreciates its gravity