分布式记账薄:基于P2P网络、共识机制、工作量证明 实现
区块结构:(≈1Mb)
header:80Byte
body:交易记录信息,每笔交易记录信息都会生成hash散列,并且利用hash tree,生成一个merkle_root值存放在header中
工作量证明:
计算body的merkle root的hash值,并与header其他字段,作为工作量证明的输入,然后不停的变更nonce值,并对每次变更后的header做 双重hash运算,与网络中的目标值作对比,如果小于目标值,就完成工作量证明
目标值:最大目标值/难度值 为了达到每十分钟产生一个区块
难度值:每最新的2016区块的时间除以按每十分钟一个区块计算的时间就是20160分钟的比值*旧的难度值 = 新的难度值
最大目标值:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
(原始难度值: 区块生成时间=难度值*2^32/hashrate)
(前导0的个数越多,难度越高)