一种基于UTXO的区块链多级共识方法与流程

文档序号:26488039发布日期:2021-08-31 17:43阅读:76来源:国知局
一种基于UTXO的区块链多级共识方法与流程

本发明涉及区域链技术领域,具体为一种基于utxo的区块链多级共识方法。



背景技术:

跨链简单来说就是信息从一条链到另外一条链,更多的是作为资产的token从一条链去另外一条链。最容易理解的是拿eth换btc,简单来说就是资产交换,跨链第一个“最痛”的应用场景就是去中心化交易所,解决了刚刚提到的第一个资产交换的问题。现在很多人用中心化交易所的方式也能解决,加上现行的去中心化交易所交易体验差、速度慢、还不能跨链交易。但是中心化的交易所的账户都是虚拟的账户,资产交易不透明,构建一种多级共识的机制或协议,让多个区块链实现实时交易,并解决多链交易的速度问题,满足多链在现实场景中的应用。



技术实现要素:

(一)解决的技术问题

针对现有技术的不足,本发明提供了为一种基于utxo的区块链多级共识方法,解决了传统区块链无法进行跨链交易的问题,联盟链只能基于网关协议的中心化问题,侧链等只能单向交易问题的问题。

(二)技术方案

为实现以上目的,本发明通过以下技术方案予以实现:一种基于utxo的区块链多级共识方法,其特征在于:可用于多链交易多级共识机制,主要分为2个层次的共识:一种是链内多节点之间的共识,另一种是跨链的多个链之间的共识;可以是基于raft或当前常用的其它区块链共识算法;需要满足或遵循一种统一的协议或协定:多个链的1个单位币或token的面值价值是可以换算的,基于协议指定的一种中介单位;包括以下步骤:

步骤一:区块链之间的约定;

步骤二:区块链内的共识;

步骤三:多链之间的共识。

优选的,应用多级共识的区块链,使用utxo模型为底层数据结构,utxo需要在数据中包含所属区块链标识,且多链之间的共识节点能够识别该标识。

优选的,多链之间的共识节点需要拥有不同区块链之间的utxo面值换算的共识协议(protocol_exchange),可以用同一种共识算法完成跨链交易确认。

优选的,区块链内的共识机制,可以由每个区块链的程序自定义。

优选的,用户1(user_1)是区块链1(block_1)的用户,对应地址1(addr_b1_1),拥有一个面值为10元的utxo(utxo_b1_10),向block_1中的地址addr_b1_2付款3元;

区块链1的验证服务识别到utxo_b1_10是属于链内的utxo,交易将触发链内的共识算法,utxo_b1_10被花费,同时产生一个utxo_b1_3给地址addr_b1_2,utxo_b1_7给addr_b1_1。

优选的,每个区块链可以准备1至多个用于跨链交易的共识节点,每个共识节点统一共识协议,但共识算法本文中不做约定。

优选的,用户2(user_2)是区块链2(block_2)的用户,对应地址2(addr_b2_1),拥有一个面值为10元的utxo(utxo_b2_10),向block_1中的地址addr_b1_3付款8元;

block_1的验证服务识别到utxo_b2_10是属于block_2的utxo,交易将触发多链之间的共识机制;

block_1的跨链共识服务(protocol_1)将utxo_b2_10的数据,花费值8,addr_b2_1的签名与公钥信息,发送至block_2的跨链共识服务(protocol_2);

protocol_2在验证了utxo_b2_10丶花费值8丶addr_b2_1的签名与公钥后,将交易转交至block_2内的共识机制,utxo_b2_10被花费,同时产生1个面值为2的utxo(utxo_b2_2)给addr_b2_1,产生1个面值为8的回收utxo(utxo_b2_8);

protocol_1得到protocol_2的交易成功反馈,通过block_2内的共识机制,向addr_b1_3发放一个等额面值的utxo(utxo_b1_8,这里假设block_1与block_2的跨链共识协议中介单位兑换比例均为1)。

有益效果

本发明提供了一种基于utxo的区块链多级共识方法。具备以下有益效果:

(1)、该一种基于utxo的区块链多级共识方法,通过提供了一种跨区块链交易的多级共识机制,应用多级共识的区块链,使用utxo模型为底层数据结构。utxo需要在数据中包含所属区块链标识,且多链之间的共识节点能够识别该标识,多链之间的共识节点需要拥有不同区块链之间的utxo面值换算的共识协议(protocol_exchange),可以用同一种共识算法完成跨链交易确认;

区块链内的共识:区块链内的共识机制,可以由每个区块链的程序自定义,用户1(user_1)是区块链1(block_1)的用户,对应地址1(addr_b1_1),拥有一个面值为10元的utxo(utxo_b1_10),向block_1中的地址addr_b1_2付款3元,区块链1的验证服务识别到utxo_b1_10是属于链内的utxo,交易将触发链内的共识算法,utxo_b1_10被花费,同时产生一个utxo_b1_3给地址addr_b1_2,utxo_b1_7给addr_b1_1,适用于多个区块链之间进行跨链交易。

(2)、该一种基于utxo的区块链多级共识方法,通过多链之间的共识:

每个区块链可以准备1至多个用于跨链交易的共识节点,每个共识节点统一共识协议;用户2(user_2)是区块链2(block_2)的用户,对应地址2(addr_b2_1),拥有一个面值为10元的utxo(utxo_b2_10),向block_1中的地址addr_b1_3付款8元,block_1的验证服务识别到utxo_b2_10是属于block_2的utxo,交易将触发多链之间的共识机制,接下来,block_1的跨链共识服务(protocol_1)将utxo_b2_10的数据,花费值8,addr_b2_1的签名与公钥信息,发送至block_2的跨链共识服务(protocol_2),接下来,protocol_2在验证了utxo_b2_10丶花费值8丶addr_b2_1的签名与公钥后,将交易转交至block_2内的共识机制,utxo_b2_10被花费,同时产生1个面值为2的utxo(utxo_b2_2)给addr_b2_1,产生1个面值为8的回收utxo(utxo_b2_8),接下来,protocol_1得到protocol_2的交易成功反馈,通过block_2内的共识机制,向addr_b1_3发放一个等额面值的utxo(utxo_b1_8,这里假设block_1与block_2的跨链共识协议中介单位兑换比例均为1),既保障了单链交易的速度,又保障跨链交易的实时性。

