
区块链的基本组成
区块链是一种由网络节点共同维护记录的技术体系。理解它可以围绕四个问题展开:记录怎样组织、请求怎样验证、节点怎样取得一致,以及应用怎样使用这些记录。不同区块链采用的具体方案有所区别,不能把某一种实现视为所有区块链的共同配置。
分布式网络与共识
节点通过网络传播交易和区块,并依据协议检查收到的信息。分布式维护让记录存在于多台计算机上,也带来了消息到达时间不同、候选记录冲突等协调问题。

共识机制为这些问题提供处理规则。比特币采用工作量证明,以太坊采用权益证明。两者以不同方式约束区块生产和历史选择。共识依赖协议规定的条件,并不要求每个节点在同一时刻逐一表态。

哈希、数字签名与链式结构
密码学哈希将数据映射为摘要,帮助节点识别内容变化;数字签名用于验证请求的授权。二者作用不同:内容没有改变,不等于请求者拥有操作权限。
区块通过引用前一区块的哈希形成链。比特币还用默克尔树汇总交易,使客户端能够凭借部分哈希验证交易被包含在某个区块中。包含证明本身不能代替对交易规则和区块有效性的检查。
交易与状态模型
交易表达一次操作请求,状态表示系统依照规则处理记录后的结果。验证既要检查授权,也要检查当前状态是否允许执行,例如同一笔可支配资源能否再次使用。
比特币以未花费交易输出,即UTXO,描述可花费的输出;以太坊使用包含账户余额和合约数据的状态。理解应用时,应先确认采用哪种模型,不能仅凭界面显示的余额推断底层结构。
智能合约与执行环境
以太坊通过虚拟机执行智能合约,交易可以触发程序并更新状态,计算需要消耗按规则计量的资源。智能合约适用于能够表达为程序规则的操作,但程序正确性仍取决于代码设计。支持这种通用执行环境并非所有区块链的必要条件。
适用条件与常见问题
区块链适合讨论多方共同验证、维护有序记录的问题。判断具体用途时,需要明确参与者、验证规则和数据来源;链上的一致记录不能单独证明外部输入真实。
“不可篡改”应理解为修改历史会受到密码学关联和共识成本的约束,而非绝对不可能。“去中心化”也不代表所有节点承担相同职责,验证、存储和区块生产需要分别理解。