
Subscribe to MinaWallet

Subscribe to MinaWallet

Mina Token Distribution and Supply
This post intends to help the Mina community understand how the MINA token will be distributed at the launch of Mina’s mainnet and throughout its lifecycle. Last Updated November 4, 2021 Mina is the world’s lightest blockchain. It is a public and decentralized blockchain that is open for anyone in the world to participate in actively or passively. Individuals or companies can help increase the security of the network by becoming nodes or block producers, or they can help lower the cost of tra...

Generating a Keypair
In order to create a keypair for Mainnet or to fully participate in a Mina test network, the first step is to generate a Keypair, which consists of a Public Key and a Private Key. Currently there are two supported tools for generating keypairs mina-generate-keypair and ledger-app-mina. We also have a tool for validating that your private key is created properly. Note that you may want to generate more than one keypair. For example, if you'd like to run a block producer most securely, you...

Mina-Ethereum State Proof Verification Applications.
IntroductionThis is the second post within the series of Mina-Ethereum bridge-dedicated blog posts of ours. The first one is in here. This time a description of how a Mina-Ethereum bridging application based on the in-EVM state proof verification of ours would work.Didn’t you post such a description already?Not really. What we do is not the bridge itself, but a core mechanism, a crucial component to achieving such a bridging. Mina state verification on Ethereum. This will not bring the bridge...

Mina Token Distribution and Supply
This post intends to help the Mina community understand how the MINA token will be distributed at the launch of Mina’s mainnet and throughout its lifecycle. Last Updated November 4, 2021 Mina is the world’s lightest blockchain. It is a public and decentralized blockchain that is open for anyone in the world to participate in actively or passively. Individuals or companies can help increase the security of the network by becoming nodes or block producers, or they can help lower the cost of tra...

Generating a Keypair
In order to create a keypair for Mainnet or to fully participate in a Mina test network, the first step is to generate a Keypair, which consists of a Public Key and a Private Key. Currently there are two supported tools for generating keypairs mina-generate-keypair and ledger-app-mina. We also have a tool for validating that your private key is created properly. Note that you may want to generate more than one keypair. For example, if you'd like to run a block producer most securely, you...

Mina-Ethereum State Proof Verification Applications.
IntroductionThis is the second post within the series of Mina-Ethereum bridge-dedicated blog posts of ours. The first one is in here. This time a description of how a Mina-Ethereum bridging application based on the in-EVM state proof verification of ours would work.Didn’t you post such a description already?Not really. What we do is not the bridge itself, but a core mechanism, a crucial component to achieving such a bridging. Mina state verification on Ethereum. This will not bring the bridge...
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


2021年9月2日,以太坊创始人 Vitalik 在推特上回复网友问题时表示:
我预计 ZK-SNARK 将在未来 10 到 20 年内渗透到主流世界,成为一场重大革命。
zk-SNARKs技术允许大量信息被压缩成所谓的简洁证明,因此能够在提升网络TPS、降低运.算Gas方面发挥重要作用。区块链发展十余年中,我们共同见证了DeFi崛起、NFT热潮以及元宇宙的风靡,这些尝试不仅丰富了区块链玩法,更拓宽了区块链生态的边界。
未来,随着应用场景的进一步丰富,区块链与现实世界的进一步融合也是大势所趋。如何突破性能瓶颈,实现更加安全、隐私、高效的链上链下数据交互,是目前区块链破圈发展亟需解决的问题,也是以Mina Protocol为代表的zk-SNARKs公链发展的机遇所在。

