基于份额恢复门限签名的可信分布式预言机实现方法及系统

文档序号:37979973发布日期:2024-05-13 12:38阅读:12来源:国知局
基于份额恢复门限签名的可信分布式预言机实现方法及系统

本发明涉及区块链,特别涉及一种基于份额恢复门限签名的可信分布式预言机实现方法及系统。


背景技术:

1、目前,随着区块链的去中心化、去信任的特点逐渐得到重视,区块链已经在各个领域得到了广泛的应用。如数据防篡改、保护数据可信传输和对数据进行追溯管理等。然而区块链虽然能够保护链上数据的安全可信,但对于从外界获取的数据的安全性却无法进行保证。区块链智能合约(smart contract)可以在区块链环境中传播、验证、自动协商和执行协议条款,智能合约的数据离不开可信的现实数据作支撑,同时就需要一种有效的数据获取机制来为链上提供可信的数据,这就是区块链中预言机(oracle machine)诞生的初衷。预言机能够从现实世界获取数据并传输给区块链智能合约,是连接智能合约和现实世界的中间件(middleware)。它负责响应智能合约的数据请求,在现实世界连接数据源获取数据,并将可靠的数据传输到链上。智能合约得到预言机传输的数据后,就能够以现实数据为依据执行业务操作,因此预言机数据的可信度将直接影响智能合约的执行可信性。

2、中心化预言机由于具有执行效率高、实现简单等特点,在区块链研究应用初期得到了广泛应用。中心化预言机的代表包括基于可信执行环境(tee)而搭建的town crier预言机和基于tlsnotary技术搭建的provable预言机。前者是基于以太坊的中心化数据预言机,通过可信执行环境保护合约代码的安全执行;后者则服务于以太坊、eos和hyperledgerfabric等平台,负责为不同数据源提供真实性证明。随着区块链的应用越来越广泛,中心化预言机存在的问题也随之暴露出来。一是中心化预言机需要中心化平台或者第三方独立机构的支持,违背了区块链的去信任、去中心化的基本原则;二是中心化预言机本身存在单点故障的风险,难以在恶劣条件下提供稳定的数据支持;三是存在着安全风险,一旦这个预言机被攻破,极易对用户隐私和数据可信产生威胁。在这种情况下,能够有效应对以上问题的分布式预言机得到了研究者的充分关注。

3、分布式预言机采用多点部署机制,将多个预言机构成一个预言机集合,共同承担数据获取任务。当智能合约发出数据请求时,整个集合中的预言机分别从各自的数据源获取数据,并经过数据验证和数据聚合后响应智能合约的数据请求。分布式预言机由于采用多点部署的方式,避免了对单一预言机的信任和依赖,消除了单点故障的风险。同时,来自多个数据源的数据经过验证和聚合后具有更强的可信性和准确性,能使智能合约得到更可信的数据支持。目前,关于分布式预言机的研究已经取得了许多成果,其中较为著名的项目有chainlink预言机、truora预言机、augur预言机和dos network预言机等。但目前已有的分布式预言机方案普遍存在执行效率低下、通信开销大、方案鲁棒性差等问题。例如,chainlink方案采用多数据源获得了广泛的数据来源,但却缺乏高效的消息聚合手段,导致聚合成本过高,可扩展性不强;tls-n方案生成了基于区块链智能合约的非交互式会话证明,方便验证的同时却也带来了大量的通信开销;augur预言机方案作为以太坊上的一种分布式的预测市场平台预言机,所采用的协商机制导致方案执行效率下降,使得方案应用规模受限;也有尝试在预言机中加入机器学习算法来评估预言机的诚信度,但没有考虑预言机在面对故障情况时的处置策略,导致方案鲁棒性不够。为此,如何兼顾预言机执行效率及鲁棒性、扩展性成为区块链应用中亟待解决的问题。


技术实现思路

1、为此,本发明提供一种基于份额恢复门限签名的可信分布式预言机实现方法及系统,在消除单点故障的同时,能够提升预言机执行效率及适用性。

