一种区块链系统及数据传输方法、区块链节点、程序产品技术方案

技术编号:38352755 阅读:16 留言:0更新日期:2023-08-05 17:25
本发明专利技术公开了一种区块链数据传输方法,包括:初始化,即通过用户智能合约向预言机智能合约发送获取链下数据请求,预言机智能合约将收到的请求发送给所有预言机,并随机选择一个预言机作为密钥分发预言机;密钥的分发,即通过密钥分发预言机将群体私钥分发给所有预言机;验证密钥碎片,即验证密钥分发预言机发送的密钥碎片和承诺;生成可验证随机数,并将该可验证随机数发送给各预言机;各预言机对数据签名,并将数据和签名集合发送给签名聚合预言机;签名聚合预言机收到各预言机发送的签名集合,先根据签名验证预言机的合法性,若合法则接收数据,当收到多个相同数据,则认为数据为正确数据,将预言机作为签名群体;生成群体签名,将数据上链。将数据上链。将数据上链。

【技术实现步骤摘要】
一种区块链系统及数据传输方法、区块链节点、程序产品


[0001]本专利技术属于区块链
,特别涉及一种区块链系统及数据传输方法和区块链节点。

技术介绍

[0002]区块链可以保证链上数据交互过程安全可信,然而并没有办法保证上链数据是可靠的。即,并不能保证从链下到链上的数据传输过程的安全性、可靠性。为了保证上链数据可靠可信,可以设置一种来协调区块链智能合约和链下世界的“桥梁”,将可信外部数据引入区块链系统。但现有区块链数据传输方法存在以下问题:
[0003]方案复杂性高,导致计算成本和时间成本高;
[0004]数据源的正确性和安全性较低,或者数据源本身有可能是假的且数据易被窜改;
[0005]大多数方案存在一些潜在的风险,容易发生伪造攻击。
[0006]鉴于此,需要提供一种区块链数据传输方法,能够解决上述问题。

技术实现思路

[0007]本申请实施例之一,一种基于数字签名算法的区块链数据传输方法,目的为了解决了数据上链时效率低、开销高以及安全性低等问题。
[0008]该方法基于Schnorr门限聚合签名,包括步骤:
[0009]通过可验证秘密分享,密钥分发者在分发密钥的同时,提供密钥碎片对应的承诺,预言机接收到密钥分发者发送的密钥碎片后可以利用承诺验证密钥碎片的正确性,保证密钥分发者无法通过作恶导致签名失效;
[0010]通过可验证随机函数,保证Schnorr签名过程中产生的随机数是足够随机的,防止随机数被重复使用或随机数可以被其他随机数预测导致的密钥泄露问题;
[0011]在提交数据阶段,验证成功的预言机按照验证顺序提交数据,避免数据泄露;
[0012]通过设置信誉和激励机制,对参与的预言机进行奖惩评定,保证信誉较好的预言机参与签名和数据传输。
[0013]本申请实施例能够有效解决数据在上链过程中发生泄露,数据传输效率低、开销高等问题,并在安全性方面有一定的优势,实现上链数据的可信传输,可广泛应用于区块链

