
先理解区块链记录什么
初识区块链技术需要注意哪些问题,可以从账本、规则和适用条件三个方面入手。NIST《区块链技术概述》将区块链描述为分布式实现、能够显露篡改并抵抗篡改的数字账本。参与者按照共同规则记录交易,在网络正常运行的条件下,已发布的记录受到保护。
这里的“交易”也可以是对程序的调用,不只表示资产转移。阅读技术介绍时,应先弄清系统记录的是哪类数据,以及哪些参与者负责验证和保存记录。
防篡改能力有适用条件
区块之间通过密码学引用建立关联,修改历史内容会破坏原有关联。共识机制则帮助网络确定接受哪些区块。理解防篡改能力,需要把数据关联方式与网络运行规则放在一起考虑。
常见问题是:内容上链是否就代表真实?账本对记录的保护与记录所描述的现实事实是否准确,是两个层面。例如,一项申报即使被完整保存,其内容仍需要相应证据。不能仅凭“已上链”推断链外事实成立。
区分通用概念与具体实现
以太坊开发者入门文档介绍了节点、区块、权益证明和执行程序的虚拟机。它展示了一种具体实现:参与者提交请求,网络依据规则验证、执行并记录状态变化。相关执行需要支付费用,费用机制也用于约束资源消耗。
这些设计不能直接推广到所有区块链。比较系统时,需要分别了解参与权限、共识方式和可执行的功能。“共享账本”说明数据由网络共同维护,但这一名称本身不足以说明谁能加入、谁能记账或谁能修改规则。
智能合约的能力取决于代码
智能合约是部署在网络上的可重复调用程序,按照参数和既定条件执行操作。理解它时,应关注输入、判断条件和状态变化,而不是把“智能”理解为能够自行判断现实情况。
自动执行是否意味着结果一定正确?程序执行符合规则,与规则是否符合业务目标仍有区别。分析一个应用,需要说明它依赖哪些输入、如何处理条件,以及执行结果代表什么;仅说明使用了智能合约,无法完成这些解释。
学习时把概念连接起来
适合初学者的理解顺序是:先看共享账本如何组织记录,再看区块如何关联,随后理解共识如何协调网络,最后学习合约如何改变状态。判断技术是否适用时,可围绕是否需要多方共享记录、如何形成共同认可的规则,以及程序执行需要哪些资源展开分析。