递归零知识证明:打造更简洁安全的区块链
大数据杀熟;贩卖用户数据;数据不透明导致用户欺诈事件…中心化弊端日益凸显,人们希望借助区块链能去中心化、不可篡改的「去信任」架构,消除信任中介,完成各种交易和协作:所有信息上链,所有人都是见证人。
但令人气馁的是,信息上链有悖于隐私保护,而且去中心化导致了繁冗的重复计算,随着交易规模的增加,每个区块链参与者所需要记录的数据随之增加,区块链变得越来越重,新加入者不仅要花费较长的时间同步数据时间,而且需要配置昂贵的硬件设施和消耗大量电力,这无形中提高了成为节点的门槛,导致目前的区块链发展仍存在依赖第三方验证交易的现象,这也对区块链网络安全带来危害。
zk-SNARKs是解决这一问题的可行技术。
在理解zk-SNARKs之前,我们可以先了解零知识证明。
复杂的数学逻辑暂且按下不表,从字面意思上理解,零知识证明就是:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。我们可以以找熊猫为例说明:
一群人在这张图中找一只熊猫,小A率先发现了熊猫位置,但是他不能立马公开指出来,因为这样就破坏了其他人的游戏体验。

有没有什么办法,即能够证明小A知道熊猫在哪儿,又不会让其他任何人知道答案呢?
于是小A想到了一个办法:
他找来一张超级大的白纸,并把这张纸随意的覆盖在有熊猫的图片上。然后,小A在白纸上剪一个小洞,只让熊猫露出来。
这样,熊猫位置作为关键信息,是被保护起来的,但小A还是能够在不让其他人知道熊猫在哪儿的前提下,证明自己找到了熊猫,这就是零知识证明。

zk-SNARKs全称为Zero Knowledge Succinct Non-Interactive Argument of Knowledge,即非交互式零知识证明,是基于零知识证明的进一步创新。zk-SNARKs提供「不可伪造的证明」,能证明计算正确执行,而无需提供整个计算过程。相比较于零知识证明,zk-SNARK不仅不会泄露信息,而且不需要交互,即使是复杂的逻辑也能够轻松验证,并且通过证明压缩成很小的体积。
因此,很多引入zk-SNARKs技术的公链,选择为每个区块创建一个SNARK的证明,每个SNARK的大小约1 kb,且无需显示所有交易即可证明区块交易历史的准确性,这大大压缩了区块大小。
虽然引入zk-SNARKs的区块已经很小了,但随着区块的堆积,SNARK越来越多,区块数据仍然会线性增长,区块链还可以更简洁。
因此,轻量级区块链协议Mina protocol创新性提出递归零知识证明概念:
快照整个区块链状态,并生成一个 SNARK 证明,当网络中的下一个区块被创建时,它会以区块链先前状态的快照为基础再快照一次,再生成一个 SNARK 证明,这个 SNARK 证明并嵌套到下一区块之中,然后不断进行迭代和嵌套,实现区块大小的恒定。
举个引用较多的例子:
如果你要证明你一年中每天都到过一个广场(广场上有日期时钟),最简单的办法就是每天自拍打卡,365 张照片就是最终证据。
另一种办法就是从第二天起,每天自拍打卡时,手上拿着前一天的照片,最终一年就只需要一张照片即可,这就是 Mina 采用的递归证明。