附图说明
[0014]通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:
[0015]图1根据本专利技术实施例之一的区块链数据传输方法流程图。
[0016]图2根据本专利技术实施例之一的区块链数据传输系统框架图。
具体实施方式
[0017]本申请提供了一种基于数字签名算法的区块链数据传输方法,通过可验证随机函数、可验证密钥分享等技术,解决现有预言机方案存在的伪造攻击等潜在安全风险;通过在链下设置多预言机节点获取多数据源数据,并设置验证机制保证上链数据正确、可靠;通过使用Schnorr门限聚合签名,确保计算成本、时间成本保持在较低的水平;同时引入信誉机制,保证信誉较好的预言机参与数据传输,进一步保障方案的安全性。
[0018]相对于现有的主流方案,解决了数据上链方案的安全性、开销和效率等问题,本申请技术方案能够确保签名的安全性和有效性,数据传输效率较高,且签名时间成本和开销较低,能够有效地实现可信数据上链。
[0019]本申请技术方案的主要思路包括:利用Schnorr门限聚合签名,同时使用可验证密钥分享、可验证随机函数,使多个预言机参与签名;每个预言机从多个数据源获取数据;选择出密钥分发预言机分发群体私钥后,每个预言机使用得到的密钥碎片对获取的数据签名,并将数据和签名发送给签名聚合预言机,预言机验证签名、比对数据,判定出正确数据并还原出群体私钥,然后进行群体签名,将正确数据和签名发送给预言机智能合约,完成数据上链。
[0020]根据一个或者多个实施例,一种基于数字签名算法的区块链数据传输方法,利用多预言机和数字签名方法,完成可信数据上链,包括以下步骤:
[0021](1)初始化阶段,用户智能合约向预言机智能合约发送获取链下数据请求,预言机智能合约收到请求后将其发送给所有预言机,并随机选择一个预言机作为密钥分发预言机,假设预言机总数为n;
[0022](2)将群体私钥分发给所有预言机:密钥分发,构造多项式,将私钥碎片SK
i
及其承诺C
i
分发给预言机群体,t个预言机根据密钥碎片即可恢复出群体私钥SK进行签名,在这里,假设总数为n的预言机签名群体中恶意节点数f不超过(n

1)/2。设门限值为t=f+1,当提供大于等于t个有效密钥分片时,即可恢复群体私钥完成数据签名。此处t即为门限值。在这里,通过设置的密钥分发预言机将群体私钥分发给所有预言机,预言机通过接收到的密钥碎片(群体私钥分发后形成的密钥碎片)进行签名;
[0023](3)验证密钥碎片,根据公式验证密钥分发预言机发送的密钥碎片和承诺,当有t个错误私钥碎片时,重新选举密钥分发预言机并重新进行密钥分发,这里设预言机总数为n,当存在t(t<n)个错误密钥碎片时,说明密钥分发预言机作恶,需要重新分发密钥;
[0024](4)生成可验证随机数:生成可验证随机数K
i
,并将其发送给各预言机;
[0025](5)计算预言机个体签名:各预言机计算哈希值和签名,并将数据和签名集合发送给签名聚合预言机;
[0026](6)验证预言机个体签名:签名聚合预言机收到各预言机发送的签名集合,先根据签名验证预言机的合法性,若合法则接收数据,当收到t个相同数据,认为数据为正确数据,将这些预言机作为签名群体
[0027](7)进行群体签名:还原出群体私钥进行签名,并将数据和群体签名集合等发送给预言机智能合约,完成数据上链。
[0028](8)信誉与激励机制:设置信誉和激励机制,对参与的预言机进行奖惩评定,保证信誉较好的预言机参与签名和数据传输。
[0029]在步骤(1)的初始化阶段,用户智能合约向预言机智能合约发送请求,请求获取所需的链下数据。预言机智能合约收到请求后将其发送给预言机群体的每个预言机,并随机选择一个预言机作为密钥分发预言机。
[0030]在步骤(2)中,初始化后,密钥分发预言机构造t

1次多项式f(x)=f0+f1x+f2x2+

+f
t
‑1x
t
‑1(mod q),f0=f(0)=sk作为群体私钥被预言机群体的n个预言机共享,并随机选取x1,x2,

,x
n
等n个互不相同的非零元素,生成密钥碎片sk
i
(sk
i
=f
i
=f(x
i
)和其承诺将密钥碎片和承诺分发给预言机群体的各个预言机。
[0031]步骤(3)中,密钥分发完成后,各预言机收到密钥分发预言机发送的密钥碎片和承诺。同时,预言机收到预言机智能合约请求后,通过链外API从多个数据源获取数据,将大多数数据源的相同数据认为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链数据传输方法,其特征在于,包括以下步骤:S101,初始化,即通过用户智能合约向预言机智能合约发送获取链下数据请求,预言机智能合约将收到的请求发送给所有预言机,并随机选择一个预言机作为密钥分发预言机;S102,密钥的分发,即通过所述密钥分发预言机将群体私钥分发给所有预言机;S103,验证密钥碎片,即验证密钥分发预言机发送的密钥碎片和承诺;S104,生成可验证随机数,并将该可验证随机数发送给各预言机;S105,各预言机对数据签名,并将数据和签名集合发送给签名聚合预言机;S106,签名聚合预言机收到各预言机发送的签名集合,先根据签名验证预言机的合法性,若合法则接收数据,当收到多个相同数据,则认为数据为正确数据,将所述预言机作为签名群体;S107,生成群体签名,将数据上链。2.根据权利要求1所述的区块链数据传输方法,其特征在于,还包括步骤,S108,设置信誉和激励机制,对预言机进行奖惩评定。3.根据权利要求1所述的区块链数据传输方法,其特征在于,S103中还包括,当有多个私钥碎片时,重新选举密钥分发预言机,并重新进行密钥分发。4.根据权利要求1所述的区块链数据传输方法,其特征在于,S107中还包括,还原出群体私钥进行签名,并将数据和群体签名集合发送给预言机智能合约,完成数据上链。5.根据权利要求1所述的区块链数据传输方法,其特征在于,步骤S102中,密钥分发预言机构造t

1次多项式,f(x)=f0+f1x+f2x2+

+f
t
‑1x
t...

【专利技术属性】
技术研发人员:崔怀勇李超王洒洒张绍华李远刚戴炳荣陈明
申请(专利权)人:上海海洋大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1