
先理解区块链解决的问题
区块链让网络中的多个节点按照共同规则维护记录。入门时可以围绕三个问题建立理解:数据如何连接,更新如何验证,出现不同历史时如何选择。数据结构、验证规则和共识机制共同支撑账本运行,单独把数据分成区块并不能获得全部安全属性。
区块、哈希与数字签名
区块通过密码学引用连接前一区块。哈希为数据生成摘要,数据变化会影响摘要,因此能够帮助检查记录是否被改动。数字签名则用于验证交易授权;理解这两者的分工,才能区分数据完整性与操作权限。

哈希并不承担隐藏交易内容的作用。判断系统是否具有隐私保护能力,需要另看数据公开范围及隐私机制,不能从使用密码学这一点直接推导。

比特币示例:交易与工作量证明
比特币开发者指南描述了未花费交易输出,即UTXO:普通交易引用此前尚未花费的输出,同一输出不能重复花费。交易摘要经默克尔树汇总到区块头,区块头再连接历史区块。工作量证明要求区块头哈希满足目标条件;出现竞争分支时,节点在有效链中选择累计工作量最大的链。
这个例子体现了两层检查:交易必须满足花费规则,区块还必须满足链的规则。投入计算资源并不能让无效交易获得合法性。
以太坊示例:状态与智能合约
以太坊技术介绍以账户、状态和执行来解释系统:交易可以请求转账、部署程序或调用程序,EVM按照规则执行计算。智能合约是部署在网络中的可复用程序。以太坊采用权益证明,通过验证者参与及奖惩机制支撑共识,执行交易需要支付计算资源费用。
学习智能合约时,应关注输入、权限和状态变化之间的关系。程序可以按既定规则运行,但程序本身是否正确表达业务需求,仍需要单独检查。
适用条件与常见问题
防篡改是否意味着绝对不能修改?链式引用会让历史改动影响后续区块,共识机制进一步提高重写历史的难度;安全性仍依赖网络及机制的条件,不能仅凭哈希连接作绝对保证。
交易广播后是否立即成为共同记录?广播只是传播请求,还需要验证和纳入区块,后续稳定性取决于相应网络的共识规则。
所有区块链是否都使用挖矿或UTXO?这些属于具体设计。学习时可以先掌握共同概念,再区分比特币的交易输出模型与以太坊的账户状态模型,避免把一种网络的机制套用于所有系统。