Freecash区块结构-及-挖矿协议改进

技术文档网 2021-05-26

Freecash区块结构承袭自BCH。

Freecash的改进包括:

  1. Coinbase中,在矿工输出的基础上,增加开发者奖励输出
  • 矿工输出,初始25FCH,大约每一年缩减至80%,21次缩减后固定不变

  • 开发者奖励输出,初始25FCH 大约每一年减半,21次减半后固定不变

  • 开发者奖励输出固定在第二个输出(n=1)

  1. Coinbase的输出,固定使用P2PKH脚本

挖矿协议 getblocktemplate 改进

协议介绍:https://en.bitcoin.it/wiki/Getblocktemplate

协议改进:由于Freecash Coinbase的变化,矿工在构造Block时,从现有的 getblocktemplate 协议中无法获取全部构造参数, 缺少了开发者奖励的输出参数 改进后的 getblocktemplate 协议如下:

{
  "capabilities": [
    "proposal"
  ],
  "version": 536870912,
  "previousblockhash": "000000000000003583a01c6f3a102a70f412f7cc3253570a802a926b6e5a71a9",
  "transactions": [
  ],
  "coinbaseaux": {
    "flags": ""
  },
  "coinbasevalue": 2500000000,
  "coinbasedevreward": {
    "value": 2500000000,
    "scriptpubkey": "76a914f1704a9663c1e530f82ca1bc7ff52f0f65abc1ca88ac"
  },
  "longpollid": "000000000000003583a01c6f3a102a70f412f7cc3253570a802a926b6e5a71a94929",
  "target": "0000000000000084360000000000000000000000000000000000000000000000",
  "mintime": 1578059147,
  "mutable": [
    "time",
    "transactions",
    "prevblock"
  ],
  "noncerange": "00000000ffffffff",
  "sigoplimit": 20000,
  "sizelimit": 1000000,
  "curtime": 1578059849,
  "bits": "1a008436",
  "height": 4927
}

增加了:

"coinbasedevreward": {
    "value": 2500000000,
    "scriptpubkey": "76a914f1704a9663c1e530f82ca1bc7ff52f0f65abc1ca88ac"
  },

其中,value 是开发者奖励的输出值 scriptpubkey 是开发者奖励的输出脚本

矿工使用这两个参数构造Coinbase的第2个输出。

一个 Freecash Coinbase 的例子: Tx例子

相关文章

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod

随机推荐

  1. 硅谷互联网公司的开发流程

    开发流程包括这么几个阶段: OKR 的设立; 主项目及其子项目的确立; 每个子项目的生命周期; 主项目的生命周期; 收尾、维护、复盘。 第一点,OKR 的设立 所有项目的起始,都应该从 Ro

  2. RESTful-表述性状态转移风格

    REST英文全拼:Representational State Transfer 面向资源编程 资源指的就是一类数据 产品表->就是产品资源 最重要的是如何表示一个资源 地址即

  3. 稳定性思考

    产品功能线 0-1: 当系统从无到有的时候,首要考虑的是研发效率,功能快速迭代,满足快速增长的业务需求 1-10 系统已经搭建起来,此时考虑的是系统的稳定性。 可用性:1.隔离:区分出核心和非核心功能

  4. Supervisor守护队列发邮件

    安装 CentOS: yum -y install supervisor Debien/Ubuntu适用:apt-get install supervisor 配置 修改主配置文件:vim /et

  5. 安装libsodium,让服务器支持chacha20等加密方式

    用chacha20加密方式需要安装libsodium 注意:libsodium从1.0.15开始就废弃了aes-128-ctr yum install wget m2crypto git libsod