Genesis Block 是比特币主网预先确定的初始区块。其区块头标注2009年1月3日。它包含一笔交易,创建了一个50 BTC 的输出;该输出受到特殊处理,无法花费。
Genesis 没有前一区块,对应的区块头字段为零。Bitcoin Core 根据网络参数构造其数据,并检查预期哈希。因此,节点不会从其他节点随意提供的区块开始。高度1的区块引用 genesis 的哈希;更换起点就会形成不同的历史。 [Bitcoin Core v29.0 — chain parameters]
区块头时间为1231006505,即2009年1月3日18:15:05 UTC。这是区块创建者填写的数值,并非独立记录的挖矿完成时间。内部的报纸文字有助于确定历史背景,但本身不能证明准确时刻或作者的真实身份。 [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]
唯一交易的输入包含一段英文《泰晤士报》标题,内容涉及可能即将发生的第二次银行救助。消息属于交易数据,并不是区块浏览器的附注。将它视为对银行救助的批评,是对选文的解释;协议不会由此推导政治规则。 [Bitcoin Core v29.0 — chain parameters]
连接 genesis 时,Bitcoin Core 跳过连接其交易,所以最初的输出没有进入 UTXO 集合。这不是通常的挖矿奖励成熟等待期,增加确认也不会解锁它。即便知道对应私钥,也不能凭空创建这个缺失的可花费输出。 [Bitcoin Core v29.0 — genesis validation exception]
浏览器可能显示某个与 genesis 关联的地址后来收到的付款。这些并非区块0的原始输出:它们有各自的交易标识和花费条件。Genesis 的特殊跳过处理不会自动适用于它们。因此,地址余额不能与最初50 BTC 的可花费性混为一谈。 [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]
在自己的主网节点上,getblockhash 0 返回以000000000019d668开头的标识。使用该哈希并将详细程度设为2调用 getblock,可查看区块及解码后的交易。可以将数据与 Bitcoin Core 参数比较;单凭浏览器截图不能替代数据核验。 [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]
测试网络和 regtest 有各自的参数及不同的 genesis 哈希。比较前应检查网络,而不仅是高度0。Genesis 一致只确定共同起点,本身不能证明后续所有区块有效、钱包安全或某人当前控制着密钥。 [Bitcoin Core v29.0 — chain parameters]
要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, 区块补贴, Timechain. 反向关联还来自: Bitcoin, Satoshi Nakamoto, Timechain, 区块补贴.