Andrei Dragnea shares insights on the challenges of building a parallel architecture blockchain and what benefits this model offers.
Scalability is one of the three components of the Blockchain Trilemma, described by Vitalik Buterin, co-founder of Ethereum, and one of the biggest challenges for blockchain-based infrastructures. Andrei Dragnea, Software Engineer at Neon Foundation, explains to Crypto Briefing how parallel structures can make blockchains more scalable, what impact they have on the decentralized ecosystem and what Neon EVM plans are for this year.
Crypto Briefing – How does a parallel structure work?
Andrej Dragnea – Okay, good question. First of all, this [parallel structure] is a concept originating from the Solana blockchain. It doesn’t necessarily relate to Neon. We just built on top of it. It refers to the fact that the first blockchains were developed with sequential behavior in mind, meaning that we shared the blockchain with all nodes in the network, and the transactions that add blocks to the chain are executed sequentially.
Only one transaction at a time can change the blockchain. This worked well in the past and it still works, let’s say very well, for Bitcoin and Ethereum, which are blockchains that perform transactions sequentially. But as we know, the transactions per second for Ethereum are on the order of, if I remember correctly, 20 transactions per second or something like that, which is not very good.
And this is why gas prices on Ethereum are very high right now. In comparison, Solana is built around the idea of being able to execute transactions that are not related to each other in parallel, or better yet, simultaneously. How that happens is that Solana is designed to make this possible by forcing you to provide the accounts involved in a transaction as input to that transaction.
For example, in Solana, if you have a transaction, you must specify all the input and output accounts and also whether an account is changed or not in that transaction. If you transfer part of the SOL from one account to another, these two accounts must be marked in that transaction. Otherwise the transaction will fail. The runtime uses this information to see if it can perform two unrelated transactions at the same time.
If I transfer a SOL to you and another friend of yours transfers a SOL to his friend, the two transactions are not related. On Solana they can run simultaneously, but not on Ethereum. This is the main idea behind why Solana has better throughput and also lower gas costs, because it can do more at the same time.
Crypto Briefing – What are the challenges of implementing a parallel infrastructure when designing a blockchain? Are Solana’s failures a consequence of their parallel model?
Andrej Dragnea – I think it’s a general question because parallel processing in computers in general involves more complexity when it comes to actually implementing it. So there are more challenges and more places where things can go wrong.
This is also how computers have evolved from running just one program at a time to multitasking on a single processor, with the operating system switching contexts between applications very quickly. And then we get to today, where we have multiprocessor systems where applications can actually run in parallel.
The same goes for blockchain. Operating systems have become increasingly complex to handle all this complexity behind the scenes. Solana’s runtime is quite complex and contains many components responsible for handling this parallel transaction execution.
Regarding the outage on the Solana mainnet from mid-February, I read the report on what happened and while I can’t say that the bug was related to parallel processing, it was a result of the general complexity that the system brings regarding the execution of parallel transactions.
That’s because you need to make sure you don’t make invalid changes to invalid account states, for example. There are multiple threads of execution that attempt to update the status of the accounts on the blockchain and you need to ensure that that status is correct.
There are some common issues related to parallel computing or concurrent computing that further complicate matters. Furthermore, the blockchain itself, without parallel processing, is quite complicated given the cryptographic concepts at hand, but even more so when it comes to parallel processing.
So the main challenges in my opinion are the general challenges that come from parallel programming in general, and this is the complexity of the software that causes these things.
Crypto Briefing – Implementing a parallel structure is therefore like going against the standard of blockchain. Is it a challenge like trying to make the Ethereum Virtual Machine (EVM) compatible with zero-knowledge technology?
Andrej Dragnea – This is a good example. As I said, the main difference between Ethereum and Solana is that on Ethereum the transaction execution is sequential. Only one transaction can be executed at a time.
On Solana we can have multiple transactions executed simultaneously if they are not dependent on each other, and what we are trying to do with Neon EVM is bring the parallel transaction execution benefits of Solana to Ethereum users.
Neon EVM is a Solana program. Basically, it’s a smart contract on Solana that implements the Ethereum Virtual Machine, a specification that says how Ethereum smart contracts behave and should be executed. And we add our logic to that to enable these types of transfer or contract calls that I told you about. We have two unrelated entities that want to call unrelated contracts on Ethereum, and they need to execute these two transactions one after the other.
On the Neon EVM they can be run simultaneously. And how we do that is quite interesting because of the major architectural difference between Ethereum and Solana. On Solana, as I mentioned, you must specify the input accounts for the transaction when you build the actual transaction, as required by the design of the transaction protocol in Solana.
But on Ethereum you don’t have to do that. You simply specify the smart contract you want to call, and until you execute that transaction, you don’t know what other contracts will be called, because an Ethereum smart contract can call other smart contracts on its own, like in a tree of calls. , as in a normal program.
To detect this on our side, on the EVM side we first emulate those Ethereum transactions to see what actual calls would be made if the transaction were executed. With that emulation result, we can then build the actual Solana transactions that execute the Ethereum transaction behind the scenes.
We take an Ethereum transaction, emulate it in our Neon EVM system, and then we can build the Solana transactions that form the backbone of the original Ethereum transaction.
So basically an Ethereum transaction is split into multiple Solana transactions that are fed into the Neon EVM Solana program. It then executes those Solana transactions using the Ethereum Virtual Machine’s logic, and then the Neon Virtual Machine rebuilds the results.
The end user sees an Ethereum-compatible blockchain that looks exactly like Ethereum, but runs on top of Solana behind the scenes and has the features to make transactions generally faster and cheaper. So here are our key selling points: We perform Ethereum-like transactions in a parallel environment, powered by Solana, and also with lower gas fees, powered by Solana.
Crypto Briefing – Given the complex parallel infrastructure behind Neon EVM, what are the practical implications for end users?
Andrej Dragnea – The main impact for the end user is also the cost, but also the user experience when it comes to some types of apps that are currently not available to Ethereum users or are not very user-friendly. For example, using a decentralized exchange built on top of Ethereum can be very off-putting, especially if it is integrated with the mainnet, as it takes a lot of time to settle transactions and mine. So you don’t have real-time experience if you want to trade something.
On Neon EVM they run immediately, so you get real feedback for any kind of app you build on top of this blockchain. We also want to expand into the gaming field, and in gaming, if you want to integrate a blockchain into a game, you need real-time feedback because in a game people don’t like to wait for transactions to be executed. organized.
It’s also about an experience closer to real-time processing, and the lower gas costs are important to the end user. I think the gas fees are the most immediate benefit, and transaction latency is secondary, but somehow they go hand in hand.
That’s why transactions are cheaper: because they can be executed faster and not everyone is waiting for other transactions to execute first before yours, and that’s because of parallel execution.
Crypto Briefing – Ethereum gas prices have been very expensive in recent days, causing some investors to turn to other blockchains such as Solana. With the bull run in full swing, do you think this could benefit projects like Neon EVM?
Andrej Dragnea – It’s a very good question. I feel like this is one of those moments where we can shine because people can see that other EVM chains can be fast and cheap, and that’s what everyone is looking for. For Bitcoin, I think there is a history behind it, which is why it is very popular.
From a technical point of view, I feel that it is limited from many points of view because it does not support smart contracts. With Bitcoin you cannot build a real application on the blockchain. We chose to port the Ethereum blockchain to Solana because Ethereum has the largest smart contract platform. It is currently the largest blockchain that supports smart contracts.
We wanted to give developers the ability to port their existing applications from Ethereum to Neon EVM with minimal to no changes. Using the same code they wrote for Ethereum, they can deploy it to Neon EVM and it works exactly the same, and you enter a new market there.
Also, all the bridging logic between our system and beyond, like Solana SPL tokens and not just ERC-20 compliant tokens, should make us shine right now with all the blockchain hype of late.
We have everything in order and ready, and we’ll see what people think.