DATA:ASIC 矿机中心化太严重?我们设计了一种对抗“矿霸”的算法

编者按:本文来自QuarkChain,作者:QuarkChain团队,星球日报经授权转载。

我们写作这篇文章的目的,主要是想通过展示我们关于这个主题的一些初步想法,来和同行进行讨论,欢迎大家提意见。动机

众所周知,比特币挖矿主要是由是由ASIC矿机来完成的。这是因为ASIC设备的效率比普通CPU高1000多倍。由于高性能ASIC的制造被掌控在少数几个厂商手中,这引起了人们对于挖矿中心化的担忧。因此,开发者们提出了几种抵抗ASIC优化的算法,其中包括:Ethhash、CyptoNight和Equihash。但不幸的是,市场上还是出现了一些针对以上算法进行ASIC优化的矿机,它们声称比CPU或者显卡挖矿显著的提高了效率。在这些算法中,Ethash可能是被ASIC优化后效率增益最小的一种。Ethash算法的核心思想是通过执行内存密集型操作而取代计算密集型操作。这样内存的读取性能成为哈希算法的瓶颈,从而限制ASIC的优化效果。如果假设定制开发的硬件很难提高内存的读取速度,则通过ASIC对Ethash算法进行优化获得的性能增益应该非常有限。基于顺序统计的哈希算法的想法

景区元宇宙平台“张家界星球”上线:11月20日消息,日前,全球首个景区元宇宙平台“张家界星球”测试版在湖南张家界正式发布,世界首座虚拟山峰命名权拍卖报名同时启动,用户只要支付1元报名费即可参与体验和竞拍。(中国日报)[2022/11/20 22:09:21]

在Ethash算法的启发下,我们提出一种新的算法,旨在通过限制ASIC的并行计算能力,从另一个方面来抵抗ASIC对挖矿效率的提升。先让我们看看ASIC的优化是如何工作的。一组固定指令实际上可以被分解成一个电路流水线,因此每个时钟周期,ASIC可以同时求解多个输入值的哈希值。例如,a+b+c+d的指令可以被流水线化,使得每个运算周期可以同时计算3个不同的输入:1,a0+b0;2,b1+c1;3,c2+d2可以在ASIC中建立多个电路逻辑,同时并发的计算多个指令。例如,上文的a+b+c+d指令可以被设计为(a+b)+(c+d),将在2个周期中完成计算。目前,这种流水线化的思想还被广泛地应用于诸如x86之类的现代处理器中,这些x86中具有分支预测器和流水线微处理器。一种避免处理器计算流水线的方法是执行多个if-then-else命令,然后在不同的分支上执行不同的代码路径,这使得流水线和分支预测变得很难。为了打破执行过程的并发性,我们可以考虑采用于状态依赖的思路——任何未来的指令都依赖于当前状态,而这种状态可以频繁地被改变,这意味着我们不能预先执行未来的指令。基于顺序统计的哈希算法

凯撒文化:动物星球游戏按照元宇宙设计,上线存在不确定性:9月28日消息,凯撒文化在互动平台表示,代号为“动物星球”的游戏背景环境完全按照元宇宙的模式设计,具备时间、环境、生态三大维度要素,还引入了NFT技术。该游戏项目目前还在研发阶段,上线时间和地区受到诸多因素影响,仍存在不确定性。[2021/9/28 17:11:59]

