System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于一致性哈希的可伸缩区块链预言机解决方法技术_技高网
当前位置: 首页 > 专利查询>复旦大学专利>正文

一种基于一致性哈希的可伸缩区块链预言机解决方法技术

技术编号:41258822 阅读:3 留言:0更新日期:2024-05-11 09:17
本发明专利技术属于区块链技术领域,具体为一种基于一致性哈希的可伸缩区块链预言机解决方法。本发明专利技术在现有分布式区块链预言机的基础上,基于一致性哈希网络拓扑,将区块链预言机合约、聚合和验证三层结构变换成环状结构,把验证器当成分布式哈希表的物理节点,把聚合器当成虚拟节点并由某一验证器映射;通过运行具有门限性质的分布式密钥生成算法,解决了经典分布式预言机伸缩性差的问题,适合大规模分布式实例场景下的服务伸缩。本发明专利技术是对区块链即服务的延伸,增强了区块链访问链下数据以及共享跨链数据的能力,节省了链上计算成本,为服务边际不断拓展的区块链预言机提供了解决方法。

【技术实现步骤摘要】

本专利技术属于区块链,具体为一种基于一致性哈希的可伸缩区块链预言机解决方法


技术介绍

1、区块链是一种新兴技术,它本质上是一个去中心化数据库,通过分布式同步协议保证强一致性,解决信任问题,区块链数据具有公开性和不可篡改性。以比特币网络为代表的区块链1.0是实现点对点电子现金系统的金融基础设施。以以太坊为代表的区块链2.0在此基础上支持可编程节点,开发者通过编写和部署智能合约使节点自动完成指定操作。可编程节点本质上是一个在区块链上自动运行的去中心化应用程序,由solidity等图灵完备的高级编程语言编写的智能合约实现。去中心化应用程序继承了以太坊的去中心化、不可篡改、可验证、公开透明等关键特征。智能合约拓展了区块链的功能,允许开发者在继承以太坊关键特征的同时实现诸多新应用。智能合约极大地拓展了区块链的服务边际,使区块链成为了去中心化应用程序的承载者和无权威第三方的可信服务提供者,并由此衍生出“区块链即服务”这一概念。

2、“区块链即服务”的内在要求在于为真实世界中的用户提供金融、存证、审查等服务。目前,区块链服务的特点之一是高度定制化,即针对指定的服务场景提供定制化服务,这意味着提供指定服务的区块链运行着特殊的共识。这导致定制化区块链一般不关心其他区块链的状态,也难以直接获取其他区块链的状态。无论是比特币网络,还是以太坊,它们都不提供原生手段解决上述区块链互操作性,这是因为在重视数据安全的公链访问外部数据将引入不可预测的行为,共识可能被破坏。

3、为了增强区块链互操作性,在实现指定功能的前提下访问区块链世界状态之外的数据,人们已提出若干解决方法。总之,这一问题可分为访问其他区块链和访问链下数据。前者一般被概括成跨链技术,通过在源链验证目的链的交易,验证从目的链获取的数据是否可信;后者一般应用区块链预言机解决,通过在数据聚合器运行分布式共识协议生成可信结果。

4、针对跨链技术,相关主流技术包含公证人机制、哈希锁和侧链技术。公证人机制通过引入中心化权威验证不同链上交易合法性。哈希锁最早被应用于比特币网络,包含时间锁定和哈希锁定两部分。时间锁定指交易双方约定在某时间前提交的交易才是有效的,超时则失效;哈希锁定指对哈希值提供哈希原像作为承诺,否则交易失败。时间锁机制能保证交易双方在交易失败时可以退回交易前状态,避免损失。侧链技术用以解决数字资产在区块链之间转移的问题。侧链技术通过在某区块链的可访问范围内建立新区块链,支持区块链之间的互相访问。侧链之所以在区块链之间实现了数字资产转移,是因为实现了类似于哈希时间锁定的双向锚定。目前,侧链技术的应用范围已超越了数字资产转移,形成了用一条主链管理若干运行不同功能的侧链的的主流软件架构,在增强区块链服务能力、拓展区块链服务边际等方面收到了良好效果。

