区块链是实现比特币的核心技术,这里是对后面参考资料所涉及文章中的知识进一步的整理总结。

概念(历史不可更改)

  • 区块链=区块集合
  • 区块=区块头+区块体
  • 区块头=时间+上区块hash+区块体hash+其它?
  • 区块体=数据?
  • 区块hash=hash(区块头)

区块链更新过程(非实时,耗时间)

写入时机

  • 规定应当平均每10分钟写一次区块链(追加区块)
  • 实际写时需要计算hash,hash值小于target才允许写入区块链,

注:计算符合条件的hash,实质是部分hash的破解。

时机的确立

  • 通过难度系数决定hash大小,进而决定计算时长,target=maxtarget/难度系数,
  • 计算时,通过引入穷举的nonce值参与本区块hash值反复计算,以便尝试生成满足条件的hash(没有则允许修改区块体)

注:引用穷举的nonce值参与hash计算,实质是使用暴力方式进行部分hash破解。

难度系数的确立与调整

  • 两周调整一次难度系数,如果本轮两周平均时间大于/小于10分钟一个区块,则难度系数相应调低/调高

注:通过调节难度系数,实质是要求部分hash破解所破解的信息更多一些。

区块链更新确认(六次确认,多数人定真伪)

如果同时两个(多个?)计算hash成功并写入区块链,那么他们的自分叉点区块后,谁先到达6个就采用谁的分支。

以上被称作6次确认,最长分支拥有主要算力,按照上述说法,对于区块链的更新确认,理论平均1个小时才能达到。

参考资料