代码 图 2-3 代码提交情况 代码方面,Mina 在 GitHub 有 32 个代码子库,官方认证提交人有 5 个,主要提交语言为 OCaml、C++、Python C Go 等为主,累计提交了 19,514 次代码,总参与代码提交人数为 242。在今年 3 月份之前,主网还在开发阶段,整体代码更新平稳。在 3 月主网部署完成后,代码更新方面有所下降。 技术 Mina 是一个轻量级的区块链,采用 zk-SNARK 技术,以递归零知识证明,来实现区块的大小恒定。当前零知识证明技术主要应用于隐私交易,Layer 2 等,Mina 创新性的将零知识应用于区块打包和网络状态验证。 为了更好理解 Mina 的递归零知识证明,我们先简要介绍 zk-SNARK 零知识证明技术的基本构造。 zk-SNARK 是一种简洁的非交互式零知识证明,是英文 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge 的缩写,它分为两部分:
同时,零知识证明的可信度取决于两个因素,一个是证明的难度,一个是交互的程度。证明的难度即直接从数学性质上增加证明的难度,交互的程度是指验证者不断的随机提供参数或者前提条件再由证明者证明,随着交互次数的增多,使证明者要欺骗验证者的难度增加,因为证明者在不知道正确信息下提供正确证明的概率在统计学上是递减的。 简要来说,zk-SNARK 零知识证明是指证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。 当前以 zk-SNARK 技术为代表的项目有:
|