在区块链行业发展的大约十年后,早期采用者意识到,一种隐藏的中心化形式正在发生。随着链的利用率增加,它变得更长,这就减少了计算和带宽能力。随着时间的推移,具有最高网络和运营能力的节点将占主导地位,这推动了中心化的发展。
年7月孵化公司O(1)Labs推出了一个雄心勃勃的新开源项目:MinaProtocol(原名Coda)。他们的实现建立一个能够真正去中心化、拥有可扩展性和安全性的L1愿望。
Mina是一个PoS区块链和加密货币,支持智能合约。该协议的独特之处在于,它将区块容量限制在22KB,使其成为一个"简洁"的区块链,这种创新的方法使得该网络被称为"世界上最轻的区块链"。
Mina目前由Mina基金会管理,自成立以来已经取得了重大进展。在对几个对抗性测试网证明了自己后,该网络在年3月成功部署了其主网。在主网之后,该团队一直致力于提升零知识空间:随着zkApps或基于零知识证明的去中心化应用的引入,这一点变得明显。zkApps使用户能够在不损害其隐私或安全的情况下使用dApps。
技术概述
Mina是第一个使用简洁区块链的加密货币,它可以为每笔交易提供短暂而稳定的验证时间。Mina通过在每个区块中包括简洁的状态有效性证明来实现这一点,这使得大量的交易列表可以被快速而廉价地验证。
Mina使用可增量计算的SNARKs,以确保每个区块的证明计算成本与上一个区块增加的交易数量成正比。与其在每个完整的节点上存储整个链的状态,不如在区块头中简单地验证余额。然而,这个系统中的验证者需要存储完整的状态,因为在证明新区块的有效性时,它是证人。目前,状态证明的大小为字节,需要约毫秒来验证。因此,任何智能设备(如iPhone)都可以支持计算负荷。
在MinaNetwork中有两个主要角色:
区块生产者——收集区块以进行SNARK
SNARK工作者——创建zk-SNARK交易证明以压缩交易
Mina通过拥有一个他们称之为"Snarketplace"的市场来激励创建SNARK证明的工作——在这里,节点交换服务是可以获得费用的($MINA)。
Snarketplace包含一个固定大小的缓冲区,像一个队列。区块生产者将需要SNARK的交易添加到这个队列中,而SNARK工作者创建SNARK来处理这些交易。因为Mina的大小是固定的,区块生产者必须购买已完成的SNARK,然后才能添加到队列中。
在SNARK工作者要对队列中的一个区块进行SNARK之前,他们会创建一个带有特殊数字签名的交易SNARK,这个签名被称为知识签名。知识签名有关于提供多少费用和谁来支付的信息。区块生产者在排队等待新区块,另一边SNARK工作者在创建证明,任何级别的硬件都可以允许用户参与Mina,使网络对每个人都有包容性。
共识机制
Mina的共识协议称为OuroborosSamisika,是第一个可证明安全的PoS共识协议。区块生产由可验证随机函数(VRF)决定。这是一个随机函数,需要私钥才能运行,并且可以使用公钥进行验证,随机性是根据Ouroboros计算的。如果质押者的VRF输出大于他们的质押分数,他们就有机会产生一个块。
此外,VRF允许区块生产者计算他们何时要生产一个区块,因为他们是决定VRF输出的私钥的唯一持有者。这提高了整体安全性,因为不良行为者将无法识别下一个区块生产者来执行DoS攻击。最重要的是,为同一个插槽选择了多个块生产者,进一步降低了攻击的可能性。
由于VRF在Mina中的工作方式,预计每4分钟在主链上就会有一个区块生成。
代币经济学
$MINA是通胀的,没有供应上限;
初始分配包含10亿MINA代币(不包括未来的区块奖励),在主网的前15个月,对解锁账户进行8年的完全解锁"超强奖励"(双倍区块奖励);
在MinaPoS系统中,区块奖励和费用是按比例分配的。假设参与度很高,相对于那些决定质押的人来说,那些不质押的人将得到一定的稀释。作为激励质押的一种方式,Mina的通货膨胀率从12%开始。在头五年中,该比率被设定为下降并保持在7%,然后受制于产业链的治理,尽管治理目前尚未正式发布说明。
该协议将以这些通货膨胀率为目标,而不考虑质押的参与,从而导致区块奖励的动态变化。例如,如果只有50%的网络质押,区块奖励就会翻倍。这是由于Ouroboros的共识系统:每个区块产生的区块数量将与质押比例成正比。在参与率低的情况下,这种方法自然会鼓励参与者质押。
zkApps
在Mina生态系统中,有一个零知识驱动的智能合约集,称为zkApps。这些智能合约就像普通的的智能合约一样,但额外具有隐私和链下计算等附加功能。
一个zkApp由两部分组成:
一个智能合约(用SnarkyJS编写)
一个用户界面
zkApps及其用例的计划集成为用户描绘了一幅相当积极的画面。在zkApp部署到主机网站后,用户可以与他们的Auro钱包自由互动。当用户与zkApp互动并输入任何相关的数据(例如:在AMM上购买资产),zkApp中的验证器功能将生成一个由用户数据提供的ZK证明,这个数据只对输入的用户可见。前端过程类似于用户目前使用的小狐狸钱包或其他浏览器钱包,唯一的区别是在后端。当Mina网络收到交易时,它会验证证明是否有效,并更新zkApp的状态。由于所有的活动都发生在用户的网络浏览器中,他们的隐私始终得到保证。
考虑到zkApps,Mina专注于建立三个主要功能:
在线和链上的终端数据隐私[生产中];
无权限的WebOracles(zkOracles)[开发中];
私人的互联网登录(zkIdentity)[开发中]。总结
Mina声称是世界上最轻的区块链,完全由其用户驱动,并采用递归的zk-SNARKs来构建整个区块链,其大小大约为22kb(相当于几条推文)。它是L1,允许零知识智能合约的有效实施和可编程性,称为zkApps。
凭借Mina独特的隐私功能和连接任何网站的能力,zkApps在现实世界和加密货币之间创造了一个安全和隐私的桥梁。作为率先突破并提供零知识企业解决方案的项目之一,Mina的位置无疑是在这不断扩大的零知识领域的最前沿。