如此一来,Mina节点无需同步整个历史记录,虽然这些节点不是完整节点,但由于SNARK 证明了交易的准确性,因此它们拥有与完整节点相同的安全性。
通过递归零知识证明,Mina区块链就变得非常「轻」,Mina 中的全节点可以仅为 10kb,这让Mina无论在效率还是安全方面都能够从一众公链中脱颖而出:
因为「轻」,所以网络运行效率高,进一步规避目前困扰以太坊许久的网络拥堵问题;
因为「轻」,所以不需要太高的硬件条件去同步历史数据,成为Mina网络节点的门槛就变得非常低,即使是运算能力相对较弱的移动端,类似手机、平板电脑等,也可以去同步验证 Mina 网络。
因为「轻」,所以全网节点增多,不仅提高了验证速度,而且提高了网络整体的安全性:如果有人提交了错误的 SNARK 证明,任何人的设备比如手机就可以立即验证并发现。
Snapp:由 SNARK 驱动的去中心化应用程序
每一条公链都希望发展自己的生态,Mina 也不例外。
Mina 希望搭建一个围绕零知识证明的生态系统,这个系统由Snapp组成,而Snapp则是由 SNARK 驱动的去中心化应用程序。
在其他区块链应用中,所有的事务、交易和数据都要被公开上链,但实际上我们想要的是验证这些数据的准确性,并不需要数据本身,因此很多计算其实并没有太多意义。
Snapp的最大特点在于:可以在保护用户隐私的情况下使用离线数据。在Snapp,用户不需要将自己的隐私数据上链,而是提交数据证明。Mina也不需要实际地运行整个计算,而是验证数据是否符合一定要求。
因此,基于Mina零知识证明构建的Snapp具有以下优势:
1)隐私保护功能;
2)以安全的方式验证大量数据的能力;
3)简洁带来的低成本和高度可拓展性。
以DeFi为例:
目前大部分借贷类DeFi都是超额抵押,这降低了资金利用效率。而通过Mina构建一个安全、隐私的信誉评估体系,就有可能揭开低抵押贷款的新市场。
在借贷之前,用户登录一个信用分查询服务的网站,并且去查询自己的信用分,同时在自己的本地去生成信用分的证明,并且把这个证明发送上链。
用户的资产情况、社保账号等数据并没有上链,这一方面避免了繁冗的计算,另一方面也保护了隐私信息。有了这个证明,借贷项目便可根据这个证明判断是否要发放贷款以及贷款额度等。
基于这些特性,Mina Snapp拥有广泛应用场景。
成为可信桥梁:围绕零知识证明构建生态系统
区块链的本质是一个去中心化账本,链与链、链与互联网应用之间的交互体验并不顺畅,极易形成信息孤岛,这直接限制了区块链的应用范围,因此「桥」的发展受到重视。
在区块链的世界中,Mina能够很好的扮演「跨链桥」的角色。
假设如果你是以太坊开发者,现在想桥接到另一条链上,你会面临各种问题:首先你需要知道另一条链上的实际共识状态是什么,但这需要下载大量的数据、进行大量的计算,从成本和效率上来说都是考验。但是Mina非常小,几乎任何链都可以在其自己的智能合约内验证Mina所有数据。
对于用户而言,这样的接入也是安全且无感的:如果你是以太坊用户,现在想访问某一热门Snapp ,通过Mina 可信任桥生成证明,你就可以在不迁移任何数据的前提下使用 Snapp。
这让Mina能够轻松接入任何一条链的生态,为Mina生态导入多链的应用场景、用户流量。
作为利用递归零知识证明打造简洁区块链的公链项目,Mina也非常适合成为其他公链的扩容方案,从而实现与其他公链的生态联动。事实上,Mina 已与公链生态的龙头以太坊进行合作,双方的基金会将出资,寻求第三方团队给出一个能高效验证 Pickles SNARK 的 EVM 改进方案,兼顾两条链优势的同时,实现Mina与ETH之间的互操作性。
另一方面,Mina更有能力成为区块链连接真实世界的网关,这个网关开放又隐秘。
开放之处在于,只要网站支持HTTPS协议,互联网数据就能无缝输入Mina,且这个数据是可验证的。
隐秘之处在于,用户数据本身并没有被暴露,仅仅是验证和分享关于这个数据所生成的证明。
比如,某公司要选举年度最佳员工,只有在公司干了超过1年员工才能参与投票。
在投票系统中,员工可以通过展示入职邮件来证明自己拥有投票权,并在完成投票后生成证明,将证明上链,使用这个证明来更新Mina链上的投票应用程序状态。
整个过程中,投票者并不会暴露自己是谁、把票投给了谁。投票期结束,任何人都可以验证投票结果。
除了匿名投票之外,Mina网关也适合应用于:
1)身份登录验证;
2)账户余额验证;
3)信誉评估验证;
4)大学成绩验证;
5)工作成就验证;
6)健康信息验证…
在每个需要数据验证的应用场景,Mina构建的「不需要可信设置的可组合的智能合约」都可以提供安全、高效且完全不依赖于第三方的证明,这体现了Mina在可拓展性方面的巨大潜力。
技术SDK:正在路上
当然,关于Snapp的种种设想是否能够照进现实,除了Mina自身的技术先进性之外,开发低门槛也是重要考量因素之一。
零知识证明的理解和应用都需要扎实的数学基础和开发经验,为了降低开发门槛,早在2017年, Mina 两位联合创始人Evan和Izaak就构建了一种用于构建零知识证明的计算机编程语言Snarky,并让 Snarky 在 Javascript 内部作为 DSL (或领域特定语言) 工作,开发者无需学习全新的编程语言,这大大降低零知识证明开发门槛。
另外,为了让递归零知识证明服务于更大规模的用户群体,Mina SDK开发工具包正在紧锣密鼓的开发当中。SDK可以将 SNARK 证明生成器和哈希生成器以及 Mina 界面嵌入到他们的应用程序中。推出之后,开发者仅需调用几个API接口即可实现Mina核心功能的集成。
根据官方团队透露,Mina SDK开发工具包预计在2021年第四季度推出,帮助开发者在Mina 部署 Snapps的同时,围绕应用部署、技术SDK使用的多类别扶持政策与激励措施也将一并推出。届时,Mina生态是否会迎来阶段性爆发,值得让开发者乃至整个社区期待。
2021年9月2日,以太坊创始人 Vitalik 在推特上回复网友问题时表示:
我预计 ZK-SNARK 将在未来 10 到 20 年内渗透到主流世界,成为一场重大革命。
zk-SNARKs技术允许大量信息被压缩成所谓的简洁证明,因此能够在提升网络TPS、降低运.算Gas方面发挥重要作用。区块链发展十余年中,我们共同见证了DeFi崛起、NFT热潮以及元宇宙的风靡,这些尝试不仅丰富了区块链玩法,更拓宽了区块链生态的边界。
未来,随着应用场景的进一步丰富,区块链与现实世界的进一步融合也是大势所趋。如何突破性能瓶颈,实现更加安全、隐私、高效的链上链下数据交互,是目前区块链破圈发展亟需解决的问题,也是以Mina Protocol为代表的zk-SNARKs公链发展的机遇所在。

