区块链 · 数字资产知识 · 行业资讯
文章库关于本站

区块链基础

区块链技术下数据交易入门需要了解什么:合约、预言机与适用边界

摘要

理解区块链中的数据交易,需要区分规则执行、外部数据输入与数据本身的可信性。智能合约可以执行编码规则,预言机将链下信息提供给合约,但这些机制不能单独证明数据真实、交付完整或使用权合法。

区块链电子发票的科技主题配图

先区分规则、输入与交付

区块链技术下的数据交易,可以从三个问题入门:规则由谁执行,外部数据怎样进入合约,交付结果如何确认。智能合约与预言机分别涉及前两个问题;具体数据如何交付、是否满足约定,还需要应用自身设计,不能仅凭使用区块链就作出判断。

智能合约负责执行编码规则

以太坊开发文档将智能合约解释为部署在链上特定地址的程序,包含代码与状态。用户通过交易调用其功能,合约按照代码执行规则。部署以及需要链上执行的交互涉及计算资源费用。

区块链权益证明的科技主题配图

放到数据交易场景中,可以把合约理解为规则执行环节。例如,若应用设计了授权状态与确认条件,合约可以据此更新记录。这只是通用设计示例,并不表示合约天然具备数据交付或质量检查能力。

拜占庭区块链的科技主题配图

预言机连接链下信息

智能合约自身无法直接获取链下信息,需要预言机等机制提供输入。Chainlink架构说明中的数据馈送会汇总多个独立预言机节点的回答;链下报告机制则让节点对观察结果签名,再将汇总报告提交链上检查。

这里应区分节点对报告的认可与原始信息的真实性。签名和汇总描述了信息如何被提交、核验与形成结果,不能单凭这些步骤推断某份数据一定准确、完整,或适合特定用途。

哪些条件适合自动执行

适合交给合约的条件,需要能够明确表达为程序规则,并且有合约可读取的输入。例如,某个确认状态是否存在,比数据是否“足够有价值”更容易形成明确判断。涉及主观评价时,还需要说明评价依据及结果如何进入合约。

依赖外部输入的应用,也需要明确输入缺失、更新延迟或结果冲突时如何处理。这些属于应用设计问题;预言机提供连接能力,并不意味着所有异常都会自动得到解决。

入门常见问题

数据上链就能证明真实性吗?不能据此推断。链上执行记录与数据来源是否可靠是不同问题,理解系统时应分别关注规则、输入来源和验证方式。

合约执行成功就等于完成数据交付吗?只有在应用明确规定交付条件,并提供相应确认机制时,执行结果才具有对应含义。技术执行本身也不能单独证明数据使用权合法。

学习时是否必须先编写合约?理解概念可以先从账户、交易和合约状态入手,再了解预言机如何提供外部输入。这样更容易辨认系统自动处理的范围,以及仍依赖外部判断的环节。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验