外观
区块链基础
区块链是一种分布式数据库技术,通过加密和共识机制记录交易数据,形成不可篡改的链式结构。它作为去中心化系统的核心,支持加密货币、智能合约等应用,确保数据透明和可信。
什么是区块链?
区块链由多个区块按时间顺序链接而成,每个区块存储交易数据,并通过哈希值与前一个区块关联。网络中的节点共同维护副本,无需中央机构即可验证和更新数据。
示意图:
区块1 [哈希值|交易列表] -> 区块2 [哈希值|交易列表] -> ...
每个区块包含前一个区块的哈希,形成连续链区块链的核心特点
去中心化
区块链数据分布在多个节点上,不存在单一控制点。节点通过点对点网络通信,共同参与数据验证和存储,避免单点故障。
示意图:
中心化系统:
用户 -> 中心服务器 <- 用户
(数据集中管理)
区块链系统:
用户 <-> 节点A <-> 节点B
用户 <-> 节点C <-> 节点D
(每个节点存储完整数据副本)不可篡改性
一旦区块被添加到链上,修改其内容会改变哈希值,导致后续所有区块无效。这种机制确保历史记录难以被篡改。
示意图:
修改区块N:
区块N哈希改变 -> 区块N+1哈希不匹配 -> 链断裂
需要重新计算所有后续区块,计算上不可行透明性和可审计性
所有交易数据公开可查,任何用户都可以验证链上记录。区块链浏览器等工具允许实时查看交易详情。
示意图:
用户查询 -> 扫描区块链 -> 查看交易历史
数据公开,无需权限即可访问共识机制
节点通过共识算法 (如工作量证明或权益证明) 达成一致,确保数据一致性。共识防止恶意行为并维护网络安全。
示意图:
工作量证明(PoW):
节点竞争解决数学难题 -> 获胜者添加区块 -> 其他节点验证
权益证明(PoS):
节点质押代币 -> 随机选择验证者 -> 验证交易并添加区块安全性
区块链使用非对称加密保护交易。用户拥有公钥和私钥,私钥用于签名交易,公钥用于验证身份。
示意图:
交易流程:
用户用私钥签名 -> 广播到网络 -> 节点用公钥验证 -> 记录到区块区块链的技术组成
区块结构
每个区块包含区块头和交易列表。区块头包括前一个区块的哈希、时间戳、随机数 (nonce) 和默克尔根 (交易数据的哈希摘要)。
示意图:
区块头:
[前一个区块哈希|时间戳|随机数|默克尔根]
交易列表:
[交易1|交易2|...|交易N]
默克尔树:
交易哈希 -> 中间哈希 -> 根哈希
用于高效验证交易完整性哈希函数
哈希函数 (如 SHA-256) 将任意长度数据转换为固定长度哈希值。轻微输入变化会导致输出巨大差异,确保数据唯一性。
示意图:
输入数据 -> 哈希函数 -> 输出哈希值
例如: "Hello" -> SHA-256 -> "185f8db3..."
修改为"hello" -> 完全不同的哈希智能合约
智能合约是自动执行的代码,部署在区块链上。当预设条件满足时,合约自动触发操作,如转账或状态更新。
示意图:
合约代码:
if (条件A) { 执行动作X }
else if (条件B) { 执行动作Y }
部署后不可更改,在虚拟机中运行点对点网络
节点通过 P2P 协议直接通信,无需中央服务器。新交易和区块通过广播传播到整个网络。
示意图:
节点A -> 广播交易 -> 节点B、节点C...
节点验证后转发,形成网络同步共识算法细节
- 工作量证明 (PoW):节点通过计算竞争记账权,消耗能源但提供高安全性。
- 权益证明 (PoS):节点根据质押代币数量被选为验证者,节能但依赖经济激励。
示意图:
PoW:
节点计算哈希 -> 满足难度目标 -> 获得奖励
PoS:
节点质押代币 -> 被随机选中 -> 验证交易并获得费用区块链的工作原理
交易发起后,节点验证其有效性并打包到候选区块。通过共识机制,网络确认区块并添加到链上。整个过程自动化,无需人工干预。
示意图:
用户发起交易 -> 节点验证 -> 打包到区块 -> 共识确认 -> 链上记录
循环重复,形成增长链