一文读懂Mina:用递归零知识证明技术打造的最"轻"区块链
原标题:万向区块链蜂巢学院 | 姚翔:递归零知识证明,如何打造简单的区块链?
演讲:上海区块链前沿技术研讨会发起人姚翔
首发时间 | 2021年5月
注:3月18日,Mina完成9200万美元战略和私募融资,FTX Ventures和Three Arrows Capital领投,Alan Howard、Amber Group、Blockchain.com、Brevan Howard、Circle Ventures、Finality Capital Partners、Pantera等参投。Mina加快零知识证明的使用。被邀请到通用区块链蜂巢学院第56 期Mina姚翔,上海亚洲技术大使和前沿技术研讨会的发起人,从 Mina 区块链共享递归零知识证书和 Snapps 价值及应用前景。
晚上好,蜂巢学院的朋友们!我是姚翔,今天我就围着 Mina 这个新区块链与大家分享 「递归零知识证明,如何打造简单的区块链?」本次分享将涉及一些技术术语,但您不需要太多的技术背景就能理解。让我们从今天的分享开始。
现在有成千上万的区块链,有很多熟悉的。许多以太坊和以太坊的杀手都建立了自己巨大的生态系统。为什么在这个时候 Mina 做一个新的区块链?它的优点是什么?如果枝条只有一些改进,值得启动区块链吗?
实际上 Mina 在技术和应用方面都有独特的创新,其技术愿景是世界上最重要的「轻」如何理解区块链?我们可以重新开始一段时间。
在应用层面,Mina 想在现实世界和密码学世界之间建造一座桥梁,这座桥可以保护隐私。Mina 如何保护隐私?我们可以从区块链面临的一些问题开始。
在一些公链中,我们可以看到以下问题:
第一,积重难返。现在区块链很好「重」,这意味着很难操作一个节点。我相信很少有观众会自己操作以太坊节点。每个人都通过一些中间机构与以太坊网络互动,也就是说,没有中间商直接访问区块链是非常昂贵和困难的。
二是规模分布协调。参与该网络的规模和分散程度也有限,因为参与该网络对资源,特别是带宽资源有很高的要求。当吞吐量增加时,运行节点的门槛会增加,分散度会降低,或者网络集中度会反过来增加。
第三,隐私和可验证性。所有的事务、交易和数据都是公开和链接的,用户的隐私保存不好。事实上,我们想要的是验证这些数据的准确性,而不是数据本身。
如何解决这些问题?Mina 在设计上要解决这些问题。
第一,Mina 是一条很轻的区块链,它的大小是 KB 级别,所以用户相对容易维护这样的全节点。因此,每个用户都可以在访问 时操作一个节点Mina 不需要第三方服务提供商。
第二,Mina 共识算法非常特别,共识参与不受限制,Mina 共识验证者的数量没有上限。事实上,现在大多数 PoS 算法,如果是基于这些委员会选举的共识算法,一般只能容纳大约数百名验证人,因为随着验证人数量的增加,网络通信的复杂性将迅速增加,节点无法承担通信费用Mina 选择了比较成熟的竞争性 PoS 算法 Ouroboros,并做了一些改进,产生了一个叫做「Ouroboros Samasika」有助于节点分散的变体。
它还带来了一些额外的好处,因为 Mina 对验证人没有罚没机制,所以在操作节点时不用担心自己掉线或大规模掉线造成的罚没。
第三,在 Mina 上部署的应用叫「Snapps」,Snapps 是由零知识证明驱动的应用程序。这些应用程序可以在保护用户隐私的情况下使用离线数据,用户不需要向区块链提交他们的隐私数据,而是提交这些数据的证明,这样区块链只需要验证这些数据符合一定的要求。
听了这些会觉得 Mina 有些独特的地方,有些神奇的地方,它到底是怎么工作的?这个问题整体上讨论这个问题。
从设计上,Mina 整个区块链只有 22KB 尺寸,并且永远保持这个尺寸。也就是说,随着时间的增长和网络交易的增加,它的尺寸不会改变22KB 很小,可能是几条语音信息的大小,所以任何设备,包括操作能力相对较弱的手机,都可以很容易地同步验证 Mina 网络,而且不需要花费很长的时间。
Mina 是怎么做到的?「轻」是的?因为 Mina 使用技术-递归零知识证明,因此我们不需要从零开始验证整个区块链。以以太坊为例,如果一台新机器想要添加以太坊网络,它需要下载以太坊从创建之日起生成的所有块,并执行所有交易,以获得最新状态Mina 其中,整个节点不存储链本身,存储是状态变化的证明,因此存储的数据较少。同时,由于引入递归零知识证书,无需从零开始验证数据。
我们可以做一个简单的比较。事实上,比特币区块链的大小可能是 300GB,用一台普通的个人电脑同步大约需要6个小时。以太坊的大小是 700-800GB,根据网络速度,不同客户端之间存在轻微差异。同步时间以天计。
为什么递归零知识证明可以达到这样的效果?这实际上是一种相对较深的密码算法,但我们试图用一种隐喻来帮助你理解这个问题。
在大多数区块链中,整个节点需要存储所有状态数据「状态」这是什么?例如,我有 10 元,或者我在某个应用程序上有一块土地,这是状态数据。当我想操作这些数据时,所有节点都需要执行这些交易,它必须有当前的状态数据,即它必须存储所有状态。
当生成一个新块时,所有节点都需要执行所有数据交换并更新到最新状态。这种结构导致了大量的重复计算,而且会有越来越多的状态数据,因为越来越多的人使用这个区块链,所以执行将消耗越来越多的资源。
使用零知识证明技术实际上是为了改变这种执行架构,不再让链本身计算,而是压缩状态,制作快照,当新块产生时,从状态 A 变成状态 A’,你需要提供什么?这是一个关于这种状态变化的零知识证明,因此每个节点只需要验证证明的正确性,不需要实际执行,因此计算量大大降低,状态不会膨胀。
这样,似乎每个块都需要提供一个证明,即区块链的大小仍然是在线增长。此时,零知识证书的递归发挥了作用。那是什么意思「零知识证书的递归」?简单地说,我们也包装了证书的过程,并在下一个证书中包装了最后一个证书,所以每个证书都可以包括所有历史的验证,这听起来有点模糊。
例如,你想向一个朋友证明你每天都去一个公园。这个公园有一张日期卡。你想做什么?你可以每天在那张日期卡前拍一张自拍,并把它发给他。你必须在一周内给他发一张 7 的照片。但是我们有办法减少这种互动。我们该怎么办?第一天拍照。从第二天开始,每天把前一天的照片拿在手里,然后自拍。第七天之后,事实上,只要你把第七天的照片发给你的朋友,他就可以很容易地证明你每天都去那个地方,不需要给他发 7 的照片。这是递归证明。当然,这是一个例子,而不是零知识。
如果你想对零知识证书有更详细的了解,我建议你可以阅读一些更专业的文献。同时,今年3月,Mina 基金会与以太坊基金会联合资助,收集能够高效验证以太坊虚拟机的 Mina如果能实现 提供的递归零知识证明方案,Mina 零知识网络还可以为以太坊区块链提供零知识计算服务。
总结一下,zk-SNARKs 实际上是零知识简单,无互动知识认证,我们也可以认为是零知识证书。在它的帮助下,可以实现一些特征:
低门槛的可验证性;分散的可扩展性;新的应用形式 Snapps。当然,这些工作仍在高速发展中。为了实现这一愿景,我们有很多工作要做。接下来,我们将主要讨论 Mina 上应用 Snapps。
如今,大多数区块链实际上无法与互联网应用程序直接交互,这直接限制了应用程序的范围和效用。Mina 可以在保护隐私的同时与任何网站互动,并将现实世界中已经验证的数据传输到链上,让链上的应用程序直接使用。Mina 的愿景实际上是创造一个通往现实世界的秘密网关「隐秘」意思是保护用户隐私。
这个网关其实是通过 的Snapps 实现,Snapps 是零知识证明驱动的应用,具有一定的良好特点:
只要网站支持 ,区块链就可以从互联网无缝输入HTTPS 协议可以将数据从本网站导入 Mina 在区块链上,同时可以验证数据。
其次,数据本身并没有被曝光,用户仍然保持对数据的控制,只是为了验证和共享数据的证据。你得到的不是数据本身,而是你不知道的东西,但你可以验证背后的数据有一些属性。
给出一些用例:
第一,基于 Snapps 可以秘密访问一些互联网服务,为用户数据生成相应的证明,可以通过互联网应用程序验证。同时,互联网数据也可以导入 Mina 在这个过程中,个人数据没有泄露,没有必要信任任何人,只信任算法本身。
第二,借助这种技术,我们可以建立一个无许可的互联网预测器,因为任何网站只要提供真实世界的数据,就不需要网站本身的许可,只需使用现有的互联网协议,就可以可信地传输到 Mina 区块链。
第三,有点像 DID 协议。可以 Mina 无需创建账户或交出个人数据即可完成网站登录服务。
让我们再给一个更具体的用例,这个用例也是今年3 月份,Mina 和 Teller (DeFi 的应用)联合发布的一个示范性的应用。
Mina 提供的一些好的特性可以帮助用户在 Teller 通过零知识证明验证其信用评分并获得所需服务。具体来说,用户登录信用评分查询服务网站,查询自己的信用评分,同时在自己的本地生成信用评分证书,并将该证书发送到链上。
该证书本身并没有暴露用户的信用评分、社会保障号码和其他隐私信息,只提供他的信用评分大于 700 的证书。只要用户提供这样的分数证明,Teller 可以为用户提供所需的服务。你可以去 Teller 在网站上查看此案的 Demo。
这只是一个开始,一个小小的尝试。在过去的六个月里,零知识证明了快速发展。如果没有密码技术的迭代,我们无法想象这样的应用可以在项目中实现。
随着这种对未来和密码学发展的期望,我们认为在不久的将来,不需要可信设置的可组合智能合约将很快实现, Mina 还将提供许多开发人员工具,以帮助形成一个新的应用程序范式。例如,隐私身份验证和互联网触发的智能合同,我们知道智能合同的触发仍然依赖于一些预测器。
另一个例子 Mina 零知识证明能力为以太坊提供服务,使其具有新的功能,而不需要将以太坊上的应用逻辑转移到新的区块链上(这是许多新的区块链正在尝试的)。
前面都是一般介绍。接下来,我想深入介绍关 Snapps,谈谈他的结构。
Snapps 和去中心化应用有什么区别?主要区别如下:
1、支持私人数据。也就是说,在使用用户数据时,不需要共享数据本身,只需要共享数据证明。
2、具有一般的可验证性,可实现任意计算。
3、可扩展执行。在状态变化层面,执行过程不仅可以调用自己的状态,还可以改变其他应用的状态。
前面提到的 Mina 在 Teller 上应用只是一个示范应用,尚未投入大规模使用。接下来,Mina 将互联网世界结合起来,HTTP Snapps,将数据从网站导入 Mina 上来。而关于开发者的 SDK,事实上,它仍在建设中。我们期待着在未来几个月为开发人员提供更好的开发工具,可以帮助您更简单地使用 Mina 开发。
Mina 主网已于今年3月启动,900个活跃节点参与了主网的启动,Mina 也得到了创造者和合作伙伴的支持,相关性能指标很好,我们对未来也有信心和期待。
今天的分享到此为止。谢谢你的时间。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。