乌龟币(TurtleCoin): PoW算法变更

PoW算法变更
核心开发组发现,全网算力在过去几周内大幅攀升。幸运的是,算力分布在社区运营的矿池中保持得相当分散和均衡。然而,全网算力的显著增加使得项目的核心目标之一(即人人皆可挖矿)更加难以实现。仔细考虑之后,我们决定再次为新的PoW算法进行一次软分叉(soft fork)。

 乌龟币(TurtleCoin): PoW算法变更

这种变更并不是一蹴而就的,并且我们已经在这方面进行了充分的考虑。我们已经看到一些网络成功使用了CryptoNight Soft Shell变体的算法。然而尽管已经做了大量工作来支持Soft Shell矿池等,我们仍尚未准备好转移到Soft Shell算法。
 
这时你可能就会问了:“所以计划到底是什么?” 
受支持的PoW算法
如果你已经阅读过了乌龟币分叉指南,自己分叉过乌龟币,或者阅读过代码,那么接下来的说法对你来说也就不足为奇了。
 
我们喜欢像收集Pog牌(一种圆形卡片,在国外很受小孩子的欢迎,常用来玩扇牌游戏,谁用牌把地上的牌扇到翻面,谁就赢。外观如图所示)一样收集PoW算法。你拥有的越多,你和朋友能享受的乐趣就越大。
 
牢记这一点:乌龟币当前内置了至少12种不同的PoW算法。是的,你没有看错,12种。
 
· CryptoNight v0
· CryptoNight v1
· CryptoNight v2
· CryptoNight Lite v0
· CryptoNight Lite v1
· CryptoNight Lite v2
· CryptoNight Turtle v0
· CryptoNight Turtle v1
· CryptoNight Turtle v2
· CryptoNight Soft Shell v0
· CryptoNight Soft Shell v1
· CryptoNight Soft Shell v2
诶,等等,什么是CryptoNight Turtle算法?
委婉地说,CryptoNight Turtle是对标准CryptoNight系列算法的调整,它可以显著提高计算哈希值的速度。这可以通过两种方式实现。
迭代次数变更
我们将迭代次数降低到了原有的4分之1,从524,288到131,072,这将导致每个矿工的基础算力增加到原有的四倍。 
暂存器变更
我们也将暂存器的大小降低到了原有的4分之1,从1MB(CryptoNight Lite算法)到256KB。为什么要这样做呢?因为我们想让一切都变得更快。并且当我们降低迭代次数时,我们需要确保有效地使用暂存器来防止一些有趣的攻击。
更快?这难道不是意味着更高的全网算力吗?
确实如此!这似乎是混乱的原因,但别担心,我们马上就要进入好的部分了。
乌龟币区块v5
你可能会想:“这听起来也没有更好,不,不,这些家伙都疯了…… ”
在乌龟币区块的第五个版本中,我们计划将激活CryptoNight Turtle v2算法。是的,你没有听错,v2。你们中关注其他项目的人可能知道使用v2哈希计算会导致性能损失。我们这边的测试也发现某些硬件的性能下降了12%到45%,我们认为这是不可接受的。然而,我们确实很喜欢v2背后的前提。
为了平衡v2带来的性能影响,我们将使用CryptoNight Turtle算法来加速哈希计算,这两者将有效地相互抵消。作为回报,我们获得了抵抗潜在的ASIC/FPGA等矿机的能力。事实上,由于迁移到CryptoNight Turtle算法,你会看到旷工的哈希值增加了。
转向CryptoNight Turtle算法有助于加强乌龟币的抗ASIC/FPGA能力。在未来的PoW变更中,我们也将进一步加强乌龟币项目的抗ASIC/FPGA能力,以保证“人人都能挖矿”。
做你应做的事
我们已经准备好了软分叉到CryptoNight Turtle算法的核心代码,分叉高度暂定为1,200,200。主要的矿池软件已经进行了更新以支持分叉,并且Hashing Library和Cryptonote Library的Node.js也都得到了更新。
 
还有一些工作尚未完成,并且我们一直欢迎任何来自社区的帮助。
测试网络
我们需要来自社区的帮助来测试这次的算法变更,以确保一切进展顺利。参与进来的成员越多,发现问题也就越容易。
挖矿支持
我们正在努力增加对普通挖矿软件的支持,来支持这一次的算法变更。
· XMR-Stak
· XMRig
· 以及其他…
我们需要添加对挖矿软件的支持才能进行完整的矿池更新部署测试。如果您想帮助我们,请通过#dev_general中的http://chat.turtlecoin.lol与我们联系。
替代矿池
矿池软件的更新需要移植到社区服务运营商日常使用的其他矿池。如果您了解以下的矿池,并愿意提供帮助,我们表示最诚挚的感谢。
· https://github.com/turtlecoin/node-stratum-pool
· https://github.com/turtlecoin/snipa-turtle-pool
· https://github.com/turtlecoin/funky-turtle-pool
升级
一如既往,请关注乌龟币核心客户端的更新。在GitHub上关注或加星我们主要的帖子,以帮助您及时了解变更和更新。加入我们的Discord(https://discordapp.com/invite/jc5Traq)并定期阅读#announcements。或者通过在聊天中键入* news来注册@news角色,并在Discord中发布新公告时收到提醒。
请确保您尽早为软分叉做好准备。
与任何软分叉一样,一旦软分叉执行,软件的先前版本将在分叉完成后不再与网络的其余部分兼容。
下一步是什么?
我们已经在考虑v5之后的下一个PoW算法变更。 这些讨论将会是一篇不同的文章,所以一如既往,请继续关注。