
先理解区块链是什么
区块链可以理解为由多个网络参与者共同维护的、有顺序的数字记录。记录通常按批次写入区块,区块之间通过密码学哈希相互关联。所谓“链”,指的是后续区块包含前一区块的引用;若要改动较早的记录,通常还需要重新处理其后的关联数据,并面对网络的验证规则。
“分布式账本”强调数据由网络中的多个节点保存或核验,而不是只依赖单一数据库管理员。不同区块链的节点职责、数据保存方式和参与条件可能不同,因此“公开”“任何人都能参与”并非所有区块链的必然属性。
常见特点与术语
区块是交易等数据的集合。哈希是由数据计算得到的固定长度摘要,可用于检查数据是否发生变化;它不是加密后可还原的原文。比特币区块还可用默克尔树汇总交易哈希,并把汇总结果写入区块头,便于验证交易是否包含在某个区块中。
节点是运行相关软件、接收并验证网络信息的计算机或服务。全节点会依据自身规则检查区块和交易。节点对哪些数据有效达成一致,通常称为共识;而用于判定有效性的具体要求,常称为共识规则。共识不是所有节点必然在同一时刻收到完全相同信息,而是网络按机制处理传播延迟和竞争区块。
交易是请求网络执行的操作及其结果记录。不同系统的账本模型并不相同:以太坊使用账户和状态变化来表达资产与程序执行;比特币则采用未花费交易输出(UTXO)模型,后续交易引用并花费先前产生且尚未使用的输出。双重支付指试图重复花费同一笔可用价值,网络验证规则用于拒绝无效的重复使用。
共识、确认与不可篡改
共识机制说明参与者怎样选择或确认区块。工作量证明通过计算工作来竞争区块生成;权益证明则由验证者按协议参与提议或检查区块,并可能设置奖励与惩罚。它们是不同的设计,不应混为一种机制。区块链资料分别描述了比特币的工作量证明和以太坊的权益证明;这说明讨论机制时必须注明所指网络,不能把某一系统的做法套用于所有区块链。
“不可篡改”是对成本与验证约束的概括,不等于记录在任何情况下都绝对无法改变。链上记录被后续区块延伸后,修改历史通常会更困难;实际保障程度还取决于具体协议、网络参与状况以及攻击者能力。出现分叉时,节点可能暂时看到不同的有效区块,协议规则再决定后续采用哪条历史。
智能合约及适用边界
智能合约是部署在支持程序执行的区块链上的代码,用户可以提交交易来请求执行。执行结果可能改变链上状态,例如更新账户记录或数字资产归属。以太坊的虚拟机为网络参与者提供共同认可的执行环境。智能合约并非现实生活中的合同本身,也不能自动保证代码正确;其行为受程序逻辑和所在网络规则约束。
理解区块链特点时,宜把术语放回具体场景:先确认讨论的是哪条链,再区分账本模型、共识机制、节点职责和交易确认方式。分布式保存、密码学链接和规则验证是常见设计思路,但性能、隐私、治理和错误处理方式会因实现而异,不能仅凭“区块链”一词推断某项系统能力。