2、按照本发明所提供的设计方案,一方面,提供一种基于份额恢复门限签名的可信分布式预言机实现方法,包含:

3、通过对预言机网络初始化来收集预言机业务性能并生成各预言机用于对数据进行签名的密钥份额,其中,密钥份额由预言机汇总收到的其他预言机密钥份额碎片得到;

4、基于可信度选取预言机网络中的簇首节点并执行网络层级划分,以将初始化的预言机网络划分为由汇报节点、主节点和普通节点构成的预言机层级结构,其中,汇报节点作为簇首节点,用于对数据进行聚合上链操作;主节点用于对组内消息进行收集传递;普通节点用于对数据进行签名,且普通节点有m组,各组中的主节点依据节点可信度随机分配;

5、基于预言机层级结构对任务请求数据进行响应并执行上链操作,并使用评估激励机制对预言机网络中各节点信用进行评估,其中,利用汇报节点接收任务请求数据并进行广播,利用普通节点响应任务请求数据并签名,利用主节点收集组内签名数据并转发至汇报节点,以使汇报节点预设门限数量下的签名数据进行聚合上链;

6、依据评估结果对预言机网络各节点进行检查及重置,以剔除预言机网络中消极预言机并通过收集密钥份额碎片恢复异常预言机的密钥份额。

7、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,生成各预言机用于对数据进行签名的密钥,包含:

8、每个预言机基于各自多项式生成密钥份额碎片并将密钥份额碎片发送至对应预言机,以使各预言机利用自身生成的密钥份额碎片和收到的其他预言机密钥份额碎片共同生成自身密钥份额,并基于密钥份额得到对应公钥,以通过公钥验证各预言机签名数据的可信性。

9、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,各预言机利用自身生成的密钥份额碎片和收到的其他预言机密钥份额碎片共同生成自身密钥份额,包含:

10、首先,各预言机生成自身的密钥生成用多项式,并基于该多项式计算发送给其他预言机的密钥份额碎片;

11、接着,通过收集其他预言机的密钥份额碎片并结合自身的份额碎片得到预言机自身密钥份额;

12、然后,预言机网络中各预言机节点使用自身密钥份额计算自身的公钥,并通过收集预设门限数量的预言机公钥获取预言机网络总公钥。

13、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,基于可信度选取预言机网络中的簇首节点并执行网络层级划分,包含:

14、基于信任指数和业务性能衡量预言机网络中各节点被选为簇首的概率,其中,信任指数为预言机诚信程度评估数据,业务能力为预言机性能条件和数据获取能力的衡量数据;

15、依据概率大小选出预言机网络中的簇首节点和m个主节点,将簇首节点作为汇总节点,将预言机网络中剩余节点作为普通节点,并将普通节点随机分为m组,将主节点对应分配至各普通节点分组中。

16、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,衡量预言机网络中节点i被选为簇首的概率pi的计算公式表示为:

17、其中,ci为预言机节点i的信任指数,c0为每个预言机的初始信任指数,n为预言机网络节点数量,a、b、c为权值参数,worki为节点i业务熟练度,sorcei为节点i性能评分,oi为节点i获取数据资源能力。

18、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,基于预言机层级结构对任务请求数据进行响应并执行上链操作,包含:

19、汇报节点接收任务请求数据,并通过各主节点将任务请求数据转发至相应的组内普通节点;

20、普通节点对接收的任务请求数据进行响应,使用自身密钥份额对响应数据进行签名并发送至对应主节点;

21、主节点向各普通节点回复确认接收消息,并将组内的所有响应数据反馈至汇报节点;

22、汇报节点接收各组反馈的响应数据并回复确认消息,对预设门限数量的各响应数据进行聚合,并将聚合结果发送至区块链网络对应的智能合约;

23、区块链网络对应的智能合约对聚合结果进行签名,并将签名结果依次传递至汇报节点、主节点和普通节点,以使主节点和各普通节点确认自身数据是否遭到隐瞒或漏报。

