Definition
A blockchain is a shared, distributed, and permanent database shared among multiple nodes on a computer network.
State Management & Nodes
historically traceable same as the linkedList

Genesis State: The initial state of the blockchain

Decentralization
the blockchain is a decentralized network mainly because storing data in a peer to peer network of nodes.
Useful blockchain demo
Each block contains the traction data. To some extends, Block = blockNum + nonce + data. Generate one unique hash number.
For Safety Consideration, If blockA hash change, blocks after blockA all gonna change.
And meanwhile distributed blockchain has the mechanism of democracy to ensure each block can not be modified by attacker.
I. 交易的生命周期:从创建到进入内存池
比特币网络中的基本活动单元是交易(Transaction)。一个完整的交易生命周期始于创建,终于被打包进一个不可篡改的区块中。主要过程是,
交易的创建与数字签名 (Authentication, not Encryption)
- 当一个用户(发送方)希望向另一位用户(接收方)转移比特币时,他会创建一个包含交易详情(输入、输出、金额)的数据结构。为证明该交易的合法性并防止伪造,发送方会使用其私钥(Private Key)对该交易数据进行数字签名(Digital Signature)。
- 原理:此处的关键是认证性(Authenticity)与完整性(Integrity),而非机密性(Confidentiality)。数字签名利用非对称加密原理,确保:
- 所有权证明:只有拥有私钥的人才能生成有效的签名。网络中的任何节点都可以使用发送方的**公钥(Public Key)**来验证该签名的有效性,从而确认交易发起者的身份。
- 不可篡改性:签名与交易内容唯一绑定。交易的任何微小变动都将导致签名验证失败,从而保证了数据的完整性。
- 广播与内存池 (Mempool)
- 签名后的交易被广播到比特币网络中。网络中的全节点(Full Nodes)接收到交易后,会对其进行验证(如检查签名、确认发送方有足够余额等)。
- 通过验证的合法交易会进入节点的内存池(Mempool),这是一个未经确认的交易的临时存储区域,等待被矿工打包进新的区块中。
II. 工作量证明的核心:区块构建与挖矿
“挖矿”是PoW机制的核心,是一个通过消耗算力来竞争记账权的过程,其本质是求解一个极高难度的数学难题。
- 区块头的结构 矿工从内存池中选取一批交易,并将这些交易的摘要(通过默克尔树算法生成的默克尔根, Merkle Root)与以下关键信息共同构成一个区块头(Block Header):
- 版本号(Version):软件版本信息。
- 前一区块哈希(Previous Block Hash):指向区块链中前一个区块的指针,这是形成“链”的关键。
- 时间戳(Timestamp):该区块创建的大致时间。
- 难度目标位(Bits):当前网络难度的紧凑表示形式,决定了下文所述的“目标值”。
- Nonce(随机数):一个32位的数字,是矿工在计算过程中唯一可以自由更改的变量。
- “数学难题”的本质:寻找一个有效的哈希值 比特币协议规定,一个有效的区块头必须满足以下条件:
H(Block Header)≤Target
其中,H 代表 SHA-256 加密哈希函数,
Target
是由“难度目标位”解码后得出的一个256位的极大整数。矿工的任务就是找到一个Nonce
,使得将包含该Nonce
的区块头进行两次SHA-256运算后,得出的哈希值在数值上小于或等于当前网络的目标值。- SHA-256函数的关键特性与“暴力搜索”的必然性 矿工无法通过智力或解析手段“构造”一个符合要求的哈希值,其根本原因在于SHA-256函数的密码学特性:
- 确定性(Deterministic):相同的输入永远产生相同的输出。
- 抗原像攻击(Pre-image Resistance):即单向性。无法从一个已知的哈希输出反向推导出原始输入数据。这是导致矿工无法“按需制造”答案的根本原因。
- 雪崩效应(Avalanche Effect):输入的任何微小变化(如Nonce加1)都会导致输出的哈希值发生巨大且完全不可预测的变化。这使得矿工无法根据上一次失败的结果来“优化”下一次的尝试。
基于以上特性,求解该难题的唯一方法是暴力搜索(Brute-force Search):矿工不断地迭代
Nonce
值(从0开始,每次加1),并对每一次形成的、新的区块头计算哈希值,直至某个Nonce
值使得最终的哈希结果满足小于目标值的条件。- 前导零的解释 在实践中,网络难度极高,导致目标值(Target)非常小。一个数字要小于一个极小的目标值,其最高有效位必须有大量的零。因此,我们看到的有效区块哈希通常以大量的前导零开头(例如,在2025年9月,通常为19个左右)。这些前导零并非规则本身,而是“哈希值小于目标值”这一规则所带来的一个直观现象。
III. 共识达成与网络安全保障
- 区块的验证、广播与共识
- 一旦某位矿工率先找到有效的Nonce,他便将完整的区块(包含区块头和交易数据)广播至全网。
- 其他节点接收到新区块后,会进行快速验证。该验证成本极低,仅需执行一次哈希运算即可确认PoW的有效性,并检查区块内所有交易的合法性。
- 验证通过后,节点会将该区块添加到自己的本地区块链副本中,并切换到基于这个新区块的下一轮挖矿竞赛。网络中的大多数节点都接受并延长了同一条区块链,这即是去中心化共识的达成(“最长链原则”)。
- 难度调整机制 (Difficulty Adjustment) 为确保区块的平均产生时间稳定在约10分钟,比特币协议设计了难度调整机制。每隔2016个区块(约两周),全网所有节点会自动根据过去2016个区块的实际产生时间,按固定公式重新计算难度目标值:
- 若平均出块时间小于10分钟,说明总算力增强,网络将降低目标值(即提高难度)。
- 若平均出块时间大于10分钟,说明总算力减弱,网络将提高目标值(即降低难度)。
- 网络安全保障 PoW机制通过经济激励和高昂的攻击成本来保障网络安全:
- 算力攻击成本(51%攻击):任何试图篡改历史交易的攻击者,不仅需要重新计算被篡改区块的PoW,还必须计算其后所有区块的PoW,并且其算力增长速度必须超过全网其他诚实矿工的总和。这需要掌握超过51%的全网算力,其硬件与能源成本是天文数字,使得攻击在经济上几乎不可行。
- 去中心化与数据冗余:区块链账本由全球成千上万的节点共同维护,不存在单点故障,使得任何物理或网络层面的攻击都难以奏效。