上一篇文章中,我们探讨了StefanDziembowski的PoC形式化模型和证明的讨论,本篇文章着重讨论BurstCoin实际运行的PoC完备系统的算法细节,涵盖Plot文件和出块流程两个方面。
PoC硬盘利用与Plot文件 Plot文件是每个参与出块的节点或矿工需要在硬盘中存储的文件,其内容由大量特定结构的Hash值组成。Plot文件包含以下基本概念:
- Shabal256:BurstCoin所使用的Hash算法,相比SHA256等其他算法,Shabal需要更多CPU计算时间和计算量。 - Nonce:Plot文件中拥有固定编号的基本单元,由256KB的数据构成,是矿工用来参与PoC过程的基础逻辑单元。 - Scoop:每个Nonce由4096个Scoop构成,同样拥有编号,其编号范围为0-4095。每个Scoop包含2个Hash值,也即一个Nonce包含8192个Hash值。
Nonce的生成流程如下:
- Nonce文件的种子由AccountId(即BurstCoin网络中的用户地址或者用户Id)与NonceId(即Nonce编号)组成,经过第一次Hash,生成Hash#8191,即Nonce中的编号为8191的Hash值。 - #8190Hash值由之前一个#8191Hash值与AccountId,NonceId生成。 - #8189Hash值由之前两个#8191Hash,#8190Hash值与AccountId,NonceId生成,依次类推,每下个Hash值,都有其之前计算的所有Hash值与AccountId,NonceId生成。如果过程中超过了4096个bytes,则取最近生成的4096bytes由Hash#0-8191与AccountId,NonceId共同生成,之后对8192个Hash值都分别对其进行异或操作,作为每个Hash最终的值。 - 得到了8192个Hash值后,Scoop文件的结构如图所示。
这同时也是矿工参与挖矿的最低门槛,即只要有大于等于1个Nonce文件即可参与挖矿。而根据BurstCoin全网算力估计,需要约117亿个Nonce,但一般家用主机只能存储200万个Nonce,因此低算力往往以参加矿池的形式参与挖矿。
PoC的共识与出块 PoC共识的完整挖矿流程包括GenHash的生成、ScoopNumber的计算、target和deadline的计算、交易打包及区块铸造和广播。
值得一提的是,BurstCoin的区块负载大小限制为176KB,平均可以承载19k个左右的交易,理论tps上限约为80,与其他PoW类型的区块链系统相类似。
结合StefanDziembowski的模型,我们可以探讨BurstCoin是否可以纳入其框架之下,并分享某些核心问题的解决方案。
链博科技致力于分享区块链领域的底层技术知识,同时从产业结合角度深入思考,推进区块链落地项目的建设,并为企业提供
最近,迅雷链宣布与呼叫技术达成战略合作,将共同发展区块链 共享便利服务业务。点电作为最具影响力的共享充电宝品牌,将成为该领域第一家应用区块链的企业。迅雷链也为区块链行业增加了巨大的应用,使区块链技术更接近公众。目前,呼叫...
从文化或组织的特点出发,人类可以大规模合作,在地球上的许多生物中脱颖而出,达成共识。没有共识,就不可能形成机构合作的力量,其中一些来自国家机器,如货币的使用,这需要国家的信用认可。比特币的诞生给我们带来了网络独立运行的成...
我们知道,区块链系统本质上是一个所有人共同预定和维护的大系统。那么全世界的人们是如何实现共同记账和维护的呢?这必须依赖于我们今天要提到的共识。机制。共识机制,顾名思义,就是参与整个网络的个体(节点)用来达成共识的机制。截...
共识:共同的认识,指一个社会不同阶层、不同利益的人所寻求的共同认识、价值、理想。区块链共识,共识层,共识协议,价值共识等等各类共识,似乎共识已经成为Web3行业人人问候及划分阶层的标签。3.时间时间对群体形成意见的影响巨...