
先理解区块链解决的问题
区块链入门的核心问题是:多台计算机如何在缺少单一记账方的情况下,对记录及其顺序形成一致认识。学习时应把数据组织、有效性验证与共识机制联系起来,才能理解区块链为何需要这些设计。
讨论区块链发展,也需要区分不同网络的目标。用于记录资产转移的规则,与支持通用程序执行的规则,涉及不同的状态和资源需求,不能直接套用同一套评价标准。

从比特币理解账本与共识
比特币开发者指南介绍,区块通过前一区块的哈希相连,全节点独立验证区块。交易使用未花费交易输出作为输入,已花费的输出不能再次使用。工作量证明为改写历史增加计算成本;出现有效分支时,节点依据累计工作量选择链。

这些机制分别处理记录衔接、重复花费和历史选择问题。哈希关联让修改能够被发现,共识规则决定节点接受哪些记录。仅有一串相互引用的数据,还不足以解释一个开放网络如何维护共同账本。
从以太坊理解可编程状态
以太坊技术介绍将其描述为支持共享计算状态的区块链。交易可以触发以太坊虚拟机执行智能合约,并更新状态;ETH用于支付计算费用,也参与权益证明机制中的激励与约束。智能合约是部署在链上、可按规则调用的程序。
理解这种系统时,可以沿着“请求执行什么、执行需要哪些资源、结果如何改变状态”展开。应用功能越复杂,越需要关注执行条件与成本,而不能只看界面展示了什么。
适用条件与常见问题
什么情况下值得研究区块链方案?当参与方需要共同核验记录、按共享规则更新状态时,这类机制具有讨论价值。同时需要评估是否能够接受网络验证和链上执行带来的资源开销。
链上记录是否绝对无法改变?哈希关联与共识机制共同提高改写难度,但安全性仍有运行条件。把“难以篡改”理解为任何情形下都不可能变化,会忽略分支选择等机制。
智能合约是否会自行判断需求是否合理?它按照代码和输入执行。分析应用时,应区分程序执行是否符合规则,以及规则是否准确表达了业务需求。入门学习可依次围绕交易、区块、节点、共识和合约建立概念联系,再比较不同网络的具体实现。