CN116722966A - 一种基于dag预言机网络的高效可信链下数据馈送方法 - Google Patents
一种基于dag预言机网络的高效可信链下数据馈送方法 Download PDFInfo
- Publication number
- CN116722966A CN116722966A CN202310921027.3A CN202310921027A CN116722966A CN 116722966 A CN116722966 A CN 116722966A CN 202310921027 A CN202310921027 A CN 202310921027A CN 116722966 A CN116722966 A CN 116722966A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- transaction
- request
- predictor
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000012795 verification Methods 0.000 claims description 25
- 239000002245 particle Substances 0.000 claims description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000005295 random walk Methods 0.000 claims description 8
- 241001272996 Polyphylla fullo Species 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 2
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于DAG预言机网络的高效可信链下数据馈送方法,属于区块链技术领域,包括以下步骤:S1:用户合约SCU根据自身需求向部署区块链上的预言机合约SCO发起请求R1;S2:SCO接收R1后解析其中的参数,为其生成请求ID并添加到请求列表中,然后将处理后的请求R2转发给链外预言机网络;S3:领导人预言机节点监听SCO发出的事件,获得请求内容;S4:领导人预言机节点获取到请求内容后通过DAG账本搜索数据,并将符合请求内容的数据封装馈送回SCO;S5:SCO检查请求和响应中的参数是否一致,如果一致,则将数据转发给SCU的回调点f2;SCU根据馈送的数据作出业务逻辑操作,数据馈送流程结束。
Description
技术领域
本发明属于区块链技术领域,具体涉及一种基于DAG预言机网络的高效可信链下数据馈送方法。
背景技术
随着Ethereum和EOS等区块链平台的广泛出现,区块链技术的不可篡改性和去中心化特性使得智能合约的实现成为可能。现在的智能合约可以定义为以数字方式促进、验证和执行区块链上两方或多方之间订立的合约的计算机协议,可以表达触发器、条件和商业逻辑,以实现复杂的可编程交易。
智能合约的执行需要信息,智能合约的执行逻辑类似于条件编程,一旦触发器被激活,它就会自动执行一组预定义的操作。但智能合约却处于与外界隔绝的网络中,无法对外界发生的事情(即链下)做出反应。缺乏对真实外部数据的访问限制了智能合约的应用前景,例如需要物联网和网络数据来确定保单支付的保险智能合约。为了解决智能合约与外界交互的问题,人们提出了预言机(Oracle)(也被称为可信的数据馈送)。智能合约需要预言机以交易的形式提供关于现实世界的外部状态,从而确保合约执行结果是确定的。
当前业界主流的区块链预言机方案简单分为中心化预言机与去中心化预言机两种。一方面,中心化预言机通过单一预言机节点提供服务,馈送数据的有效性完全取决于控制预言机的实体。中心化的实现方案存在单点故障的问题,还容易出现“垃圾输入、垃圾输出”的问题,并且与区块链本身去中心化生态相悖。另一个方面,大多数去中心化的解决方案使用类似于共识的方法,然而受限于共识效率,难以满足密集型数据馈送的需求,响应时间的增加也意味着一些强调时效性的数据的价值降低。因此,面对链上密集型需求以及链下的高频连续型数据生成(例如,价格数据馈送、IOT数据)目前的预言机方案不能满足链上密集数据馈送的需求。
发明内容
有鉴于此,本发明的目的在于提供一种基于新型区块链预言机网络的高效数据馈送方法。
为达到上述目的,本发明提供如下技术方案:
一种基于DAG预言机网络的高效可信链下数据馈送方法,包括以下步骤:
S1:用户合约SCU根据自身需求向部署区块链上的预言机合约SC0发起请求R1;
S2:SC0接收R1后解析其中的参数,为其生成一个新的且唯一的请求ID并将该请求添加到请求列表中,然后将处理后的请求R2以事件日志的形式转发给链外预言机网络;
S3:预言机网络中的领导人预言机节点监听SC0发出的事件,并根据事件日志获得请求内容;
S4:领导人预言机节点获取到请求内容后通过DAG账本搜索数据,并将符合请求内容的数据封装为馈送消息以交易的形式馈送回SC0;所述DAG账本数据由预言机节点通过订阅或请求数据源来获取数据,将获取的数据封装为交易,并将交易加入DAG分布式账本,加入的过程通过共识生成包含数据准确度的数据;基于DAG的分布式账本是区块链的一种推广,通过允许在树中构建交易来解决并发问题,旨在实现更高的交易吞吐量和安全性。DAG技术作为区块链的一个有益补充,它的异步共识机制在提高扩展性、缩短确认时间和降低支付费用方面优势明显。
S5:SC0检查请求和响应中的参数是否一致,如果一致,则将数据转发给SCU的回调点f2;SCU根据馈送的数据作出业务逻辑操作,数据馈送流程结束。
进一步,步骤S1具体包括:用户合约SCU根据自身需求向部署区块链上的预言机合约SC0发起请求R1=(reContent,callback),其中reContent指定请求的内容,reContent由一个三元组表示,reContent=(DP,spec,T),其中DP是目标数据提供者,spec指定要检索的数据报内容,而T指定数据报的时间戳;callback表示数据报要返回的入口点。
进一步,步骤S3中,领导人预言机节点的选取由预言机网络内的预言机节点根据可验证随机函数(Verifiable Random Function,简写VRF)抽签结果决定。VRF本质上是一类具有验证功能的伪随机函数。对于一个特定的输入以及输入者的私钥,VRF会输出一个随机数以及一个零知识证明,验证者可以通过输出的随机数、证明和输入这三部分验证出随机数是否是由该输入产生。这个过程不必暴露输入者的私钥,因此是安全的。VRF具有三大特性:可验证性、唯一性和随机性。领导人预言机节点选举步骤如下:
S31:随机种子选择与轮次定义;整个数据馈送流程由多个轮次组成,一个轮次记为一个R,在每个轮次都有一个领导人节点负责最后数据报告的馈送,用一个元组(R,Ol)来表示在轮次e所对应的领导人预言机Ol,该元组也在数据馈送流程中表示为逻辑时间T←(R,Ol),其中第i轮次的Ri计算方式为:
Ri=Hash(TSig(Ri-1))
其中TSig为聚合签名,随机种子的选择需要随机且公开,因此种子选择为上一次轮次的Ri-1;
S32:所有预言机节点初始化参数,使用非对称加密算法利用秘钥生成算法KeyGen(Pk,Sk)生成一个公私钥对(Pk,Sk);其中Pk是公钥,是公开的,Sk是该节点的私钥,是不公开的,私钥只由被节点自己保存;
S33:利用VRF算法生成随机数与证明,预言机网络中的每个预言机节点将私钥SK以及此时轮次标识Ri作为输入,经过VRF的哈希映射函数VRF_HASH得到一个随机哈希result,计算方式为<result,proof>=VRF_HASH(SK,Ri);
S34:节点判断是否中签,步骤S33得到的result的取值在区间[0,2hashlen(result)],令 则r∈[0,1),设立阈值λ∈[0,1],若result/2(bits(result))<λ,则认为该节点被选中若生成的随机数满足规定的条件则认为选中为领导人节点;规定的条件用来限制选择的节点数量,若同时存在多个节点满足要求,随机数值较小的节点被选中;
S35:其他预言机验证抽签结果;中签的预言机将通过VRF的函数生成对应的证明proof,proof=VRF_proor(SK,Ri),连同自身的公钥PK、身份信息、基本信息通过网络传输发送给网络内的其他预言机进行验证,并附上使用自己公钥签署的数字签名;其他预言机首先对收到的信息进行完整性检查,首先通过数字签名检查信息是否被篡改,其次检查信息内容是否完整,是否包含规定信息;若检查失败则返回拒绝请求;首先通过VRF的哈希自我验证函数VRF_P2H计算result=VRF_P2H(proof),验证结果result和被证明者传来的result是否相同,若不同则验证失败,中止验证;若验证通过则使用VRF验证算法VRF_verify验零知识证明的正确性,计算VRF_verify(PK,Ri,proof),Pk,Ri,proof经过VRF_verify验证后得出两个值,TRUE或者FALSE,TRUE表示通过验证,FALSE表示未通过验证;若验证失败则返回请求失败;若验证通过,表明proof是通过Ri生成的,并且能够验证proof是通过计算得出result,进而推导出Ri和result是否匹配验证预言机的基本信息,验证成功后为轮次Ri-1签名Tsig(Ri-1),并发送给候选领导人预言机节点;
S36:候选领导人预言机节点为在收集到超过阈值t的签名后,新的逻辑时间也在将在预言机合约中更新,其中逻辑时间T也将变更为下一轮次T←(R+1,Olnew);更新完成后一次领导人预言机节点选举流程结束。
进一步,步骤S4具体包括以下步骤:
S41:放置一定数量的随机游走粒子在账本的H深处的地方,落在DAG账本的某个交易上;
S42:粒子根据累计权重、间隙指标、边权重计算从当前交易向每一个后继交易游走的概率。其中概率的计算方式为:
其中交易y批准交易x,即在账本结构中y节点指向x节点,和/>是两笔交易的累积权重;式中的α、β、γ皆为非负的调整参数(α,β,γ>0),用于调整元素对游走概率的影响,当α增大时,walkers会更偏向朝着累积权重变化梯度小的方向沿有向边游走,即更倾向游走到累积权重更大的交易,当α减小时则累积权重对walkers的游走影响减小,即walker游走时会更加随机;通过加入Sg因子的概率计算,使其在随机行走时更偏向于选择累积权重较高、Sequense区间较远的Tips;Wx←y为后继交易y批准交易x的有向边权重,防止预言机与数据源提供虚假数据;
S43:粒子按照概率向后继交易随机游走;
S44:判断当前交易是否是无后继交易批准的叶子交易Tip,如果是则进行步骤S45,如果不是则执行S42,Tip交易即DAG账本中新到达的未经确认的交易;
S45:判断是否已有两个粒子到达Tip,如果是则进行S46,如果不是则等待;
S46:分别计算两个Tip的数据置信度,这里的两个Tip是粒子随机游走过程中最先到达的两个未经确认的交易;
S47:将当前交易加入到DAG分布式账本中,创建两条边指向验证的这两个Tip,当后继交易与Tip交易中的数据为同一知识区域为强批准,否之为弱批准,若弱批准边权赋值Wx←y为1,若强批准则边权赋值Wx←y为数据置信度,数据相似度预告则数据置信度越高,并设置交易的自身权重为1;创建一条指向包含同一数据源产生的上一条数据的交易,使账本能够反映数据的连续性。
本发明的有益效果在于:
本发明为去中心化的区块链预言机网络,主要解决了中心化的实现方案存在单点故障的问题和运用单一预言机获取外部数据时无法保证完全可靠等现象。其次,针对目前面对链上密集型需求以及链下的高频连续型数据生成目前的去中心化预言机方案不能满足链上密集数据馈送的需求,本发明通过所述的方法能提高数据馈送及共识效率,满足链上密集数据馈送的需求。
以往的类似的去中心化预言机数据馈送的过程中,大多数情况下都是将获取到的数据直接传送给智能合约进行处理,或是数据传输给相应的链上聚合合约时,在合约内完成数据处理,但这无疑增大了智能合约的工作量,也会减缓数据处理的速度,提高数据馈送成本。本发明通过在预言机网络内处理数据,最终生成数据馈送报告减少数据馈送次数,提高连续数据处理的速度,提高数据馈送成本
区块链中引入预言机的一个很大的技术难点就是解决可信问题,通过本发明所述的方法能极大地提高在区块链中引入预言机的可行性。
本发明的其他优点、目标和特征将在随后的说明书中进行阐述,并且在某种程度上对本领域技术人员而言是显而易见的,或者本领域技术人员可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1是本发明实施例的预言机网络架构示意图;
图2是本发明实施例的链下数据馈送机制的流程图;
图3是本发明实施例领导人预言机节点选举方法流程图;
图4是本发明实施例的Tips选择算法的流程图。
具体实施方式
如图1~4所示,本发明实施例中包括:区块链、基于DAG分布式账本的预言机网络、链下数据提供者。其中,区块链为支持智能合约的区块链。在区块链中部署有两种类型的合约,一种是用户合约SCU,一种是部署在区块链上的预言机合约SC0。SC0负责与用户合约SCU交互,接受用户合约的数据请求,并将链外数据反馈给用户合约;基于DAG分布式账本的预言机网络由n个预言机组成O={O1,O2...,On},它们也被称为预言机节点。预言机节点具有一定的计算和存储能力,并且预言机节点之间可以相互发送消息。预言机节点参与并维护DAG账本。整个预言机网络负责通过监听来自SC0的事件来接受请求,并向SC0反馈数据。预言机节点可以通过订阅和请求数据源来获取数据,并根据智能合约的需求进行处理和验证;数据提供者可以通过注册和发布自己的数据源来参与网络,存在多个数据源提供相同类型的数据,并按某一频率连续产生数据(如汇率价格数据提供者),具有合法身份的数据提供者才能参与数据馈送服务。
本发明提供了一种基于DAG预言机网络的高效可信链下数据馈送方法,包括以下子步骤:S1、用户合约SCU根据自身需求向部署区块链上的预言机合约SC0发起请求R1=(reContent,callback)。其中reContent指定请求的内容,reContent由一个三元组表示,reContent=(DP,spec,T),其中DP是目标数据提供者,spec指定要检索的数据报内容,而T指定数据报的时间戳。此外R1中的参数callback表示数据报要返回的入口点。
S2、SC0接收R1后解析其中的参数,为其生成一个新的且唯一的请求ID并将该请求添加到请求列表中,然后将r2=(id,reContent)以事件日志的形式转发给链外预言机网络。
S3、预言机网络中的领导预言机节点监听SC0发出的事件,并根据事件日志获得请求内容。其中领导人节点的选取由预言机网络内的预言机节点根据VRF抽签结果决定,整个领导人预言机节点主要选举步骤如下:
1)随机种子选择与轮次定义。整个数据馈送流程由多个轮次组成,一个轮次记为一个R,在每个轮次都有一个领导人节点负责最后数据报告的馈送,我们用一个元组(R,Ol)来表示在轮次e所对应的领导人预言机Ol,该元组也在数据馈送流程中表示为逻辑时间T←(R,Ol),其中第i轮次的Ri计算方式为:
Ri=Hash(TSig(Ri-1))#(3-6)
其中TSig为聚合签名。其次为了限制敌手操纵选举的能力,从而操纵领导人预言机的选择,随机种子的选择需要随机且公开,因此种子选择为上一次轮次的Ri-1。
2)所有预言机节点初始化参数,使用非对称加密算法利用秘钥生成算法KeyGen(Pk,Sk)生成一个公私钥对(Pk,Sk)。其中Pk是公钥,是公开的,Sk是该节点的私钥,是不公开的,私钥只由被节点自己保存。
3)利用VRF算法生成随机数与证明。预言机网络中的每个预言机节点将私钥SK以及此时轮次标识Ri作为输入,经过VRF的哈希映射函数VRF_HASH得到一个随机哈希result,计算方式为<result,proof>=VRF_HASH(SK,Ri);
4)节点判断是否中签。步骤三得到的result的取值在区间[0,2hashlen(result)],取,令 则r∈[0,1),设立阈值λ∈[0,1],若result/2(bits(resu1t))<λ,则认为该节点被选中若生成的随机数满足规定的条件则认为选中为领导人节点;规定的条件用来限制选择的节点数量,若同时存在多个节点满足要求,随机数值较小的节点被选中。
5)其他预言机验证抽签结果。中签的预言机将通过VRF的函数生成对应的证明proof,proof=yRF_proof(SK,Ri),连同自身的公钥PK、身份信息、基本信息通过网络传输发送给网络内的其他预言机进行验证,并附上使用自己公钥签署的数字签名。门限签名是数字签名的一个重要分支,是门限秘密共享技术和数字签名的一种结合。(t,n)门限签名意味着:由n个成员组成的一个签名群体至少需要t个诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证。
其他预言机首先对收到的信息进行完整性检查,首先通过数字签名检查信息是否被篡改,其次检查信息内容是否完整,是否包含规定信息。若检查失败则返回拒绝请求。首先通过VRF的哈希自我验证函数VRF_P2H计算result=VRF_P2H(proof),验证结果result和被证明者传来的result是否相同,若不同则验证失败,中止验证。若验证通过则使用VRF验证算法VRF_verify验零知识证明的正确性,计算VRF_verify(PK,Ri,proof),Pk,Ri,proof经过VRF_verify验证后得出两个值,TRUE或者FALSE,TRUE表示通过验证,FALSE表示未通过验证。若验证失败则返回请求失败。若验证通过,表明proof是通过Ri生成的,并且能够验证proof是通过计算得出result,进而推导出Ri和result是否匹配,从而验证了该符合规定条件的随机数确实是该节点产生的;另一方面,验证预言机的基本信息。验证成功后为轮次Ri-1签名TSig(Ri-1),并发送给候选领导人预言机节点。
6)候选领导人预言机节点为在收集到超过阈值t的签名后,新的逻辑时间也在将在预言机合约中更新,其中逻辑时间T也将变更为下一轮次T←(R+1,Olnew)。更新完成后一次领导人预言机节点选举流程结束。
S4、领导人预言机节点获取到请求内容后通过DAG账本搜索数据,并将符合请求内容的数据封装为馈送消息f1=(id,params,data)以交易的形式馈送回SC0。其中01通过累计权重Cw>ξ来确定该交易是否是一个已确认的交易。如果是确认的交易,它使用聚合函数data=AGG(D1,D2...Dn)聚合不同数据源产生的多个数据D1,D2...Dn。其中的DAG账本数据由预言机节点通过订阅或请求数据源来获取数据,将获取的数据封装为交易,并将交易加入DAG分布式账本,加入的过程通过共识生成包含数据准确度的数据,账本数据具有确定性。
S5、SC0检查请求和响应中的参数是否一致,如果一致,则将数据转发给SCU的回调点f2。SCU根据馈送的数据作出业务逻辑操作。数据馈送流程结束。
其中S4中将交易加入DAG分布式账本即数据共识的子步骤如下:
S41、放置一定数量的随机游走粒子在账本的H深处的地方,落在DAG账本的某个交易上;
S42、粒子根据累计权重、间隙指标、边权重计算从当前交易向每一个后继交易游走的概率。其中概率的计算方式为:
其中交易y批准交易x,即在账本结构中y节点指向x节点,和/>是两笔交易的累积权重。而式中的α、β、γ皆为非负的调整参数(α,β,γ>0),调整参数的值可以调整元素对游走概率的影响。当α增大时,walkers会更偏向朝着累积权重变化梯度小的方向沿有向边游走,即更倾向游走到累积权重更大的交易,而当α减小时则累积权重对walkers的游走影响减小,即walker游走时会更加随机。通过加入Sg因子的概率计算,使其在随机行走时更偏向于选择累积权重较高、Sequense区间较远的Tips,这样可以防止懒惰节点只选择批准属于相同Sequense的交易。Wx←y为后继交易y批准交易x的有向边权重,防止预言机与数据源提供虚假数据。
S43、粒子按照概率向后继交易随机游走;
S44、判断当前交易是否是无后继交易批准的叶子交易Tip,如果是则进行S45,如果不是则执行S42,Tip交易即DAG账本中新到达的未经确认的交易;
S45、判断是否已有两个粒子到达Tip,如果是则进行S46,如果不是则等待;
S46、分别计算两个Tip的数据置信度,这里的两个Tip是粒子随机游走过程中最先到达的两个未经确认的交易。
S47、将当前交易加入到DAG分布式账本中,创建两条边指向验证的这两个Tip,当后继交易与Tip交易中的数据为同一知识区域为强批准,否之为弱批准,若弱批准边权赋值Wx←y为1,若强批准则边权赋值Wx←y为数据置信度,数据相似度预告则数据置信度越高,并设置交易的自身权重为1。创建一条指向包含同一数据源产生的上一条数据的交易,使账本能够反映数据的连续性。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (4)
1.一种基于DAG预言机网络的高效可信链下数据馈送方法,其特征在于:包括以下步骤:
S1:用户合约SCU根据自身需求向部署区块链上的预言机合约SCO发起请求R1;
S2:SCO接收R1后解析其中的参数,为其生成一个新的且唯一的请求ID并将该请求添加到请求列表中,然后将处理后的请求R2以事件日志的形式转发给链外预言机网络;
S3:预言机网络中的领导人预言机节点监听SCO发出的事件,并根据事件日志获得请求内容;
S4:领导人预言机节点获取到请求内容后通过DAG账本搜索数据,并将符合请求内容的数据封装为馈送消息以交易的形式馈送回SCO;所述DAG账本数据由预言机节点通过订阅或请求数据源来获取数据,将获取的数据封装为交易,并将交易加入DAG分布式账本,加入的过程通过共识生成包含数据准确度的数据;
S5:SCO检查请求和响应中的参数是否一致,如果一致,则将数据转发给SCU的回调点f2;SCU根据馈送的数据作出业务逻辑操作,数据馈送流程结束。
2.根据权利要求1所述的基于DAG预言机网络的高效可信链下数据馈送方法,其特征在于:步骤S1具体包括:用户合约SCU根据自身需求向部署区块链上的预言机合约SCO发起请求R1=(reContent,callback),其中reContent指定请求的内容,reContent由一个三元组表示,reContent=(DP,spec,T),其中DP是目标数据提供者,spec指定要检索的数据报内容,而T指定数据报的时间戳;callback表示数据报要返回的入口点。
3.根据权利要求1所述的基于DAG预言机网络的高效可信链下数据馈送方法,其特征在于:步骤S3中,领导人预言机节点的选取由预言机网络内的预言机节点根据可验证随机函数VRF抽签结果决定,领导人预言机节点选举步骤如下:
S31:随机种子选择与轮次定义;整个数据馈送流程由多个轮次组成,一个轮次记为一个R,在每个轮次都有一个领导人节点负责最后数据报告的馈送,用一个元组(R,Ol)来表示在轮次e所对应的领导人预言机Ol,该元组也在数据馈送流程中表示为逻辑时间T←(R,Ol),其中第i轮次的Ri计算方式为:
Ri=Hash(TSig(Ri-1))
其中TSig为聚合签名,随机种子的选择需要随机且公开,因此种子选择为上一次轮次的Ri-1;
S32:所有预言机节点初始化参数,使用非对称加密算法利用秘钥生成算法KeyGen(Pk,Sk)生成一个公私钥对(Pk,Sk);其中Pk是公钥,是公开的,Sk是该节点的私钥,是不公开的,私钥只由被节点自己保存;
S33:利用VRF算法生成随机数与证明,预言机网络中的每个预言机节点将私钥SK以及此时轮次标识Ri作为输入,经过VRF的哈希映射函数VRF_HASH得到一个随机哈希result,计算方式为<result,proof>=VRF_HASH(SK,Ri);
S34:节点判断是否中签,步骤S33得到的result的取值在区间[0,2hashlen(result)],令 则r∈[0,1),设立阈值λ∈[0,1],若result/2(bits(result))<λ,则认为该节点被选中若生成的随机数满足规定的条件则认为选中为领导人节点;规定的条件用来限制选择的节点数量,若同时存在多个节点满足要求,随机数值较小的节点被选中;
S35:其他预言机验证抽签结果;中签的预言机将通过VRF的函数生成对应的证明proof,proof=VRF_proof(SK,Ri),连同自身的公钥PK、身份信息、基本信息通过网络传输发送给网络内的其他预言机进行验证,并附上使用自己公钥签署的数字签名;其他预言机首先对收到的信息进行完整性检查,首先通过数字签名检查信息是否被篡改,其次检查信息内容是否完整,是否包含规定信息;若检查失败则返回拒绝请求;首先通过VRF的哈希自我验证函数VRF_P2H计算result=VRF_P2H(proof),验证结果result和被证明者传来的result是否相同,若不同则验证失败,中止验证;若验证通过则使用VRF验证算法VRF_verify验零知识证明的正确性,计算VRF_verify(PK,Ri,proof),Pk,Ri,proof经过VRF_verify验证后得出两个值,TRUE或者FALSE,TRUE表示通过验证,FALSE表示未通过验证;若验证失败则返回请求失败;若验证通过,表明proof是通过Ri生成的,并且能够验证proof是通过计算得出result,进而推导出Ri和result是否匹配;验证预言机的基本信息,验证成功后为轮次Ri-1签名TSig(Ri-1),并发送给候选领导人预言机节点;
S36:候选领导人预言机节点为在收集到超过阈值t的签名后,新的逻辑时间也在将在预言机合约中更新,其中逻辑时间T也将变更为下一轮次T←(R+1,Olnew);更新完成后一次领导人预言机节点选举流程结束。
4.根据权利要求1所述的基于DAG预言机网络的高效可信链下数据馈送方法,其特征在于:步骤S4具体包括以下步骤:
S41:放置一定数量的随机游走粒子在账本的H深处的地方,落在DAG账本的某个交易上;
S42:粒子根据累计权重、间隙指标、边权重计算从当前交易向每一个后继交易游走的概率。其中概率的计算方式为:
其中交易y批准交易x,即在账本结构中y节点指向x节点,CWx和CWy是两笔交易的累积权重;式中的α、β、γ皆为非负的调整参数(α,β,γ>0),用于调整元素对游走概率的影响,当α增大时,walkers会更偏向朝着累积权重变化梯度小的方向沿有向边游走,即更倾向游走到累积权重更大的交易,当α减小时则累积权重对walkers的游走影响减小,即walker游走时会更加随机;通过加入Sg因子的概率计算,使其在随机行走时更偏向于选择累积权重较高、Sequense区间较远的Tips;Wx←y为后继交易y批准交易x的有向边权重,防止预言机与数据源提供虚假数据;
S43:粒子按照概率向后继交易随机游走;
S44:判断当前交易是否是无后继交易批准的叶子交易Tip,如果是则进行步骤S45,如果不是则执行S42,Tip交易即DAG账本中新到达的未经确认的交易;
S45:判断是否已有两个粒子到达Tip,如果是则进行S46,如果不是则等待;
S46:分别计算两个Tip的数据置信度,这里的两个Tip是粒子随机游走过程中最先到达的两个未经确认的交易;
S47:将当前交易加入到DAG分布式账本中,创建两条边指向验证的这两个Tip,当后继交易与Tip交易中的数据为同一知识区域为强批准,否之为弱批准,若弱批准边权赋值Wx←y为1,若强批准则边权赋值Wx←y为数据置信度,数据相似度预告则数据置信度越高,并设置交易的自身权重为1;创建一条指向包含同一数据源产生的上一条数据的交易,使账本能够反映数据的连续性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921027.3A CN116722966B (zh) | 2023-07-26 | 2023-07-26 | 一种基于dag预言机网络的高效可信链下数据馈送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310921027.3A CN116722966B (zh) | 2023-07-26 | 2023-07-26 | 一种基于dag预言机网络的高效可信链下数据馈送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116722966A true CN116722966A (zh) | 2023-09-08 |
CN116722966B CN116722966B (zh) | 2024-03-12 |
Family
ID=87873645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310921027.3A Active CN116722966B (zh) | 2023-07-26 | 2023-07-26 | 一种基于dag预言机网络的高效可信链下数据馈送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116722966B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200065300A1 (en) * | 2018-08-24 | 2020-02-27 | Oracle International Corporation | Dag based methods and systems of transaction processing in a distributed ledger |
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN112116349A (zh) * | 2020-08-12 | 2020-12-22 | 北京智融云河科技有限公司 | 面向高吞吐率的图式账本的随机化共识方法和装置 |
CN114357495A (zh) * | 2022-03-15 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于区块链的预言机链下聚合方法、装置、设备和介质 |
-
2023
- 2023-07-26 CN CN202310921027.3A patent/CN116722966B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200065300A1 (en) * | 2018-08-24 | 2020-02-27 | Oracle International Corporation | Dag based methods and systems of transaction processing in a distributed ledger |
CN112602076A (zh) * | 2018-08-24 | 2021-04-02 | 甲骨文国际公司 | 分布式分类账中基于dag的交易处理方法和系统 |
CN112116349A (zh) * | 2020-08-12 | 2020-12-22 | 北京智融云河科技有限公司 | 面向高吞吐率的图式账本的随机化共识方法和装置 |
CN112016105A (zh) * | 2020-08-17 | 2020-12-01 | 东北大学秦皇岛分校 | 基于分布式预言机和同态加密的链上链下数据共享方案 |
CN114357495A (zh) * | 2022-03-15 | 2022-04-15 | 北京百度网讯科技有限公司 | 基于区块链的预言机链下聚合方法、装置、设备和介质 |
Non-Patent Citations (2)
Title |
---|
ATAKAN ARAL等: "Reliability Management for Blockchain-Based Decentralized Multi-Cloud", 《IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND INTERNET COMPUTING》, pages 21 - 30 * |
刘懿中等: "区块链共识机制研究综述", 《密码学报》, pages 395 - 432 * |
Also Published As
Publication number | Publication date |
---|---|
CN116722966B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109785130B (zh) | 区块链随机共识方法、装置、计算机设备和存储介质 | |
US11907174B2 (en) | Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes | |
US11522706B2 (en) | Method and system for publicly verifiable proofs of retrievability in blockchains | |
JP7184959B2 (ja) | ネットワーク内の分散データベースのための方法及び装置 | |
EP3751815B1 (en) | Multi-source deterministic oracle management | |
US10581613B2 (en) | Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods | |
CN111985003B (zh) | 数据库恶意对等体识别 | |
US20220129439A1 (en) | High throughput blockchain consensus systems and methods with low finalization time | |
WO2021032138A1 (zh) | 一种基于区块链系统的共识方法、装置及系统 | |
CN112039855B (zh) | 一种基于联盟链的科技资源数据安全存储与共享方法 | |
CN111989705A (zh) | 有许可区块链中的优先级 | |
CA3037833C (en) | System and method for information protection | |
CN109241087B (zh) | 一种联盟链的数据处理方法及终端 | |
US20200134578A1 (en) | Blockchain consensus systems and methods involving a time parameter | |
US20200358595A1 (en) | System and method for information protection | |
Aluko et al. | Proof-of-reputation: an alternative consensus mechanism for blockchain systems | |
CN113992526A (zh) | 一种基于可信度计算的联盟链跨链数据融合方法 | |
Ivanov et al. | Blockumulus: a scalable framework for smart contracts on the cloud | |
EP3970048A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
CN113919846B (zh) | 区块链节点动态分组方法、装置、计算机设备和存储介质 | |
CN116722966B (zh) | 一种基于dag预言机网络的高效可信链下数据馈送方法 | |
WO2020174377A1 (en) | Adjusting transaction distribution based on predicted open transaction execution rates | |
CN116389040A (zh) | 基于信誉的区块链共识方法、装置和计算机设备 | |
US20230147925A1 (en) | Protection against front-running attacks in a distributed ledger | |
Marsalek et al. | Compressing the Bitcoin blockchain using incremental snapshots |
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 |