共识机制 矿工们在挖矿过程中会得到两种类型的奖励:创建新区块的新币奖励,以及区块中所含交易的交易费。为了得到这些奖励,矿工们争相完成一种基于加密哈希算法的数学难题,这些难题的答案包括在新区块中,作为矿...
精通比特币(69):挖矿简介
“挖矿”这个词有点误导,更多将人们的注意力集中到创造每个区块中获得的奖励。 虽然挖矿能够获得这种奖励作为激励,但挖矿的主要目的不是这个奖励或者产生新币。 如果您只是把挖矿视为创建新币的过程,则会将比特...
精通比特币(68):使用测试区块链进行开发的流程
Bitcoin的各种区块链(regtest,segnet,testnet3,以及主干网)为比特币开发提供了一系列测试环境。 无论你是开发比特币核心还是另一个全节点共识客户端,诸如钱包,交易所,电子商务...
精通比特币(67):比特币的测试区块链
2009年1月3日由Satoshi Nakamoto创建的“主要”比特币块链,即本章研究的创世区块所在的网络,被称为主干网。另外还有其他用于测试的比特币区块链:现存的有testnet,segnet和r...
精通比特币(66):Merkle树和简单支付验证(SPV)
SPV节点不保存所有交易也不会下载整个区块,仅仅保存区块头。它们使用认证路径或者Merkle路径来验证交易存在于区块中,而不必下载区块中所有交易。 例如,一个SPV节点想知道它钱包中某个...
精通比特币(65):区块中的Merkle树
区块链中的每个区块都包含了产生于该区块的所有交易,且以Merkle树表示。 Merkle树是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构。这种二叉树包含加密哈希值...
精通比特币(64):创世区块
创世区块 区块链里的第一个区块创建于2009年,被称为创世区块。它是区块链里面所有区块的共同祖先,这意味着你从任一区块,循链向后回溯,最终都将到达创世区块。 因为创世区块被编入到比特币客...
精通比特币(63):区块标识符:区块头哈希值和区块高度
区块可以通过两种方式被识别:区块哈希值或者区块高度。 基于区块头哈希值识别区块的 区块主标识符是它的加密哈希值,一个通过SHA256算法对区块头进行二次哈希计算而得到的数字指纹。 &nb...
精通比特币(62):区块头
区块头由三组区块元数据组成。 首先是一组引用父区块哈希值的数据,这组元数据用于将该区块与区块链中前一区块相连接。 第二组元数据,即难度、时间戳和nonce,与挖矿竞争相关。 第三组元数据是merkle...
精通比特币(61):区块结构
区块是一种被包含在公开账簿(区块链)里的聚合了交易信息的容器数据结构。它由一个包含元数据的区块头和紧跟其后的构成区块主体的一长串交易列表组成。区块头是80字节,而平均每个交易至少是250字节,而且平均...