1. 首页 > 创业 > 故事

深度解析挖矿的逻辑和技术实现

以域名币的混合挖矿举例,比特币作为父链(Parent Blockchain),域名币作为辅链(Auxiliary Blockchain),AuxPOW协议的实现无需改动父链(比特币当然不会为了域名币做任何改动),但辅链需要做针对性设计,比如狗狗币改为支持混合挖矿时就进行了硬分叉。

AuxPOW的实现得益于比特币Coinbase的输入字段,中本聪当初不知有意无意,在此处只规定了长度限制,留了一片未定义区域。这片区域后来对比特币的发展产生深远影响,很多升级和优化都盯上这片区域,比如上述文章讲的Stratum协议。中本聪类似的有意无意情况还有很多,比如交易的nSequence字段,也是因为没有明确定义,被黑客盯上引发的“延展性”问题成了“门头沟”倒闭的替罪羊。再比如说nNonce,如果一开始定义的字节大一些,你比方说32字节,挖矿的演进就不需要上面这些讨论的那么多协议。

AuxPOW协议核心理念不同的地方在于:

对于经典的POW区块,规定只有难度符合要求才算一个合格的区块,AuxPOW协议对区块难度没有要求,但附加两个条件:

1. 辅链区块的hash值必须内置于父链区块的Coinbase里。

2. 该父链区块的难度必须符合辅链的难度要求。

将辅链区块的hash值内置于父链的Coinbase,其实是利用父链作存在证明。这样就可以实现间接依靠父链的算力来维护辅链安全。一般来说,父链的算力比辅链大,因而满足父链难度要求的区块一定同时满足辅链难度要求,反之则不成立。这样一来,很多本来在父链达不到难度要求的区块,却达到辅链难度要求,矿工g=广播到辅链网络,在辅链获得收益,何乐而不为。

AuxPOW协议对两条链都有一些数据结构方面的规定,对于父链,要求必须在区块的coinbase的scriptSig字段中插入如下格式的44字节数据:

对于辅链,对原区块结构改动比较大,在nNonce字段和txn_count之间插入了5个字段,这种区块取名AuxPOW区块。

混合挖矿要求父链和辅链的算法一致,是否支持混合挖矿是矿池的决定,矿工不知道是否在混合挖矿。矿池如果支持混合挖矿,需要对接所有辅链的节点。

将辅链区块hash值内置在父链的Coinbase,意味着矿工在构造父链Coinbase之前,必先构造辅链的AuxPOW 区块并计算hash值。如果只挖一条辅链,情况较为简单,如果同时挖多条辅链,则先对所有辅链在挖区块构造Merkleroot。矿池可以将特定的44字节信息内置于上述文章Stratum协议中提到的Coinb1中,交给矿工挖矿。对矿工返回的shares重构父链区块和所有辅链区块,并检测难度,如果符合辅链难度要求,则将整个AuxPOW区块广播到辅链。

辅链节点验证AuxPOW区块逻辑过程如下:

1. 依靠父链区块头(parent_block)和区块Hash值(block_hash,本字段其实没必要,因为节点可以自行计算),验证父链区块头是否符合辅链难度要求。

2. 依靠Coinbase交易(coinbase_txn)、其所在的分支(coinbase_branch)以及父链区块头(parent_block),验证Coinbase交易是否真的被包含在父链区块中。

3. 依靠辅链分支(blockchain_branch),以及Coinbase中放Hash值的地方(aux_block_hash),验证辅链区块Hash是否内置于父链区块的Coinbase交易中。

通过上面这些3点验证,则视为合格的辅链区块。

CONCLUSION

中本聪最初设计比特币时希望所有节点都采用CPU挖矿,一般认为只有这样才能充分保证区块链的去中心化特征,比特币在CPU时代安全度过了萌芽阶段。getwork和cgminer将挖矿带入GPU时代,国内显卡曾经一度脱销,全网算力迅速提升了一个档次,CPU挖矿惨遭淘汰。随着越来越多人参与挖矿,全网算力不断上升,催生了抱团挖矿(矿池)。然而GPU时代的繁荣历史也没能持续多久就被getblocktemplate,stratum以及矿机带入了ASIC时代。

getwork实现了数据与挖矿分离,getblocktemplate给外部挖矿程序提供了最大自由度,彻底解决了外部挖矿程序与节点交互的可扩展性问题(scalability problems),主要用于矿池与网络节点对接。stratum不但解决了搜索空间不足的问题,同时也解决了矿池与矿机交互数据量大的问题。getblocktemplate和stratum这两个协议使大型矿池,大规模矿场,大算力矿机成为可能,从此挖矿产业进入一个全新阶段,此后挖矿的演进主要集中于几个方向:矿池的设计优化与稳定运行,矿场的科学部署,以及矿机工艺升级,提升算力,降低功耗等。

作者:周邺飞—币创网技术副总裁、区块链技术专家、DACA区块链协会讲师。

 3/3   首页 上一页 1 2 3

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.longfuchaju.com//chuangye/gushi/4932.html

联系我们

在线咨询:点击这里给我发消息

微信号:wx123456