Hi 游客

更多精彩,请登录!

比特池塘 Just discuss 正文

EVM性能提升的关键

汪晨霞
743 0 0
EVM 的性能如何提升是一个大问题,一个方向是通过零知识证明(ZK)将计算移到链下。更具体地说是,zkVM(zk 虚拟机)或 zk Co-processor(zk 协处理器)。简单来说就是: 链下计算,链上提交 首先,我们需要了解一下 zk-SNARKs 和 zk-STARKs。这是两种区块链常用的零知识证明机制,它们的主要区别是证明的大小。 通俗地讲,zk-SNARKs 和 zk-STARKs 就是这样的一个机制,它可以证明你知道一个秘密,而不用透露这个秘密。 Vitalik 曾经用这个例子来解释:“我知道一个秘密数字,如果您将单词 cow 添加到末尾,并对其进行 SHA256 哈希 100 百万次,输出将以 `0x57d00485aa` 开头。” 证明者要进行全部的计算,给出 Proof(证明),而验证者可以以极低的成本验证这个 Proof。 这是一个形象的图示。有一百万间房,仅有一个房间里有人。证明者一一检查所有房间,直到找到这个房间。 验证者按房间号打开,就可以证实,这个房间的确有人。 了解这些基础,我们再去看 Co-processor(协处理器)。它指,在主处理器(CPU)之外,用来额外进行特定计算的芯片。 在区块链里,如果认为 EVM 是 CPU,那么 zk Co-processor 就额外进行一些特定计算的 芯片。 协处理器这个词汇不常见,但场景很常见。比如,外接显卡( GPU )就是一个协处理器。电脑的 CPU 可以进行一般性的计算,而 GPU 可以更快第进行特定的计算。 如果把手机看成一个处理器,云服务也可以看成是它的协处理器。 以 ChatGPT 为例,手机目前还无法运行较大的模型,而通过云上的推理服务,我们在手机上可以运用这个服务。 理解这两点之后,我们可以很容易理解 zkVM 或 zk Co-processor。 以以太坊为例,我们将计算在 EVM 之外进行计算,然后将(1)计算结果和(2)证明提交到链上。 以 RiscZero 的 zkVM 为例,它做的事情就是,对程序进行计算,然后生成证明,将收据提交到链上。收据有两个部分组成: 1)journal 计算结果; 2)seal 证明。 其中,程序是用 Rust 编写,遵循 Risc-V 指令集。 那么,所谓 zk Co-processor 就是,仍以 RiscZero 为例,它的 Bonsai 协处理器能够在 zkVM 之外进行计算,然后将计算结果和证明提交到链上。 那么,什么样的计算需要移动到链外呢? 一个场景是 Rollup。根据 Axiom 的分析,一个更常见的场景是让智能合约能够处理更复杂的计算。这需要处理两方面的问题: - 数据:智能合约如何接触到更多的数据。 - 计算:智能合约程序可以处理什么样的计算。 附言:BitVM, AVM(Atomicals VM) 都有类似的设计,链下计算,链上提交。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

汪晨霞 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    10