5、针对区块链预言机,它已在数字资产交易中得到了广泛应用,例如工业界广受欢迎的chainlink,它的安全性也得以不断验证。区块链预言机可以是中心化的,即由单一服务执行数据获取业务,接收请求和发送响应,但是这一般将带来单点故障问题,整个区块链预言机服务的稳定性完全由单一服务决定。因此区块链预言机一般是去中心化的,即由一系列分布式节点执行数据获取业务并运行某种共识协议生成最终数据获取响应。区块链预言机一般分成智能合约、聚合器、验证器三层结构。验证器是执行数据获取业务的分布式系统节点,在获取链上数据时,执行默克尔证明等验证交易合法性;在获取链下数据时,调用数据源api等获取数据,验证器将自己获取的响应提交给聚合器做数据聚合。聚合器在请求阶段,将数据获取请求转发给部分或全部验证器;在响应阶段,接收验证器的响应,运行指定的共识协议以确认最终结果并发送给智能合约。区块链预言机智能合约跟用户通过合约函数调用、合约事件广播等发生信息交互,它将来自用户的数据获取请求转发给聚合器并从聚合器接收响应,通过用户回调函数或发送合约事件把数据获取响应发送给用户。

6、目前,区块链预言机的数据聚合流程通常发生在链上,即验证器将自己的数据获取结果发送到链上聚合合约。这种解决方法可以使数据聚合过程公开透明,且继承区块链的安全性,使各方无门槛地参与监督,保证数据安全性。这样做的代价在于区块链预言机将为数据聚合和响应流程支付手续费,这一开销跟数据量线性相关。可以想象,在业务负载很重的公链预言机项目中,区块链预言机将为海量数据服务支付高额手续费。另外,区块链预言机作为分布式系统,为了保证安全性,在付出经济开销的同时,也牺牲了可伸缩性等增强特性。为了保证安全性和公开透明,节点服务发现一般在链上完成,即分布式节点的注册和注销都在链上完成。另外,为了防止女巫攻击,即同一身份控制大量预言机节点,预言机节点通常需要抵押一些数字资产以加入。这使加入区块链预言机并不敏捷,限制了区块链预言机的伸缩性。实际上,通过应用门限签名、一致性哈希等理论,可以在链下实现聚合器,同时优化节点的注册和注销,增强伸缩性。


技术实现思路

1、本专利技术目的在于提出一种基于一致性哈希的可伸缩区块链预言机解决方法,本专利技术方法增强区块链预言机可用性和伸缩性,在链下完成数据聚合,仅在链上对数据获取结果做单次验证,减轻数据获取响应的经济开销;同时基于一致性哈希在分布式节点加入与退出时实现调度均衡,增强区块链预言机的伸缩性,在保证整体服务可用的前提下,使节点更容易加入和退出区块链预言机。

2、本专利技术受到分布式哈希表拓扑结构和以冗余部署保证分布式系统高可用性的观点启发,把n个验证器当成分布式哈希表的节点,并把这些验证器节点近似平均地分成m组,一般地,m<<n。在这一m:n的场景下,每次数据请求都会被转发到某一验证器组,由这组验证器完成实际的数据获取任务。当有验证器节点加入或退出时,当且仅当重新运行分布式密钥生成(dkg)的条件被触发时,这组验证器节点将不可用;其他验证器组仍然可用,系统仍可对外提供服务。这样做可以兼顾伸缩性和高可用性,验证器节点加入和退出只可能对整个系统的部分节点造成影响,整个系统仍然可用。

3、本专利技术提出的基于一致性哈希的可伸缩区块链预言机解决方法,是基于区块链技术、分布式系统的,继承了区块链数据的公开性和不可篡改性,以及冗余部署用以增强分布式系统可用性这一方法。下面,将列出数据获取请求—响应步骤和验证器节点加入和退出步骤。

4、在请求—响应设计模式下,来自客户端的数据获取请求将被智能合约广播到验证器,验证器的响应将经过某一随机选择的成员聚合,由智能合约通过回调函数暴露给用户。具体步骤为:

5、(1)区块链预言机合约接收和转发;用户通过调用区块链预言机合约函数发送数据获取请求,预言机合约记录用户状态和请求内容并建立两者之间的映射,区块链预言机合约把数据获取请求广播给全体链下验证器节点;在此之后,预言机合约将广播事件,把数据获取请求广播给链下验证器节点,这些广播内容是匿名的,即不包含用户身份,实现了用户对区块链预言机链下部分的透明性;

6、(2)验证器认领请求;因为数据请求是被广本文档来自技高网...

【技术保护点】

1.一种基于一致性哈希的可伸缩区块链预言机解决方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的解决方法,其特征在于步骤(1)中在保证区块链预言机可用性的前提下增强区块链预言机的伸缩性,即在分步式节点中增加加入与退出的流程,具体步骤如下:

【技术特征摘要】

1.一种基于一致性哈希的可伸缩区块链预言机解决方法,其特征在于,具体步骤如下:

2.根据权利要求1所述的解决方法,其特...

【专利技术属性】
技术研发人员:阚海斌张展鹏黄金荣刘百祥
申请(专利权)人:复旦大学
类型:发明
国别省市:

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

1