编者按:本文来自QuarkChain,作者:QuarkChain团队,星球日报经授权转载。
我们写作这篇文章的目的,主要是想通过展示我们关于这个主题的一些初步想法,来和同行进行讨论,欢迎大家提意见。动机
众所周知,比特币挖矿主要是由是由ASIC矿机来完成的。这是因为ASIC设备的效率比普通CPU高1000多倍。由于高性能ASIC的制造被掌控在少数几个厂商手中,这引起了人们对于挖矿中心化的担忧。因此,开发者们提出了几种抵抗ASIC优化的算法,其中包括:Ethhash、CyptoNight和Equihash。但不幸的是,市场上还是出现了一些针对以上算法进行ASIC优化的矿机,它们声称比CPU或者显卡挖矿显著的提高了效率。在这些算法中,Ethash可能是被ASIC优化后效率增益最小的一种。Ethash算法的核心思想是通过执行内存密集型操作而取代计算密集型操作。这样内存的读取性能成为哈希算法的瓶颈,从而限制ASIC的优化效果。如果假设定制开发的硬件很难提高内存的读取速度,则通过ASIC对Ethash算法进行优化获得的性能增益应该非常有限。基于顺序统计的哈希算法的想法
Baer Chain第一侧链BV正式入驻OASIS绿洲游戏生态:据官方消息,全球区块链算力共享挖矿生态应用平台Bitcoin Vision(BV)宣布正式入驻OASIS 绿洲生态,双方将携手共同开发游戏生态领域的发展应用,实现全球生态大融合。
据悉,BV是Baer Chain主网上线后的第一条侧链,同时也是第一个加入贝尔大生态,并能够支持在OASIS绿洲平台完成支付的区块链项目,并即将正式入驻绿洲游戏生态。[2020/4/27]
在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命令,然后在不同的分支上执行不同的代码路径,这使得流水线和分支预测变得很难。为了打破执行过程的并发性,我们可以考虑采用于状态依赖的思路——任何未来的指令都依赖于当前状态,而这种状态可以频繁地被改变,这意味着我们不能预先执行未来的指令。基于顺序统计的哈希算法
声音 | WAsia Group财富经理:对于机构投资者而言 比特币越发不可忽视:投资咨询公司WAsia Group财富经理Andy Edstrom近期在谈到传统金融机构和投资者是否对比特币感兴趣时表示,虽然很多人都心存疑虑,但忽视比特币可能会付出高昂的代价。他称:“如果你是机构投资者,无论你是代表他人行事的财富管理公司,还是基金管理公司,你忽视比特币的借口每天都在减少,这些都是我认为机构投资者现在必须认真考虑的因素。”(AMBCrypto)[2020/2/2]
在本节中,我们将介绍我们提出的顺序统计哈希算法。该算法试图打破流水线,使代码的执行路径变得更加随机。在介绍这种新算法之前,让我们重新回顾一下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实现的性能比较
分析 | BitOasis突然下线XMR和ZEC或是迫于监管压力:The Merkle就“BitOasis在未通知用户情况下下线XMR和ZEC”一事发文称,该交易所正在询问一些非常私人的问题:他们希望用户解释资金来源、购买XMR和ZEC的目的以及外部取款情况。此外,BitOasis还希望用户能告知谁是受益人,或者为什么会收到这些资金。BitOasis还想知道是否有人代表第三方购买了XMR或ZEC。虽然大多数下线的加密货币可以在数周内兑换或取出,但BitOasis则迫使用户必须在5月31日之前转换账户余额,只有不到一周的时间办理。 文章分析称,监管压力或许是下线这两种加密货币的原因。大约两周前,BitOasis正在寻求在阿联酋获得特别许可证。而XMR和ZEC的下线似乎是获得该许可证的一部分要求。由于匿名形式的货币对现有的金融体系来说是一种风险,推测不无这方面可能。[2019/5/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
动态 | Squire Mining的ASIC芯片与预期参数不符,正进一步测试审查:据globenewswire报道,在加拿大证券交易所上市的挖矿公司Squire Mining宣布,其为挖BCHSV、比特币等SHA-256加密货币而设计的ASIC芯片的实际结果与设计参数不一致。Squire已开始对结果进行独立审核,Squire子公司AraCore Technology的总裁,以及领导该设计项目的前端微芯片工程师和程序员团队已经对芯片设计进行了进一步的测试和审查。Squire还宣布Taras Kulyk辞去首席执行官和董事的职务。[2019/1/23]
动态 | 以太坊开发者暂时同意阻止ASIC挖矿的新代码:据coindesk报道,以太坊开源开发社区成员周五暂时同意实施一种新算法,将阻止专门的挖矿硬件或ASIC,他们将对提议的代码进行进一步测试。如果被用户网络接受,代码更改(称为“ProgPoW”)将阻止ASIC。取而代之的是,新软件将允许通用或GPU硬件(通常被ASIC逐步淘汰)在平台上竞争以获得奖励。[2019/1/5]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。