
资产表示:能记录什么,不等于能保证什么
OpenZeppelin 的代币文档说明,代币是事物在区块链上的表示,代币合约负责维护相应的余额或归属记录。ERC-20、ERC-721 与 ERC-1155 分别提供同质化、非同质化及多代币的常见接口规范。
因此,数字资产应用首先要明确“记录代表什么”。链上余额可以作为应用中的数量记录,唯一标识可以用于区分不同凭证,但这些技术形式本身不能证明凭证对应的实物存在,也不能单独确立现实中的所有权。接口兼容解决的是系统如何识别和操作代币,不是代币所代表权益是否有效。
数据输入:合约不能自行知道链外事实
以太坊的预言机文档指出,智能合约默认不能访问链外信息,预言机负责将外部数据提供给合约,也可以把链上信息传递给外部系统。引入这一机制后,应用仍需面对数据正确性、可用性以及提供者责任等问题。
这意味着,共识确认某项输入已被链上接受,不等于确认其描述的现实事实必然真实。涉及天气、交付状态等外部条件时,应用边界取决于谁采集数据、如何验证、多久更新以及不同报告冲突时如何处理。多个节点若依赖同一错误来源,也不能仅凭数量消除风险。
执行范围:链上动作与链外履行不同
智能合约可以按规则更新链上余额或归属,但现实服务是否完成,仍取决于链外系统。例如,链上记录满足了使用条件,并不等于外部设备已经成功响应。把信息传出区块链与完成现实动作,是两个需要分别确认的环节。
因而,涉及实物或服务的数字资产应用,不能只定义代币如何流转,还应明确外部执行失败、数据中断或结果争议时的处理责任。自动执行覆盖的是可由程序判断和控制的部分,并非整个现实业务过程。
适用条件与常见问题
适用条件包括:资产含义清楚,触发规则能够明确表达,所需数据具有可检查的来源,链外环节有明确的负责主体。若关键条件无法稳定判断,自动化就可能放大输入错误,而不是消除不确定性。
代币符合标准,是否意味着应用可靠?不意味着。标准主要约定交互接口,不能替代对数据来源和业务规则的核验。引入预言机后,是否不再需要信任?也不是,信任仍涉及数据提供者及其验证机制。判断应用边界的核心,是分别审视链上记录、外部事实与实际履行,不把其中一项的可验证性推及全部。