
两类技术分别解决什么问题
区块链和加密技术的应用边界,可以从三个问题理解:记录能否共同验证、信息是否受到保护、输入是否符合现实。前两项可以通过相应技术机制处理,第三项仍需要可靠的数据来源和核验过程。
以太坊预言机文档说明,智能合约默认无法直接获取链外信息;预言机负责把外部数据引入链上,但数据正确性、持续可用性及提供者责任仍需单独解决。MDN的Web Crypto API文档则介绍了浏览器提供的底层密码学能力,并指出密钥管理和整体系统设计会影响安全性。

区块链的边界:一致记录不等于事实核实
以太坊合约执行需要满足确定性:在相同初始状态和输入下得到相同结果。如果各节点执行时分别查询不断变化的外部接口,就可能取得不同输入。预言机将数据提交到链上,使合约能够围绕共同输入执行。

因此,多个节点对某条记录达成一致,不能直接证明记录描述的现实事件真实。例如,天气数据可以作为农业保险合约的触发条件,但观测是否准确、地点是否对应、数据是否及时,仍取决于链外环节。
加密技术的边界:安全依赖完整使用条件
加密、数字签名和摘要承担不同任务。加密用于保护内容机密性,签名用于验证签名与对应密钥的关系,摘要可用于比对内容是否变化。使用这些能力,并不会自动证明原始内容真实。
例如,一份经过有效签名的测量报告,可以支持验证其签名及内容完整性,却不能仅凭签名排除测量设备故障。加密数据的保护效果也依赖密钥是否妥善保管,以及数据在解密后的处理是否安全。
适用条件:明确输入、规则和执行责任
当业务规则能够明确表达、参与方需要共同验证记录时,可以评估链上执行的作用。涉及外部事件时,还需界定数据来源、更新时间、不同报告的处理方式,以及数据中断后的行为。
若目标主要是保护内容或验证消息,可以围绕相应密码学能力设计系统,无须由此推导出必须使用区块链。若链上结果需要触发实体设备或外部服务,实际动作能否完成,还取决于链外系统。
常见问题:去中心化是否消除了信任
多个预言机节点可以分散对单个运营者的依赖,但如果它们共同使用同一个错误来源,仍可能提交一致的错误数据。评估时需要同时关注节点与数据来源。
调用浏览器密码学接口是否就足够安全?接口提供的是基础能力,具体系统还取决于算法用法、密钥生命周期和应用环境。技术能力的存在,与某个应用已经获得安全验证,是两个不同层面的问题。