
先明确“币结构”的讨论范围
“区块链币结构”并非两篇技术文档中统一定义的术语。这里将其限定为链上资产的记录方式、交易验证机制及相关程序规则。比特币的交易输出结构与以太坊的智能合约分别说明不同层面的能力,不能将一种网络的实现直接推广到所有区块链。
账本边界:验证支出与维护历史
比特币开发者指南介绍,交易使用此前尚未花费的交易输出,即UTXO;同一个输出不能在有效链中重复花费。区块通过哈希关联,工作量证明提高了改写历史的成本,节点按照共识规则独立验证区块。
这类结构适合判断某笔链上支出是否满足规则,以及资产是否被重复使用。它的验证范围是账本内的交易关系:一笔记录通过验证,并不意味着与之关联的商品已经交付,或某项现实承诺已经履行。
合约边界:执行明确且可验证的规则
以太坊智能合约文档将合约描述为部署在链上地址的代码与状态。用户可通过交易调用合约功能,合约之间也能相互调用。部署和执行需要支付相应费用;合约本身不能直接读取链外事件,外部信息需通过预言机等机制引入。
因此,适用条件是业务规则能够写成明确的程序,所需输入能够在链上获得。例如,多方授权可以表达为满足一定签名条件后执行操作。涉及主观判断、线下验收或争议裁决时,还需要链外流程提供判断结果。
现实数据与确认的适用条件
引入外部数据后,应用还须考虑数据由谁提供、是否准确,以及错误如何处理。共识可以让节点按相同输入执行相同规则,却不能单凭这一点确认输入对应的现实事实。
对交易历史的使用也要考虑共识机制。比特币可能出现竞争分支,节点依据有效链的累计工作量选择历史。因此,应用不能把刚出现的区块理解为绝对不会改变的记录,业务中的确认要求应与所采用网络的机制相匹配。
常见问题:上链能否自动保证可信
上链是否意味着内容真实?链上验证能够检查协议规定的条件,但对商品状况、身份声明等外部内容,仍需相应证据和核验机制。
智能合约能否完全替代业务管理?它可以执行已编码的规则,但规则是否完整、权限如何分配、异常由谁处理,仍需设计。判断应用是否适合时,应明确哪些条件能够由链上验证,哪些条件依赖外部参与者,并为两者之间的衔接安排责任。