新闻 ·

什么是BHD?BHD技术代码分析解读

作为POC共识机制中的龙头币种BHD,不仅开创了条件容量证明先河,而且还把POC容量证明带入了大众的视野,相比POC共识机制的开山鼻祖BRUST,但因为其每月减产5%的经济模型导致了该项目的失败,倘若没有BHD的传承和发扬,或许POC并没有这么快进入区块链视野,正因为BHD的出现,才有了今天共识机制三分天下的局面:POW、POS 、POC。

什么是BHD?BHD技术代码分析解读 新闻 第1张

BHD已经在全球最大的社交编程及代码托管网站GitHub实现代码开源,并创建项目主页,BHD在Github的地址:https://github.com/btchd/btchd

什么是BHD?BHD技术代码分析解读 新闻 第2张

BHD主要由三个技术板块构成:BTC的P2P网络架构,BURST的POC2共识算法,以及新增的CPOC条件容量证明

什么是BHD?BHD技术代码分析解读 新闻 第3张


BTC P2P网络架构

首先说说BTC P2P网络架构部分,BHD is forked from bitcoin,意思就是说BHD是fork的Bitcoin,即基于Bitcoin代码重写POW部分共识为POC共识,fork是开源软件最常见的方法,在开放源码的世界里软件都是互相借鉴,逐步发展的,BHD传承了BTC的核心,同时开创了新的赛道。

BHD Fork Bitcoin 是因为BTC 的技术足够安全,且UTXO体系成熟稳定,BTC经过了十年的发展,从来没有出现过一次安全漏洞,没有出现用户币被盗取的事件,而相对于BTC 之后出现的新项目例如ETH,EOS等,都曾有过币被盗事件,BTC的技术得到了认可,得到了验证,选择以BTC为基础的而进行开发的技术公链是非常安全可靠的。

什么是BHD?BHD技术代码分析解读 新闻 第4张

在下图中绿色按钮的上方有一个词“MIT‘,就是开源软件最常见的一种非常宽松的版权许可协议,即允许在开源代码基础上修改后还可以闭源。

什么是BHD?BHD技术代码分析解读 新闻 第5张

BHD在Github 正式开源之后就意味着任何人都可以在BHD的基础上进行编码,项目开源意味着把安全大门敞开了,任何人都可以进来,也就意味着项目足够的安全可靠,2019年,BHD源代码通过了国内顶尖的区块链技术审核公司成都链安科技、长亭科技、慢雾科技的安全审计。

什么是BHD?BHD技术代码分析解读 新闻 第6张

POC容量证明

其次再说一下POC容量证明,POC也叫POS(proof of space )意在以空间换取时间,通过硬盘存储哈希值代替计算哈希值解决ASIC所带来的不公平问题,POC最早在2014年BURST项目上进行实践,经过6年的发展,技术理论得以验证,技术稳定可行。

什么是BHD?BHD技术代码分析解读 新闻 第7张

什么是POC容量证明?简单点形容就是相比 POW 不停改变区块头的某个数字来猜测正确的哈希值,POC 把你猜数字的工作量变成了硬盘空间里的“测绘”(plotting)的工作量。
每个区块都会绑定一个专属的“谜题”,在挖矿还没开始前,网络就会把破解这个谜题的计算方法(solutions)储存在你的硬盘空间里。
这些计算方法有的比较快,有的比较慢,如果你的硬盘里恰好有一个计算方法,是目前最近产生的这个区块里的谜题所对应的“最快解”,那么你就赢得了这个区块的记账权——挖矿的奖励就是你的了。

POC 背后真正的挖矿算法,如果要实时计算的话是非常复杂的,而产生一个区块的时间又太短(平均每 4 分钟产生一个新的区块),因此这种挖矿的计算方法必须提前存储在硬盘驱动器的空间里。最终,如果你在硬盘空间里拥有越多的计算方法(也被称为plots),你用最快的速度去破解当前这个区块的谜题,实现的概率也就越大。

什么是BHD?BHD技术代码分析解读 新闻 第8张

更进一步讲,PoC其背后的核心理念,便是在存储资源上,"证明者(Prover)低效,验证者(Verifier)高效",以达到验证者可以花费很少的存储资源,在较少的计算时间内,验证证明者(Prover)拥有一定存储空间的目的。

什么是BHD?BHD技术代码分析解读 新闻 第9张

