您的位置 首页 资讯

区块链预言机的基本架构解析

预言机分类

中心化预言机与去中心化预言机的架构都分为网络层、操作层、合约层和应用层,二者在操作层与合约层上存在较大差异。

理想的预言机网络应当满足五个条件:数据调用是基于双方相互信任且不可篡改的、数据调用的高效性、安全性、预言机网络设计符合激励相容原则、数据资产化。

按照商业的组织模式分类,预言机可以分为中心化预言机和去中心化预言机。虽然二者的架构自下而上都可以分为网络层、操作层、合约层和应用层,但是二者在操作层和合约层上存在较大差异。

中心化预言机在性价比和用户体验上具有先发优势,而去中心化预言机因在特性和生态的模式上占优而具有较大的后发优势。

预言机的数据获取方式

预言机既可以从链上获取原生数据,也可以通过网络爬虫或者传统第三方机构获取数据,从链上获取数据,用于链上应用。

(Dapp)落地不及预期,导致用户对链上数据的需求有限,不足以支撑该模式的长期发展。从链下获取数据,它既可以是授信传统第三方机构作为公链或者联盟链的节点给链上输出数据,也可以是预言者通过网络爬虫的方式抓取特定数据。

一般来说,对于数据调用要求低时延的服务请求(如ETH价格实时调用),不适合采用通过爬虫的方式获取数据,因为爬虫的代码和数据的准确性受到网页结构和网络环境的制约;

目前主流的预言机项目(如Chainlink等)都采取授信第三方可信机构(如Google)作为节点,从而完善相关DeFi产品的喂价机制。

数据预言机与爬虫的区别

有人认为预言机是在爬虫的基础上增加了去信任机制。爬虫只是一种抓取网页数据的方式,而预言机虽然采用爬虫的方式获取数据,但是更多的是采用授信传统第三方机构作为节点的方式获取数据。

预言机和爬虫在数据输出格式上也有显著的差异

一方面,利用爬虫抓取的数据极有可能是非结构化的,可读性较差,而预言机获取的数据在格式上必须符合智能合约调用的要求,用户和预言者可以根据智能合约的要求自定义数据的输出格式。

更重要的是,预言机在调用高频数据(如 BTC价格等需要实时更新的数据)上远远优于爬虫,可以避免数据在获取的过程中因程序运行故障而陷入停机,而爬虫则很容易在程序运行过程中陷入中断。

理想预言机网络应当满足的条件

数据调用是基于双方相互信任的(不可篡改)。预言机在调用外部数据引入智能合约时,应当保证最终反馈给用户的数据与数据来源本身的数据一致,防止预言者中途篡改。

经过服务请求方的确认和其他预言者的验证后,如果调用数据结果无误,则将调用数据写入智能合约,并将交易记录上传到区块链上;如果调用数据出现不一致,则该交易将被定义为非法交易。

数据调用具有高效性。预言机合约通过智能合约规定,如果预言者没有在请求发出后的规定时间内响应用户请求,或者是响应请求超时,则自动取消交易,并且对服务供应商实施惩罚;

数据调用安全性高。预言机的设计必须有效遏制各种数据腐败行为,比如女巫攻击镜像攻击、复制答案(吃空饷)等。

并通过强制节点在TEE(TrustedExecution Environment)环境中执行解密并向区块链汇报所有用户和节点都能看到的通用答案。

符合激励相容原则。预言机激励机制和监督机制的设立必须实现激励相容,但是无论是PoW(Proof-of-Work)还是PoS(Proof-of-Stake)都很容易造成多数人攻击,前者体现在挖矿方面,通过矿池等组织形式发起攻击;后者则是通过超额抵押(Staking)和贿选等方式实现攻击。

因此,治理机制的设计必须充分调动其他竞争预言机的监督积极性,并不能够将代币奖励和打包概率等决定预言者收益的指标相挂钩。否则,将不可避免地发生预言者和用户因利益不一致而产生的委托代理风险。

数据资产化。数据应当作为一种资产,根据其资源的重要性和稀缺性进行定价,以公允价值的形式写入智能合约。

目前,数据资产缺乏有效的定价机制,因为数据的种类千奇百怪,不同类型的数据对不同用户的作用也是存在显著差异,而目前数据定价权归数据的资源方主导,并没有实现去中心化。

预言机架构

根据商业组织形式分类,预言机可以是中心化的单一预言者的机制(如Oraclize)–中心化预言机;同样也可以是去中心化的多个预言者的机制(如Chainlink、DOS Network等)–去中心化预言机。

中心化预言机由单一预言者(Oracle)为服务请求方提供数据

对某一特定的数据服务请求,在请求方指定个数据来源并向中心化预言者发送合约请求后,服务商从1个或多个数据来源的接口调用数据,最终反馈给请求方的数据可以是1个数据来源的,也可以是从多个数据来源的结果进行汇总。一般来说,由于单一数据来源的成本远低于从多个数据来源汇总的成本,中心化预言机仅有从最可信的一个数据源调用数据,以实现整个预言机系统的高效运行。

去中心化预言机由多个预言者共同提供数据获取服务

利用纠删码(Erasureencoding)技术实现答案冗余,增强整个预言机系统的容错能力。

当所有的预言者的规定时间内提交的答案汇总(汇总的方法包括加权平均、中位数或众数的方法按具体调用的数据而定)后,将汇总后的答案反馈给请求方。

中心化预言机和去中心化预言机两类除了底层的网络协议(TCP/IP协议)、加密基础设施和硬件执行环境(一般为TEEs)相似以外二者在技术架构上有着显著差异,其中标志性的差异是:中心化预言机需要可信第三方作为验证人或者审查机构自证清白,而去中心化预言机通过多个预言者(Oracles)之间进行相互验证。

热门文章

发表评论

您的电子邮箱地址不会被公开。