
首先区分链上交易与市场交易
区块链市场交易的应用边界是什么,关键在于区分两种含义:链上交易是按网络规则验证和记录的状态变化;市场交易还可能涉及商品质量、实物交付和争议处理。前者能够承载后者的部分流程,却不能自动覆盖全部商业关系。
交易验证解决授权问题
比特币开发者文档介绍,普通交易通过输入引用既有的未花费输出,再生成新的输出;支出必须满足相应脚本条件。这种机制主要验证链上资产能否按规则被支出。

因此,签名验证通过与商品已经交付是不同判断。即使付款被记录,也不能仅据此确认商品符合约定。适用条件是:需要验证的对象确实属于链上记录及其支出规则能够表达的范围。

智能合约适合明确、可计算的规则
以太坊智能合约文档将合约描述为部署在链上的代码与状态,用户可通过交易调用其功能。合约可以执行预设规则,也能调用其他合约,但不能自行读取链外事件,外部信息需要通过预言机等机制引入。
其适用范围是条件明确、输入可取得、结果能够由程序表达的流程。例如,按授权条件改变链上记录,可以形成可验证的执行过程;而服务是否令人满意等主观判断,不能仅靠程序执行得到答案。接入外部数据只是提供输入,不等于证明输入必然真实。
成本、权限与纠错构成实际限制
自动执行不意味着没有成本。合约部署和交互涉及网络费用,业务设计还需考虑执行资源限制。技术上能够表达的流程,并不必然适合全部搬到链上。
合约按代码运行,也意味着错误规则可能被照常执行。多签机制可以分散授权责任,但不能替代对业务逻辑和外部信息的核验。不能把撤销已确认交易当成默认纠错方式,应用需要明确异常处理与责任承担。
常见问题:自动化是否等于无需信任
区块链能否消除所有中介?不能据此推断。它可以减少部分人工记账和规则执行环节,但涉及链外信息与实物履约时,仍需承担相应职责的主体。
记录可验证是否意味着交易内容真实?两者不同。链上验证检查的是协议和代码规定的条件,不是对所有现实事实的全面认证。判断应用边界,应明确哪些条件由链上直接验证,哪些依赖外部输入,以及发生分歧后由谁处理。