• p6.BTC-挖矿难度


    挖矿就是不断调整nouce和header中其他可变字段,使得整个block header 的hash值小于等于target,target越小,挖矿难度越大。

    出块时间设置为了10分钟,可以尽可能避免同时发布区块,导致最长区块链多次分叉,总算力被分叉分散,而恶意节点算力集中在恶意节点后面抢到最长区块链的6个确认区块。其实10分钟是人为规定的,其实8分钟,5分钟原则上也可以。对于一个支付系统太长了,所以以太坊出块时间是15s,它也会调转挖矿难度,保证出块时间稳定,它的共识协议叫ghost。

    挖矿难度在代码中设定为每2016个区块调整一次(以太坊是每个区块调整一次),预期时间约14天,会按照2016个实际挖出来的时间再上下调整一下难度。

    系统会自动调整,如果某个恶意节点故意不调,target是2的256位取值范围,需要32个字节存储,所以它有一个压缩的编码 nBits 4个字节存储在block header中,其他诚实节点检查该nBits区,如果没有调,则不会接受。

    因为这个比特币的设计师比较保守的,比如说出块时间,使用的语言,每个块最多1M字节都有争议,所有后来才发展了那么多虚拟货币。

  • 相关阅读:
    (十一)设置关闭多核cpu的核
    (十)修改开发板主频
    (九)How to use the audio gadget driver
    (8)全志A64查看寄存器
    内存溢出问题配置
    百度数据库优化经验
    如何让sql运行的更快
    百度性能优化
    spring ioc原理
    JNDI
  • 原文地址:https://www.cnblogs.com/carlous/p/11073241.html
Copyright © 2020-2023  润新知