bitcoin计算Block Hash
bitcoin的创世块的数据是已 hard code的形式写在源码里,
之后的block hash都是通过固定的方式计算出来的. 怎么计算出来呢?
每一个block都有:
version 即网络节点的版本号
prev_block 前一个块的hash,创世块没有,以后的块都有
mrkl_root , 是 Merkle tree , 即默克尔树
time 即时间戳,当前时间
bits 网络的难度
nonce 随机数
这个 nonce 就是 Pow 要计算的随机量 , 区别是要计算2次hash.
先把 version prev_block mrkl_root time bits nonce 当做字符串合并到一起, 得到结果 result . 得到 result 后, 做2次 sha256运算, 得到 hash , 再然后 hash 做大小端转换, 最后的结果就是这个block的hash.
不过 version time bits nonce 要转换为 unsigned long型小字端,
prev_block mrkl_root 要转换为16进制并大小端转换, 这一步确实很麻烦.
测试睁桥下 height=1 的 block hash值
挖矿做的工作
在一个block的结构中, version prev_block mrkl_root time bits 都是很容易计算的. 只有 nonce 这个随机数不确定.
bitcoin的 pow 就是 找到一个合适的 nonce , 使得 version prev_block mrkl_root time bits nonce 合并的结果 reuslt ,再经过2次sha256计算, 达到一个符合明早橡bitcoin网络难度的数值. bitcoin的网络难度通过 bits计算, 难度即最后计算的hash的前n位是零.
每一个block hash的计算, 都包含了prev_block_hash,这也是链的体现, 增加了攻击bitcoin的难度. 如果有人改了一个block的hash, 这个块之后的所有的块hash都要重新计激旁算.
python处理字节序
参考:
BTC主网节点搭建
-环境历消滚 Centos7+
-硬盘500GB+
宝塔肢余环桥配境,硬盘挂载到www盘
cd /www/ wget
tar zxf bitcoin-0.20.1-x86_64-linux-gnu.tar.gz
ln -fs /www/bitcoin-0.20.1 /www/bitcoin
ln -fs /www/bitcoin-0.20.1/bin/bitcoind /usr/local/bin/bitcoind
ln -fs /www/bitcoin-0.20.1/bin/bitcoin-cli /usr/local/bin/bitcoin-cli
mkdir -p /www/btc_data
mkdir ~/.bitcoin
vim ~/.bitcoin/bitcoin.conf
yum install vim -y
bitcoind -daemon
bitcoin-cli stop
bitcoin-cli getblockchaininfo
bitcoin-cli getmininginfo
比特币网站有哪些官网
比特币网站没有比特币官网,只有比特币基金会创建的一个比特币网站敏昌。
比特币-开源的P2P货币:bitcoin.org。里面支持好多国家的语言,你可以自行选择猜返。如果想看中文的相关资讯,可以去“比特币之家”。
比特币之家:是一家比特币中文门户网站,上面有用户需要的大部分信息。比桥兆扒特币之家报道的范围比较广,比较适合一般投资者和小白。btc123:是一个比特币相关的导航网站,不过在二宝的经营下已经完全变成了一个商业性的网站。
比特币官网?
没做拍有什么比特币官网,只有比特竖慎币基金会创建的一个比特币网站:比特币 - 开源的P2P货币:bitcoin.org。里面支持好多国家的语言,你可以自行选择。如果想看中文的相关资讯,可以去“比特币之家”。具体有多少人在做,这个不好说。估纯纤羡计有上百万吧。
上述文章就是科灵网介绍的bitcoinorg和的详细回答,希望能够帮助到大家;如果你还想了解更多财经资讯知识,记得收藏关注我们。
标签: bitcoinorg