在本节中,我们将介绍我们提出的顺序统计哈希算法。该算法试图打破流水线,使代码的执行路径变得更加随机。在介绍这种新算法之前,让我们重新回顾一下Ethash算法的核心内容,看看Ethash是如何生成一个哈希值的:Input:-state:128-bytestate-datablock:anarrayoflargeamountofdata,eachdatais64bytes-H(x,y):afasthashalgorithm,xandyhasthesamesize,returnthehashvaluewiththesamesizeasx-R(x):returnan32-bitrandomintegerderivedfromxAlgorithm:foriinrange(64):p=R(state)%(len(datablock)-1)newdata=,datablock]state=H(state,newdata)returnstateOshash算法的初步方案如下:Input:-state:128-bytestate-datablock:anlongarraywitheachentrybeing8bytes-H(x,y):afasthashalgorithm,xandyhasthesamesize,returnthehashvaluewiththesamesizeasx-R(x):returnan64-bitrandomintegerderivedfromxAlgorithm:foriinrange(64):p=R(state)%len(datablock)newdata=forjinrange(128/8):newdata=newdata.add(datablock.find_by_order(p))#Removethepthsmallestelementfromdatablockdatablock.remove_by_order(p)#Addarandomdatatothedatablock,e.g.,#datablock.insert(R(]))#Findthenextindex,e.g.,#p=R()%len(datablock)state=H(state,newdata)returnstateOshash算法与Ethash的关键差异如下:原算法是根据随机索引数p去寻值,而新算法根据第p位的最小值去寻值。在读取了datablock变量中的一个数据后,该数值将被删除,新的随机数值值将被插入到datablock中。由于datablock是一个支持有序数据查找的动态列表,因此datablock的有效实现方式可以是一棵具有顺序统计的动态搜索树。想要使用流水线来加速树的删除/插入操作是困难的,因为树的执行路径是随机的,并且高度依赖于随机输入量。CPU和FPGA实现的性能比较

网易星球区块链3.0核心架构开发完成:网易星球区块链发布的最新项目更新显示,网易星球区块链B端业务蓬勃发展,在供应链金融、数据协作、溯源等多个区块链应用领域与若干机构对接中,同时承担区块链科研项目的技术研究工作。此外,区块链3.0项目正在推进,核心架构开发和相关模型性能摸底已经完成,此外网易还在按计划推进区块链隐私保护。[2020/3/26]

我们将对比CPU和FPGA的实现对动态搜索树进行插入/删除操作性能,来初步验证以上思路是否成立。实验中,我们使用具有以下配置的CPU,CPU的代码可以在这里找到:CPU型号:Inteli7-7700KOS操作系统:Ubuntu16.04LTS编译器:g++5.4.0编译命令:g++-O3-std=gnu++17线程数:1键值数:64K键值类型:unsigned64-bitrandomintegers性能结果:FPGA:每秒执行397万个插入/删除操作CPU:每秒执行446万个插入/删除操作几点补充说明跟FPGA实现的搜索性能比较,FPGA实现的插入/删除操作的性能要低得多,这是因为每个插入/删除操作需要更多的执行周期,而每个搜索任务可以在一个周期中完成。实验中,FPGA的性能是根据Virtex5LX330FPGA测算的,该FPGA可能已经过时了。如果采用最新的FPGA,性能可能会提升一些。CPU的性能是根据单线程/单核测算的,如果使用多线程/多核,性能可能会更高。本测算中CPU中的键值大小是64位,FPGA中的是32位。参考文献https://github.com/ifdefelse/ProgPOWBranchpreditor,Wikipedia,https://en.wikipedia.org/wiki/Branch_predictorYang,Y-H.E.andPrasanna,V.K.,HighThroughputandLargeCapacityPipelinedDynamicSearchTreeonFPGA,18thAnnualACM/SIGDAInt.Symp.onFieldProgrammableGateArrays,2010

网易星球产品尚在内测中 不会支持黑钻交易:网易星球负责人近日表示,网易星球产品还在内测中,需要邀请码才能注册。网易星球客户端主页显示“黑钻竞拍”功能,该功能还未上线。网易星球负责人顾费勇表示:“肯定是不支持交易的,这只是一个活动形式。”[2018/3/7]

雷锋网:“网易星球”涉嫌以伪区块链游戏收集用户重要隐私,疑为金融业务铺路:网易金融区块链产品“星球”被质疑为伪区块链项目,因其尚无代码和区块浏览器信息且黑钻总数不确定。此外,该项目被质疑收集包括身份证信息、旅行频次、健康信息、教育程度、社交信用程度、娱乐时长、购物金额、通讯信息等与用户真实身份与个人状态强相关资料,来引入合作企业平台进行“价值交换”。网易此番以网易金融名义伸出触角,该产品很有可能先从分析用户行为提供网贷等服务入手,后期再引入其他合作伙伴。[2018/2/9]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-8:79ms