
从记录与验证理解区块链
促进区块链发展入门需要了解什么,首先要回答:数据怎样组织,记录由谁验证,参与者如何形成一致认识。把这些问题连起来,才能理解技术能力及其适用范围。
比特币开发者指南介绍了区块之间的哈希引用、节点独立验证和工作量证明。其交易使用此前尚未花费的输出,并限制同一输出被重复花费。这些机制共同支持公开账本的验证与维护。
区分共识与程序执行
以太坊开发者文档介绍了权益证明、以太坊虚拟机和智能合约。验证者参与区块提议与确认,虚拟机执行合约程序,交易可以改变链上状态。ETH用于支付网络计算费用,也参与网络的经济安全机制。
入门时应区分两个问题:共识机制处理网络接受哪段有效历史,执行规则决定一次操作是否有效、产生什么结果。理解其中之一,并不等于已经理解整个系统。
把技术名词放回完整流程
可以沿着“提出请求、验证规则、形成记录、更新状态”的顺序学习。区块负责组织记录,哈希关联数据,节点执行验证,共识规则帮助网络协调历史。各部分相互配合,单独使用某项技术不能自动获得整个系统的安全性。
比较不同区块链时,也要分清记录模型。比特币的未花费交易输出与以太坊的账户、合约状态属于不同设计,不能把一种系统的运行细节直接套用到另一种系统。
应用需要满足什么条件
判断应用是否适合区块链,可以先明确哪些参与者需要共同核验记录、哪些规则可以由程序判断,以及公开验证是否符合业务需求。还应考虑计算费用和数据记录方式能否被接受。
智能合约适合表达条件明确、能够依据可用数据执行的规则。程序执行正确与输入信息真实是两个不同问题;链上记录的一致性,也不能独自证明现实事件确实发生。
入门常见问题
区块链是否绝对不可修改?哈希关联能让历史改动被发现,共识机制进一步约束历史重写。理解安全性时,需要同时考虑网络规则和攻击成本,不能把“不可篡改”理解为没有任何前提的保证。
智能合约是否会自动解决业务争议?合约按代码处理输入,效果取决于规则表达和程序实现。学习和推动相关应用,应先把业务条件写清楚,再检查异常情形与验证方法,而不是仅凭使用了区块链就认定方案可靠。