附图说明

图1为本发明同一个区块链内共识交易流程示意图;

图2为本发明多链多级共识交易流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1-2,本发明提供一种技术方案:一种基于utxo的区块链多级共识方法,其特征在于:可用于多链交易多级共识机制,主要分为2个层次的共识:一种是链内多节点之间的共识,另一种是跨链的多个链之间的共识;可以是基于raft或当前常用的其它区块链共识算法;需要满足或遵循一种统一的协议或协定:多个链的1个单位币或token的面值价值是可以换算的,基于协议指定的一种中介单位;包括以下步骤:

步骤一:区块链之间的约定;

步骤二:区块链内的共识;

步骤三:多链之间的共识。

本实施例中,应用多级共识的区块链,使用utxo模型为底层数据结构,utxo需要在数据中包含所属区块链标识,且多链之间的共识节点能够识别该标识。

本实施例中,多链之间的共识节点需要拥有不同区块链之间的utxo面值换算的共识协议(protocol_exchange),可以用同一种共识算法完成跨链交易确认。

本实施例中,区块链内的共识机制,可以由每个区块链的程序自定义。

本实施例中,用户1(user_1)是区块链1(block_1)的用户,对应地址1(addr_b1_1),拥有一个面值为10元的utxo(utxo_b1_10),向block_1中的地址addr_b1_2付款3元;

区块链1的验证服务识别到utxo_b1_10是属于链内的utxo,交易将触发链内的共识算法,utxo_b1_10被花费,同时产生一个utxo_b1_3给地址addr_b1_2,utxo_b1_7给addr_b1_1。

本实施例中,每个区块链可以准备1至多个用于跨链交易的共识节点,每个共识节点统一共识协议,但共识算法本文中不做约定。

本实施例中,用户2(user_2)是区块链2(block_2)的用户,对应地址2(addr_b2_1),拥有一个面值为10元的utxo(utxo_b2_10),向block_1中的地址addr_b1_3付款8元。

block_1的验证服务识别到utxo_b2_10是属于block_2的utxo,交易将触发多链之间的共识机制。

block_1的跨链共识服务(protocol_1)将utxo_b2_10的数据,花费值8,addr_b2_1的签名与公钥信息,发送至block_2的跨链共识服务(protocol_2);

protocol_2在验证了utxo_b2_10丶花费值8丶addr_b2_1的签名与公钥后,将交易转交至block_2内的共识机制,utxo_b2_10被花费,同时产生1个面值为2的utxo(utxo_b2_2)给addr_b2_1,产生1个面值为8的回收utxo(utxo_b2_8);

protocol_1得到protocol_2的交易成功反馈,通过block_2内的共识机制,向addr_b1_3发放一个等额面值的utxo(utxo_b1_8,这里假设block_1与block_2的跨链共识协议中介单位兑换比例均为1)。

工作时,通过提供了一种跨区块链交易的多级共识机制,应用多级共识的区块链,使用utxo模型为底层数据结构。utxo需要在数据中包含所属区块链标识,且多链之间的共识节点能够识别该标识,多链之间的共识节点需要拥有不同区块链之间的utxo面值换算的共识协议(protocol_exchange),可以用同一种共识算法完成跨链交易确认;区块链内的共识:区块链内的共识机制,可以由每个区块链的程序自定义,用户1(user_1)是区块链1(block_1)的用户,对应地址1(addr_b1_1),拥有一个面值为10元的utxo(utxo_b1_10),向block_1中的地址addr_b1_2付款3元,区块链1的验证服务识别到utxo_b1_10是属于链内的utxo,交易将触发链内的共识算法,utxo_b1_10被花费,同时产生一个utxo_b1_3给地址addr_b1_2,utxo_b1_7给addr_b1_1。

通过多链之间的共识:每个区块链可以准备1至多个用于跨链交易的共识节点,每个共识节点统一共识协议;用户2(user_2)是区块链2(block_2)的用户,对应地址2(addr_b2_1),拥有一个面值为10元的utxo(utxo_b2_10),向block_1中的地址addr_b1_3付款8元,block_1的验证服务识别到utxo_b2_10是属于block_2的utxo,交易将触发多链之间的共识机制,接下来,block_1的跨链共识服务(protocol_1)将utxo_b2_10的数据,花费值8,addr_b2_1的签名与公钥信息,发送至block_2的跨链共识服务(protocol_2),接下来,protocol_2在验证了utxo_b2_10丶花费值8丶addr_b2_1的签名与公钥后,将交易转交至block_2内的共识机制,utxo_b2_10被花费,同时产生1个面值为2的utxo(utxo_b2_2)给addr_b2_1,产生1个面值为8的回收utxo(utxo_b2_8),接下来,protocol_1得到protocol_2的交易成功反馈,通过block_2内的共识机制,向addr_b1_3发放一个等额面值的utxo(utxo_b1_8,这里假设block_1与block_2的跨链共识协议中介单位兑换比例均为1)。本发明设计一种基于utxo的区块链多级共识方法,适用于多个区块链之间进行跨链交易,即保障单链交易的速度,又保障跨链交易的实时性。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下。由语句“包括一个......限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素”。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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