Mina : 一个非正式不完全的研报
December 29th, 2021

试想这样一个场景:

你在决定要不要把商品卖给一个人,事先,你需要知道他有没有足够的钱付款。但问题是,这个人不希望你知道他口袋里具体有多少钱,你也没办法相信他说自己有钱。

那么在交易前如何知道这个人有没有足够钱的同时不侵犯他的隐私,这就是零知识证明最大的应用场景,也是 Mina 的底层核心技术。

  1. **核心技术 **

Mina 使用的 Zk-Snarks,全称是 Zero-Knowledge Succinct Non-Interactive Argument of Knowledge。作为零知识证明的一种,Zk-Snarks 可以让区块大小维持在22kb。能做到这个恒定的区块大小是因为 Mina 不需要下载整个交易历史,只需要拥有历史记录的“证明”即可。Mina 所说的区块大小恒定在 22kb 就是因为对历史数据真伪的“证明”大小是恒定的。

Zk-snarks 所用的零知识证明原则,是一种基于概率的验证方式。验明的方式是无限次验证排查来确保结果“接近”真实。这也是 Vitalik 口中”过去十年加密技术最大的突破“。这种全新的验证机制使得人们可以在不接触实际要验证的信息的前提下验明信息的真伪,能最大限度的保证隐私。其中 non-interactive 指的是证明者(prover)和验证者(verifier)之间不需要特殊的交互,也就使得这个证明可以在多个第三方那里得到验证。传统的验证方式,比如通过输入密码来登录系统,需要把密码输入并传送到网站的服务器,由服务器来验证你输入的密码跟它那儿储存的账户密码是否一致。这样的问题在于如果服务器被黑,你的密码就会被泄露。而零知识证明试图实现的是在验证你的账户身份的同时,不泄露明文的密码,密码实际是储存在本地机器上,上传给互联网的只是实际数据真伪性的一个证明。

Zk-snarks 可以解决我们平时说的 trilemma,即,可拓展性,安全性和去中心化这三者不能共存的矛盾。举例来说,eos,币安链,波场,它们解决了可拓展性,但是牺牲了去中心化;比特币,以太坊解决了去中心化,但是牺牲了可拓展性。而 zk-snarks 因为区块足够小,处理速度快,燃料费用低,可拓展性强;同时,不需要非常大的数据中心或者矿场去运营,质押也没有最低限制,这样也兼顾了去中心化的特性;最后,在安全性方面,用户的数据隐私安全由零知识证明保证。\

当然,这种技术不为 Mina 所有,首次提出这个理论其实是在1985年,理论的提出者其一就是 Algorand的创始人 Silvio Micali,甚至 mina 还不是第一个把 zk-snarks 商用的项目,第一个项目其实是  Zcash,另外 Cardano 在 zk-snarks 上的探索也走的更远。Mina 更多是在主网开发的时候把 zk-snarks 真正嵌入进底层,同时借鉴了 cardano的共识机制,算是站在了前人的肩膀上。

2. 三大使用场景:

  • 作为无需授权的预言机,Mina 可以在无网站的授权许可的情况下跟任何网站互联:在这种应用场景下,Mina 可以被看成一个插件,比如以太坊上的 Defi 应用可以使用 Mina 作为预言机,把互联网上的数据接入 Defi 世界。
  • 点对点数据隐私:用户数据保存在本地机器上,mina 跟第三方分享的只是一个是否满足要求的证据快照。
  • 隐私登录:用户无需在登录网站时,在具体的网站上用邮箱来创建账户,而是通过 Mina 创建账户,Mina 会向要登录的网站证明用户确实拥有这个邮箱,同时又不会向网站泄露具体的邮箱地址。

补充一点,目前 Mina 正在跟以太坊基金会合作,开发隐私插件,未来甚至可能会通过 zk-rollup 的方式成为以太坊的 layer2,参与以太坊扩容。

** 以上几种应用场景,只有点对点数据隐私已经进入demo阶段,其他的开发周期都在几个月到一年之间。