在Stefan Dziembowski提出的PoC算法中,文件的内容是一种有向无环图(Directed Acyclic Graph,DAG)结构, 以V代表图中所有节点,定义W(V), 要求其满足一个特性W(V)=Hash(V, W(V')), 其中V'为V在图中的直接前驱节点。

什么是BHD?BHD技术代码分析解读 新闻 第10张

Prover需要将每个节点的W值存储,以供Verifier在验证阶段随机抽取检验。Prover与Verifier的交互流程如下:
初始阶段:Verifier与Prover协商复杂有向无环图G,同时Prover计算所有W(V),并存储计算结果(此步骤需要的计算时间与存储空间,和图的节点数目成正比。)Prover 将所有W(V)的值组成默克尔树(Merkle Tree),同时将树根节点的值Φ发送给Verifier验证阶段:Verfier随机抽取节点V,要求Prover给出其W(V)的值,同时揭示其在Merkle Tree中的路径Prover提取其存储中的特定W(V),同时揭示其在Merkle Tree中的路径Verfier验证其W(V)的合法性,同时验证其是否存在以Φ为根的Merkle树中,在初始阶段,类似PoW算法中利用hash达到证明CPU的使用量,PoC在初始阶段要求诚实的Prover存储每个按照图结构计算出的节点hash值。由于在实际应用中,图节点数远远比上图要多, 同时图的连接关系也比上图更加复杂,考虑到最有可能的Prover作弊的情况是,Prover在初始阶段不使用大量的存储将Hash运算后的结果存储在磁盘上,而是在验证阶段重新使用CPU资源进行Hash的运算。

这样的以“时间换空间”的作弊行为显然是行不通的,因为在有限的验证时间内,投入巨大的运算资源重新计算每个节点的Hash值,既是不经济的,更是不现实的。
论文中选取 Random Bipartite Graphs 与 Superconcentrator Graphs 两类特定类型的DAG,两类图形的数学特性保证了节点间的连接关系的高度复杂性。
通过建立的 Pebble Game 模型,证明一个不诚实的Prover如果不存储与图节点相同数量的Hash值时,在常数有限时间内,不可能正确的通过验证者的验证。

什么是BHD?BHD技术代码分析解读 新闻 第11张

具体的模型细节和证明细节有兴趣的读者可以参考Stefan Dziembowski论文获取更多。

条件容量证明CPOC

最后再来说一下BHD的条件容量证明CPOC,BHD在BURST的POC基础上增加了条件容量证明即1T需要约3个BHD作为条件,3BHD会根据全网容量而进行实时的动态调整。
1T需要3BHD 是BHD的创新之处,也是BHD的核心,按照白皮书上所述:
在挖矿初期的前 1 个月,矿工挖矿完全免条件;从第二个月开始,矿工实行条件挖矿,不满足条件容量挖矿收益为全额的 30%收益保持不变,剩余的70%中,43%直接累计到下一个满足条件出块地址,剩余 27%分配到 BHD 发展基金,此后每 33600 个区块(约 10 周),BHD 发展基金收益降低2%,并将降低部分累积给到下一个满足条件挖矿的区块,直至首次减半时,BHD基金会收益降低至5%且不再降低,不满足条件容量挖矿出块的 65%收益累积给下一个满足条件挖矿的区块。如果矿工满足条件挖矿,将会获得 95%收益,5%纳入基金会用于市场推广这样的一种经济模型让矿工、矿池、基金会等所有的参与方产生正向博弈,使整个系统始终都会有一个较为主力的临时商业既得利益者去无形推动整个生态。

什么是BHD?BHD技术代码分析解读 新闻 第12张

而因为有了这个条件容量证明,BHD的钱包新增了指向,绑定功能,从而有了交易所、矿池、钱包的合作挖矿的理财产品,一环扣一环,整个生态相辅相成。

什么是BHD?BHD技术代码分析解读 新闻 第13张

总结,BHD从诞生到开源,从0PB到1500PB不过短短一年多时间,却相续获得了顶尖区块链技术审核公司、矿圈,币圈的认可,足以见证了POC这条赛道的潜力,也见证了BHD创新伟大的之处,未来还很长,任何项目都需要时间的沉淀才能见证其辉煌的时刻,耐心等待BHD发出耀眼光芒的那一天!

评论已关闭