递归零知识证明:打造更简洁安全的区块链
大数据杀熟;贩卖用户数据;数据不透明导致用户欺诈事件…中心化弊端日益凸显,人们希望借助区块链能去中心化、不可篡改的「去信任」架构,消除信任中介,完成各种交易和协作:所有信息上链,所有人都是见证人。
但令人气馁的是,信息上链有悖于隐私保护,而且去中心化导致了繁冗的重复计算,随着交易规模的增加,每个区块链参与者所需要记录的数据随之增加,区块链变得越来越重,新加入者不仅要花费较长的时间同步数据时间,而且需要配置昂贵的硬件设施和消耗大量电力,这无形中提高了成为节点的门槛,导致目前的区块链发展仍存在依赖第三方验证交易的现象,这也对区块链网络安全带来危害。
zk-SNARKs是解决这一问题的可行技术。
在理解zk-SNARKs之前,我们可以先了解零知识证明。
复杂的数学逻辑暂且按下不表,从字面意思上理解,零知识证明就是:证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。我们可以以找熊猫为例说明:
一群人在这张图中找一只熊猫,小A率先发现了熊猫位置,但是他不能立马公开指出来,因为这样就破坏了其他人的游戏体验。

有没有什么办法,即能够证明小A知道熊猫在哪儿,又不会让其他任何人知道答案呢?
于是小A想到了一个办法:
他找来一张超级大的白纸,并把这张纸随意的覆盖在有熊猫的图片上。然后,小A在白纸上剪一个小洞,只让熊猫露出来。
这样,熊猫位置作为关键信息,是被保护起来的,但小A还是能够在不让其他人知道熊猫在哪儿的前提下,证明自己找到了熊猫,这就是零知识证明。

