
区块链
文章平均质量分 70
maxzero
版权没有 盗版不究
展开
-
区块链学习(1) sha256算法 c语言实现
sha256算法,网上有很多的介绍,摘抄一段如下:SHA-256 算法输入报文的最大长度不超过2^64 bit,输入按512-bit 分组进行处理,产生的输出是一个256-bit 的报文摘要。该算法处理包括以下几步: STEP1:附加填充比特。对报文进行填充使报文长度与448 模512 同余(长度=448 mod 512),填充的比特数范围是1 到512,填充比特串的最高位为1,其余位为...原创 2018-08-17 10:59:19 · 12408 阅读 · 4 评论 -
区块链学习(2) 计算区块的哈希值
本文的目的:根据一个区块的信息算出他的哈希值区块信息:https://www.blockchain.com/zh/btc/block-height/20000区块头格式:共80个字节,上图中都是字符串,需要转换为二进制的区块头格式。字段 大小 描述 version 04字节 版本号 previous block hash 32字节 前一个区...原创 2018-11-29 15:55:48 · 9924 阅读 · 3 评论 -
区块链学习(3) 计算区块的merkle root
merkle tree相关的理论资料较多,这里不做过多描述。注意当一层的节点为奇数个,最后一个节点需要复制一下生成偶数个节点。每一层都要这样做。以区块181为例,来描述merkle root的生成过程。https://www.blockchain.com/zh/btc/block/00000000dc55860c8a29c58d45209318fa9e9dc2c1833a7226d86bc...原创 2018-12-06 16:49:45 · 2494 阅读 · 1 评论 -
区块链学习(4) 难度目标调整
1、最大难度目标中本聪规定:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF为最大目标值,区块要被比特币网络接受其哈希值必须要小于最大目标值。2、难度目标的存储以压缩格式存储在区块头部的nbits字段中,公式如下:target = coefficient*2^(8*(exponent-3))例如创世块的...原创 2018-12-17 16:53:36 · 3072 阅读 · 1 评论