# zk, zkVM, zkEVM and their Future

By [msfew](https://paragraph.com/@msfew) · 2022-05-24

---

TL; DR
------

*   Zero-knowledge proof, which can guarantee computational integrity, correctness and privacy, has a lot of use cases in blockchain scaling and privacy.
    
*   zk-SNARK and zk-STARK have their own advantages, and the combination of these two has more potential.
    
*   zkVM empowers applications with zero-knowledge proofs, and zkVM can be categorized by instruction sets in mainstream, EVM, or newly-built ones.
    
*   EVM compatibility includes EVM compatibility, equivalence, and specification-level compatibility.
    
*   zkEVM is an EVM-compatible and zero-knowledge proof-friendly environment. It can be divided into native-based and compiler-based solutions.
    
*   Native-based zkEVM is the future of Ethereum and blockchain.
    
*   A general zkVM supports the Solidity lang is the future of Web3.
    

0\. Zero-knowledge Proof
------------------------

An easy-to-understand definition to zero-knowledge proofs:

You are in elementary school. The teacher is the verifier, and you, the student, are the prover. How do you prove that you know the formula for solving a quadratic equation? That would require a math exam.

The teacher will give you 10 random questions related to quadratic equation, and if you have mastered them, you can do them all. In the process, you don’t memorize or write down the exact formula, but the teacher can simply verify your comprehension of quadratic equation.

![](https://storage.googleapis.com/papyrus_images/d72815fe643e53f62ec9e9ab0b202fc4dc618bf1e1435d57a1d0f39353297b45.png)

In fact, this is what [Tartaglia and Cardano](https://brewminate.com/a-mathematical-duel-in-16th-century-renaissance-venice/) (yes, that’s the name) did when they were fighting over who was the discoverer of the formula for the solution of third-degree equations of the type _x_ 3 + _bx_ = _c_. Neither of them wanted to tell the other what their formula was, but by doing the random problem sets, it was easy to verify, without revealing knowledge in the process, that they had that knowledge.

What is the use of zero-knowledge proofs? The use is that the whole process saves computational power and compresses space on the blockchain, while also perserving privacy, in line with the trustless and cryptography nature of blockchain.

1\. SNARK and STARK
-------------------

> _The term “zk” in the blockchain space is usually not a true zero-knowledge proof, but often a validity proof. These “misuses” are appeared in some parts of this article to avoid confusion over related terms._

![](https://storage.googleapis.com/papyrus_images/3be3be21ead260b5631518557cdad932c66994d9f018d6eda62b6d19b27c173a.jpg)

In the current blockchain world, zk is arguably the most cutting-edge and optimal solution for scaling (validity proof without zk) and privacy (true zk). zk is widely used in projects such as Tornado.cash, ZCash, zkSync, zk.money, Filecoin, and Mina.

The current technical solutions are divided into two main categories: SNARK and STARK. [The S in STARK stands for scalable, which implies that the statement being proved has repeated structure, whereas SNARKs support arbitrary circuits that are preprocessed to enable succinct proofs.](https://twitter.com/_bfarmer/status/1520091937444925440) The technical practice of SNARK is more dominant, and STARK is mainly adopted by StarkWare on a large scale in production. Here is a comparison between them:

![](https://storage.googleapis.com/papyrus_images/fc87a1b27d66a981324af0664c4deeeac75990a86a737dc0cf5ab8086613d165.png)

[In terms of meme](https://twitter.com/EliBenSasson/status/1514242653671546890), STARK is also better than SNARK (😊, Star Wars, Star Trek).

If SNARK is the future of Ethereum 2.0, then STARK will be the future of Ethereum 3.0. In all, STARK’s advantages [are](https://medium.com/starkware/the-cambrian-explosion-of-crypto-proofs-7ac080ac9aed):

*   Lower gas (scalable)
    
*   Larger batch size (scalable \* 2)
    
*   Faster proving (scalable \* 3)
    
*   No trusted setup (the generated parameters are only valid for the current application, and need to be re-set up if there are changes)
    
*   Post-quantum security
    

But the proofs generated by STARK are much larger, and quite a bit larger. Due to some limitations of like WASM, which may require [additional operations](https://hackmd.io/V-7Aal05Tiy-ozmzTGBYPA?view=) at build time (this example uses SNARK though). Mir gave an [AIR-based STARK](https://twitter.com/_bfarmer/status/1511486435077017607) [practice](https://github.com/mir-protocol/plonky2/tree/main/starky) at Starky before, as part of [Plonky2](https://blog.polygon.technology/introducing-plonky2/) (the relationship between Plonky2 and Starky is [complicated](https://twitter.com/dlubarov/status/1520090852093091840)…). Personally, I think the large size can be optimized by various approaches, but the time complexity of the algorithm itself is hard to compress further.

These zero-knowledge proof technologies can be combined to build more powerful applications. For example, Polygon Hermez [uses SNARK to verify the correctness of STARK](https://blog.polygon.technology/zkverse-deep-dive-into-polygon-hermez-2-0/), thereby reducing the gas fee when the proof is finally settled.

To sum up, SNARK and STARK are both excellent zero-knowledge proof technologies, each with its own advantages, and their combination has more potential.

2\. zkVM
--------

The aforementioned [Tornado.cash](http://tornado.cash/) and [zk.money](http://zk.money/) are both similarly zero-knowledge proof applications that only support transfer operations, but not general-purpose computation. By analogy, these applications have only the functionality of Bitcoin, and are nowhere near as Turing-completeness and DApp ecosystem as Ethereum (smart contracts on Bitcoin doesn’t make it well).

zkVM is a virtual machine that guarantees secure and verifiable trustworthiness by zero-knowledge proofs. zkVM is simply the machine that you enter the old state and program, and it return the new state in a trusted manner. It allows all applications to be given the superpower of zero-knowledge proofs.

[Miden’s presentation at ETH Amsterdam](https://www.youtube.com/watch?v=81UAaiIgIYA) gave a good overview of what zkVM really is in one chart:

![](https://storage.googleapis.com/papyrus_images/12d3a78995ab03b3e60146035df9d4c21ad81a2444f41ddbe71663f0b85afeab.png)

zkVM’s Pro:

*   Easy to use: Developers can use zkVM to run programs in a trusted manner without learning cryptography or developing with zk circuits (does not mean there is no barrier)
    
*   Generality: zkVM can generate proofs for any program or computation.
    
*   Simplicity: A relatively small number of constraints can describe the entire VM (no need to repeatedly generate the entire VM’s circuit).
    
*   Recursive: Free recursive feature. As with generality, verification of VMs can be performed by VMs. This is fun, for example you can put a zkVM inside a zkVM, similar to what StarkWare says [the concept of L3](https://medium.com/starkware/fractal-scaling-from-l2-to-l3-7fe238ecfb4f).
    

zkVM’s Con:

*   Specificity in computational architecture: Not all zero-knowledge proof systems can be used for zkVM.
    
*   Performance issues: Circuits need to be optimized, and optimizations can be performed for specific computations.
    

There are three main types of zkVMs, with their instruction sets in parentheses: mainstream (WASM, RISC-V), EVM (EVM bytecode), and ZK-Optimized (new instruction sets optimized for zero-knowledge proofs, such as Cairo and zkSync’s). Below is a comparison of the types based on Miden’s presentation at ETH Amsterdam:

![](https://storage.googleapis.com/papyrus_images/d8be8c5b9097116e973958cd8aea3c700e9fee242bd8c11c908fa9717ce1974b.png)

Much of what the zero-knowledge proof development ecosystem does is mostly allow developers to use Circom libraries (and snarkyjs for that matter) or other newly created languages (Leo or Cairo, which have [odd limitations](https://trapdoor-tech.github.io/zkstark-book/Cairo_example/frame.html)) to do zk DApp development, but it’s not as straightforward and easy to learn as using Solidity on Ethereum.

In addition, there are many projects, such as zkSync, Scroll, or several under the Polygon umbrella that are trying to make zkEVM or other zkVMs.

3\. EVM
-------

EVM is an Ethereum virtual machine, which can also be understood as the execution environments for running smart contracts.

For several years, various blockchains have been trying to be EVM-compatible to access the Ethereum development ecosystem. For this concept, EVM compatibility, equivalence and some other [definitions](https://twitter.com/toghrulmaharram/status/1518270138876891138) have been derived.

*   EVM Compatibility: Solidity and other language level compatibility.
    
*   EVM Equivalence: compatibility at the EVM bytecode level.
    
*   EVM Specification-level Compatibility: what is commonly referred to as true zkEVM. In most cases, it’s even backwards compatible [optimized supersets](https://twitter.com/gluk64/status/1518617582420611072), providing account abstraction (i.e. each account is a smart contract) and other features that Layer1 EVMs do not provide.
    

4\. zkEVM
---------

Let’s take a look at zkEVM. By definition, zkEVM is an EVM-compatible and zero-knowledge proof-friendly virtual machine that guarantees the correctness of programs, operations, and inputs and outputs.

To do zkEVM for general-purpose computing, there are two main difficulties to be solved:

a) Circuit Complexity
---------------------

Different contracts require different circuits to be generated, and these circuits are “complex”.

This relies on various optimizations, such as Aleo (but it is not a direct ZK… Just to have an example of the optimizations) to compute proof concurrently through distributed clusters, or to accelerate it through various hardware optimizations.

b) Design Difficulty
--------------------

zkEVM is not only a refactoring of the EVM, but also a refactoring of [the entire state transition of the Ethereum using zero-knowledge proof techniques](https://twitter.com/kelvinfichter/status/1522389737021001734).

When the EVM was designed, it was not expected that zkEVM would be done later, which made it very difficult to implement. The result is that there are two routes. Both of which are in the diagram.

![](https://storage.googleapis.com/papyrus_images/54053508e863d62e58e328bd75c0925db3c2e30082fb723bd8764274930482d0.png)

Or in terms of VM architecture, it looks like this (super thanks to Scroll Tech for the original summary!). The Opcode refers to the EVM Opcode. The StarkWare part is to use Warp to convert Solidity to Cairo contracts, or to write contracts directly in Cairo for a good development experience and a better set of tools.

![](https://storage.googleapis.com/papyrus_images/aca1c79ee1767f0a7363f2f0a23e3cc839b8a61c51a1ce689c302d4ac7c4245c.png)

At the developer and user level, I think these solutions are basically indistinguishable, but in terms of infrastructure, the further to the right EVM is, the better the compatibility and seamless access to infrastructure such as Geth, but also the slower the development.

5\. zkEVM and zkVM
------------------

The existence of zkEVM I see as a way to refurbish and patch the Ethereum ecosystem and add to its prosperity, while the existence of zkVM is not necessarily an enhancement to Ethereum, but also has greater potential.

StarkNet’s Cairo VM may not be the perfect zkVM I thought it would be, but it can do a lot more than EVM or zkEVM, and more than just extend the functionality at the EIP level. Machine learning models can be [run](https://twitter.com/guiltygyoza/status/1458494941684850688) on Cairo VM, and there is even a machine learning modeling platform being [built](https://gizatech.xyz/) on StarkNet right now.

Compared to zkEVM, a zkVM is much easier to build (no need to worry about EVM technical debt), much more flexible (no need to worry about EVM updates), and much easier to optimize (hardware and software optimization of circuits and provers is much easier and cheaper than building zkEVM).

Of course, one of the smallest but fatal drawbacks of zkVM is that if zkVM does not support EVM compatibility (at the Solidity language level), then it is very difficult for zkVM to have the most complete and mature Web3 development ecosystem as EVM does.

zkVM is perhaps the bigger trend, allowing vertical optimization of EVM to become a horizontal expansion of the EVM ecosystem, going beyond the limitations of EVM.

6\. zkVM’s Future
-----------------

What if there was a universal zkVM that would allow smart contracts in all programming languages, not just Solidity, not just Cairo, but Rust, C++, Go, to run with zero knowledge proofs? ([Stellar tried, but failed.](https://www.reddit.com/r/Stellar/comments/q6ar3w/what_happened_to_zkvm_on_stellar/))

As what [@kelvinfichter](https://twitter.com/kelvinfichter) said: [Why zkEVM if zkMIPS](https://twitter.com/kelvinfichter/status/1516509144068464644)? As what [@KyleSamani](https://twitter.com/KyleSamani) said: [EVM is a bug not a feature](https://twitter.com/KyleSamani/status/1511683267770163200). Why zkEVM if zkVM?

zkVM like [Winterfall](https://github.com/novifinancial/winterfell#Usage), [Distaff](https://github.com/GuildOfWeavers/distaff) or [Miden VM](https://github.com/GuildOfWeavers/distaff) are not very developer friendly. Nervos has RISC-V [VM](https://docs.nervos.org/docs/basics/concepts/ckb-vm/), but Nervos does not use zero-knowledge proof technology.

The optimal solution is to build a WASM or RISC-V zkVM, preferably with support for Rust, Go, C++, or even Solidity (zkSync can help on that!). If there is such a general zkVM, then it would be a zkEVM killer.

The number of Web3 developers is about 0.07% of all developers, which means that the number of Solidity developers is actually even smaller than 0.07%. The number of Cairo and Leo developers is even smaller. Such a perfect zkVM targets almost 100% of developers, and any developer in almost any language can get a perfect zero-knowledge runtime environment.

![](https://storage.googleapis.com/papyrus_images/afbb9923e55a38e4ceb81e3452bedf12d98354708c8f03f4812feafe115c2551.jpg)

If Web3 and Crypto ever rule the world, I don’t think it will be the EVM ecosystem that takes over 100% of all developers, but rather all developers will slowly be convert to Web3 and Crypto developers. This is the beauty of the universal zkVM.

Native zkEVM is the future of the blockchain.

General zkVM is the future of Web3.

![](https://storage.googleapis.com/papyrus_images/46004a39bc80106a48816ee102cd51d82dc9cf6d407be8c11ea1e02062c5b925.jpg)

Related Links
-------------

[

A Mathematical Duel in 16th-Century Renaissance Venice
------------------------------------------------------

The story of two Renaissance mathematicians whose jealousies, intrigues, and contentious debates led to a discovery.

https://brewminate.com

![](https://storage.googleapis.com/papyrus_images/aa52169e167cf027f8d2326e31bf2cdf7d063913bd2efaaac4273a370031f275.webp)

](https://brewminate.com/a-mathematical-duel-in-16th-century-renaissance-venice/)

[![User Avatar](https://storage.googleapis.com/papyrus_images/b2e4ad02fa3506ec7b264511e6e4ec8e162c4383a096a5649db5457cd7a31f50.jpg)](https://twitter.com/_bfarmer)

[Brendan Farmer](https://twitter.com/_bfarmer)

[@\_bfarmer](https://twitter.com/_bfarmer)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/_bfarmer/status/1520091937444925440)

It's a transparent SNARK :) The S in STARK stands for scalable, which implies that the statement being proved has repeated structure, whereas SNARKs support arbitrary circuits that are preprocessed to enable succinct proofs. If you want STARKs, Starky is nice + fast

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 5](https://twitter.com/_bfarmer/status/1520091937444925440)[

12:25 PM • Apr 29, 2022

](https://twitter.com/_bfarmer/status/1520091937444925440)

[![User Avatar](https://storage.googleapis.com/papyrus_images/4803d7c32a547954605d2c75574236b5f3a6627b5cf731bfebd46090045889ce.jpg)](https://twitter.com/EliBenSasson)

[Eli Ben-Sasson | Starknet.io](https://twitter.com/EliBenSasson)

[@EliBenSasson](https://twitter.com/EliBenSasson)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/EliBenSasson/status/1514242653671546890)

Just realized that STARK > SNARK also meme-wise:  
For STARK you have (i) Game of Thrones, (ii) Marvel Universe, (iii) Star Wars and (iv) Star Trek. What else?

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 31](https://twitter.com/EliBenSasson/status/1514242653671546890)[

9:02 AM • Apr 13, 2022

](https://twitter.com/EliBenSasson/status/1514242653671546890)

[![User Avatar](https://storage.googleapis.com/papyrus_images/b2e4ad02fa3506ec7b264511e6e4ec8e162c4383a096a5649db5457cd7a31f50.jpg)](https://twitter.com/_bfarmer)

[Brendan Farmer](https://twitter.com/_bfarmer)

[@\_bfarmer](https://twitter.com/_bfarmer)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/_bfarmer/status/1511486435077017607)

Plonky2 uses FRI too :) Starky verifies an AIR-based STARK whereas Plonky2 verifies a SNARK (PLONK + FRI). I think that performance is pretty close, but this is amazing work from [@williamborgeaud](https://twitter.com/williamborgeaud) who would know for sure.

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 5](https://twitter.com/_bfarmer/status/1511486435077017607)[

6:30 PM • Apr 5, 2022

](https://twitter.com/_bfarmer/status/1511486435077017607)

[

plonky2/starky at main · 0xPolygonZero/plonky2
----------------------------------------------

Contribute to 0xPolygonZero/plonky2 development by creating an account on GitHub.

https://github.com

![](https://storage.googleapis.com/papyrus_images/b1beceed08cb9281e6b1099200e3041ffcdb98e46c090352abde27ef21208feb.png)

](https://github.com/mir-protocol/plonky2/tree/main/starky)

[

Polygon Blog | Announcements, updates, and news
-----------------------------------------------

Get the latest ideas, announcements, partnerships, and Web3 news emerging from the Polygon ecosystem.

https://polygon.technology

![](https://storage.googleapis.com/papyrus_images/6607ebfa0a77daa7cc76665a1cc4df542a7f48de38e95acef80d69041ef473b7.png)

](https://blog.polygon.technology/introducing-plonky2/)

[![User Avatar](https://storage.googleapis.com/papyrus_images/b363ae1d42e85bfc8cd6be5bb703bc175191fac20cb12bd087278ae7b04a241f.jpg)](https://twitter.com/dlubarov)

[Daniel Lubarov](https://twitter.com/dlubarov)

[@dlubarov](https://twitter.com/dlubarov)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/dlubarov/status/1520090852093091840)

Plonky2 is a SNARK, but the Plonky2 repo also contains Starky, a STARK implementation. (They share a lot of code since they're both FRI based.) Confusing I know ![😅](https://abs-0.twimg.com/emoji/v2/72x72/1f605.png)

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 5](https://twitter.com/dlubarov/status/1520090852093091840)[

12:21 PM • Apr 29, 2022

](https://twitter.com/dlubarov/status/1520090852093091840)

[

Polygon Blog | Announcements, updates, and news
-----------------------------------------------

Get the latest ideas, announcements, partnerships, and Web3 news emerging from the Polygon ecosystem.

https://polygon.technology

![](https://storage.googleapis.com/papyrus_images/6607ebfa0a77daa7cc76665a1cc4df542a7f48de38e95acef80d69041ef473b7.png)

](https://blog.polygon.technology/zkverse-deep-dive-into-polygon-hermez-2-0/)

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=81UAaiIgIYA)

[

Fractal Scaling: From L2 to L3
------------------------------

Fractal Scaling: From L2 to L3 It's layers all the way down TL;DR Recursive proofs open up surprising and novel design options Introducing L3, the application-specific layer, built recursively over ...

https://medium.com

![](https://storage.googleapis.com/papyrus_images/e952bc9eb5d54df9b969aa736f22727e1eafb59c4a28c4a752725a55d165fbb0.png)

](https://medium.com/starkware/fractal-scaling-from-l2-to-l3-7fe238ecfb4f)

[

深入理解zk-STARK证明系统
----------------

学习Cairo开发主要有2个资料，一个是官方提供的学习文档 ，另一个则是官方提供的playground 。 本文将主要概念和开发流程简要介绍，同时附上案例 。 StarkNet - 一个无需许可的去中心化 ZK-Rollup，作为以太坊上的 L2 网络运行，任何 dApp 都可以在不影响以太坊的可组合性和安全性的情况下实现无限规模的计算。 Cairo - 一种编程语言用于可被证明程序的编写，使得其他验证者确信该程序被正确执行。StarkNet的基础设施及其合约都是使用Cairo编写的。 内存模型 - 支持只读的非确定性内存，这意味着每个内存单元的值由证明者选择，但它不能随时间改变（在 Cairo 程序执行期间）。我们使用语法 \[x\] 来表示地址 x处的内存值。例如，如果我们在程序开始时断言 \[0\] = 7，那么在整个运行期间 \[0\] 的值将是 7 。 Assert - 断言声明， assert = ，在Cairo中有2个用处：一是验证左右2边的值是否相同；二是给内存单元设置值，如"内存模型"中的例子。 递归，而非循环 - 由于内存模型的不可变性，需要使用递归实现循环的功能。 类型felt - field element，整型，范围在-P/2 (res): alloc\_locals local x %{ ids.x = 5 %} # Note this line.

https://trapdoor-tech.github.io



](https://trapdoor-tech.github.io/zkstark-book/Cairo_example/frame.html)

[![User Avatar](https://storage.googleapis.com/papyrus_images/3b35e49b45fa2f0667ab62b1c391d4efae2ef95c90175509ff984305144b52bf.jpg)](https://twitter.com/toghrulmaharram)

[Toghrul Maharramov 🇺🇦](https://twitter.com/toghrulmaharram)

[@toghrulmaharram](https://twitter.com/toghrulmaharram)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/toghrulmaharram/status/1518270138876891138)

EVM-compatibility = Solidity/Vyper-level compatibility  
  
EVM-equivalence = EVM bytecode-level compatibility  
  
zkEVM = EVM specification-level compatibility

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 91](https://twitter.com/toghrulmaharram/status/1518270138876891138)[

11:46 AM • Apr 24, 2022

](https://twitter.com/toghrulmaharram/status/1518270138876891138)

[![User Avatar](https://storage.googleapis.com/papyrus_images/0c01027702edd5a9c6b5a215f6bd53f4d96bada6a4d45d30ce73e7b2a0edb924.jpg)](https://twitter.com/gluk64)

[ALEX | ZKsync ∎](https://twitter.com/gluk64)

[@gluk64](https://twitter.com/gluk64)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/gluk64/status/1518617582420611072)

A contrarian take:  
  
EVM equivalence = backward-compatibility.  
[@zksync](https://twitter.com/zksync)'s zkEVM = forward-compatibility:  
  
\* No SELFDESTRUCT.  
\* Account abstraction.  
\* Meta-transactions.  
\* Limitless blocks.  
  
This is where Ethereum is heading towards.

[![User Avatar](https://storage.googleapis.com/papyrus_images/6912825ad4212b4a2f45ad3eaadbd97c795d8ac0a6335ba8dfedeee79455b377.jpg)](https://twitter.com/TrustlessState)

[David Hoffman](https://twitter.com/TrustlessState)

[@TrustlessState](https://twitter.com/TrustlessState)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/TrustlessState/status/1518229338625245184)

![4⃣](https://abs-0.twimg.com/emoji/v2/72x72/34-20e3.png) EVM equivalence is REQUIRED for the next chapter of Ethereum  
  
EVM equivalence wasn't front and center at DevConnect.  
  
BUT IT SHOULD HAVE BEEN.  
  
EVM equivalence is living rent-free in my brain.  
  
We MUST have it to continue growing [#Ethereum](https://twitter.com/hashtag/Ethereum)  
  
Article on @BanklessHQ Wednesday

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 97](https://twitter.com/gluk64/status/1518617582420611072)[

10:47 AM • Apr 25, 2022

](https://twitter.com/gluk64/status/1518617582420611072)

[![User Avatar](https://storage.googleapis.com/papyrus_images/b4ee5971ae32a8a2e0ddc93eaf9238a740e7c45a75b99a17aa4a8b3bde5cc288.jpg)](https://twitter.com/kelvinfichter)

[smartcontracts.eth](https://twitter.com/kelvinfichter)

[@kelvinfichter](https://twitter.com/kelvinfichter)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/kelvinfichter/status/1522389737021001734)

You rarely want to prove \*just\* the EVM. You want to prove the entire Ethereum state transition function, which is a superset of the EVM.

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 27](https://twitter.com/kelvinfichter/status/1522389737021001734)[

8:36 PM • May 5, 2022

](https://twitter.com/kelvinfichter/status/1522389737021001734)

[![User Avatar](https://storage.googleapis.com/papyrus_images/09c7c52105478735f7602d464b1595436041d05472724b63b14f445a06d4426b.jpg)](https://twitter.com/guiltygyoza)

[guiltygyoza](https://twitter.com/guiltygyoza)

[@guiltygyoza](https://twitter.com/guiltygyoza)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/guiltygyoza/status/1458494941684850688)

tiny tiny dnn on [#StarkNet](https://twitter.com/hashtag/StarkNet). trained offline, converted to cairo contracts and deployed for use. latency is highly dependent on parallelization scheme. test acc only 94%. is this a toy?;)

![](https://storage.googleapis.com/papyrus_images/99befd5b12ce32bf638bcb969f88ef3de34096612142638489a7d793d2f24614.jpg)

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 157](https://twitter.com/guiltygyoza/status/1458494941684850688)[

12:01 PM • Nov 10, 2021

](https://twitter.com/guiltygyoza/status/1458494941684850688)

[

Giza
----

Streamline blockchain complexity through autonomous agents.

https://www.gizatech.xyz

![](https://storage.googleapis.com/papyrus_images/ca18546f42992b7d741a437b00e6140009e6ae7587520fe36581deedd5572819.avif)

](https://gizatech.xyz/)

[![User Avatar](https://storage.googleapis.com/papyrus_images/b4ee5971ae32a8a2e0ddc93eaf9238a740e7c45a75b99a17aa4a8b3bde5cc288.jpg)](https://twitter.com/kelvinfichter)

[smartcontracts.eth](https://twitter.com/kelvinfichter)

[@kelvinfichter](https://twitter.com/kelvinfichter)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/kelvinfichter/status/1516509144068464644)

Why build a ZK EVM when you can just build a ZK MIPS? More intensive to interpolate the polynomial curve tho

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 20](https://twitter.com/kelvinfichter/status/1516509144068464644)[

3:08 PM • Apr 19, 2022

](https://twitter.com/kelvinfichter/status/1516509144068464644)

[![User Avatar](https://storage.googleapis.com/papyrus_images/86aafba99543fadd683513af3e8269ff36257a25174805434be314e0616c5dda.jpg)](https://twitter.com/KyleSamani)

[Kyle Samani](https://twitter.com/KyleSamani)

[@KyleSamani](https://twitter.com/KyleSamani)

[![Twitter Logo](https://paragraph.com/editor/twitter/logo.png)](https://twitter.com/KyleSamani/status/1511683267770163200)

EVM is a bug not a feature

 [![Like Icon](https://paragraph.com/editor/twitter/heart.png) 9](https://twitter.com/KyleSamani/status/1511683267770163200)[

7:32 AM • Apr 6, 2022

](https://twitter.com/KyleSamani/status/1511683267770163200)

[https://github.com/novifinancial/winterfell#Usage](https://github.com/novifinancial/winterfell#Usage)

[

GitHub - GuildOfWeavers/distaff: Zero-knowledge virtual machine written in Rust
-------------------------------------------------------------------------------

Zero-knowledge virtual machine written in Rust. Contribute to GuildOfWeavers/distaff development by creating an account on GitHub.

https://github.com

![](https://storage.googleapis.com/papyrus_images/de0e4497a72ad505999693cea224ee92c6ee7a9264124f81f63159f33c46486d.png)

](https://github.com/GuildOfWeavers/distaff)

[

GitHub - 0xMiden/miden-vm: STARK-based virtual machine
------------------------------------------------------

STARK-based virtual machine. Contribute to 0xMiden/miden-vm development by creating an account on GitHub.

https://github.com

![](https://storage.googleapis.com/papyrus_images/d96a001538550afa4f642702ffa0603c4bb07de1161f972d9033212e71758629.png)

](https://github.com/maticnetwork/miden)

[https://docs.nervos.org/docs/basics/concepts/ckb-vm/](https://docs.nervos.org/docs/basics/concepts/ckb-vm/)

---

*Originally published on [msfew](https://paragraph.com/@msfew/zk-zkvm-zkevm-and-their-future)*
