In the past, it was necessary to switch to ZK languages in order to take advantage of the unmatched scaling, security, and UX benefits of ZK proofs. This is no longer the case!
The zkEVM harnesses the power of zk-SNARKs inside Solidity, creating a more simple, secure, and scalable future. Flipping the dynamic, it's now more advantageous to stick with Solidity:
1. Security: With over 1B in hacked funds so far (s/o @RektHQ) each lesson learned in security did not come for free. It took over 5 years for a set of auditing firms and a broader security-focused community to form around Solidity, and preserving this expertise is paramount.
2. Composability: dApps on Ethereum are tightly coupled: they build on other dApps and/or have dApps built on them. Say @AAve switches, @iearnfinance must adjust, then @AlchemixFi, and so on.
Solidity leaves the composability stack intact.
3. Low Effort: Generally, it will be possible to port all existing projects without major modifications, and you can re-use existing tooling. It saves you the work of maintaining many implementations of the same protocol.
4. Concerned about the efficiency of Solidity as compared to native ZK languages? Efficiency is no longer the bottleneck. The scarcest resource was, is, and will continue to be programmers. Hiring devs/auditors for ZK languages that are < 1 year old will be an uphill battle.
5. If each ZK protocol were to have its own language, picking one would mean being confined to that one system, whose success is dependent on an ecosystem-wide shift from Solidity.
6. Supporting Solidity through transpilers may result in more vulnerabilities and odd behaviors in VM after transpilation that auditors need to account for.
7. As an ecosystem, it is too costly to transition to a new programming language right now. If we don't build fast enough, we risk losing the promises of Web3 to powerful actors that want to control and regulate it. The internet is free because it outpaced privatization.
With zkEVM, Solidity can now be used to program smart contracts in @zksync 2.0 where users can choose between a zkRollup (Ethereum-level security) and zkPorter (sidechain-like ultra-low fees, yet more security than any other L1 or sidechain).
We've just pushed a major update with structural changes designed to improve user experience, increase compatibility with Ethereum’s EVM, and upgrade performance on the zkSync v2 testnet.
There are a number of rabbit holes to go down in learning about @zksync and the technology behind it. Here's a curated list of videos and blog posts to get you started.
2/ We are happy to present the alpha testnet of zkSync 2.0, featuring zkEVM and zkPorter technologies. This brings us one step closer towards our mission of enabling access to open decentralized finance for everyone in the world.
3/ THE zkEVM IS READY. The entire instruction set has been finalized and both implementations are done: in circuit and in the execution environment.
2/ As protocols migrate to rollups, we will soon see a big boost in Ethereum throughput—but only briefly.
When you add another lane to a highway, more cars get on the road. Same way, more TPS capacity means more trading, more NFTs, and more creative new use cases.
3/ Rollups give a linear increase in throughput, but we need an exponential increase, or we'll end up just as congested as we are right now.
This is why we believe zkPorter is such an important breakthrough. It will bring Ethereum to the millions, fast.