24、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,使用评估激励机制对预言机网络中各节点信用进行评估,包含:

25、基于信任指数初值并依据每一次任务请求数据响应表现,通过数值增减对提供正确/错误响应数据的预言机信任指数进行更新;并通过向区块链网络智能合约支付保证金来维持预言机网络各节点参与数据响应的积极性,利用举报机制对主节点和汇报节点数据进行监督,其中,举报机制包含:普通节点通过比较上级主节点回复消息和最后提交结果回复消息来确认自身响应消息是否成交上链,并向区块链网络智能合约举报恶意隐瞒自身响应消息的节点,以通过奖惩措施对举报节点信任指数进行增减。

26、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,依据评估结果对预言机网络各节点进行检查及重置,包含:

27、检查预言机网络各节点信任指数,将小于预设阈值的消极预言机节点进行剔除,并从预言机池中选取一定数量且身份验证通过的预言机添加至预言机网络中,对预言机网络中各节点重新进行初始化、簇首选举和网络层级划分,以新的预言机层级结构对任务请求数据进行响应。

28、作为本发明基于份额恢复门限签名的可信分布式预言机实现方法,进一步地,依据评估结果对预言机网络各节点进行检查及重置,还包含:

29、针对预言机网络中节点向其他预言机节点发出的恢复份额请求,首先,收集其他预言机处发送的密钥份额碎片,然后,将收集的密钥份额碎片与自身密钥份额碎片进行聚合,以恢复自身密钥份额。

30、再一方面,本发明还提供一种基于份额恢复门限签名的可信分布式预言机实现系统,包含:初始化模块、层级划分模块、响应上链模块和检查重置模块,其中,

31、初始化模块,用于通过对预言机网络初始化来收集预言机业务性能并生成各预言机用于对数据进行签名的密钥份额,其中,密钥份额由预言机汇总收到的其他预言机密钥份额碎片得到;

32、层级划分模块,用于基于可信度选取预言机网络中的簇首节点并执行网络层级划分,以将初始化的预言机网络划分为由汇报节点、主节点和普通节点构成的预言机层级结构,其中,汇报节点作为簇首节点,用于对数据进行聚合上链操作;主节点用于对组内消息进行收集传递;普通节点用于对数据进行签名,且普通节点有m组,各组中的主节点依据节点可信度随机分配;

33、响应上链模块,用于基于预言机层级结构对任务请求数据进行响应并执行上链操作,并使用评估激励机制对预言机网络中各节点信用进行评估,其中,利用汇报节点接收任务请求数据并进行广播,利用普通节点响应任务请求数据并签名,利用主节点收集组内签名数据并转发至汇报节点,以使汇报节点预设门限数量下的签名数据进行聚合上链;

34、检查重置模块,用于依据评估结果对预言机网络各节点进行检查及重置,以剔除预言机网络中消极预言机并通过收集密钥份额碎片恢复异常预言机的密钥份额。

35、本发明的有益效果:

36、本发明将预言机的数据验证融入到门限签名的签名聚合阶段,通过签名聚合结果判断数据的可信度及其能否通过验证,避免每个节点间均异步单独执行数据验证过程,提高数据验证效率,只需要门限数量的预言机即可完成签名聚合,避免等待全部预言机所带来的的时间成本和效率影响,使预言机方案更具有鲁棒性和可扩展性;通过预言机层级网络结构,将数据获取、数据验证、数据聚合、数据传输等功能分配给不同的预言机执行,实现数据的可信高效汇总,并利用评估奖励机制对分布式预言机进行全过程评估,根据评估结果实施奖惩,支撑构建动态合理的预言机层级架构;所有预言机均会作为签名参与者算法执行的全过程,去中心化地实现密钥份额生成时,利用密钥份额恢复机制,使预言机通过接收其他预言机的响应来恢复自身密钥份额,提升预言机方案的鲁棒性和可扩展性,具有较好的应用前景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1