在熊市里,只有创业者在认真做事。他们都有个特点,先做产品,而不是融资。
于是最近大家发现熊市里面一下子隐私币变得非常火热,其中为代表的是Grin、Beam和SERO,这三个项目都有着非常类似的特点,1)都致力于解决区块链因为公开透明而丧失了用户隐私权的痛点;2)Grin和SERO都没有在市场上进行ICO,而是都低调的完成了研发工作,隐私保护技术逐步落地;3)这三个项目都对自治化社区展现出了非常大的诚意。
正因为他们拥有了以上的三大优点,和牛市中的大多数区块链项目相比,显得更亲民、更接地气,所以短时间内吸引了众多区块链爱好者的眼球。
本文将剖析Grin、Beam和SERO在技术实现、社区治理等区别,让区块链技术爱好者和投资人更深层次的了解,也欢迎和笔者进行交流,下文中我们将Grin、Beam和SERO简称为“新三大隐私币”。
第一部分 Grin、Beam和SERO的项目背景
说到项目背景,“新三大隐私币”项目都是前沿密码学的优秀的工程实现。其中,Grin和Beam是一对亲兄弟(其实Grin和Beam在英语中都是笑容的意思),他们都基于MimbleWimble协议而开发;而SERO是基于零知识证明开发的,对zk-SNARKs做了大量的改进、重构和优化,比较像是匿名币鼻祖Zcash的继任者或者升级版。
首先我们了解一下MimbleWimble,它是一个专注于可替代性、可扩展性和隐私性的区块链协议。2016 年 7月, Tom Elvis Jedusor(化名)在 IRC 频道 #bitcoin-wizard 上发布的白皮书中首次提出该协议,并提出了一种可以提高公共区块链隐私的新的交易方式。最初的 MimbleWimble 白皮书使用了与比特币相同的椭圆曲线加密技术,引起了诸多比特币研究者的关注。Blockstream 的数学家、应用密码学家 Andrew Poelstra 就是其中一员,他对 MimbleWimble 白皮书进行了改进,于 2016 年 10 月发布了“ precise ”版本。
MimbleWimble 协议第一个实现的项目就是 Grin 。在 Andrew Poelstra 的“ precise ”版本发布几天后,Ignotus Peverell (化名)在 Github 上创建了名为 ignopeverell / grin 的项目。在该项目中,他证明了用 Rust 编写的协议可以达到部分实现,并展示了自己对该项目的愿景。
2017 年 3 月,Peverell 发布了 Grin 和 MimbleWimble 的技术介绍,现已成为当今协议规范的主要参考。到目前为止,这个项目仍然主要由一群匿名的开发人员负责维护,其中一些开发者使用的假名来自《哈利·波特》,他们认为这些人名与 Grin 项目原始精神相一致。
MimbleWimble 协议的第二个项目是 BEAM,该项目始于 2018 年 3 月,在最初的 Mimblewimble 白皮书发布一周年之际正式宣布启动。BEAM 在另一份单独的白皮书中提出,其采用了类似于 Zcash 的结构,这与 Grin 的无政府主义、开源的理念形成了鲜明对比。此外,BEAM 团队还与 Grin 做出了不同的选择,其 CEO 是以色列企业家Alexander Zaidelson。这里还有个很有趣的故事,Beam去找投资,投资人在调研过程中发现了Grin,当时Beam还未开源但Grin开源了,投资人发现Grin的代码质量特别好,就拒绝了投资Beam,并成为了Grin的支持者。
而说到SERO,就不得不介绍一下零知识证明,零知识证明(Zero—Knowledge Proof),指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。用在区块链上,所有节点可以验证每一笔交易的合法性,却不能知道交易的双方是谁,和交易的详细内容,同样零知识证明也能保护账户信息的隐私。而曾被业界公认的隐私币的鼻祖Zcash,正是使用零知识证明来保护用户隐私的。SERO项目启动于2018年年初,项目团队有来自中国的一个去中心化的区块链极客组织格瓦拉实验室低调发起,由组织中的4位资深极客代表Robert B.、Jason Pope、Gordon T.和Durant D.作为项目负责人牵头研发工作。当时,SERO意为Super Zero,致力于改进Zcash不能支持智能合约从而分布式应用无法拥有隐私保护功能的适用性问题以及零知识证明最被诟病的性能问题。而经过不到一年的时间,SERO团队宣布他们自主研发了世界上最快的零知识证明加密库Super-ZK,并且将Super-ZK和zk-SNARKs在同一台电脑、单点测试零知识证明加密速度的视频上传到YouTuBe上,据视频显示速度比zk-SNARKs要快20多倍。
第二部分 技术实现对比
在Grin和Beam项目中,为了保证交易的匿名性,MimbleWimble协议通过为所有输入和输出创建一个多重签名来改变这个比特币的未使用交易输出(UTXO)模型。参与交易的各方创建一个公共多重签名密钥,用于验证交易。系统中没有地址,交易双方共享所谓的“致盲因子”(blinding factor),其中只有这两方知道他们正在参与这笔交易。但这也导致了,交易双方需要同时在线。
MimbleWimble改进了比特币一些概念以实现隐私。 首先,MW通过更改交易的创建方式和组成结构来隐藏交易金额。 在比特币中,用户通过确定接收者地址和交易金额,签署交易并将其广播到整个网络来创建交易。在MW中,为了隐藏TX数量,发送方和接收方必须一起工作以在将信息广播到网络之前制定交易。
交易的发送者/接收者承诺 花费/接收特定的交易金额。 然后通过使用私钥作为致盲因子来隐藏交易数量。结果是具有隐藏金额的交易仍然可以被网络验证为有效交易。 然后利用从交易双方的私钥导出的新的多重签名将该交易广播到网络。 广播的交易只会显示单个或多个UTXO用于创建新的UTXO。
当MimbleWimble TX广播到未经确认的的交易池时,它仍然包含在交易中使用的输入和输出信息。 网络上的任何人都可以看到此信息。 因此,MW需要额外的步骤来尝试隐藏此信息。 此步骤称为交易cut-through。 在最简单的形式中,如果Alice向Bob发送了一些钱,然后Bob用这笔钱支付Charlie,那么可以组织MimbleWimble块以完全删除Bob的信息。 该块将改为显示Alice已向Charlie汇款的交易。 Bob的交易就会消失。 检查最新账本的人不会知道Bob与Alice或Charlie交易。 随着cut-through的继续发展,它可以保护许多用户的隐私。
MimbleWimble的优点:
1、它通过隐藏交易金额和避免使用公开可见的地址,为用户提供更好的隐私。
2、cut-through的使用进一步改善了隐私,并且通常允许更小的块和更小的区块链数据大小。
MimbleWimble的缺点:
1、协议上不可能支持脚本语言,因此在可见的将来只能用作简单交易的场景。
2、目前Grin的交易需要双方的交互,并非像其他区块链项目那样仅需要付款方单方操作就能完成,不太符合大家的使用习惯,提高了使用门槛,这会限制Grin和Beam的使用场景。
3、不支持智能合约,以至于不能在分布式应用中使用MimbleWimble来保护隐私。
虽然 Grin和BEAM都是 MimbleWimble协议的实践者,但两者还是有着一些区别:
Grin是用 Rust 编写的,而 BEAM 是用c++ 编写的。如果出现错误,Grin提供了一种部分同步模式解决问题,即允许节点可以用一个完整的节点同步所需数据的一小部分同步到网络;BEAM则需要全部数据才能同步。
对于审计方面,BEAM 提出了一种可审核钱包的设计方案。选择加入审核功能,将为企业或其他用户生成唯一的“公钥—私钥对”,该密钥对允许外部第三方审查资金或查看存储在交易中的任何元数据(例如文档或其他数字资产)。Grin 团队明确表示,在核心功能之外不会扩展额外的功能。
下面我说说SERO。
SERO,基于以太坊框架基础进行了深度修改(底层链结构换掉了),有如下三个特点:
1、这是个纯正的匿名币,不同于Zcash可以让用户选择匿名和公开交易,SERO上所有的交易都是100% 匿名交易;
2、SERO使用零知识证明来实现账户和交易信息的隐私保护功能,电路结构和ECC部分比Zcash更优化,所以加密速度比Zcash快一个数量级;
3、SERO支持智能合约,这就意味着使用者用智能合约发得Token(类似ERC20)和Ticket(类似ERC721)也是100%匿名的,这部分也是世界首创。
针对于零知识证明加密速度比较慢的问题,SERO也做了一些创新和突破:
1、当前SERO采用zk-SNARKs框架生成NIZK,采用其中的ALT_BN128曲线和Groth16预处理过程,这个过程比PGHR13预处理方案减少1/3的运算时间。虽然zk-SNARKs框架需要信用安装过程,但SERO的实现方式中不会动态构造计算电路,因此,在当前所有场景下,zk-SNARKs框架能满足SERO的需求。
2、SERO创新性的开发出一种Twisted Edwards曲线,以取代SHA256来生成公钥,采用ECC Hash进行Merkle树的生成,这样可以提升4倍以上交易生成速度。
3、SERO采用单路输入和输出结构,每个描述之间采用资产通道进行链接,这样的电路构造更加模块化,在多核CPU情况下,并行执行效率获得3倍的提升。
4、Super-ZK的部分代码由汇编语言进行编写,优化了资源分配等工程结构,使其具有更高的代码执行效率。
针对于智能合约的诉求,SERO也发明了比特币的UTXO和以太坊账户模式相结合的混合模式。在隐私保护的计算层采用UTXO模式,同时可以映射逻辑上等价的ACCOUNT模式以支持图灵完备的智能合约虚拟机的运行。SERO通过交易、共识、以及Pedersen Commitment算法,将两种模式无缝结合到一起,使智能合约能发挥出令人惊讶的能力。
小结,
零知识证明的隐私性是比 MW 类项目强的。正如前文提到的,MW 协议在交易确认前的隐私性问题还有待解决。而 SERO 的隐私交易在交易信息从钱包发出前就对其进行了加密。
在可扩展性上,Grin 和 Beam 的 TPS 和目前比特币网络相当,没有专门针对性的提升。即使 Grin 和 Beam 减小了一个区块的大小,使得节点加入网络的成本变低,但这不直接与提升 TPS 划等号,我们不能期待这两个项目的 TPS 能大幅高于比特币。并且这两个项目去除了脚本后,可编程性极低,目前针对比特币网络性能优化的闪电网络或多方签名技术并不适用。这在应用上可能会受到限制,仅仅具有货币的交换和价值存储功能。SERO在以太坊上扩展,经过优化TPS优于以太坊2倍以上,比Grin和Beam要快,并且SERO支持智能合约的特性,扩展性和实用性上具有一定优势,并且SERO在接下来的项目发展中,会引入闪电网络和Plasma机制,使TPS得到大幅提高。
第三部分 项目货币政策对比
如果技术上Grin和Beam具有了非常类似的特点,那么这部分具有比较明显的区别。
Grin 的货币政策采用了较罕见的供应量无上限模式,一分钟产生一个区块,一个区块的奖励是(60+x)个Grin,并且永不衰减,没有上限。也就是说,一秒一个币,一天能产出八万多个Grin,第一年能产生三千多万的Grin。
Beam代币总量为2.628亿枚,第一年每个区块发行100BEAM代币,一分钟产生一个区块,1年后每一块减半为40个,之后每4年减半一次,133年后总量挖完。和Zcash有点像的是,前五年中,每出一块,Beam基金会都会在每一块中分的20个,5年便是20BEAM*60分钟*24小时*365天*5年,等于5256万的币属于团队基金会支配,及5年20%的币已经归于基金会所有,而5年一共挖出来1.5768亿,所以前五年团队占流通量的1/3左右,相对来讲对币价的波动可能产生不良的影响。
SERO的主网代币总量为10亿枚,分配比例为(75%+5%+10%+10%),其中7.5亿枚作为矿工奖励,每四年出块数量减半,时间和比特币减半时间对应,101年挖矿完;0.5亿有基金会奖励给矿工公会负责人,1亿对应SERO的ERC20代币(原本SERO团队发行了10亿代币,其中9亿已经销毁),
剩下1亿留给团队和早期捐赠者,而这1亿的释放比例和挖矿出块的比例相同,等于也101年团队奖励份额才释放完毕。
小结,
Grin提供了比较创新的供应量无上限模式,使通胀永远保持不变(尽管逐渐接近0% )。这与比特币等其他加密货币不同,Grin 团队目的是劝阻囤积 Grin。这种罕见货币供应政策也让该项目的价值分析陷入难点,不少加密货币投资人批评这种设计导致该项目早期通货膨胀率奇高。
Beam采用了Zcash的模式,前期五年团队会得到相当于 ,Beam和Zcash一个抽水模式,抽水的钱35%用作投资,45%给团队,20%给基金会。这种模式前期被团队掌控的代币占比比较大,有一定风险。
相对来说,SERO和传统区块链项目比较接近,一上来就规划了10%用作对外融资,10%的核心团队部分根据挖矿的出块比例来同比例释放,也显示了SERO团队对长期看好SERO项目并且不愿意短期套现出场的决心,80%代币用于挖矿奖励比一般牛市的区块链项目要显得更良心。
第三部分 当前项目进展和挖矿现状对比
非常巧合的是,新三大隐私币都在2019年1月份相继上线,其中的间隔只有不到两周时间,其中Grin于2019年1月15日主网正式上线,Beam于2019年1月3日主网正式上线,SERO于2019年1月8日BetaNet Release版本上线(据SERO对外公告,此版本挖矿的SERO代币将1:1映射到SERO主网代币,主网将于2019年第二季度上线)
挖矿上,Grin和Beam采用了GPU挖矿,而SERO采用CPU挖矿。
Grin使用了新的 Cuckoo Cycle,这是 John Tromp在2015年开发的替代POW的证明。尽管该算法的设计初衷是抵抗ASIC,但该团队长期以来一直认为ASIC是不可避免的。2018年9月出现了两种解决方案:一种优化为ASIC 友好型(Cuckatoo31+);另一种优化为允许GPU 竞争(Cuckaroo29), POW每24小时平衡两种算法之间的挖掘奖励。
Beam团队选择了改进的Equihash PoW ,除了计划6个月的硬分支之外,这还将阻止ASIC 访问网络。Equihash是一种需要高内存的工作量证明,这意味你能挖到多少币主要取决于你的设备内存的大小。在短期内要创建一个低成本的挖矿定制硬件(专用集成电路)几乎不可能,所以Equihash被认为可以构造更去中心化的一种POW算法。
SERO采用了以太坊的POW机制,但是团队声称为了推广全民挖矿,SERO早期不对GPU矿机开放。
Grin和Beam早期矿工选择的GPU是Nvidia GTX 1080 TI,这是一种通用硬件,也用于其他区块链挖矿。
早期BEAM发布统计数据表明,两大矿池占据主导地位:sparkpool.com(多币种矿池,哈希率占比 69%)和beepool.org(哈希率占比 30%)。
Grin挖矿市场更加制度化,十多家私营挖矿公司提供资金、场地和HNW(高净值客户),单个矿工在挖矿时可以选择加入矿池。grinmint 矿池和MWGrinPool.com是社区最早提供的两种选择。
Grin和 BEAM早期的挖矿中也存在诸多困难:其他GPU (如AMD芯片组)的矿工难以挖矿;矿池软件不够稳定可靠;多重签名钱包的基础设施缺少。由于上述问题存在,早期那些凭借先进性技术的矿工由此获得较多的利益,造成分化。
而SERO并未和大型矿池进行合作,而是通过奖励SERO代币的形式,鼓励区块链爱好者自行组织公会,SERO每月对算力排名前一百名的公会进行代币奖励,这一措施让很多非职业矿工也加入SERO挖矿队伍,形成裂变式效应,但总体算力和Grin、Beam的GPU算力有一定差距。
第三部分 综合对比和总结
技术上,Grin和Beam都基于MW协议,总体比较相似,速度上比SERO使用的零知识证明要更快,SERO的差异化优势在于支持智能合约,在未来需要隐私保护的DAPP生态发展中有更大的应用场景,并且零知识证明因为Zcash的成功实践,在业界口碑比较好,SERO优化了零知识证明的性能问题,这对未来隐私保护在分布式应用的落地比较有帮助,而MW的实践更需要时间来检验。
在货币政策中,新三大隐私币各有千秋,孰优孰劣,见仁见智。
挖矿方面,Grin和Beam因为有大矿工和矿池的加入,算力比较高,链的成熟度高,SERO算力较小,比较适合区块链爱好者加入参与。
总而言之,大熊市背景下,新三大隐私币在同一个月相继面世,成为了为2019年一道亮丽的风景线,区块链隐私问题同时被三支团队关注,并且又了工程化实现的成果,这对整个区块链行业都是一件幸事。让我们拭目以待,持续关注这三个项目的发展,也祝愿区块链行业有不断更优质的项目涌现,让我们对区块链牛市得到来打下坚实的基础。
SERO挖矿教程:https://www.jianshu.com/p/c1aa26858165
SERO链上运行情况:超零协议SERO链上运行情况 -
SERO宣传视频:https://www.bilibili.com/video/av36463345/