forked from Bitcoin-ABC/bitcoin-abc
-
Notifications
You must be signed in to change notification settings - Fork 16
Freecash区块结构 及 挖矿协议改进
caisirius edited this page Jan 3, 2020
·
2 revisions
- Coinbase中,在矿工输出的基础上,增加开发者奖励输出
-
矿工输出,初始25FCH,大约每一年缩减至80%,21次缩减后固定不变
-
开发者奖励输出,初始25FCH 大约每一年减半,21次减半后固定不变
-
开发者奖励输出固定在第二个输出(n=1)
- Coinbase的输出,固定使用P2PKH脚本
协议介绍: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例子