这两个项目是由差异的团队以差异的语言(Rust和C ++)从新开始独立构建的,因此原始实现会有许多差别。譬喻Grin利用Lightning内存映射数据库(LMDB)作为其嵌入式数据库,BEAM利用SQLite。尽量它们之间存在机能差别,但它们在成果上相似。Grin利用有向无环图(DAG)来暗示其mempool以制止事务引用轮回,而BEAM利用带逻辑的多集键值数据布局来实现其一些扩展特性。
两个项目都回收了这种要领来处理惩罚Mimblewimble事务。Grin的实现答允在流传的stem阶段举办事务聚合和切入,从而在事务在fluff阶段流传之前为它们提供更大的匿名性。除了事务聚合和切入之外,BEAM还引入了“dummy”事务,这些事务被添加到stem阶段,以赔偿实际事务不行用的环境。
这两个项目都利用了很多Merkle树布局来跟踪各个区块链的各个方面。这两个项目都记录了确切的树木及其记录的具体信息。可是BEAM对其某些树利用了Radix-Hash树布局。此布局是颠末修改的Merkle树,也是二叉搜索树。这提供了很多尺度Merkle树所不具备的成果,以及BEAM在其实现中所操作的成果。
自从本文撰写以来(2018年10月),BEAM已宣布其利用macroblocks举办快速节点同步的办理方案。macroblocks是BEAM节点按期建设的所有UTXO的完整状态。
Grin和BEAM是两个基于Mimblewimble协议的开源项目。Mimblewimble协议最初是由匿名用户利用笔名Tom Elvis Jedusor(《哈利·波特》系列书籍中伏地魔名字的法语翻译)提出的。该用户登录了一个研究(bitcoin research)互联网中继谈天(IRC)频道,并宣布了一个链接,指向托管在Tor埋没处事上的一篇文本文章。本文为构建式生意业务的新要领提供了基本,该生意业务提供了固有的隐私性,并具有通过压缩链的生意业务汗青记录明显减小区块链巨细的本领。最初的文章先容了该协议的主要思想,但漏掉了实际实现所需的一些要害元素,甚至在暗码公式中包括错误。安德鲁·珀尔斯特拉(Andrew Poelstra)颁发了办理这些问题中很多问题的后续论文,并完善了Mimblewimble的焦点观念,该观念已在Grin和BEAM项目顶用于该协议的实际实施。
该陈诉的布局如下:
2. Grin奇特成果:
这两个项目都还很年青。在撰写本陈诉时(2019年5月),两者都仍处于测试网阶段,而且它们的很多焦点设计选择尚未构建或测试。BEAM Wiki的大部门内容仍为俄语,因此很大概有些细节我们还不相识。
3. BEAM的奇特成果:
BEAM还提出了另一个旨在保持区块链尽大概紧凑的成果。在Mimblewimble中,跟着生意业务的增加,执行切入,从而消除所有中间生意业务理睬。可是每个事务的事务内核都不会被删除。BEAM提出了一种重用这些事务内核来验证后续事务的方案。为了在不影响事务不行逆性原则的环境下利用现有内核,BEAM发起由对旧内核具有可见性的同一用户对旧内核应用乘数,并在新事务中利用乘数。为了鼓励以这种方法成立的生意业务,BEAM包罗针对此类生意业务的用度退还模子。此成果将不属于初始版本。
(PoW)事情证明挖掘算法
BEAM的另一个奇特特性是实现了一个可审计的钱包。企业要在特定的禁锢情况中运营,就需要向相关部分证明其合规性。BEAM提出了一种专为合规企业设计的钱包,它可以生成特另外民众/私人密钥对,专门用于审计目标。这些签名用于标志生意业务,以便只有被授予公钥的审计机构才气识别区块链上的那些生意业务,但不能利用此标志建设生意业务。这使企业可以在不损害公家隐私的环境下向给定的机构提供其生意业务的可见性。
· 非交互式付出的单面生意业务布局。
· 部门汗青同步。
2. 其次阐明白项目事情证明(PoW)算法的差别。
· 具有最小和最大阈值的时间锁。
从特性的角度来看,这两个项目展示了Mimblewimble固有的所有特性。Grin的既定方针是生成一个简朴易维护的Mimblewimble协议实现。然而BEAM的实现包括了对Mimblewimble要领的一些修改,目标是为其实现提供一些奇特的特性。在我们接头将这两个项目分隔的特性和设计元素之前,让我们先接头一下这两个项目都实现了的一个有趣的特性。
就这两个项目标钱币政策而言,BEAM暗示将利用通货紧缩模子,将其采矿嘉奖按期减半,BEAM的最大供给量为262,800,000个硬币。BEAM将以每个区块100个代币开始。第一次减半将在一年后产生,然后每四年减半一次。Grin选择了一种通胀模子,在这种模子中,区块酬金将保持稳定,在中提出了这种要领的论点。跟着供给量的增加,这种要领将徐徐趋向于零稀释,而不是强制执行牢靠的供给量。Grin还没有详细说明其采矿嘉奖或用度布局,但按照其今朝的文件,它正打算每区块60 Grin的嘉奖。这两个项目都没有就如何布置用度做出最终抉择,但Grin项目已经开始摸索如何利用“每分钟嘉奖用度”这一指标来设定用度基准。
4. 显式UTXO暗藏期。
· Mempool的DAG暗示,以防备反复的UTXOs和轮回事务引用。
管理模式与钱币政策
在构建一个有效的Mimblewimble生意业务时,当事方需要举办协作以选择均衡的盲因素。这种交互式协商需要很多步调,这意味着各方需要保持相同以完成生意业务。Grin通过利用基于套接字的通道在“及时”会话中互相直接毗连的两方来促进此进程。这意味着两边都需要同时在线。BEAM已实施在BEAM全节点上运行的安详通告板系统(SBBS),以答允事务异步协商。
结论,意见和发起
· Dandelion stem期利用诱饵输出。诱饵输出厥后被用来制止在区块链上杂乱。
总之Grin和BEAM是两个正在实施Mimblewimble区块链方案的开源项目。这两个项目都是空手起家的。Grin利用Rust,而BEAM利用C ++;因此它们的设计和实现存在很多技能差别。可是从成果角度来看,两个项目都将支持Mimblewimble的所有焦点成果。每个项目确实包括一些奇特的成果,可是由于Grin的方针是生成Mimblewimble的简约实现,因此扩展Mimblewimble的大大都奇特成果都在BEAM项目中。下面的列表总结了两个项目之间的成果异同。
这两个项目都不会举办首次投币刊行(ICO)或预售,但这两个项目也有差异的融资模式。BEAM创立了一家有限责任公司(LLC),并吸引了投资者参加其首轮非盈利BEAM基金会,该基金会将在启动后的第一年内经受协议的打点事情。该基金会的方针是支持BEAM的维护和进一步成长、促进相关的暗码研究、支持金融隐私规模的意识和教诲、支持相近规模的学术事情。在行业中,这种库存机制称为开拓税。Grin不会对采矿嘉奖征税,而是依靠社区参加和社区资金。Grin项目确实接管财务支持,但这些扶助勾当是按照他们的“社区扶助原则”举办的,将在“按需”的基本长举办。一个勾当将指定它要实现的特定需求(譬喻“X来岁的托管费”)和资金将由认真该勾当的社区成员得到。这将提供100%关于谁认真吸收资金的可见性。融资勾当的一个例子是Yeastlume开展的开拓商融资勾当,为他在2018年10月至2019年2月期间全职参加该项目提供资金。
· 利用基数哈希树。
· 可审核生意业务是蹊径图的一部门。
1. 相似之处:
在编写本文时(2019年5月),可以在代码中看到此处接头的所有成果,但这不能担保它们可以正常事情。文献中提到的一些成果已打算在未来利用,但尚未实现。这些法子包罗将签名的文本内容嵌入可用于记录条约文本的生意业务中,以及刊行机要资产。
Grin和BEAM都归并了一个Dandelion中继协议版本,该协议支持事务聚合。加密钱币在隐私方面面对的一个主要突出挑战是,当生意业务添加到mempool并在网络上流传时,可以跟踪生意业务,并将这些生意业务链接到其原始IP地点。纵然在具有强大生意业务私密性的网络上,此信息也可用于利用户匿名。Dandelion网络流传方案的提出是为了改进生意业务向网络流传进程中的隐私性。在这个方案中,事务流传分为两个阶段:匿名(或“stem”)阶段和流传(或“fluff”)阶段,如图1所示。
1. 首先给出了一些详细的实现细节,并接头了项目标特点。
· 在fluff(扩展)阶段,如在大大都网络中所发明的那样,事务利用full flood/diffusion要领举办流传。这种要领意味着在flood网络之前,事务已先流传到网络中的随机点,从而使跟踪其来历变得越发坚苦。
Grin的方针是成为Mimblewimble区块链的简朴且最少的参考实现。因此不规划包罗很多成果来扩展焦点Mimblewimble成果,如所接头的。可是Grin实现确实包括一些有趣的实现选择,这些选择已在其不绝增长的Github存储库的Wiki中举办了深入记录。Grin和BEAM项目都实现了Mimblewimble协议,但都是从新开始构建的。Grin是用C ++的RUST和BEAM编写的。本陈诉描写了每个项目中使它们与众差异的一些方面。另外BEAM项目文档主要仅以俄语提供。在撰写本陈诉时,并非所有技能细节都合用于英语读者。因此跟着项目标成长,本陈诉中的接头很大概会过期。
在利用Mimblewimble区块链时,要求两边互动参加构建生意业务大概是一个摩擦点。除了安详的BBS通信通道外,BEAM还打算支持单方生意业务,即生意业务中的收款人假如但愿得到必然金额的付款,则可以结构其生意业务的一半,并将此一半结构的生意业务发送给付款人。然后付款人可以完成生意业务的构建并将其宣布到区块链。在通例的Mimblewimble系统下,这是不行能的,因为这将涉及向生意业务敌手展现您的盲目因素。BEAM通过利用一个它称为kernel fusion的历程来办理这个问题,个中一个内核可以包括对另一个内核的引用,因此它只有在事务中同时存在两个内核时才有效。这样只有在事务中同时存在两个内核时,该引用才有效。这样收款人可以利用奥秘的盲目因子和赔偿盲目因子的内核来构建生意业务的一半,当付出者完成生意业务时必需将其包罗在内。
· 托管在节点上的安详BBS,用于在钱包之间成立通信。消除了发送方和吸收方同时在线的需求。
为了办理这个问题,发起首先利用两种PoW算法:一种是ASIC Friendly(AF),另一种是ASIC Resistant(AR),然后在24小时内选择每个区块利用哪种PoW来均衡两种算法之间的挖掘回报。管理委员会于2018年9月25日抉择回收称为布谷鸟轮回(Cuckatoo Cycle)的布谷鸟轮回算法的修改版本继承回收这种要领。推出的AF算法将是Cuckatoo32 +,它将逐渐增加其内存需求,以使旧的单芯片ASIC跟着时间的推移而过期。尚未界说AR算法。
· 在stem(匿名性)阶段,事务只流传到当前节点的对等列表中随机选择的单个对等节点。在沿网络随机跳数之后,每个跳数仅流传到一个随机对等体,流传进程进入第二阶段。Grin最初选择利用新的Cuckoo Cycle PoW算法,由于受内存延迟的限制,该算法也据称具有ASIC抵挡性。这意味着该算法受内存带宽的约束,而不是受原始处理惩罚器速度的约束,但愿它能使在商用硬件长举办挖掘成为大概。
BEAM已经开始以多种方法扩展mimblewible的特征集。BEAM支持在UTXO上配置一个显式的暗藏期,这限制了它在建设之后耗费在特定命量块上的本领。这与时间锁差异,,时间锁可以防备在一按时间之前将事务添加到区块中。BEAM还支持传统的时间锁定成果,但还具有指按时间上限的成果,之后该事务将不再包括在区块中。此成果意味着,当事方可以确定,假如一按时间后生意业务未包括在主区块链的某个区块中,则该生意业务将永远不会呈现。
BEAM奇特特性
Grin奇特成果
BEAM对Dandelion的实现通过在stem阶段添加诱饵事务输出来提高隐私。每个此类输出的值为零,但与通例输出没有区别。在后期阶段(随机计较每个输出的块数),将utxo添加为新事务的输入,从而将其耗费并从区块链中移除。
· Dandelion 中继协议。
在2018年8月,Grin团队在其主网启动时公布,它已经意识到ASIC大概可用于Cuckoo轮回算法。固然认可ASIC采矿是不行制止的,但Grin担忧当前的ASIC市场很是会合(即Bitmain),而且它但愿在Grin创立之初就成立一个下层GPU采矿社区,为期两年。两年后,Grin但愿ASIC不再是一种商品,而是去中心化产物。
譬喻Grin实现了一种要领,使节点只下载部门汗青记录就可以很是快速地同步区块链。进入网络的新节点将查询链的当前头区块,然后在程度上请求该区块头。在该示例中,程度线最初配置为当前磁头之前的5,000个块。然后节点查抄是否有足够的数据来确认共鸣。假如没有共鸣,则该节点将扩大其视野,直到告竣共鸣。届时,它将下载程度线区块的完整未用生意业务输出(UTXO)集。这种要领简直引入了一些安详风险,可是提供了缓解法子,其功效是,节点可以以较少的数量级数据同步到网络。
Grin与BEAM的特点较量及实现
· 焦点Mimblewimble成果集。
简 介
BEAM公布将回收Equihash PoW挖掘算法,并将参数配置为n = 150,k = 5。Equihash在2016年被提出为一种难于存储的PoW算法,该算法在很洪流平上依赖于存储器的利用来实现专用集成电路(ASIC)的电阻。其方针是发生一种算法,该算法将更有效地运行在消费者图形处理惩罚单位(GPU)上,而不是其时主要由Bitmain出产的不绝增长的ASIC矿工规模。但愿这将有助于利用该算法的加密钱币分手采矿本领。Equihash抵抗ASIC的想法是,其时,在ASIC中实现内存很是昂贵,GPU在计较Equihash PoW方面效率更高。这种ASIC抵挡一连了一段时间,但在2018年头,Bitmain宣布了Equihash专用ASIC,其效率明明高于Zcash,Bitcoin Gold和Zencash等利用的Equihash设置的GPU。可以调解Equihash算法的参数,使其越发内存麋集,从而使当前的asic和较老的GPU挖掘场过期,但BEAM是否会这样做尚有待调查。
Grin和BEAM项目都是开源的,可以在Github上利用。Grin项目有75位孝敬者,个中有8位孝敬了绝大大都代码。BEAM有10位孝敬者,个中有4位孝敬了大部门代码(在撰写本文时)。这两个项目选择了差异的管理模式。BEAM选择成立一个包罗焦点开拓人员的基金会来打点该项目。这是该规模大大都加密钱币项目所回收的蹊径。Grin社区已抉择不创立中央基金会,并就中央基金会的利弊举办了有趣的接头。文档包括一个很是深入的接头,它衡量了基金会大概处事的各类管理成果,并评估了每个用例。Grin社区得出的结论是,尽量基金会很有用,但它们并不是办理管理问题的独一办理方案,因此选择保存一个完全分手的社区驱动项目.当前决定是在Gitter与社区成员召开的按期管理集会会议上做出的,接头议程并核准决定。这些集会会议的议程和集会会议记录可在Grin论坛的打点部门找到。此类集会会议成就的一个例子可以在中看到。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。