什么是联合挖矿?
亦来云区块链会通过“联合挖矿”过程来确保网络的安全性。总地来说,联合挖矿是通过某个区块链的挖矿工作量,来确保另外一个区块链的安全性。在联合挖矿过程中,会包含“主”链和“辅”链。在亦来云网络中,比特币区块链是主链,亦来云则是辅链,这也是为何联合挖矿有时也被称为AuxPow(辅助工作量证明)[4]。
当然,并不是所有的区块链都可以和其他的链进行联合挖矿,为了实现联合挖矿,就必须要满足下面两个条件:
1) 主链和辅链都必须使用同样的共识算法。因此,亦来云和比特币都使用了SHA256工作量证明算法。
2)主链的区块必须要有一个区域可以输入随机数。在比特币区块链中这很方便,因为它的底层设计中已经包含了这个区域。在每个比特币区块链的交易列表中,最初的转账被称为“创币交易”。创币交易是把最新挖出的比特币转给矿工作为成功挖出区块奖励的交易,它最多可以容纳100字节的数据输入。
既然比特币和亦来云是兼容的,那么为什么要进行联合挖矿?
简单来说,和比特币联合挖矿可以提供如同比特币网络一样的安全性,因为比特币的区块链已经积累了足够的哈希算力去抵抗51%攻击。
接下来,我们来看看共识算法方面:
亦来云和工作量证明(PoW)
一致的安全性:工作量证明(PoW)在保证比特币区块链的安全性方面拥有近乎完美的记录。但是如果使用其他没有验证过的共识机制则会带来很大的风险,特别是考虑到亦来云本身的用例,可能会产生很多问题。当使用Carrier网络建立各种联系的时候,亦来云区块链会发布去中心化ID作为其中的验证系统。设想下如果这个网络用于自动驾驶汽车之间的安全连接,为了保护用户数据,防止DDoS攻击和病毒,那么保障安全就是最重要的。
使用工作量算法共识机制,亦来云打造了合理的激励机制,同时也保证了网络的最大程度安全性,防止受到恶意攻击。亦来云没有选择自己运行单独的工作量证明区块链,而是和比特币区块链进行联合挖矿,主要的原因如下:
1. 能源效率:为了维持工作量证明机制,区块链网络需要消耗大量能源。因此,尽管这种机制可以保障网络安全,但也对环境造成了巨大负担。通过利用比特币现有的工作量证明网络,亦来云挖矿不需要额外的能源消耗,从而是环保的。
2. 网络安全:为了建立很高的壁垒从而防止被恶意操纵,区块链必须要能实现大规模使用。通过比特币现存的已经实现大规模应用的区块链网络,亦来云可以避免项目早期可能遇到的安全问题和快速扩大应用规模对网络产生的压力。
本质上来说,联合挖矿可以让辅链的哈希算力进行“锚定”在主链上。通常,一个区块链网络拥有更多的总哈希算力,它就更安全。而类似亦来云这种全新的工作量证明机制区块链网络刚开始运行的时候,整体的哈希算力大概率是很低的。但是,通过和比特币的联合挖矿机制,亦来云可以快速获得大量的哈希算力,从而让亦来云网络在最开始就获得一流的安全保障。
联合挖矿可以让亦来云作为辅链获得矿工在比特币主链上进行的工作量。因此,保障亦来云区块链安全性无需多余的工作,而是“循环利用”了比特币区块链上已经完成的工作量。所以,联合挖矿可以提供一个环保的解决方案,因为它消耗的能源几乎可以忽略不计。联合挖矿同时也提高了比特币矿工的价值,因为这在无需增加能耗的前提下,帮助保护了多个链的安全性。
联合挖矿是如何运行的呢?
首先要注意到亦来云矿工就是现存的比特币矿工,他们只需要更新软件来运行联合挖矿的协议。因此没有专门在亦来云区块链上挖矿的矿工。本质上来说,亦来云矿工就是运行亦来云挖矿软件的比特币矿工。
就挖矿过程而言,亦来云区块是和比特币区块共同挖出的。和通常的比特币挖矿相同,联合矿工首先获得了比特币交易池中未确认的交易,然后构建一个候选比特币区块。矿工同时也会从亦来云交易池中获得未确认的转账信息,同时构建候选亦来云区块。然后,矿工会在新创建的候选亦来云区块的区块头部计算出哈希值。然后,这个哈希值会输入到候选比特币区块创币交易中的“随机数”区域。
默克尔根(Merkle Root)是一种特殊的方法,它可以用来将一个区块中的交易都整合到单个哈希值中。因为候选亦来云区块的哈希是嵌入到区块的创币交易中的,它会影响默克尔根的结果,因而也会影响到比特币区块的区块头部。通过这个机制,辅链上现有的候选区块是和主链上现有的候选区块是“链接”起来的。
一旦这个链接形成了,那么矿工就开始为现有的候选比特币区块头部计算哈希值,这会和现有的亦来云区块相连接,从而尝试得到答案。要记得,如果想要得到“答案”如果将随机数nonce输入,然后进行计算,直到根据困难度要求,区块头部的哈希值前导零是最小数目的。辅链的难度整体式来说是比主链要小的,因为矿工更少,从而也会消耗更少的算力。每次哈希尝试之后,会有三种结果出现:
1. 最后的哈希计算结果没有超过比特币和亦来云区块链指定的难度。那么,这两个区块网络都不会承认这个解答是有效的工作量证明,所以不会有区块上传到账本上,同时尝试继续进行另一个哈希运算。
2. 最后的哈希结果超过亦来云区块链指定的难度,但是低于比特币区块链难度。如果是这样情况,那么这个解答是满足亦来云区块链要求,但是不满足比特币区块链难度要求。
我们接下来仔细分析第二种情况,特别注意下亦来云网络的矿工对哈希值进行有效验证的过程。如果在足够难度下,可以找到亦来云区块链的哈希值,那么在广播到网络之前,矿工需要将比特币区块头部和比特币创币交易嵌入候选亦来云区块链。
当将比特币区块头部嵌入进来后,亦来云网络的矿工就可以验证哈希值是否在难度阈值之上,他们也可以验证比特币头部的哈希值是和现有的候选亦来云区块相连接的。由于创币交易已经完成,而亦来云候选区块的哈希值也已经存储了,亦来云矿工可以验证默克尔根是否包含了候选亦来云区块的哈希值。因为比特币区块头部包含了默克尔根,有足够的证据说明这个哈希运算的答案对亦来云区块的工作量也是真实存在的,所以亦来云网络就能认可这种工作量是有效的。
3. 哈希值同时超过了比特币和亦来云区块链设定的困难阀值。这种情况下,对于两个区块链来说,这个解答都是有效的,所以矿工会执行情况2中所说的流程,同时还会将已经完成问题解答的比特币区块在比特币网络中进行广播。
为了更好地理解这个过程,我们可以进行下面的类比:
当比特币矿工正在挖矿时,其实也就是在买彩票,被称为比特币彩票。而输入随机数Nonce可以类比为购买彩票,确定是否产生有效哈希值就好像是彩票是否中奖。你买的彩票越多,也就是说你有更多的哈希算力,那么就有更大的概率去赢得奖励。通过联合挖矿,每个比特币矿工都有机会去使用购买得来的彩票去获得其他的彩票,而且不需要花费多余的钱或者说能源。在这种类比情况下,这里其他的彩票就是亦来云彩票,这其实会更容易获奖因为整体困难度相对低很多。本质上来说,那些选择这种模式进行挖矿的矿工可以大幅增长他们得奖的概率,而且还不需要任何多余的费用。由于存在额外的奖金,这也会给参与者提供持续性的激励。
联合挖矿特性和优势的总结:
联合挖矿无需多余的计算机资源。因此,对于联合挖矿的矿工来说,无需去投资更多的硬件设备。比特币矿工可以使用同样的哈希算力同时挖比特币和亦来云区块。
主链不会受到影响。比特币区块链不会因为联合挖矿变慢或变得拥堵。唯一增加的就是每个区块多了32字节的哈希值,几乎可以忽略不计。
联合挖矿是环保的。比特币矿工已经在消耗能源去确保网络安全,亦来云利用了这部分本就需要消耗的能源,因此就减少了自身所需要消耗的能源。
联合挖矿有助于确保新的工作量证明机制下的区块链安全,同时也能够防止51%攻击。如果想要获得大量矿工是需要耗费很多时间的,但是通过联合挖矿,可以利用现有的区块链提供相应的哈希算力。因此,51%攻击就会比较难实施。
联合挖矿对两个区块链网络都有好处。来自两个矿工体系的哈希算力会进行叠加。由于矿工把算力给主链和辅链同时使用,因此每个网络整体的哈希算力是提升的。
联合挖矿会提供更多激励,矿工可以获得更多收益。联合挖矿的矿工在无需额外成本的前提下,可以获得更多奖励。在这种情况下,矿工无需增加电费消耗,就能挖出比特币和亦来云。虽然有很少的设置费用,但是整体的奖励会让矿工整体获利更多。
联合挖矿会遇到的挑战
尽管联合挖矿为亦来云区块链带来了更好的安全性以及预设的扩容性,但是也会面临很多挑战。
挑战#1:激励现有的比特币矿工和矿池向亦来云联合挖矿转移。虽然比特币矿工可以同时获得比特币和亦来云,但是他们也必须要下载亦来云客户端才能进行联合挖矿。所以激励这些矿工去花时间和精力来做出改变是非常困难的。因为中本聪在工作量共识算法中使用了动态难度机制,这个问题相对容易解决。
回顾我们前面讲到的,随着工作量证明网络中的累积哈希算力增加,挖矿的难度也增加了。同样地,当累积哈希算力减少,困难度也会相应地降低,因此也就会用更低的电费获得同样的奖励。最终的结果:增加收益,同时给矿工更多的激励来回归到网络。当联合挖矿首次公开的时候,ELA看起来会比BTC更容易挖出来。因此很多亦来云社群成员会去挖ELA,因为难度较低,那么挖矿的初始成本也更低。尽管这些矿工没有足够的算力去挖比特币,但是它们仍然可以提供足够多的哈希算力,去和那些联合挖矿的人进行竞争。简单来说,如果亦来云矿工开始地时候不多,那么由于难度较低,整体的激励架构就会吸引更多人,这就是工作量证明中的核心功能之一。
挑战#2:规模化经济可能导致矿池中心化。当某个主体由于生产力提升获得更多收益的时候,规模化经济就会产生。联合挖矿会被这种情况影响,因为所有和联合挖矿相关的额外费用都是固定的,也就是说他们作为提供哈希算力的功能不会改变。因此,无论矿工具有100H/s还是100tH/s(1tH=10^12 H) 的算力,他们开始联合挖矿的时候费用是相同的。拥有更多算力的矿工会获得更多收益,因为更多哈希算力意味着更多奖励。因此,联合挖矿更利于矿池。但是重点是检查中心化的程度,还有它对亦来云生态系统的影响。
让我们更深入地了解可能发生的矿池中心化问题,因为这是联合挖矿会遇到最严重也最微妙的问题。首先,我们要了解增加的边际成本是和联合挖矿紧密相关。虽然联合挖矿不需要更多能源消耗——目前挖矿最大的相关成本,但是确实需要固定的启动成本。
硬盘空间~25-50美元。完整的联合挖矿节点必须要下载亦来云区块链的备份。这个大小一开始相对较小,但是会很快地变大。比特币区块链现在的大小是190Gb,这是10年累计下来的规模。在早期阶段,亦来云区块链刚开始只有比特币存储量的很小一部分,但是由于更快的区块大小和更快的区块确认时间,亦来云区块链会增长地非常快。幸运地是,硬盘现在很便宜,1TB(1000Gb)的硬盘只需要大约50美金,而且还会变的更加便宜。
RAM~10-30美元:根据bitcoin.org, 运营完整比特币节点所需的RAM是2 Gb。假设亦来云客户端需要另外的2 Gb才能运行,那么相关成本也不会很高[3]。
带宽~价格不确定:带宽是和联合挖矿相关最重要的因素。硬盘存储空间和RAM基本上是忽略不计的固定成本,但是带宽则是持续而且变化的成本。联合挖矿需要更多的带宽,因为他们需要在网络中同时传播比特币和亦来云的区块。带宽的成本取决于矿工所处国家的服务商,以及节点设置的形态。在亦来云区块链上进行联合挖矿的矿工需要花费更多的带宽费用,近些年来普通消费者的带宽消费其实也是大幅增加。联合挖矿需要的带宽数量是基本保持不变的,但是每Mb带宽消耗的费用实则是持续下降的。
现在,我们把成本分析和规模经济以及中心化联系起来。本质上说,联合挖矿增加的成本对于单独的矿工和矿池来说是相同的。比特币矿池每年有几百万的现金流,并且需要很高的运维成本。结果是,一次性80美金的带宽消费对于大矿池来说不成问题,而且对于额外的带宽会需求也会有相对低的成本。换句话说,对于大矿池来说,成本的增加就像是往大海里面的一滴水。但是,小矿池和个人矿工,由于收益较低,对于这种成本增加会再三考虑。
结果就是,联合挖矿其实是偏向于矿池的,而且矿池越大,就越受益。但是,尽管对于个人矿工来说,一次性成本也是可控的,而且也是值得花费的资源。所需要的额外带宽根据矿工地点不同,也许会有些问题,因为在某些地区,带宽非常昂贵。幸运地是,随着更高端的带宽服务商变得更加便宜,可行性更高,这类问题也可以解决。如果这真的是个问题,个体矿工可以限制带宽,让它达到可忽略的级别。但是,如果过多的个体矿工这样做,区块广播的时候会有延迟。因此,为了让网络可靠和平稳,矿工需要提供必要的带宽去维护网络,并根据网络稳定性作为挖矿奖励。
矿池
对于去中心化的工作量证明区块链来说,矿池是巨大的威胁。矿池可以让矿工将自己的工作量都整合起来,从而更有效地挖矿。大多数比特币的哈希算力是来源于矿池。现在的挖矿基本上都是矿池,因为比特币矿工太多了,因此整体挖矿的难度太高,基本上不可能在个人电脑上挖出比特币。为了有可能挖矿,个人矿工还必须要购买特定包含ASICs的矿机。而且,比特币挖矿和购买彩票差不多,获得的奖励多少也不完全取决于算力。唯一获得比特币的办法就是从现有区块里面挖矿。为了增大中奖的概率,需要大量的哈希算力。
对于算力站,类似彩票中奖获得收益等这类问题,矿池提供了一种解决方案。矿工把哈希算力都集中起来,因为这样会有更大几率去赢得奖励。当矿池的矿工发现区块,那么他们就会哈希算力提供的比例来分配奖励。拥有更高算力的矿池就会找到更多的区块。因此,加入矿池的矿工会持续获得稳定收入。
由于中心化的问题,尽管对于区块链生态系统来说并不见得不好,但是矿池其实是有负面影响的。其实,他们代表了工作量共识机制正常的演变。随着PoW网络中聚集更多的哈希算力,挖矿难度也随之增加。因此,更高的哈希算力就代表更加稳定的区块链,因为更多的累积哈希算力提供了安全性,并且代表着更高的接受度。最终,网络挖矿难度达到一定程度,对普通人来说参与挖矿的代价会很高。在这种情况下,矿池可以给每个人参与挖矿的机会。因此,随着亦来云开始扩大规模并且获得了更高的接受程度,矿池毫无疑问会提高PoW网络的挖矿难度。
如果有单个矿池拥有50%以上的算力,那么它就变得非常有威胁。在矿池中,会有一个协调员去控制每个矿工的算力。如果单个矿池拥有超过51%的算力,那么协调者就可以能够发动网络攻击,例如双花或者篡改交易。虽然这种攻击理论上来说是可能的,但是PoW共识机制的独特激励机制使之几乎不可能发生。
一方面来看,比特币矿池的全部业务都是和比特币有关的。如果为了获得51%算力从而攻击网络,那么也会毁了他自己的生意。其次,矿池都是由一个个矿工组成的。因为区块链是完全透明的,发现有矿池想要攻击网络相对来说很容易。为了保护整个网络,以及矿工自身的利益,矿工如果发现有问题,就会立刻切换算力到其他矿池。那么发起进攻的矿池就会被抵制,而且没人会再次相信它了。矿池花费了很多的时间和精力去获得矿工的信任,因此欺诈行为的风险比收益大的多。
关于联合挖矿的历史尝试(以及为什么他们会失败)
亦来云并不是发明联合挖矿的项目。其实,中本聪在讨论关于一个叫做BitDNS项目的时候就提到了联合挖矿概念[5]。此外,联合挖矿过去已经被其他几个项目使用了,并且获得了不同程度的成功。
Namecoin(命名币)在2011年4月首次使用了联合挖矿机制,使用这个机制的意在减轻相互竞争的数字货币间算力分散的情况[6]。在联合挖矿出现之前,为了挖矿另一种数字货币,比特币矿工需要对整个网络进行切换。换句话说,这个矿工只能一次性挖一种数字货币。这就导致了效率低下,比特币和其他的区块链都都会因此而获得更低的哈希算力,进而降低了网络的安全性。联合挖矿让比特币矿工可以同时挖比特币和Namecoin。此外,联合挖矿可以用于远远小于比特币网络的Namecoin网络启动程序。
联合挖矿还被用于很多其他项目,最知名的可能是Dogecoin(狗狗币),它是和莱特币联合挖矿的。Dogecoin其实最初是个模仿币,但却自此获得了更多关注。Namecoin是首次应用联合挖矿,最初被人认为是个非常重要的项目,但是最后却被认为是个失败的项目。最终导致Namecoin失败的原因,一位内部的工程师作了中肯的解答:
“从历史来看,由于可用性问题,Namecoin作为命名系统来说,用处很少,更多地被当成投机。这就导致交易的需求逐渐减少,最终导致和比特币比起来,转账费用非常的低。同时,Namecoin的系统很多年来都是基于比特币0.3.x分支进行的,这就导致在实际应用中产生了很大的性能问题使其难以使用。最终由于挖矿奖励微薄单和成本却高昂,很多矿池都放弃进行Namecoin的挖矿。”[7]
这段话是回应一篇由SBA研究院发布的名为《联合挖矿:诅咒还是良药?》[4]的文章。SBA总结道,“基于实验数据”,联合挖矿会导致中心化问题。最终,这篇文章表示,联合挖矿的几个币种(Huntercoin, Myriadcoin和Namecoin),大多数哈希算力都是来自单个矿池。这些实验数据会受到几个因素影响,但是最重要的因素实际上是Namecoin工程师提出的:
“Namecoin作为命名系统,用处很小,其实更多地被当成投机。”
如果某个区块链项目不存在有意义的用处去推动它,那么整个共识机制在防止欺诈行为、中心化等方面都不会有用,最终会就被社区放弃。
亦来云如何解决这些问题:比特大陆,DPoS以及侧链联合挖矿
因此,毫无疑问,对于联合挖矿来说,最大的问题在于矿池中心化。大概率来说矿池会接受大多数亦来云算力,但是这不会对网络产生威胁。如果有单个矿池获得51%的算力,那才会有风险。想要进行亦来云联合挖矿,矿池只需要下载亦来云客户端。如果加入的矿池拥有很大的规模,那么它会大力提升亦来云的哈希算力。如果亦来云区块链处于早期阶段,自身没有足够的算力,那么亦来云很容易被操作。通过深思熟虑,亦来云开发了如下两个策略来防止网络中心化:
同比特大陆合作。比特大陆是世界上最大的矿池运营商。比特大陆拥有两个很大的矿池:BTC.com和蚂蚁矿池。比特大陆已经同意使用很大一部分算力支持亦来云联合挖矿。目前,BTC.com很大一部分算力正在进行亦来云联合挖矿。BTC.com占据整个比特币算力的25%,因此它也占据了全网算力很大一部分。因为亦来云处于早期阶段,比特币大陆会控制一大部分算力。因为比特大陆和亦来云拥有相同的理念,并且互相也进行了深度投资,双方达成了共同进步的协议。通过比特大陆的算力,对于外部来说,基本不可能对亦来云网络发动51%攻击。随着亦来云的发展,矿工和矿池会和亦来云进行更多的联合挖矿,这会减少比特大陆的份额,从而营造更加去中心化的区块链。
在进行联合挖矿(AuxPoW)的同时,使用DPoS共识机制。DPoS机制会为区块链的安全性提供另外一层保障,进一步防止欺诈。在添加到亦来云区块链上的时候,DPoS需要对区块进行“签名”,提供“最终确定性”。最终确定性表示如果两个有效区块同时广播,其中不会存在含糊不清的问题。本质上来说,它防止了网络分叉。如果没有网络分叉,就算有人获得了51%算力,那么在没有经过大多数DPoS节点的许可情况下,他也不能做出任何攻击。这意味着假设比特大陆或者其他大矿池想发动51%攻击,由于需要DPoS节点提供最终确定性,他们还是不能操纵这个区块链网络。
DPoS的作用是什么?
关于亦来云实施DPoS机制的全面详细信息还没有正式发布,所以我们会在今后对亦来云DPoS机制的部署进行一个全面的分析。
DPoS对于亦来云共识机制来说,是个非常重要的部分。这也是亦来云和之前那些利用联合挖矿失败的项目的不同之处。亦来云是首个同时使用AuxPow和DPoS机制的项目,这在亦来云1周年泰国年会上也被称为“大象共识”。亦来云利用大象共识来让侧链可以分享比特币区块链的哈希算力。
在传统的DPoS系统中,节点被称为区块生产者(BP),因为DPoS节点创建了区块,并且将他们添加到链上,同时提供最终确定性。共识只能通过BP才能获得,并且通常有21个节点。本质上来说,这21个BP一旦被选出来,基本上就拥有这个链完整的控制权。为了防止中心化,BP需要达成共识,因此单个BP无法直接攻击整个系统。而且,DPoS节点通常需要抵押很多代币权益。如果有BP作恶,那么他的抵押代币就会被移除。这种潜在的被弹劾风险可以控制BP的权力,而且让他们保持一致。但是,如果只有21个BP,还是有勾结串通的可能性。因此,DPoS机制其实在很多社区中都有各自问题。亦来云有幸了解到类似EOS和Lisk等项目方的问题,并有机会对DPoS机制进行更新迭代。
亦来云并没有照搬传统的DPoS方式,在大象共识(AuxPow+DPoS)中,DPoS节点不是区块生产者,而是区块签署者。亦来云共有108个DPoS节点,其中有36个活跃节点,72个候选节点。比起传统的DPoS区块链,亦来云DPoS节点需要更少的能源,因为区块是由比特币矿工使用PoW方式挖出,并且传播到网络上。亦来云主链上,DPoS节点唯一的任务就是在广播的时候,签署有效区块,也就是说创造了最终确定性。在传统的PoW模式中,在确定交易之前,用户需要等待6个确认。这种等待时间主要是因为两个有效区块同时在网络中进行广播。由于当两条链同时有效就会产生分叉,更多区块需要进行解答和添加,直到最长的链胜出。在亦来云区块链上,DPoS节点的转账速度会更快,从而极大地减少用户延迟。
亦来云DPoS节点可以有效地作为保护层,来防止欺诈性分叉和51%攻击。大多数区块链网络攻击都会通过“长链获胜”的原则进行。但是这对亦来云区块链来说不适用,因为51%攻击是非常难实施的。如果想要进行51%攻击,攻击者必须要和很多DPoS节点串通合谋。虽然这不是完全不可能发生,但是非常困难。亦来云DPoS节点对于是否添加区块有最终解释权,但是它们不会创建区块。本质上来说,DPoS节点只是一起投票来达成共识,从而确定是否通过新区块。如果DPoS节点互相串通,那么最坏的结果是减慢区块产生的速度。而且,DPoS节点不会产生区块,因此他们不能进行双花。和其他DPoS系统相同,节点必须要提供很多的代币抵押,这会让网络更安全。但是,代币持有者最终负责控制DPoS节点。因此,投票过程的公平性就很重要,也就需要活跃的社区来进行投票。如果有DPoS节点欺诈了,那么就会立刻(确切来说是72分钟)被投票踢出,同时相关的抵押代币也会被没收。因此,Cyber Republic会在亦来云生态中是举足轻重和必不可少的组成部分。
亦来云同时撷取了AuxPoW和DPoS机制的长处,两种机制互补所短,协同合作。AuxPow为亦来云早期阶段提供了去中心化及安全性,而DPoS机制则为区块链的稳定性增添了新的保障。除了达成主链的共识外,亦来云采用DPoS机制还有其他目的。
DPoS在亦来云生态中还什么作用?
除了为主链提供更多共识,DPoS还会辅助侧链的PoW联合挖矿,促进跨链交易,同时为侧链提供DPoS共识。本文主要会专注于DPoS在PoW侧链联合挖矿中的作用。
侧链联合挖矿
亦来云使用的是主链-侧链架构。任何基于亦来云基础架构搭建的项目或者DApp可以选择创建自己的侧链。这些侧链同时也可以和亦来云主链进行联合挖矿。这种方式可以让新项目利用亦来云主链的哈希算力,并且确保安全,而亦来云又利用了比特币的算力。由于有大部分的比特币算力支持,亦来云主链可以让侧链也有相同的安全性。首先,这会让更多人有兴趣来亦来云平台上建立DApp,也让亦来云更加有知名度。由于每个侧链都是单独进行交易,亦来云致力于解决区块链的“不可能三角”困境,也就是说想要创建首个可以同时解决安全性,、去中心化以及可扩容性的区块链体系。
侧链联合挖矿并不是个全新的概念。其实,亦来云区块链也可以被认为是比特币的侧链。亦来云只是简单利用了侧链架构从而建立自身的侧链,每个侧链都可以和亦来云进行联合挖矿。这些相互连接的区块链和之间的关系都是由DPoS节点来保证其中的安全,也在亦来云共识机制中起到了关键的作用。现在,所有的DPoS细节还没有完全正式公布,所以我们在这里不深究太多的细节。但是,很多信息都可以从亦来云侧链白皮书中获得:
DPoS节点需要从侧链交易池中获得转账信息,并且打包到区块中。
负责的DPoS节点(也称作“仲裁节点 Arbitrator”)然后会将候选侧链区块的哈希聚集,并且提供给主链的矿工。需要注意的是,仲裁节点会在完成每个区块上链后进行轮换。
然后主链矿工会将哈希值放入当前的候选亦来云区块,再进行哈希运算,并且放入他们尝试解答的候选比特币区块的创币交易中。
这时候,类似我们在联合挖矿章节中提到的过程也会发生。联合挖矿的矿工会开始对候选比特币区块进行哈希运算,其中包含通过亦来云候选区块到侧链候选区块的间接连接。如果得到一个亦来云候选区块的有效哈希值,就交给负责的仲裁节点处理。仲裁节点会将工作量证明置入侧链的候选区块,同时将这个解答广播给所有的侧链全节点。这时候,所有节点都确认这个解答满足所需要的困难度和工作量,是有效的。
通过DPoS竞选机制会有很多好处,最重要的就是比特币矿工如果要进行亦来云联合挖矿,对于亦来云侧链的联合挖矿,无需下载多余的软件;他们只需要运行亦来云客户端。这就减少了扩容的阻碍,因为联合挖矿最大的问题就是激励主链矿工去下载和运行额外的客户端。如果对于每个增加的侧链联合挖矿,矿工都需要下载运营客户端,大多数人就会很少使用,因为客户端需要更多的内存和CPU。说服矿工去花费额外的资源去挖全新的项目,这总是很困难的,特别是和主链比起来,这些项目还没有那么高的知名度。
因此,DPos节点所承担的任务就是保证挖矿过程的有效性。对于每个增加的AuxPoW侧链,联合挖矿的矿工几乎不需要进行操作。实际上,有些矿工或许甚至不会发现他们是在通过自己的算力去维护其他的链。而且,联合挖矿的矿工无需更多的带宽去为每个增加的侧链进行AuxPoW挖矿,因为DPoS节点已经在做这部分工作了。基本上联合挖矿的矿工能够向往常一样去进行自己的挖矿工作,同时还可以获得侧链挖矿的奖励。当然,由于更多DPoS细节还没有正式发布,真实的实施方式可能略有不同。
侧链放大了对联合挖矿的兴趣:
除了之前说到的好处,侧链其实有助于解决联合挖矿的主要问题之一。研究Namecoin的机构 SBA研究院和其他几个之前尝试AuxPoW机制的项目方总结认为,联合挖矿的代币通常是因为没有足够的矿池加入才导致的失败。在几个案例中,SBA发现都有单个矿池控制大量算力。如前面所述,这种问题和基础设施的缺陷关系不大,而是和实施联合挖矿的项目自身构成有关。
Namecoin、 Huntercoin、Myriad Coin和其他这类项目,最终都不能为他们的代币构建强有效的用例。因此,他们各自平台上的原生代币都很难去获得价值或者获得有意义的投资。总体来说,基于PoW的任何代币都必须要有可持续的价值,或者说团队成员、项目理念以及想法都必须要符合长远的升值前景,因为电费是挖矿里面所必须付出的成本。对于比特币来说,很多矿工甚至在其价格很低的时候还在进行挖矿,因为他们认为比特币在未来会很有价值。
为了防止同上述代币遭遇同样的问题,亦来云发布了原生代币ELA,并会通过各种应用案例突出它的价值。ELA代币能够在亦来云平台上进行去中心化ID注册,购买数字资产例如电影和文化产品,注册DApp,购买域名服务等等。而亦来云联合挖矿还可以更加具有吸引力。每个侧链都会为联合挖矿的矿工产生价值,而他们增加的工作量可以忽略不计。对于AuxPoW侧链,联合挖矿的矿工不需要多余的哈希算力,也不需要多余CPU/RAM资源来运行客户端。联合挖矿的矿工最多就需要几乎可以忽略不计的多余带宽。一旦下载了亦来云客户端,联合挖矿的矿工就可以获得ELA奖励以及所有使用AuxPoW机制的亦来云侧链交易费的一部分作为奖励,并且这是和DPoS节点分开的。利用这种方式,亦来云的侧链结构就会有极大的潜力去增强在亦来云区块链上的联合挖矿。
总结
亦来云区块链是通过两套混合挖矿机制来保证安全性的:联合挖矿(AuxPoW)和委托权益证明机制(DPoS)。联合挖矿可以让亦来云使用比特币矿工现有的哈希算力来确保亦来云主链的安全,通过侧链可以使用AuxPoW作为自身的共识机制。联合挖矿是一个绿色的解决方案,因为亦来云矿工可以利用比特币的挖矿算力。亦来云选择工作量证明联合挖矿,是因为PoW目前看来是最安全和最能经受考验的共识机制。而且,比特币也是拥有最多矿工和最大算力的PoW区块链。
随着联合挖矿逐渐更加主流,问题和挑战也会出现。首先,现在的比特币矿工和矿池必须要受到激励才会愿意进行亦来云联合挖矿。为了能够和亦来云联合挖矿,比特币矿工需要下载并且运行亦来云客户端。并且,联合挖矿的矿工必须承担额外的费用去设置亦来云挖矿。虽然联合挖矿本身不需要额外的电费,但是类似存储,RAM和带宽的费用都是需要的。由于所有的联合挖矿的矿工会承担同样的费用,由于规模化经济矿池将会从联合挖矿中获得边际收益。
亦来云已经预见了应对这些挑战的策略。为了避免最初没有足够的比特币矿工来进行亦来云挖矿,亦来云和比特大陆进行了合作。比特大陆控制了世界上两个最大的比特币矿池,两者都占据了很大的算力。比特大陆同意使用很大一部分算力进行亦来云联合挖矿。即使是在亦来云初始发展阶段,比特大陆的算力也可以帮助抵抗51%算力攻击。
大部分联合挖矿的尝试以很少矿池参与而失败告终。这里面有个安全问题,因为矿池如果掌控了51%的算力就可以实施攻击,从而导致双花。为了防止矿池中心化,亦来云在辅助工作量证明的同时,也使用了DPoS算法。增加的DPoS部分能够防止大矿池掌握51%算力。在DPoS机制下,在区块加入链上之前,所有的区块都必须通过DPoS节点签名。结果就是:那些想要攻击的节点必须在DPoS节点的民主决策中获得多数赞成,才能算是通过。
最后,矿工会被推动到亦来云区块链,因为它的原生代币——ELA有很多用途,并且是有价值的。亦来云辅助工作量证明的侧链也会通过提供额外的转账费用来提高挖矿奖励,因此也让所有联合挖矿者增加了收益。尽管在亦来云网络上,原生代币、侧链架构以及多人持有的激励体系本身就能吸引矿工和矿池参与保护这个智能万维网的安全,但是亦来云社区才是所有运营和愿景的核心。所以请加入Cyber Republic,贡献出您充满创意的想法!
参考文献
[1]. BeckyMH. (2018, October 22). 联合挖矿规范. 网址: https://en.bitcoinwiki.org/wiki/Merged_mining_specification
[2]. Khatwani, S., Teddy, Appelberg, I., Palash, Juan, Lucas, . . . DJ AFINO. (2018, October 11). 什么是双花问题,比特币是如何规避它的? 网址https://coinsutra.com/bitcoin-double-spending/
[3]. 运行一个全节点 (n.d.). 网址 https://bitcoin.org/en/full-node
[4]. Judmayer, A., Zamyatin, A., Stifter, N., Voyiatzis, A. G., & Weippl, E. (2017). 联合挖矿:诅咒还是良药?计算机科学数据隐私管理,加密货币与区块链技术讲义,316-333. doi:10.1007/978-3-319-67816-0_18
[5]. (n.d.). 网址 https://satoshi.nakamotoinstitute.org/posts/bitcointalk/532/
[6]. 域名币. (2018, Nov. 22). 网址 https://en.wikipedia.org/wiki/Namecoin
[7]. R/Namecoin– 联合挖矿:诅咒还是良药?(来自SBA Research的有趣文章).(n.d.) https://www.reddit.com/r/Namecoin/comments/6xbsb6/merged_mining_curse_or_cure_interesting_paper/
作者团队
Charles Coombs-Esmail[reddit上的用户名为u/C00mbsie]
Amos Thomas[Youtube上用户名为 Famous Amos]
Michael Ekpo[discord 上的用户名为 adeshino]
来源:https://blog.cyberrepublic.org/zh/2018/12/16/%E7%AE%80%E8%AF%B4%E4%BA%A6%E6%9D%A5%E4%BA%91-%E4%BB%8E%E5%A4%96%E8%A1%8C%E7%9A%84%E8%A7%86%E8%A7%92%E7%9C%8B-%E8%81%94%E5%90%88%E6%8C%96%E7%9F%BF-%EF%BC%88%E4%BA%8C%EF%BC%89/