**3. 竞品 **

  • 在预言机赛道上,Mina 跟 chainlink 直接竞争:Chainlink 在分享用户数据的时候会有敏感数据泄露的风险,同时也需要对方网站的接入许可才能连接。但是 Mina 可以在只提供数据对错的证据的前提下,跟任何 https 网站连接。
  • 在公链赛道上,我们期待 Mina 在去中心化的路上走的更远。Mina 会凭借 22kb 区块大小这个优势让运行节点的不仅限于有资源的个体或者公司,而是一个手机就可以运行全节点。另外,其它正在运行的公链当然也可以使用 zk-snark 技术,但是这就需要它们做底层的升级和递归,这种对底层架构的改动实行难度非常大。
  • 在身份识别验证上,跟 Dfinity(ICP)功能有重合:ICP 跟 Mina 都剑指私钥管理革命,用户不用在担心私钥,助记词丢失或者被盗。目前 Mina 在这方面的产品还在开发中,暂时无法比较性能优劣。

**4. 重大挑战 **

zk-snarks 代码实现难度高,毕竟这在三年前还被认为是纯理论的技术,即使是现在,以太坊基金会对 zk-snarks 的研究还属于探索性的基础研究。更何况目前 Mina 的多数应用场景还在开发中,因为难度问题,开发周期也会比其他的公链项目更长。

另外,还有 zk-snarks 本身也有性能瓶颈,跟原生系统相比,它的平台运行速度会更慢,所以上面不能跑类似机器学习之类的应用。

开发难度大 + 性能上有瓶颈, Mina 的前途注定光芒无限,但是道阻且长。

**5. 总结 **

用“应运而生”来形容 Mina 很合适。早三四年,技术还跟不上理论;现在,Mina 在共识机制上可以借用 cardano 的,在落地经验上可以借鉴 zcash,在巨人的肩膀上规避掉了很多早期的坑;而且今年算是零知识证明真正的元年,应用场景不再是单一的隐私支付,广阔天地大有可为。

虽然开发难度大,但是如果可以全部落地,Mina 提供的价值会是革命性的,Mina 解决的问题是现在用户的核心痛点:我们未来将不会再担心自己的隐私泄露,自己的数据被网站平台贩卖,而且在享受区块链去中心化特性的同时不用去担心私钥管理。

就像 Mina 的创始人 Shapiro 说的那样,未来发展的关键还是在于能不能开发出人们想用而且好用的产品。

即使现在看似有 Polkadot / Cosmos / Dfinity 的群雄争霸,有某些公链所谓的先发优势,我们业界还是没有解决大多数的用户痛点:手续费还是贵,链上还是堵,用户还是担心私钥被盗或者丢失。

所以,未来几年,谁能真正解决这些问题,谁就能占领市场,现在一切都还早 ……

** 参考文献:

  1. *约翰霍普金斯大学教授 Matthew Green 关于零知识证明的课堂笔记:https://blog.cryptographyengineering.com/2014/11/27/zero-knowledge-proofs-illustrated-primer/ \*
  2. Mina官方博客提到的应用场景:https://minaprotocol.com/blog/building-a-private-gateway-between-the-real-world-and-crypto-three-use-cases
  3. 法国研究机构的研究报告:https://journalducoin.com/actualites/mina-protocol-comprendre-la-blockchain-la-plus-legere-au-monde/
  4. Mina官网公布的代币分发和经济模型:https://minaprotocol.com/blog/mina-token-distribution-and-supply
  5. Hackermoon 关于零知识证明的文献:https://hackernoon.com/wtf-is-zero-knowledge-proof-be5b49735f27
  6. Ashish 对下一代区块链核心技术的思考:https://hackernoon.com/wtf-is-zero-knowledge-proof-be5b49735f27
  7. *Mina 的创始人 Evan Shapiro 的访谈:https://www.youtube.com/watch?v=12Nv6HeNUeU&t=0s \*
  8. *Evan Shapiro 的第二则近期访谈:https://www.youtube.com/watch?v=XmbeIjY6Pxc \*
  9. Evan Shapiro 的第三则近期访谈:https://www.youtube.com/watch?v=6dF_xvpFuek
  10. Mina 官网博客关于22kb区块大小的技术实现:https://minaprotocol.com/blog/22kb-sized-blockchain-a-technical-reference
  11. Mina 官网博客关于为什么 Ouroboros Samasika 共识机制可以更好地实现去中心化:https://minaprotocol.com/blog/how-ouroboros-samasika-upholds-minas-goals-of-decentralization
Subscribe to junjiem.eth
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from junjiem.eth

Skeleton

Skeleton

Skeleton