
应用边界从哪里划分
区块链社区技术应用的应用边界是什么,核心要看三个环节:记录什么、如何判断、由谁执行。本文讨论社区协作中的共享记录与合约执行等通用机制,不对应某个具体社区的实施效果。链上规则能够处理的事项,与需要链外核实和人工判断的事项,应分别界定。
共享记录的边界
比特币开发者指南说明,节点按共识规则验证区块,区块通过哈希关联,修改历史记录需要同时改变后续关联区块;工作量证明提高了这种修改的成本。其基础作用是维护交易记录和防止重复花费。

对社区协作而言,共同核验记录的价值在于参与者能够检查记录是否符合约定规则。但记录被接受,不等于记录描述的现实事件已经得到证实。例如,记录一项任务的完成声明,与核实任务质量,是两个不同环节。

外部数据的边界
以太坊预言机文档说明,智能合约默认不能直接访问链外信息,预言机负责将外部数据提供给合约。这样的连接还需处理数据正确性、持续可用性,以及提供者的归责问题。
如果社区规则依赖线下活动是否完成,首先需要界定什么证据能够证明完成、谁负责提供证据,以及意见不一致时如何处理。把结论传到链上,只解决合约读取结论的问题,核实事实的责任仍须落实。
适用条件如何判断
当多个参与方需要共同核验记录,执行条件能够清楚表达,而且必要输入能够稳定取得时,区块链机制才有明确的应用基础。设计时可以逐项检查:哪些条件能由链上数据验证,哪些依赖外部报告,报告缺失或冲突时是否仍能继续执行。
涉及贡献质量、争议责任等需要解释的事项,应先明确判断程序,再确定可以自动执行的部分。若程序本身含糊,把它写成代码也不会消除分歧。
常见问题
上链是否意味着内容真实?链上验证主要检查数据和操作是否符合协议规则;对现实事实的真实性,还要检查信息来源与核验过程。
使用多个预言机是否就无需信任?仍需考察它们是否依赖相同来源,以及错误信息如何被发现和处理。多个报告者不能自动证明原始事实正确。
链上触发是否等于现实行动完成?外部设备或服务还要实际响应。因此,社区应用应分别确认合约状态变化与链外执行结果,并为无法执行的情况约定处理方式。