
从技术组成理解区块链
理解“前景广阔的区块链技术涉及哪些技术概念”,可以沿着记录数据、验证记录、协调节点、执行规则四个环节展开。区块链将多种机制组合起来,不同网络的具体设计各有侧重。比特币的账本机制与以太坊的智能合约机制,可以帮助说明其中的关键概念;“前景广阔”本身不能证明某项应用一定适用。
分布式账本、哈希与默克尔树
比特币全节点独立验证并保存区块。区块头引用前一区块头的哈希,把记录连接起来;交易哈希逐层汇总为默克尔根,写入区块头。修改交易会影响这些关联值,默克尔路径则可用于核验交易是否被纳入某个区块。
这里需要区分两个问题:记录内容是否发生变化,以及记录是否符合规则。哈希关联帮助识别变化,完整的有效性判断还需要节点执行验证规则。
共识、工作量证明与交易状态
比特币采用工作量证明,要求区块头哈希满足目标条件。出现竞争分支时,节点在有效链中选择累计工作量最大的链。其普通交易花费未花费交易输出,即UTXO;同一输出不能被重复花费。
共识规则决定哪些记录可接受,链选择机制处理竞争历史,交易状态则帮助判断哪些输出仍可使用。这些概念相互配合,但不能将比特币的具体实现视为所有区块链的统一设计。
智能合约、虚拟机与可组合性
以太坊智能合约是在链上地址中保存代码和状态的程序,交易可以触发其函数。合约代码编译后由以太坊虚拟机执行,相关计算消耗Gas。合约之间可以调用,构成可组合的程序系统;多签合约可要求多个有效签名共同授权。
理解智能合约时,应分别关注执行逻辑、状态变化和权限条件。程序可以按照已写入的规则执行,但规则能否准确表达业务需求,仍属于设计问题。
适用条件与常见问题
智能合约能直接知道现实事件吗?以太坊合约自身不能直接获取链外信息,需要预言机将外部数据引入。因而,程序执行是否符合代码与外部数据是否可靠,是两个需要分别判断的问题。
区块链记录绝对不能修改吗?更准确的理解是,哈希链接和共识机制让改写历史受到约束并付出成本,安全性仍有前提。交易被纳入区块的证明,也不能单独证明其对应的现实事件真实发生。
所有业务都需要这些机制吗?判断适用性时,可以先明确是否需要多方共同核验记录、共享状态或按共同规则执行程序,再考察外部数据依赖与权限安排。技术组件的存在,并不自动证明具体业务采用它们就有价值。