作为公链的 Mina 还可以搭建各种应用,如果针对特定场景,设计零知识证明的应用逻辑并没有那么困难。
撰文:潘致雄
「轻量级区块链」,是 Mina 最被人所熟知的特性,但事实上 Mina 更大的愿景是搭建一个围绕零知识证明的生态系统。无论是对于公链本身的功能、应用,还是其他可以与 Mina 实现互操作性的其他网络,都可以通过利用 Mina 实现。
当然,Mina 的轻量级区块链架构就已经是业内独一无二的存在了,相比以太坊和比特币动辄几百 GB 的区块空间,几十 KB 大小的固定区块空间可以让大多数人参与并成为节点,适合普通用户的电脑甚至是移动设备。
而其实很多人都没关注到,除了最简单的转账场景之外,作为公链的 Mina 还可以搭建各种应用,哪怕零知识证明技术本身是很难实现通用计算能力的。Mina 对链闻表示,「如果针对特定场景,设计零知识证明的应用逻辑并没有那么困难。」
所以 Mina 也会搭建基于零知识证明(SNARK)技术的应用生态,他们称之为 Snapp (由 SNARK 驱动的 App)。既然是采用了零知识证明,所以它天然的优势就是隐私保护,可以实现类似于信用积分验证、文档验证、余额验证等场景。
如果再进一步扩展其应用场景,Mina 还可以与其他公链实现互操作性,为其他公链提供零知识证明相关的服务,比如最近与以太坊基金会的合作。双方将共同出资,招募团队研发并验证 Mina 采用的 Pickles SNARK 如何在以太坊上进行验证,最终是为了实现两个公链网络的互操作性,也就同时打通了 BSC、Heco 等 EVM 兼容链。
如何实现约 22 KB 固定大小的区块空间?
Mina 的核心除了使用零知识证明 zk-SNARK,而更重要的是实现了可以递归的零知识证明技术。SNARK 全称是 succinct non-interactive argument of knowledge「简洁的非交互式知识论证」,而其中第一个词 succinct (简洁)特性就是 Mina 所重点利用的。
通过 SNARK 技术,Mina 就可以实现用单个零知识证明,验证区块交易历史记录的准确性。另外再加上 succinct 优势,这样也就实现了将整个区块压缩到单个 SNARK 证明的大小,也就是约 1 KB。用户的验证成本也相当低,如果有人提交了错误的 SNARK 证明,任何人的设备比如手机就可以立即验证并发现。
但这只是第一步,区块链的一个特性是每个区块都需要引用上一个区块,因为如果只是为每个区块生成 SNARK 证明,其整体容量还是会线性增长。
所以 Mina 的核心是一个名为「递归零知识证明」的技术,他们的方案是为 SNARK 创建 SNARK (也就是递归),然后不断进行迭代和嵌套,将这些 SNARK 证明以递归结构链接在一起,实现了让区块链保持约 22 KB 的恒定大小。
换一种更通俗的比喻,如果你要证明你一年中每天都到过一个广场(广场上有日期时钟),最简单的办法就是每天自拍打卡,365 张照片就是最终证据。而另一种办法就是从第二天起,每天自拍打卡时,手上拿着前一天的照片,最终一年就只需要一张照片即可,这也就是 Mina 采用的递归证明。
有意思的是,Mina 的开发团队 O(1) Labs 名字中的「O(1)」,是经常用来描述算法时间或空间复杂度的一种方式。比如说 O(n) 代表了复杂度是线性增长的,O(n²) 代表了复杂度是平方阶增长的,而 O(1) 则是复杂度最低的,无论输入中的数据量增加多少倍,时间占用或空间占用是不变的。
所以从空间占用角度来说,Mina 全节点的区块空间大小可以算是 O(1) 复杂度的,维持在约 22 KB 的容量。
全新的区块链验证范式,与扩容技术 ZK Rollup 异曲同工
另外,轻量级区块链的本质不仅是实现更普惠的全节点,从系统架构来说也是颠覆了原本区块链的设计模式,将「执行」和「验证」进行了分离。执行和计算过程可以在链下完成,链上可以以很低的成本和很高的效率进行验证。
而以太坊生态中最前沿的二层扩容技术 ZK Rollup 也是基于零知识证明技术的,它从计算和验证范式来说也和 Mina 很类似。大多数节点不需要参与执行和计算,而是交由一些具有计算能力的节点完成,他们计算出的结果是否准确,任何节点都可以验证。
相比较现在以太坊或者比特币网络,所有节点和矿工都需要存储所有区块数据、状态数据,然后才能验证每一笔交易的合法性,或进行交易的计算、执行,也就意味着每笔交易都被执行了了成千上万次。虽然这是一套验证了安全性的系统,但是从网络整体的效率来说,可能并不是最优解。
在 Mina 网络中,所有的节点都是全节点,因为每个节点都可以接受并验证零知识证明。但除此之外,还有一些其他类型的节点,为整个网络提供不同的服务,以完善整体的架构,其中包括存档节点(Archive Node)、区块生产节点(Block Producer)、零知识证明提供商(SNARK Producer)。
存档节点(Archive Node)是存储所有历史详细区块数据的节点,作为一个持久化的数据源,便于检索。团队表示,「这类节点的数据存储压力相对较大,但由于可以简单验证这些数据的有效性,因此即使去中心化的程度没有那么高,安全风险也不会太高。」
区块生产节点(Block Producer)类似于其他区块链网络中的「矿工」,这些节点需要参与共识,所以也可以称为「共识节点」,他们需要负责生产区块,然后获得区块奖励。Mina 使用的共识「Ouroboros Samasika」也是一个值得深入探究的领域,简单来说,它与许多 PoS 算法不同,不是一个类 BFT 的算法,所以其优点包括节点数量没有限制,节点可以动态进出等,非常符合 Mina 的简洁性原则。
零知识证明提供商(SNARK Producer)是为整个区块链网络提供 SNARK 证明服务的节点,他们会将交易数据压缩后生成零知识证明,然后通过一套市场化的机制(Snarketplace),将某个区块的 SNARK 卖给区块生产节点,本质也就是他们会和区块生产节点共享一部分区块奖励。从长期来看,他们也可以为其他网络(比如 ZK Rollup)提供通用的零知识证明计算服务。
应用生态有哪些优势?隐私+Web 2.0 的互操作性
零知识证明虽好,但它的难点在于通用计算,也就是如果想要成为类似于以太坊一样的全功能计算平台,难度更高。所以 Mina 的切入点是从一些特定的应用入手,然后逐渐完善全功能和多样化的应用生态。
在 Mina 平台中,他们将应用称之为 Snapp。相比较其他协议的 DApp (去中心化应用),Snapp 的优势可以概括为「隐私保护」和「与互联网数据的互操作性」。前者本就是零知识证明的自带属性,而后者其实很容易被忽视,也是很多公链或预言机协议在尝试解决的问题。
从具体应用看,Mina 团队给出了三个典型的案例,分别是「端到端的数据隐私以打通线上和链上」、「无需许可的互联网预言机」、「第三方隐私登录」。
目前最典型的一个案例就是 Mina 和 DeFi 协议 Teller 团队进行的合作。Teller 是一个以太坊链上的无担保借贷市场协议,具体的业务逻辑可以通过以太坊实现。但是针对信用分数的部分,用户可以通过 Mina 的 Snapp 实现证明自己的信用分数(比如 Credit Karma)高于某个特定的分数(比如 700 分),但无需曝光自己真实的分数,或其他更敏感的信息。
至于 Snapp 如何获得这些链下数据的,Mina 表示这是通过他们搭建的「无需许可的互联网预言机」功能实现的。具体来说,Snapp 可以直接与 HTTPS (超文本传输安全协议)进行交互,所以也就能为该数据生成零知识证明。而 HTTPS 技术又保障了网页上的数据受到证书保护,即无法伪造数据来源。
这有点像是预言机协议在解决的问题,但是 Mina 的这套直接与 HTTPS 交互的方案中,它不仅可以接入更多样化的个人数据,而且不需要泄漏隐私。所以这套全新的「个人」版预言机方案,也算是业内独一无二的存在。
不是公链的颠覆者,而是合作共赢
Snapp 本身可以针对部分场景实现特定的业务逻辑,但为了实现更复杂和通用化的应用需求,Mina 也会通过与其他公链进行合作,增强互操作性,让整个生态区块链生态互惠共赢。
所以 Mina 最先选择与公链生态的龙头以太坊进行合作,双方的基金会将出资,寻求第三方团队给出一个能高效验证 Pickles SNARK 的 EVM 改进方案。当然这其中还是有很多难点的,工程实现上也可能会有挑战,具体可以 参考 这篇提案的技术细节。
此次的合作的最终目的是为了实现两个公链网络的互操作性,能为以太坊网络需要实现隐私相关的应用提供相应的解决方案:利用 Mina 网络实现零知识证明计算任务的分发(计算量较大),然后在以太坊上实现验证(计算量较小),同时兼顾了两条链的特性和优势。
如果进行一些简单的畅想,未来的去中心化的应用可以通过其他任何链实现复杂的业务逻辑(比如以太坊的 DeFi 生态),但是如果需要为其加入隐私特性,或者需要调用互联网上的个人隐私数据,就可以交付给 Mina 搭建的零知识证明生态实现,Teller 就是一个很好的案例。
当以太坊实现 Mina 兼容后,很多其他链也就同步支持了,目前最流行的应用生态几乎都采用了 EVM,甚至很多新的公链也都会增加 EVM 的兼容性,比如 BSC、Heco、波卡生态的几条平行链、NEAR 等。
综合来看,Mina 不仅提供了一套全新架构的区块链网络让手机也能成为全节点,还围绕零知识证明技术构建了应用生态以加强隐私,最后还计划将这些能力提供给其他区块链网络,让开发者可以利用 Mina 的这些优势构建原本无法实现或成本极高的场景。
后续 Mina 将如何拓宽实际的应用场景,如何与现有的应用进行合作,如何将基于 HTTPS 的个人预言机服务大规模普及和证明其安全和准确性,是他们正在和迟早会面临的挑战,值得我们拭目以待。