ZKWASM(ZKWASM币),DelphiusLab的使命是为Web2开发者提供一套简洁的工具集,以便在他们的应用程序中充分发挥Web3的强大功能。ZKWASM(支持Web
Assembly的ZKSNARK虚拟机)在WASM运行时上运行的富应用程序与链上智能合约之间充当了一个去信任层。
ZKWASM的理念源自ZKSNARK(零知识简洁非交互式知识论证),它是SNARG(简洁非交互式论证)和零知识证明的结合。通常,采用ZKSNARK通常需要用算术电路或电路友好型语言(例如Pinocchio、TinyRAM、Buffet/Pequin、Geppetto、xJsnark框架和ZoKrates)实现程序,这会对现有程序利用其功能设置障碍。
另一种方法是,不是在源代码上应用ZKSNARK,而是在虚拟机的字节码级别应用它,并实现一个由zksnark支持的虚拟机。在本研究中,我们采用用ZKSNARK电路编写整个WASM虚拟机的方法,以便现有的WASM应用程序无需任何修改,只需在ZKWASM上运行即可从ZKSNARK中受益。
因此,云服务提供商可以向任何用户证明计算结果是诚实计算的,没有泄露任何私人信息。
ZKWASM的理念是尝试提供可定制的代码栈,以便用户可以在不同层面与ZKWASM虚拟机进行交互。本快速入门教程假设用户将ZKWASMVM作为集成产品运行,该产品接收已编译的WASM镜像,为其输入数据,并在运行后生成执行证明。
生成一个经过ZK验证且其证明已准备好部署的应用程序分为三个阶段。
设置阶段。
证明阶段。
部署阶段。
在证明阶段,zkWasm会处理Web
Assembly镜像,为应用程序本身生成zkSNARK电路。证明阶段会生成与应用程序在客户机和主机虚拟机上的执行情况相对应的零知识证明。最后,在部署阶段,应用程序的验证合约会被部署到兼容EVM的网络上。