CN113055497A - 用于区块链网络的链外数据上链方法、装置及*** - Google Patents
用于区块链网络的链外数据上链方法、装置及*** Download PDFInfo
- Publication number
- CN113055497A CN113055497A CN202110477471.1A CN202110477471A CN113055497A CN 113055497 A CN113055497 A CN 113055497A CN 202110477471 A CN202110477471 A CN 202110477471A CN 113055497 A CN113055497 A CN 113055497A
- Authority
- CN
- China
- Prior art keywords
- data
- contract
- nodes
- network
- machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种用于区块链网络的链外数据上链方法,属于区块链技术领域。该方法应用于预言机网络,所述预言机网络包括M个预言机节点,包括:接收由预言机合约响应所述用户合约的调用而发起的数据上链请求;其中,所述预言机合约部署在所述区块链网络中,所述用户合约为所述区块链网络中的智能合约发起的数据查询请求;基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据;以及将所述最终数据反馈给所述预言机合约,以通过所述预言机合约将所述最终数据反馈给所述用户合约。本公开还提供了一种用于区块链网络的链外数据上链装置和***、一种预言机节点、以及一种计算机可读存储介质。
Description
技术领域
本公开属于区块链技术领域,更具体地,涉及一种用于区块链网 络的链外数据上链方法、装置和***,以及一种预言机节点、一种计 算机可读存储介质。
背景技术
区块链是一个确定性的、封闭式的***,运行在区块链上的智能 合约无法主动获取链外真实世界的数据,只能在一个封闭、孤立的环 境中执行任务。预言机网络可以将链外真实数据输入到区块链中。其 中,保证预言机网络传输给区块链网络的数据的真实有效是非常重要 的。
发明内容
有鉴于此,本公开实施例提供了一种用于区块链网络的链外数据 上链方法、装置、及***,一种预言机节点,以及一种计算机可读存 储介质,利用基于DPoS共识机制的去中心化预言机进行数据上链, 在一定程度上可以确保链外数据的真实有效。
本公开实施例的一个方面,提供了一种用于区块链网络的链外数 据上链方法,应用于预言机网络,所述预言机网络包括M个预言机节 点,其中,M为大于或等于2的整数。所述方法包括:接收由预言机 合约响应所述用户合约的调用而发起的数据上链请求;其中,所述预 言机合约部署在所述区块链网络中,所述用户合约为所述区块链网络 中的智能合约发起的数据查询请求;基于股份授权证明机制处理M个 所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以 得到最终数据;以及将所述最终数据反馈给所述预言机合约,以通过 所述预言机合约将所述最终数据反馈给所述用户合约。
根据本公开的实施例,所述基于股份授权证明机制处理M个所述 预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到 最终数据包括:所述预言机网络中的利益相关方节点从所述预言机网 络中选择任意数量的见证人节点;由所述任意数量的见证人节点从所 述预言机网络中分两轮选择出N个胜出节点,其中,N为大于1且小 于M的整数;以及基于N个所述胜出节点获取到的所述链下数据,得 到所述最终数据。
根据本公开的实施例,所述由所述任意数量的见证人节点从所述 预言机网络中分两轮投票选择出N个胜出节点包括:在第一轮筛选中 基于第一参数对M个所述预言机节点按照性能从优到劣排序,从中筛 选出排序靠前的Q个候选节点,其中,Q为大于1且小于M的整数; 以及在第二轮筛选中基于第二参数对Q个所述候选节点按照性能从优 到劣排序,从中筛选出排序靠前的N个所述胜出节点,其中,Q/2<N <Q。其中,所述第一参数和所述第二参数不同。
根据本公开的实施例,所述第一参数包括节点权重;以及所述第 二参数包括节点状态参数。
根据本公开的实施例,Q=9,N=5。所述基于N个所述胜出节点 获取到的所述链下数据,得到所述最终数据包括:基于5个所述胜出 节点的所述链下数据的加权平均,得到所述最终数据。
根据本公开的实施例,所述基于股份授权证明机制处理M个所述 预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到 最终数据包括:每个所述预言机节点从对应的外部数据源采集数据, 并将采集到的数据适配和统一格式,得到所述链下数据。
本公开实施例的另一方面,提供了一种用于区块链网络的链外数 据上链装置,设置于预言机网络。所述预言机网络包括M个预言机节 点,其中,M为大于或等于2的整数。所述装置包括接收模块、DPoS 处理模块、以及反馈模块。接收模块用于接收由预言机合约响应所述 用户合约的调用而发起的数据上链请求;其中,所述预言机合约部署 在所述区块链网络中,所述用户合约为所述区块链网络中的智能合约 发起的数据查询请求。DPoS处理模块用于基于股份授权证明机制处理 M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据, 以得到最终数据。反馈模块用于将所述最终数据反馈给所述预言机合约,以通过所述预言机合约将所述最终数据反馈给所述用户合约。
本公开实施例的另一方面,提供了一种用于区块链网络的链外数 据上链***,包括链上***和链下***。链上***设置于所述区块链 网络。所述链上***中部署有用户合约和预言机合约。其中,所述用 户合约为所述区块链网络中的智能合约发起的数据查询请求,用于调 用所述预言机合约。所述预言机合约用于响应所述用户合约的调用而 发起数据上链请求,并将获取到的最终数据反馈给所述用户合约。所 述链下***包括预言机网络。所述预言机网络包括M个预言机节点, 其中,M为大于或等于2的整数。所述预言机网络用于:接收由所述 预言机合约发起的所述数据上链请求;基于股份授权证明机制处理M 个所述预言机节点各自响应所述数据上链请求而获取到的链下数据, 以得到最终数据;以及将所述最终数据反馈给所述预言机合约,以通 过所述预言机合约将所述最终数据反馈给所述用户合约。
本公开实施例的另一方面,提供了一种预言机节点。所述预言机 节点包括一个或多个存储器、以及一个或多个处理器。所述存储器存 储有可执行指令。所述处理器执行所述可执行指令以实现如上所述的 方法。
本公开实施例的另一方面提供了一种计算机可读存储介质,存储 有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开实施例的另一方面提供了一种计算机程序,所述计算机程 序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的 方法。
上述一个或多个实施例具有如下优点或益效果:可以利用基于股 份授权证明机制(即,DPoS共识机制)的去中心化预言机向区块链网 络传输链下数据,克服了相关技术中去中心化预言机的节点数据难以 达成一致、容易被攻击的缺陷,并在一定程度上提升送入区块链网络 的数据的准确性和真实性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其 他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的用于区块链网络的链外数据 上链***的示例性***架构;
图2示意性示出了根据本公开实施例的用于区块链网络的链外数据 上链方法的流程图;
图3示意性示出了根据本公开实施例的预言机网络基于DPoS机制 处理各预言机节点获得的链下数据的流程图;
图4示意性示出了根据本公开一实施例的用于预言机节点与外部数 据源对接的对接设备的结构框图;
图5示意性示出了根据本公开一实施例的用于区块链网络的链外数 据上链装置的方框图;以及
图6示意性示出了适于实现根据本公开实施例的用于区块链网络的 链外数据上链方法的计算机***的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些 描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述 中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全 面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情 况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术 的描述,以避免不必要地混淆本公开的概念。
本公开的实施例提供了一种用于区块链网络的链外数据上链方法、 装置、及***,一种预言机节点,以及一种计算机可读存储介质。根 据本公开的各个实施例,可以利用基于股份授权证明机制(即,DPoS 共识机制)的去中心化预言机向区块链网络传输链下数据,克服了相 关技术中去中心化预言机的节点数据难以达成一致、容易被攻击的缺 陷,并在一定程度上提升送入区块链网络的数据的准确性和真实性。
需要说明的是,本公开实施例确定的用于区块链网络的链外数据 上链方法和装置可用于金融领域,也可用于除金融领域之外的任意领 域,本公开对应用领域不做限定。
图1示意性示出了根据本公开实施例的用于区块链网络的链外数 据上链***的示例性***架构100。
如图1所示,该***架构100可以包括链上***101、链下*** 102、以及外部数据源104。
链上***101可以设置于区块链网络中。链上***101中部署有 用户合约和预言机合约。其中,用户合约为区块链网络中的智能合约 发起的数据查询请求,而预言机合约为与用户合约交互的接口。
用户合约用于调用预言机合约。
预言机合约用于响应用户合约的调用而向预言机网络发起数据上 链请求,并将获取到的最终数据反馈给用户合约。
在链上***101中,用户通过在区块链网络中查询数据进行用户 合约的适配,然后通过用户合约调用预言机合约。
链下***102包括预言机网络。预言机网络可以包括M个预言机 节点,其中,M为大于或等于2的整数。根据本公开实施例的链下系 统102中的预言机网络为去中心化的预言机节点网络。其中的预言机 节点分别独立地从外部数据源104获取链下数据,并且每个预言机节 点可以根据DPoS共识机制对自己以及预言机网络中其他预言机节点 获得的链下数据达成共识并得到最终数据,然后将最终数据通过链上 ***101的预言机合约。最后通过预言机合约反馈给用户合约,从而 将最终数据传输给区块链网络。
根据本公开的实施例,链上***101和链下***102可以构成用 于区块链网络的链外数据上链***。借助于该用于区块链网络的链外 数据上链***,当区块链网络上的某个智能合约有采集外部真实数据 的交互需求时,预言机网络在接收到需求后,可以帮助智能合约在链 外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。
本公开实施例的预言机网络为基于DPoS共识机制的区中心化预 言机。其中,DPoS为Delegated Proof of Stake的简称,即股份授权证 明机制。DPoS股份授权证明机制是一种共识协议,利用利益相关方同 意投票的权力,以公平和民主的方式解决共识问题。
在DPoS共识机制下,所有的网络参数,从收费时间表到块间隔 和交易规模,都可以通过选定的代表进行调整。区块生产者的确定性 选择允许平均仅1秒确认交易。也许最重要的是,共识协议旨在保护 所有参与者免受不必要的监管干扰。
DPoS主要分为两个部分:(1)由利益相关者投票选举出一组区块 生产者;以及(2)区块生产者按轮次调度生产。同PoW一样,在DPoS 中,最终胜出的规则仍然是最长链胜出。任何时候,当一个诚实节点 看到一个有效的最长链,它就会从当前分叉上切换到最长链,从而使 最长链越来越长。但与PoW和PoS不同,DPoS在大多数网络条件 下仍能稳健运行。
在DPoS共识机制下区块的生产过程简述如下。正常生产过程中, 区块生产者按照一定的时间间隔依序轮流出块,任何出块人在非轮次 时间外生产的区块均被视为无效块,因而只要每个出块人按时出块, 就会产生最长的有效链。在面临少数节点的恶意分叉攻击时,由于少 数节点的出块速度小于多数节点,因而诚实的多数节点将生成最长链, 使分叉无效。网络中断是很多区块链网络都会面临的一个挑战,在发 生网络中断的情况下,可能会出现每个分叉上都只有少数出块人的情 况。但是,在网络连通后,每个分叉上的出块人都会自觉地切换到最 长链,形成最长链,分叉就到此为止。
在DPoS共识机制下具有投票监督过程。DPoS共识机制中,一个 很重要的机制是多出了一个监督的职位。在DPoS中,利益相关方 (Token持有者)可通过投票淘汰非诚实出块人,选出诚实的出块人, 从而保证网络的稳健运行。
比如,当网络中出块节点数量不足时,网络的利益相关方节点可 通过投票选出一组新的出块节点,恢复网络的参与度,新的出块节点 所形成的链由于网络参与度最高将会形成最长链。同样,当多个出块 节点同时分叉时,也可以通过投票将作恶者替换出局,由诚实节点决 定的链将形成最长链。
另一方面,由于DPoS共识机制中区块生产者的个数是事先选定 且确定的,为了防止不同出块节点之间相互认识进而作弊,每经过一 轮出块,***都会对出块顺序进行重新整合,并通过这种洗牌保证最 终只有一个分叉成为最长链。
另外,在***架构100中还可以包括对接设备103。其中,每个 预言机节点可以通过与其对接的对接设备103从对应的外部数据源 104采集数据,并将采集到的数据适配和统一格式,得到链下数据。 其中,在一个实施例中,每个预言机节点可以分别对接一个对接设备 103,通过该对接设备103对接外部数据源104,对数据源数据进行适 配和统一格式后进行加密传输到各个预言机节点。该对接设备103可 以是与预言机节点通信的电子设备,或者也可以设置于预言机节点中, 成为预言机节点的组成部分。该对接设备103的一个示例性结构可以 参考下文图4的相关描述。
外部数据源104可以包括网络中的URL(Uniform resource locator, 统一资源定位符)、IPFS(interplanetary file system,星际文件存储系 统)、search engine(搜索引擎)、cross-chain data(连接不同区块链的 跨链数据)、DApps(去中心化的应用程序)、或其他数据源。
本公开实施例的用于区块链网络的链外数据上链方法可以由预言 机网络102来执行,例如,可以是预言机网络102中的各个预言机节 点执行本公开实施例的方法,实现在预言机网络102基于DPoS机制 进行数据共识。相应地,本公开实施例的用于区块链网络的链外数据 上链装置可以设置于预言机网络102中的至少一个预言机节点中。
需要注意的是,图1所示仅为可以应用本公开实施例的***架构的 示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本 公开实施例不可以用于其他设备、***、环境或场景。
图2示意性示出了根据本公开实施例的用于区块链网络的链外数 据上链方法的流程图。
如图2所示,根据该实施例的用于区块链网络的链外数据上链方 法可以包括操作S210~操作S230,可以应用于链下***102中的预言 机网络。
在操作S210,接收由预言机合约响应用户合约的调用而发起的数 据上链请求。其中,预言机合约部署在区块链网络中,用户合约为区 块链网络中的智能合约发起的数据查询请求。
在操作S220,基于股份授权证明机制处理M个预言机节点各自 响应该数据上链请求而获取到的链下数据,以得到最终数据。
在操作S230,将最终数据反馈给预言机合约,以通过预言机合约 将最终数据反馈给用户合约。预言机合约可以接收来自预言机网络中 的一个或多个预言机节点基于DPoS机制处理得到的最终数据,并将 该些最终数据聚合成单一数据后反馈给用户合约,最终传输给区块链 网络中的智能合约。
区块链是一个封闭的环境,链上是无法主动获取链外真实世界的 数据。主要是因为区块链无法主动发起Network call(网络调用)而 链上智能合约是被动接收数据的。其次,智能合约其实并不完全智能, 它只是在满足相应条件下,才达到触发状态的程序。鉴于此,本公开 的实施例利用基于股份授权证明机制DPoS共识机制的去中心化预言 机,通过用户合约调用预言机合约,然后通过预言机合约向预言机网 络发起请求,基于该请求预言机网络中的预言机节点从外界获取数据, 并基于DPoS机制对获取的数据进行共识达成一致,得到最终数据并 传输到区块链中。以此方式,将外界信息写入到区块链内,完成区块链与现实世界的数据互通。从而允许确定的智能合约对不确定的外部 世界作出反应。
本公开实施例利用基于股份授权证明机制DPoS共识机制的去中 心化预言机,可以克服相关技术中去中心化预言机的节点数据难以达 成一致,容易被攻击的缺陷,并在一定程度上提升送入区块链网络的 数据的准确性和真实性。
图3示意性示出了根据本公开实施例的操作S220中预言机网络基 于DPoS机制处理各预言机节点获得的链下数据的流程图。
如图3所示,根据本公开的实施例,操作S220可以包括操作S301~ 操作S303。
在操作S301,预言机网络中的利益相关方节点(Stakeholders又 名股东)从预言机网络中选择任意数量的见证人节点。
在操作S302,由任意数量的见证人节点从预言机网络中分两轮选 择出N个胜出节点,其中,N为大于1且小于M的整数。
在两轮选择中可以根据预言机节点的不同参数进行节点筛选,力 求从预言机网络中筛选出高质量的、可信赖的预言机节点。
在一个实施例中,可以首先在第一轮筛选中基于第一参数对M个 预言机节点按照性能从优到劣排序,从中筛选出排序靠前的Q个候选 节点,其中,Q为大于1且小于M的整数。然后在第二轮筛选中基于 第二参数对Q个候选节点按照性能从优到劣排序,从中筛选出排序靠 前的N个胜出节点,其中,N大于Q/2(即超过半数的节点)。其中, 第一参数和第二参数不同。
例如,第一参数可以是节点权重,第二参数可以是节点状态参数。
在去中心化的预言机网络中,可以设置不同的预言机节点的节点 权重不同。例如可以根据每个预言机节点在历史提供数据的过程中采 集的数据的可信赖水平确定每个预言机的节点权重。由此基于第一参 数可以筛选出可信赖程度较高的一组预言机节点。
节点状态参数例如可以是综合了节点的稳定性、当前是否宕机、 当前的运行状态和/或者历史宕机情况等而确定的参数。由此,经过第 二轮筛选,可以选择出可信赖且当前状态较好的一组预言机节点。
从而通过两轮筛选可以选择出可信赖且性能状态好的节点作为胜 出节点。
然后在操作S303,基于N个胜出节点获取到的链下数据,得到最 终数据。
在一个实施例中可以令Q=9,N=5。即在预言机网络中,利益相 关方节点选择任意数量的见证人第一轮选择出9大预言机节点。将该9大预言机节点收集的链下数据进行汇总提交,然后在第二轮选择中 再优选出其中5个节点(超过半数的节点)的数据进行加权平均后再 确定为最终数据,并提供给数据请求者。
由此,利用DPoS(Delegated Proof of Stake)股份授权证明机制 经过两轮筛选可以从预言机网络中筛选出高质量节点,有效地提升了 传输给区块链的数据的可信赖程度。
图4示意性示出了根据本公开一实施例的用于预言机节点与外部 数据源104对接的对接设备103的结构框图。根据本公开的一些实施 例,该对接设备103可以设置于与其对接的预言机节点中,构成预言 机节点的一部分。
如图4所示,该对接设备103可以包括数据通信接口模块401、 信号处理模块402、数据适配格式模块403、数据加密模块404、以及 预言机接口模块405。
数据通信接口模块401可以用于从外部数据源104采集数据。
信号处理模块402用于将采集的数据进行预处理,例如清洗、去 噪声等。
数据适配格式模块403用于接收信号处理模块402预处理后的数 据,然后进行适配和统一格式。
数据加密模块404用于对数据进行加密。
预言机接口模块405用于将加密的数据传输到对应的预言机节点。
图5示意性示出了根据本公开一实施例的用于区块链网络的链外 数据上链装置500的方框图。
如图5所示,该用于区块链网络的链外数据上链装置500可以包 括接收模块510、DPoS处理模块520、以及反馈模块530。该装置500 可以设置于预言机网络的一个或多个预言机节点中,用于实现图2~图 3所描述的方法。
接收模块510例如可以执行操作S210,用于接收由预言机合约响 应用户合约的调用而发起的数据上链请求;其中,预言机合约部署在 区块链网络中,用户合约为区块链网络中的智能合约发起的数据查询 请求。
DPoS处理模块520例如可以执行操作S220,用于基于股份授权 证明机制处理M个预言机节点各自响应数据上链请求而获取到的链下 数据,得到最终数据。
反馈模块530例如可以执行操作S230,用于将最终数据反馈给预 言机合约,以通过预言机合约将最终数据反馈给用户合约。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多 个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本 公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以 被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、 子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如 现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基 板上的***、封装上的***、专用集成电路(ASIC),或可以通过对 电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或 以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的 适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、 子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当 该计算机程序模块被运行时,可以执行相应的功能。
例如,数据通信接口模块401、信号处理模块402、数据适配格式 模块403、数据加密模块404、预言机接口模块405、接收模块510、 DPoS处理模块520、以及反馈模块530中的任意多个可以合并在一个 模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者, 这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少 部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据 通信接口模块401、信号处理模块402、数据适配格式模块403、数据 加密模块404、预言机接口模块405、接收模块510、DPoS处理模块 520、以及反馈模块530中的至少一个可以至少被部分地实现为硬件电 路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上 ***、基板上的***、封装上的***、专用集成电路(ASIC),或可 以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来 实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任 意几种的适当组合来实现。或者,数据通信接口模块401、信号处理 模块402、数据适配格式模块403、数据加密模块404、预言机接口模 块405、接收模块510、DPoS处理模块520、以及反馈模块530中的 至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序 模块被运行时,可以执行相应的功能。
图6示意性示出了适于实现根据本公开实施例的用于区块链网络 的链外数据上链方法的计算机***600的方框图。图6示出的计算机 ***600仅仅是一个示例,不应对本公开实施例的功能和使用范围带 来任何限制。该计算机***600可以设置于预言机网络中的一个或多 个预言机节点。
如图6所示,根据本公开实施例的计算机***600包括处理器601, 其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分 608加载到随机访问存储器(RAM)603中的程序而执行各种适当的 动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、 指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电 路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储 器。处理器601可以包括用于执行根据本公开实施例的方法流程的不 同动作的单一处理单元或者是多个处理单元。
在RAM603中,存储有***600操作所需的各种程序和数据。处 理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器 601通过执行ROM 602和/或RAM603中的程序来执行根据本公开实 施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 602 和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行 存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流 程的各种操作。
根据本公开的实施例,***600还可以包括输入/输出(I/O)接口 605,输入/输出(I/O)接口605也连接至总线604。***600还可以 包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠 标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD) 等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包 括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部 分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要 连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半 导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出 的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现 为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品, 其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包 含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计 算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆 卸介质611被安装。在该计算机程序被处理器601执行时,执行本公 开实施例的***中限定的上述功能。根据本公开的实施例,上文描述 的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介 质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单 独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承 载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根 据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计 算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬 盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只 读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、 光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中, 计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序 可以被指令执行***、装置或者器件使用或者与其结合使用。例如, 根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存 储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序, 该计算机程序包含用于执行本公开实施例所提供的方法的程序代码, 当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备 实现本公开实施例所提供的方法。
在该计算机程序被处理器601执行时,执行本公开实施例的***/ 装置中限定的上述功能。根据本公开的实施例,上文描述的***、装 置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储 器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网 络介质上以信号的形式进行传输、分发,并通过通信部分609被下载 和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代 码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等, 或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组 合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体 地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语 言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++, python,“C”语言或类似的程序设计语言。程序代码可以完全地在用 户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备 上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算 设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接 到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码 的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于 实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的 实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发 生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们 有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的 是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合, 可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者 可以用专用硬件与计算机指令的组合来实现。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为 了说明的目的,而并非为了限制本公开的范围。不脱离本公开的范围, 本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在 本公开的范围之内。
Claims (10)
1.一种用于区块链网络的链外数据上链方法,应用于预言机网络,所述预言机网络包括M个预言机节点,其中,M为大于或等于2的整数;所述方法包括:
接收由预言机合约响应用户合约的调用而发起的数据上链请求;其中,所述预言机合约部署在所述区块链网络中,所述用户合约为所述区块链网络中的智能合约发起的数据查询请求;
基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据;以及
将所述最终数据反馈给所述预言机合约,以通过所述预言机合约将所述最终数据反馈给所述用户合约。
2.根据权利要求1所述的方法,其中,所述基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据包括:
所述预言机网络中的利益相关方节点从所述预言机网络中选择任意数量的见证人节点;
由所述任意数量的见证人节点从所述预言机网络中分两轮选择出N个胜出节点,其中,N为大于1且小于M的整数;以及
基于N个所述胜出节点获取到的所述链下数据,得到所述最终数据。
3.根据权利要求2所述的方法,其中,所述由所述任意数量的见证人节点从所述预言机网络中分两轮投票选择出N个胜出节点包括:
在第一轮筛选中基于第一参数对M个所述预言机节点按照性能从优到劣排序,从中筛选出排序靠前的Q个候选节点,其中,Q为大于1且小于M的整数;以及
在第二轮筛选中基于第二参数对Q个所述候选节点按照性能从优到劣排序,从中筛选出排序靠前的N个所述胜出节点,其中,Q/2<N<Q;
其中,
所述第一参数和所述第二参数不同。
4.根据权利要求3所述的方法,其中,
所述第一参数包括节点权重;以及
所述第二参数包括节点状态参数。
5.根据权利要求3所述的方法,其中,Q=9,N=5,所述基于N个所述胜出节点获取到的所述链下数据,得到所述最终数据包括:
基于5个所述胜出节点的所述链下数据的加权平均,得到所述最终数据。
6.根据权利要求1~5任意一项所述的方法,其中,所述基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据包括:
每个所述预言机节点从对应的外部数据源采集数据,并将采集到的数据适配和统一格式,得到所述链下数据。
7.一种用于区块链网络的链外数据上链装置,设置于预言机网络,所述预言机网络包括M个预言机节点,其中,M为大于或等于2的整数;所述装置包括:
接收模块,用于接收由预言机合约响应用户合约的调用而发起的数据上链请求;其中,所述预言机合约部署在所述区块链网络中,所述用户合约为所述区块链网络中的智能合约发起的数据查询请求;
DPoS处理模块,用于基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据;以及
反馈模块,用于将所述最终数据反馈给所述预言机合约,以通过所述预言机合约将所述最终数据反馈给所述用户合约。
8.一种用于区块链网络的链外数据上链***,包括:
链上***,设置于所述区块链网络;所述链上***中部署有用户合约和预言机合约,其中:
所述用户合约为所述区块链网络中的智能合约发起的数据查询请求,用于调用所述预言机合约;
所述预言机合约用于响应所述用户合约的调用而发起数据上链请求,并将获取到的最终数据反馈给所述用户合约;
链下***,包括预言机网络,所述预言机网络包括M个预言机节点,其中,M为大于或等于2的整数,所述预言机网络用于:
接收由所述预言机合约发起的所述数据上链请求;
基于股份授权证明机制处理M个所述预言机节点各自响应所述数据上链请求而获取到的链下数据,以得到最终数据;以及
将所述最终数据反馈给所述预言机合约,以通过所述预言机合约将所述最终数据反馈给所述用户合约。
9.一种预言机节点,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,以实现根据权利要求1~6中任一项所述的方法。
10.一种计算机可渎存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477471.1A CN113055497B (zh) | 2021-04-29 | 2021-04-29 | 用于区块链网络的链外数据上链方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110477471.1A CN113055497B (zh) | 2021-04-29 | 2021-04-29 | 用于区块链网络的链外数据上链方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113055497A true CN113055497A (zh) | 2021-06-29 |
CN113055497B CN113055497B (zh) | 2022-08-05 |
Family
ID=76517834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110477471.1A Active CN113055497B (zh) | 2021-04-29 | 2021-04-29 | 用于区块链网络的链外数据上链方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113055497B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628052A (zh) * | 2021-08-18 | 2021-11-09 | 杭州云象网络技术有限公司 | 基于预言机的区块链资产与合约处理方法、***及装置 |
CN113961918A (zh) * | 2021-12-15 | 2022-01-21 | 北京中科金财科技股份有限公司 | 一种基于预言机的链下数据协同方法及其*** |
CN114024985A (zh) * | 2021-10-29 | 2022-02-08 | 湖南大学 | 一种区块链的预言机计算架构及处理大量数据的方法 |
CN114172662A (zh) * | 2021-12-03 | 2022-03-11 | 工银科技有限公司 | 区块链外部数据获取方法及装置 |
CN114186281A (zh) * | 2022-02-14 | 2022-03-15 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链预言机的声誉评估***及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324672A (zh) * | 2020-03-25 | 2020-06-23 | 中国工商银行股份有限公司 | 区块链安全处理***及方法 |
CN111930852A (zh) * | 2020-09-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN112003942A (zh) * | 2020-08-25 | 2020-11-27 | 杭州时戳信息科技有限公司 | 链下数据请求响应方法、***、节点设备与存储介质 |
CN112055023A (zh) * | 2020-09-09 | 2020-12-08 | 工银科技有限公司 | 基于预言机的访问请求处理方法、装置、设备和介质 |
CN112073514A (zh) * | 2020-09-09 | 2020-12-11 | 工银科技有限公司 | 基于预言机的访问请求处理方法、装置、设备和介质 |
US20210044647A1 (en) * | 2019-10-16 | 2021-02-11 | Alipay (Hangzhou) Information Technology Co., Ltd. | Implementing a blockchain-based web service |
CN112507360A (zh) * | 2020-12-10 | 2021-03-16 | 浙商银行股份有限公司 | 基于门限签名和预言机的区块链数据上链方法及装置 |
-
2021
- 2021-04-29 CN CN202110477471.1A patent/CN113055497B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210044647A1 (en) * | 2019-10-16 | 2021-02-11 | Alipay (Hangzhou) Information Technology Co., Ltd. | Implementing a blockchain-based web service |
CN111324672A (zh) * | 2020-03-25 | 2020-06-23 | 中国工商银行股份有限公司 | 区块链安全处理***及方法 |
CN112003942A (zh) * | 2020-08-25 | 2020-11-27 | 杭州时戳信息科技有限公司 | 链下数据请求响应方法、***、节点设备与存储介质 |
CN112055023A (zh) * | 2020-09-09 | 2020-12-08 | 工银科技有限公司 | 基于预言机的访问请求处理方法、装置、设备和介质 |
CN112073514A (zh) * | 2020-09-09 | 2020-12-11 | 工银科技有限公司 | 基于预言机的访问请求处理方法、装置、设备和介质 |
CN111930852A (zh) * | 2020-09-29 | 2020-11-13 | 北京百度网讯科技有限公司 | 基于区块链的数据处理方法、装置、设备以及存储介质 |
CN112507360A (zh) * | 2020-12-10 | 2021-03-16 | 浙商银行股份有限公司 | 基于门限签名和预言机的区块链数据上链方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113628052A (zh) * | 2021-08-18 | 2021-11-09 | 杭州云象网络技术有限公司 | 基于预言机的区块链资产与合约处理方法、***及装置 |
CN114024985A (zh) * | 2021-10-29 | 2022-02-08 | 湖南大学 | 一种区块链的预言机计算架构及处理大量数据的方法 |
CN114024985B (zh) * | 2021-10-29 | 2022-10-11 | 湖南大学 | 一种区块链的预言机计算***及处理大量数据的方法 |
CN114172662A (zh) * | 2021-12-03 | 2022-03-11 | 工银科技有限公司 | 区块链外部数据获取方法及装置 |
CN113961918A (zh) * | 2021-12-15 | 2022-01-21 | 北京中科金财科技股份有限公司 | 一种基于预言机的链下数据协同方法及其*** |
CN113961918B (zh) * | 2021-12-15 | 2022-03-25 | 北京中科金财科技股份有限公司 | 一种基于预言机的链下数据协同方法及其*** |
CN114186281A (zh) * | 2022-02-14 | 2022-03-15 | 江苏荣泽信息科技股份有限公司 | 一种基于区块链预言机的声誉评估***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113055497B (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113055497B (zh) | 用于区块链网络的链外数据上链方法、装置及*** | |
Wang et al. | Convergence of edge computing and deep learning: A comprehensive survey | |
Bodkhe et al. | A survey on decentralized consensus mechanisms for cyber physical systems | |
US12028459B2 (en) | Multi-access edge computing node with distributed ledger | |
Moreno et al. | Proactive self-adaptation under uncertainty: a probabilistic model checking approach | |
CN108959621B (zh) | 一种区块链网络的实现方法、装置、设备及存储介质 | |
US10289973B2 (en) | System and method for analytics-driven SLA management and insight generation in clouds | |
CN114091617A (zh) | 联邦学习建模优化方法、电子设备、存储介质及程序产品 | |
CN106487747B (zh) | 用户识别方法、***、装置及处理方法、装置 | |
CN106060036A (zh) | 去中心化共识方法及装置 | |
CN108541314A (zh) | 基于分组的数据消息传输的依赖序列的操作处理 | |
CN112948900A (zh) | 应用于区块链***的链下数据获取方法和装置 | |
CN113726890B (zh) | 面向区块链数据服务的联邦预言方法及*** | |
Nawrocki et al. | Adaptable mobile cloud computing environment with code transfer based on machine learning | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN111953648A (zh) | 基于区块链预言机的数据处理方法、装置及电子设备 | |
CN112330519A (zh) | 一种数据处理的方法和装置 | |
CN112785303A (zh) | 基于区块链离线支付的验证处理方法及验证处理*** | |
CN111343003A (zh) | 基于区块链和sdn边缘计算网络***的数据分析方法及装置 | |
CN112866282A (zh) | 区块链中时间信息验证方法和装置 | |
US10970180B2 (en) | Methods and apparatus for verifying processing results and/or taking corrective actions in response to a detected invalid result | |
CN115499379A (zh) | 一种基于区块链的信息交互方法、装置、设备及介质 | |
CN113138847B (zh) | 基于联邦学习的计算机资源分配调度方法和装置 | |
CN114860402B (zh) | 调度策略模型训练方法、调度方法、装置、设备和介质 | |
CN111310242A (zh) | 设备指纹生成的方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |