
一、区块链:有顺序的共享记录
区块链通过密码学引用连接区块,由网络节点按规则验证和维护。理解它需要同时关注记录的内容、先后顺序以及接受记录的条件。比特币与以太坊都采用区块链,但记录和处理状态的方式存在差异。
二、区块:批量组织数据的单位
区块把交易等数据组织起来,并引用前一个区块。它可以类比账本中的一页,不过每页能够成立,还需要满足网络的验证规则。区块高度表示所在位置;发生分叉时,相同高度可能对应不同区块。
三、哈希:识别数据变化的摘要
哈希算法将数据映射为固定长度的摘要。数据改变,摘要通常也会改变。区块之间的哈希引用让历史修改能够被察觉,但抵抗篡改还依赖共识机制,不能仅归功于哈希。
四、默克尔树:汇总交易的结构
比特币将交易哈希逐层组合,最终得到写入区块头的默克尔根。这种结构支持用部分中间哈希验证某笔交易是否被包含在区块中。包含证明本身不能替代全部交易有效性检查。
五、节点:执行验证的参与者
节点是运行网络软件、交换和检查数据的计算机。比特币全节点独立验证区块。节点与出块者的职责应当区分:参与验证和传播,并不意味着一定负责生产新区块。
六、共识机制:协调历史选择的规则
共识机制帮助分布式参与者形成一致记录。比特币采用工作量证明;以太坊采用权益证明。前者涉及计算工作,后者涉及验证者质押及奖惩,具体规则不能跨网络直接套用。
七、交易:请求改变链上状态
交易可以表达资产转移,也可以在以太坊中用于部署或调用程序。广播请求只是传播的开始,仍需经过验证和区块收录。看到请求已发送,不能直接推断相应状态已经得到网络确认。
八、账户与UTXO:两种记账思路
以太坊使用账户记录余额等状态;比特币使用未花费交易输出,即UTXO。理解前者可以关注账户如何变化,理解后者则需追踪哪些旧输出被消耗、哪些新输出被创建。
九、智能合约:按代码执行的程序
智能合约是在链上部署、可被调用的程序,根据输入和条件执行逻辑。“智能”不表示程序会自主判断现实事实,执行结果仍受代码及输入约束。理解其功能,需要先看程序实际定义了什么。
十、EVM:以太坊的执行环境
以太坊虚拟机简称EVM,为智能合约提供执行环境。合约描述规则,EVM负责按规则计算状态变化,节点验证执行结果。EVM属于具体技术体系,不能作为所有区块链运行方式的统称。
常见问题:不可篡改是否意味着绝对安全
不可篡改通常描述历史修改受到密码学关联和共识成本约束,不代表任何条件下都无法重组历史,也不保证应用代码没有缺陷。阅读区块链术语时,应先明确讨论的是哪种网络、哪类验证,以及何种确认条件。