
四个核心技术如何划分
区块链的四个核心技术通常可以按分布式账本、密码学、共识机制和智能合约理解。这是一种便于学习的分类,并非所有区块链必须采用的统一技术清单。四者分别对应记录如何维护、数据如何校验、历史如何达成一致,以及规则如何通过程序执行。
分布式账本:节点记录会始终相同吗
比特币开发者指南说明,全节点独立验证并保存区块;多个节点拥有相同区块时,可以认为它们就这些记录达成一致。因此,“共同维护”不代表节点始终同步,传播过程与竞争区块可能造成暂时差异。
常见误解是副本越多,内容就必然正确。复制解决的是记录分布问题,内容是否被接受还取决于验证规则。理解账本时,需要同时关注数据由谁保存、按什么规则验证。
密码学:哈希是否等于加密
哈希用于生成数据摘要,不能当作隐藏原文的加密方式。比特币通过交易的默克尔树和前一区块头哈希建立关联,修改交易会影响相关摘要与后续链接。
因此,“可发现修改”与“阻止改写历史”需要分开理解:前者依靠密码学关联,后者还依赖共识机制。区块之间存在哈希链接,并不能单独推出历史绝对无法改变。
共识机制:分叉是否意味着系统失效
比特币可能因同时出现有效区块而短暂分叉,节点在有效分支中遵循累计工作量最大的链。工作量证明使改写历史需要付出计算成本,但不能据此宣称攻击完全不可能。
常见问题是把“最长链”理解成单纯比较区块数量,或认为出现分叉就代表规则失效。应区分竞争区块造成的暂时分歧与规则本身的分歧;上述链选择说明适用于比特币的工作量证明机制,不能直接套用到所有区块链。
智能合约:能否自动判断现实事件
以太坊开发者文档将智能合约解释为链上的代码和状态,用户通过交易调用其功能。合约执行预设逻辑,但不能自行读取链外现实事件,使用外部信息需要预言机等机制。
自动执行并不保证输入真实或规则设计正确。例如,依赖现实事件的应用,需要分别考察外部数据是否可靠、程序是否准确表达规则。合约能够执行条件,不意味着它能够独立证明条件对应的现实事实。