
技术概念如何分类
理解区块链常用常识算法涉及哪些技术概念,可以从三个问题入手:数据如何关联,交易如何判断有效,节点如何选择共同认可的历史。算法、数据结构和协议分别承担不同职责,完整系统需要它们相互配合。
哈希与默克尔树
比特币开发文档介绍了两种关联方式:区块通过前一区块头的哈希相连,区块内的交易通过默克尔树汇总为根哈希。哈希为数据提供可校验的摘要;默克尔树则支持利用中间哈希证明某笔交易被收录。

这里需要区分收录证明与有效性验证。证明交易出现在某个区块中,并不自动证明它满足全部交易规则;还需要检查相关区块及交易。

交易验证与双重支付
比特币使用未花费交易输出,即UTXO,描述可被后续交易使用的输出。已花费的输出不能再次使用,这是识别双重支付的基础。这个模型适用于理解比特币交易,不能直接套用到所有区块链。
可以将验证分成两个问题:交易引用的输出是否仍可使用,交易是否符合协议规定。数据被广播到网络,只表示节点有机会接收到它,并不意味着验证已经通过。
共识与抗女巫攻击
以太坊共识文档将共识机制描述为协议、激励和规则组成的整体。工作量证明与权益证明承担抗女巫攻击、区块生产者选择等作用:前者依赖计算工作,后者依赖质押资本及相应奖惩。
女巫攻击涉及大量伪造身份。若仅按身份数量分配影响力,创建身份就可能干扰系统;引入资源约束,是为了让影响力不能仅靠增加身份获得。具体安全性仍取决于完整协议及其运行条件。
分叉选择与适用边界
多个候选区块出现时,节点还需要分叉选择规则。比特币比较有效链的累计工作量;以太坊的相关规则使用按质押余额加权的验证者投票。二者衡量的资源不同,不能统一理解成按节点数量投票。
常见问题是:哈希相连是否意味着历史绝对不能改变?哈希能使数据变化被检出,而抵抗历史重写还依赖共识约束。另一个误区是把区块最多直接等同于最可信;判断必须结合具体协议,并以区块有效为前提。