成都链安安全团队于 2019年9月6日,受 BHD公链团队授权,对BHD公链代码进行安全审计,审计内容包括编程语言代码安全审计、公链业务层安全审计(共识算法、交易、RPC协议、账户安全和wallet安全等)。
审计全程发现的若干高危漏洞及中低危漏洞,均提交项目方并提供修改建议,项目方均完成修复并通过复核,协助项目方增强代码安全性和健壮性,完成完整审计文档交付。
成都链安长期致力于研究区块链安全技术,在公链涉及的P2P网络、共识机制、RPC通信、智能合约虚拟机等方面具有丰富的安全研究经验和技术积累。针对区块链平台的安全审计能力居国内一线水平,成都链安累计发现各公链生态漏洞近百份,已为全球1000多份智能合约、50多家公链和钱包、近100家交易所提供安全审计与防御部署服务,并与蚂蚁金服、普华永道、微众银行、万向集团、火币、OKex、本体、Celer、布比等国内外100多家企业建立合作关系。
...展开BitcoinHD(比特硬币,简称BHD)是基于Conditioned Proof Of Capacity (简称:CPOC)的新型加密货币。其主要的特点是使用硬盘作为共识的参与者,降低加密货币对电力资源的消耗,降低参与门槛,让其生产方式更趋向去中心化方式,并更加安全可信,让人人都能参与到加密货币的开采,通过数学算法以及分布式开采产生信用和价值。
BHD是POC挖矿所得,什么是POC挖矿?简单点来说,就是在开始挖矿之前在你的硬盘里计算和储存好shabal散列函数问题的解决方案,提前将“答案”放到硬盘里面去,这个过程我们称之为“绘制”,绘制使用称为Shabal的非常慢的哈希,这与SHA-256哈希不同,SHA -256是比特币矿工快速使用的。由于Shabal哈希很难计算,我们预先计算它们并将它们存储在硬盘上。矿工挖矿一般会涉及到以下过程:
1、P盘(Plot)
Miner(矿工)在本地硬盘Plot 文件,用哈希值填充硬盘。硬盘容量越大,填充的Hash值越多,爆块的概率越高,简单来说,你的容量越大,获得收益也会越高。技术原理:矿工挖矿创建一个名为nonce的东西,通过重复散列数据(包括您的帐户ID)创建随机数。你为绘图分配的硬盘空间越多,您可以存储的nonce就越多。一个随机数最终将包含8192个哈希值。这些8192个哈希是成对组织的,称为scoop。每个scoop会被分配一个从0到4095的数字。绘图时间的长短将根据你硬盘容量大小而定,一般1T硬盘所需绘图时间为10几个小时。
2、转账(Transaction)
BHD基于BTC钱包重新构建了一套安全的P2P网络,矿工在钱包之间进行转账操作,BTC钱包的安全性与稳定性经过多年的验证已经相对完善,这使得BHD钱包得到了保障。
3、打包(Forging)
Miner通过钱包,侦听P2P网络,每当收到一个块,就开始下一块块的打包过程。钱包组织一个Block,把block的哈希值发给Miner,Miner寻找最匹配的Nonce。钱包收到Nonce后,把Nonce转成Deadline(时间),然后等待到这个时间结束后,把块广播出去。在挖掘过程中,矿工需要计算一个0到4095之间的一个勺数。假设你的计算给你一个42的勺数,然后你会去挖掘一个42的nonce1 并使用该scoop数据计算一个时间量,这个时间称为截止日期。你对硬盘上的所有nonce重复此过程,在计算完所有截止日期后,你将选择最短期限,截止日期表示“在允许创建块之前,最后一个块被创建后经过的秒数”,如果没有其他人在这段时间内创建一个区块,你创建了一个区块便会获得一个区块奖励,因为你能够生产的截止日期比其他矿工的截止日期短,你比其他矿工快,所以你将得到奖励。例如,在挖掘时,您的最小期限为25秒。如果没有其他人可以在接下来的25秒内打造一个区块,你将有机会打造这个区块并获得奖励。
4、验证(Verify)
矿工收到Block之后,进行验证,获得奖励。
BHD的共识算法在POC的基础上进行了升级,称之为:CPOC (Conditioned-Proof of Capacity),即”条件化容量证明”,也就是有条件的容量证明。挖矿初期的前1个月,矿工挖矿完全免条件;从第二个月开始,矿工实行条件挖矿,如果矿工不满 足条件挖矿,只能获得30%的收益,70%的币将会纳入基金会用于系统开发、市场推广和运营;如果矿工满足条件挖矿,将会获得95%收益,5%纳入基金会用于市场推广。
方旭初
比特硬盘 创始人