zk-SNARKs全称为Zero Knowledge Succinct Non-Interactive Argument of Knowledge,即非交互式零知识证明,是基于零知识证明的进一步创新。zk-SNARKs提供「不可伪造的证明」,能证明计算正确执行,而无需提供整个计算过程。相比较于零知识证明,zk-SNARK不仅不会泄露信息,而且不需要交互,即使是复杂的逻辑也能够轻松验证,并且通过证明压缩成很小的体积。
因此,很多引入zk-SNARKs技术的公链,选择为每个区块创建一个SNARK的证明,每个SNARK的大小约1 kb,且无需显示所有交易即可证明区块交易历史的准确性,这大大压缩了区块大小。
虽然引入zk-SNARKs的区块已经很小了,但随着区块的堆积,SNARK越来越多,区块数据仍然会线性增长,区块链还可以更简洁。
因此,轻量级区块链协议Mina protocol创新性提出递归零知识证明概念:
快照整个区块链状态,并生成一个 SNARK 证明,当网络中的下一个区块被创建时,它会以区块链先前状态的快照为基础再快照一次,再生成一个 SNARK 证明,这个 SNARK 证明并嵌套到下一区块之中,然后不断进行迭代和嵌套,实现区块大小的恒定。
举个引用较多的例子:
如果你要证明你一年中每天都到过一个广场(广场上有日期时钟),最简单的办法就是每天自拍打卡,365 张照片就是最终证据。
另一种办法就是从第二天起,每天自拍打卡时,手上拿着前一天的照片,最终一年就只需要一张照片即可,这就是 Mina 采用的递归证明。

如此一来,Mina节点无需同步整个历史记录,虽然这些节点不是完整节点,但由于SNARK 证明了交易的准确性,因此它们拥有与完整节点相同的安全性。
通过递归零知识证明,Mina区块链就变得非常「轻」,Mina 中的全节点可以仅为 10kb,这让Mina无论在效率还是安全方面都能够从一众公链中脱颖而出:
因为「轻」,所以网络运行效率高,进一步规避目前困扰以太坊许久的网络拥堵问题;
因为「轻」,所以不需要太高的硬件条件去同步历史数据,成为Mina网络节点的门槛就变得非常低,即使是运算能力相对较弱的移动端,类似手机、平板电脑等,也可以去同步验证 Mina 网络。
因为「轻」,所以全网节点增多,不仅提高了验证速度,而且提高了网络整体的安全性:如果有人提交了错误的 SNARK 证明,任何人的设备比如手机就可以立即验证并发现。
Snapp:由 SNARK 驱动的去中心化应用程序
每一条公链都希望发展自己的生态,Mina 也不例外。
Mina 希望搭建一个围绕零知识证明的生态系统,这个系统由Snapp组成,而Snapp则是由 SNARK 驱动的去中心化应用程序。
在其他区块链应用中,所有的事务、交易和数据都要被公开上链,但实际上我们想要的是验证这些数据的准确性,并不需要数据本身,因此很多计算其实并没有太多意义。
Snapp的最大特点在于:可以在保护用户隐私的情况下使用离线数据。在Snapp,用户不需要将自己的隐私数据上链,而是提交数据证明。Mina也不需要实际地运行整个计算,而是验证数据是否符合一定要求。
因此,基于Mina零知识证明构建的Snapp具有以下优势:
1)隐私保护功能;
2)以安全的方式验证大量数据的能力;
3)简洁带来的低成本和高度可拓展性。
以DeFi为例:
目前大部分借贷类DeFi都是超额抵押,这降低了资金利用效率。而通过Mina构建一个安全、隐私的信誉评估体系,就有可能揭开低抵押贷款的新市场。
在借贷之前,用户登录一个信用分查询服务的网站,并且去查询自己的信用分,同时在自己的本地去生成信用分的证明,并且把这个证明发送上链。
用户的资产情况、社保账号等数据并没有上链,这一方面避免了繁冗的计算,另一方面也保护了隐私信息。有了这个证明,借贷项目便可根据这个证明判断是否要发放贷款以及贷款额度等。
基于这些特性,Mina Snapp拥有广泛应用场景。
成为可信桥梁:围绕零知识证明构建生态系统
区块链的本质是一个去中心化账本,链与链、链与互联网应用之间的交互体验并不顺畅,极易形成信息孤岛,这直接限制了区块链的应用范围,因此「桥」的发展受到重视。
在区块链的世界中,Mina能够很好的扮演「跨链桥」的角色。
假设如果你是以太坊开发者,现在想桥接到另一条链上,你会面临各种问题:首先你需要知道另一条链上的实际共识状态是什么,但这需要下载大量的数据、进行大量的计算,从成本和效率上来说都是考验。但是Mina非常小,几乎任何链都可以在其自己的智能合约内验证Mina所有数据。
对于用户而言,这样的接入也是安全且无感的:如果你是以太坊用户,现在想访问某一热门Snapp ,通过Mina 可信任桥生成证明,你就可以在不迁移任何数据的前提下使用 Snapp。
这让Mina能够轻松接入任何一条链的生态,为Mina生态导入多链的应用场景、用户流量。
作为利用递归零知识证明打造简洁区块链的公链项目,Mina也非常适合成为其他公链的扩容方案,从而实现与其他公链的生态联动。事实上,Mina 已与公链生态的龙头以太坊进行合作,双方的基金会将出资,寻求第三方团队给出一个能高效验证 Pickles SNARK 的 EVM 改进方案,兼顾两条链优势的同时,实现Mina与ETH之间的互操作性。
另一方面,Mina更有能力成为区块链连接真实世界的网关,这个网关开放又隐秘。
开放之处在于,只要网站支持HTTPS协议,互联网数据就能无缝输入Mina,且这个数据是可验证的。
隐秘之处在于,用户数据本身并没有被暴露,仅仅是验证和分享关于这个数据所生成的证明。
比如,某公司要选举年度最佳员工,只有在公司干了超过1年员工才能参与投票。
在投票系统中,员工可以通过展示入职邮件来证明自己拥有投票权,并在完成投票后生成证明,将证明上链,使用这个证明来更新Mina链上的投票应用程序状态。
整个过程中,投票者并不会暴露自己是谁、把票投给了谁。投票期结束,任何人都可以验证投票结果。
除了匿名投票之外,Mina网关也适合应用于:
1)身份登录验证;
2)账户余额验证;
3)信誉评估验证;
4)大学成绩验证;
5)工作成就验证;
6)健康信息验证…
在每个需要数据验证的应用场景,Mina构建的「不需要可信设置的可组合的智能合约」都可以提供安全、高效且完全不依赖于第三方的证明,这体现了Mina在可拓展性方面的巨大潜力。
技术SDK:正在路上
当然,关于Snapp的种种设想是否能够照进现实,除了Mina自身的技术先进性之外,开发低门槛也是重要考量因素之一。
零知识证明的理解和应用都需要扎实的数学基础和开发经验,为了降低开发门槛,早在2017年, Mina 两位联合创始人Evan和Izaak就构建了一种用于构建零知识证明的计算机编程语言Snarky,并让 Snarky 在 Javascript 内部作为 DSL (或领域特定语言) 工作,开发者无需学习全新的编程语言,这大大降低零知识证明开发门槛。
另外,为了让递归零知识证明服务于更大规模的用户群体,Mina SDK开发工具包正在紧锣密鼓的开发当中。SDK可以将 SNARK 证明生成器和哈希生成器以及 Mina 界面嵌入到他们的应用程序中。推出之后,开发者仅需调用几个API接口即可实现Mina核心功能的集成。
根据官方团队透露,Mina SDK开发工具包预计在2021年第四季度推出,帮助开发者在Mina 部署 Snapps的同时,围绕应用部署、技术SDK使用的多类别扶持政策与激励措施也将一并推出。届时,Mina生态是否会迎来阶段性爆发,值得让开发者乃至整个社区期待。
No activity yet