• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 14
    • 下载费用:30 金币  

    重庆时时彩操盘软件: 区块链数据对比及共识方法.pdf

    关 键 词:
    区块 数据 比及 共识 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201611133352.X

    申请日:

    2016.12.10

    公开号:

    CN106682907A

    公开日:

    2017.05.17

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 实质审查的生效IPC(主分类):G06Q 20/40申请日:20161210|||公开
    IPC分类号: G06Q20/40(2012.01)I 主分类号: G06Q20/40
    申请人: 江苏恒为信息科技有限公司
    发明人: 崔春生; 徐钰淳; 胡坤; 陈东雷; 朱磊; 钱云超
    地址: 214135 江苏省无锡市新区震泽路18号无锡软件园双子座B1506-1509室
    优先权:
    专利代理机构: 北京市恒有知识产权代理事务所(普通合伙) 11576 代理人: 薛瑞
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201611133352.X

    授权公告号:

    |||

    法律状态公告日:

    2017.06.09|||2017.05.17

    法律状态类型:

    实质审查的生效|||公开

    摘要

    本发明公开了一种区块链的数据对比及共识方法,包括:对于每笔交易内容的哈希值计算,通过变换随机数,使得在一段时间内预设哈希值中的N位数不重复,称为不重复编号,N为正整数;记账服务器间比较不同哈希值的所述不重复编号,判断交易是否一致。不重复编号对比可以建立类似梅克尔树的方式进行对比,因为交易的哈希值约定几位是没有重复的,可以作为编号使用,可以按一定的规则放入类梅克尔树中,在不同的记账服务器上,同样的一笔交易哈希值放入梅克尔树中的位置是完全一致的,从而能够非??斓恼页霾畋?,减少了数据的传送量,大大加快了共识所需要的时间。

    权利要求书

    1.一种区块链的数据对比及共识方法,包括:对于每笔交易内容的哈希值计算,通过变
    换随机数,使得在一段时间内预设哈希值中的N位数不重复,称为不重复编号,N为正整数;
    记账服务器间比较不同哈希值的所述不重复编号,判断交易是否一致。
    2.根据权利要求1所述的方法,其中所述哈希值用16进制表示,通过前置服务器来获取
    按顺序给每笔交易附加上整数编号,并附上新区块的高度,用于判断交易数据被服务器接
    收的时间先后。
    3.根据权利要求1所述的方法,所述不重复的N位数是前N位、后N位、或任意N位的组合。
    4.根据权利要求1所述的方法,区块链系统中定义一台或多台服务器作为前置节点服
    务器,由1台前置节点服务器计算所有的不重复编号,或者设定不重复编号的段号,由多台
    前置节点服务器分别计算不同段号的不重复编号。
    5.根据权利要求4所述的方法,其中利用布隆过滤器检查数据的遗漏情况,通过变换随
    机数一段时间内生成的哈希值使其在布隆过滤器中不重复。
    6.根据权利要求5所述的方法,利用布隆过滤器检查数据的遗漏情况的方法具体包括:
    步骤S1:根据需要传送的数据量建立布隆过滤器,设计映射函数确保在布隆过滤器上
    添加所有哈希值后,仍留有一部分空;
    步骤S2:通过变换随机数生成的哈希值使其在第一服务器上的布隆过滤器中不会重
    复,每次在布隆过滤器上添加哈希值时,在二进制位数组上至少有一个位置的1是和这个添
    加的哈希值唯一对应的;
    步骤S3:第二服务器把收到的全部哈希值都添加到布隆过滤器,比较第一服务器第二
    服务器上的布隆过滤器是否一致,若不一致,就把在第二服务器中添加完数据的布隆过滤
    器发送到第一服务器;
    步骤S4:第一服务器收到第二服务器发来的布隆过滤器,把第一服务器上的所有哈希
    值继续添加到发来的过滤器上,把所有能填上新的空位的哈希值记录下来,发送到第二服
    务器;
    步骤S5:重复步骤S3和步骤S4,直到第二服务器上的布隆过滤器和第一服务器上的布
    隆过滤器一致为止。
    7.根据权利要求6所述的方法,其中包括比较传输到记帐服务器的数据差异,包括以下
    步骤:
    步骤S1:使用所述布隆过滤器检查数据的遗漏情况的方法,补全遗漏的交易数据;
    步骤S2:根据前期实际交易量设计类梅克尔树的层级,设计类梅克尔数节点的容量是2n
    +1-2,最下层理论上最多可放置交易笔数是2n;
    步骤S3:类梅克尔树数据存储用一个数组表示,0至2n+1-2节点存储下层2个哈希值的串
    联后再哈希的哈希值,2n -1到2n+1-2节点存储按顺序的不重复编号,在类梅克尔数存储数组
    下标和不重复编号的差是2n -1,没有对应的信息的叶子节点默认为哈??罩?;
    步骤S4:自下而上逐层计算合并的哈希值,直到算出根节点的哈希值;
    步骤S5:向系统选出的共识记账服务器传送类梅克尔树的值;
    步骤S6:找到最下层有差异的哈希值,缺失数据的共识记帐服务器向有相关数据的其
    他服务器请求下载数据,若数据与其他服务器不一致,则将数据发送到缺失的服务器进行
    校验,重新计算出相关的哈希值后再通知共识记账服务器;
    步骤S7:重复步骤S4、S5、S6,排除与周围的共识记帐服务器相同率少于20%的交易;
    步骤S8:选举若干台共识记账服务器,将这几台服务器所有交易的类默克尔树根进行
    对比,类默克尔树根哈希值一样的最多的服务器生成的区块作为最新的区块,若默克尔树
    根哈希值都不一样,就随机选一台,其他共识记账服务器对比类默克尔树根哈希值,若一样
    就作为新的区块,若不一样,就比较类默克尔树,下载不同的交易数据,形成一样的新区块,
    或直接下载新的区块,最后去掉类默克尔树最层哈希值为空值的节点,重新生成容量更小
    的区块。
    8.根据权利要求7所述的方法,其中按最近的交易笔数,考虑历史交易笔数,动态调整
    每个新的区块的不重复编号的设计容量。
    9.根据权利要求8所述的方法,容量调整方案为:若最新一个区块的实际交易笔数超过
    2n的80%,下一区块的类梅克尔树最下层的设计容量即可增加1倍,为2n+1,若最新一个区块
    的实际交易笔数小于2n的30%,下一区块的类梅克尔树最下层设计容量即可缩小1倍,为2n
    -1。
    10.根据权利要求9所述的方法,其中新区块的设计容量是2n,即共有2n的编号可选,前
    置节点服务器A建立一个2n位数的第一字符串,每位都为0,在产生不重复编号后,把编号和
    字符串位置对应起来,将相应的位置的0字符串用1代替,2n位字符串位置编号从左到右为0
    至2n -1;
    前置节点服务器B也建立一个2n位的第二字符串,收到传过来的交易数据后,把相应的
    不重复编号与字符串对应的位置的0用1替换;
    服务器B把第二字符串发送到前置节点与第一字符串进行对比,找出不同的字符的位
    置,该位置编号就是不重复编号,将这些编号的相应数据发送到服务器B即补全了所缺少的
    数据。
    11.根据权利要求1所述的方法,其中包括跨链数据交换,步骤如下:
    步骤S1:相应的区块链监管部门互相授权两条或多条链可以跨区块链交易;
    步骤S2:用户在A或B区块链上都开立合法公钥地址帐户;
    步骤S3:用户将交易内容用A、B区块链上对应的私钥分别签名;
    步骤S4:用户将签名和相应的公钥发送到自己公钥地址帐户所在的区块链,同时发送
    到交易对手的区块链,或将共同的签名发到两个区块链;
    步骤S5:A区块链记帐服务器验证交易A或B的签名后达成共识后写入A区块链最新区
    块,执行交易并在A区块链上纪录;
    步骤S6:B区块链上的多台记账服务器访问A区块链上的历史纪录,若发现有对应的跨
    链交易信息,则B区块链上相当多台记账服务器达成共识后,在B区块链上执行交易。

    说明书

    区块链数据对比及共识方法

    技术领域

    本发明涉及互联网数据传输领域,特别地涉及区块链验证技术中的数据对比及共
    识。

    背景技术

    随着网络在人们日常生活中的地位越来越重要,网络上重要信息的安全和防伪需
    求也非常迫切。区块链技术作为随着比特币一起发展的一种验证防伪技术已得到广泛应
    用,但目前还存在一些问题如下:

    1、在新区块交易数据对比时都需要传送全部哈希值,数据量很大;

    2、交易数据传输重复的概率大,自己缺少的数据不能确定地去找下载的来源,效率不
    高,数据不容易补全,有部分交易有较长的延时;

    3、或选一台服务器打包来广播新区块,传播速度慢,反复传输的数据量大,或者要同时
    比较非常多的服务器来达成共识,达成共识的时间不够快。

    4、数据存储还不够灵活。

    发明内容

    为了克服上述现有技术的不足,本发明提供了一种区块链的数据对比及共识方
    法,包括: 对于每笔交易内容的哈希值计算,通过变换随机数,使得在一段时间内预设哈希
    值中的N位数不重复,称为不重复编号,N为正整数;认证服务器比较不同哈希值的所述不重
    复编号,判断交易是否一致。

    进一步地,所述哈希值用16进制表示;

    进一步地,所述不重复的N位数可以是前N位、后N位、或任意N位的组合。

    进一步地,定义一台或多台服务器作为前置节点,由1台前置节点计算所有的不重
    复编号,或者设定不重复编号的段号,由多台前置节点分别计算不同段号的不重复编号。

    进一步地,通过前置服务器按照获取顺序给每笔交易附加上整数编号,并附上新
    区块的高度,方便判断交易数据被认证服务器接收的时间先后。

    进一步地,利用布隆过滤器检查数据的遗漏情况,通过变换随机数一段时间内生
    成的哈希值使其在布隆过滤器中不重复。

    进一步地,利用布隆过滤器检查数据的遗漏情况的方法具体包括:

    步骤S1:根据需要传送的数据量建立布隆过滤器,设计映射函数确保在布隆过滤器上
    添加所有哈希值后,仍留有一部分空;

    步骤S2:通过变换随机数生成的哈希值使其在第一服务器上的布隆过滤器中不会重
    复,每次在布隆过滤器上添加哈希值时,在二进制位数组上至少有一个位置的1是和这个添
    加的哈希值唯一对应的。

    步骤S3:第二服务器把收到的全部哈希值都添加到布隆过滤器,比较第一服务器
    第二服务器上的布隆过滤器是否一致,若不一致,就把在第二服务器中添加完数据的布隆
    过滤器发送到第一服务器。

    步骤S4:第一服务器收到第二服务器发来的布隆过滤器,把第一服务器上的所有
    哈希值继续添加到发来的过滤器上,把所有能填上新的空位的哈希值记录下来,发送到第
    二服务器。

    步骤S5:重复步骤S3和步骤S4,直到第二服务器上的布隆过滤器和第一服务器上
    的布隆过滤器一致为止。

    比较从前置节点服务器A传输到记帐服务器B的数据差异的方法,包括以下步骤:

    步骤S1:使用上述布隆过滤器检查数据的遗漏情况的方法,补全遗漏的交易数据;

    步骤S2:根据前期实际交易量设计类梅克尔树的层级,设计类梅克尔数节点的容量是
    2n+1-2,最下层理论上最多可放置交易笔数是2n;

    进一步地,按最近的交易笔数,考虑历史交易笔数,动态调整每个新的区块的不重复编
    号的设计容量。

    容量调整方案为:若最新一个区块的实际交易笔数超过2n的80%,下一区块的类梅
    克尔树最下层的设计容量即可增加1倍,为2n+1,若最新一个区块的实际交易笔数小于2n的
    30%,下一区块的类梅克尔树最下层设计容量即可缩小1倍,为2n-1。

    新区块的设计容量是2n,即共有2n的编号可选,前置节点服务器A建立一个2n位数
    的第一字符串,每位都为0,在产生不重复编号后,把编号和字符串位置对应起来,将相应的
    位置的0字符串用1代替,2n位字符串位置编号从左到右为0至2n -1;

    前置节点服务器B也建立一个2n位的第二字符串,收到传过来的交易数据后,把相应的
    不重复编号与字符串对应的位置的0用1替换;

    服务器B把第二字符串发送到前置节点与第一字符串进行对比,找出不同的字符的位
    置,该位置编号就是不重复编号,将这些编号的相应数据发送到服务器B即补全了所缺少的
    数据。

    步骤S3:类梅克尔树数据存储用一个数组表示,0至2n+1-2节点存储下层2个哈希值
    的串联后再哈希的哈希值,2n-1到2n+1-2节点存储按顺序的不重复编号,在类梅克尔数存储
    数组下标和不重复编号的差是2n -1,没有对应的信息的叶子节点默认为哈??罩?;

    步骤S4:自下而上逐层计算合并的哈希值,直到算出根节点的哈希值;

    步骤S5:向系统选出的共识记账服务器传送类梅克尔树的值;

    步骤S6:找到最下层有差异的哈希值,缺失数据的共识记帐服务器向有相关数据的前
    置节点或其他服务器请求下载数据,若数据与其他服务器不一致,则将数据发送到缺失的
    服务器进行校验,重新计算出相关的哈希值后再通知共识记账服务器。

    步骤S7:重复步骤S4、S5、S6,排除与周围的共识记帐服务器相同率少于20%的交
    易,重复步骤S4。

    步骤S8:选举若干台共识记账服务器,将这几台服务器所有交易的类默克尔树根
    进行对比,类默克尔树根哈希值一样的最多的服务器生成的区块作为最新的区块,若默克
    尔树根哈希值都不一样,就随机选一台,其他共识记账服务器对比类默克尔树根哈希值,若
    一样就作为新的区块,若不一样,就比较类默克尔树,下载不同的交易数据,形成一样的新
    区块,或直接下载新的区块,最后去掉类默克尔树最层哈希值为空值的节点,重新生成容量
    更小的区块。

    不但本区块链的交易可以形成共识,跨区块链也可以形成共识,跨链数据交换的
    步骤如下:

    步骤S1:相应的区块链监管部门互相授权两条或多条链可以跨区块链交易;

    步骤S2:用户在A或B区块链上都开立合法公钥地址帐户;

    步骤S3:用户将交易内容用A、B区块链上对应的私钥分别签名;

    步骤S4:用户将签名和相应的公钥发送到自己公钥地址帐户所在的区块链,同时发送
    到交易对手的区块链,或将共同的签名发到两个区块链。

    步骤S5:A区块链记帐服务器验证交易A或B的签名后达成共识后写入A区块链最新
    区块,执行交易并在A区块链上纪录;

    步骤S6:B区块链上的多台记账服务器访问A区块链上的历史纪录,若发现有对应的跨
    链交易信息,则B区块链上相当多台记账服务器达成共识后,在B区块链上执行交易。

    与现有技术相比,本发明的区块链的数据对比及共识方法使数据对比需要传送的
    信息大幅度减少,非常方便地找出遗漏的数据,并能定位请求下载交易数据,灵活的共识方
    案,可大幅度地缩短各服务器达成共识的时间,跨链交易设计使区块链上的数字货币和数
    字资产可以真正的跨链转移,就像现金的转移一样,不需要转移中介,有利于区块链在不用
    领域和地域发挥更大的作用,交易数据可按不重复编号分段校验、打包、存储,可使数据存
    储采用更多的方案来实现,区块链的发展不会受制于服务器的性能和容量。

    附图说明

    图1是说明本发明的方法中如何利用不重复编号查补遗漏数据;

    图2是说明本发明的方法中如何产生不重复编号;

    图3是说明本发明的方法中利用布隆过滤器检查数据的遗漏情况的方法;

    图4是说明本发明的方法中跨链交易的实现方法;

    图5是说明本发明的方法中如何设计类梅克尔树;

    图6是说明本发明的方法中如何通过类梅克尔树来同步异常数据;

    图7是说明本发明的方法中如何选举共识服务器来达成共识,形成新的区块。

    具体实施方式

    本发明提供了一种区块链的数据对比及共识方法,包括:对于每笔交易内容的哈
    希值计算,通过变换随机数,使得在一段时间内预设哈希值中的N位数不重复,称为不重复
    编号,N为正整数;记账服务器间比较不同哈希值的所述不重复编号,判断交易是否一致。所
    述哈希值用16进制表示,另外也可以通过前置服务器来获取按顺序给每笔交易附加上整数
    编号,并附上新区块的高度,方便判断交易数据被服务器接收的时间先后,对于前面区块的
    遗漏的交易数据可以单独建组对比。所述不重复的N位数可以是前N位、后N位、或任意N位的
    组合。区块链系统中可以定义一台或多台服务器作为交易入口,称为前置节点,可以由1台
    前置节点选取所有的不重复编号,或者由多台前置节点分别选取不同段号的不重复编号。

    如果有公钥地址的帐户较多地发送不符合要求的交易哈希值,这里约定发送交易
    需要一笔超过最小额度的金额,若系统认为是违反交易或安全规则,可以将这金额消失,若
    帐户的最小余额不够则将不能发起交易,对于较多地发送不符合要求的交易哈希值的服务
    器,通过一定的监控程序,可以自动或人工手动停止其服务,也可由区块链上CA证书中心来
    管理,检测服务器监测到违反系统运行规则的公钥地址后(交易账户公钥地址或服务器公
    钥地址),通知CA证书中心冻结其一些功能,也可写入黑名单。

    所有记帐服务期在区块链准备打包前,比特股是每次只选一台服务器做记帐服务
    期,然后广播给其他服务器,瑞波币是所有记帐服务器都相互比较,把周围服务器的交易哈
    希值与自己服务器上的交易哈希值对比,若80%的交易哈希值一致,则打包,而这里则可以
    根据需要选举若干台服务器(1台至全部服务器的组合)作为共识服务器,每台服务器定时
    统计和其他服务器的通讯性能,并相互交换信息,每台服务器即可根据各服务器通讯性能
    信息,设计不同的多台服务器组合的共识方案,要排除通讯性能较差的服务器,兼顾一下每
    台服务器和其他非组合中的其他服务器的通讯性能,目的是使组合的共识服务器打包速度
    快,传播给其他最新区块的速度快。不同记账服务器(或称共识服务器)若发送交易哈希值
    进行对比,需要传送大量的数据,比较也耗时间,只要发送不重复编号对比即可,如可以排
    序后按顺序对比,也可以放到字典map中对比。

    实施例1,参照图1:

    本实施例说明如何利用不重复编号查补遗漏数据。

    利用不重复编号对比数据缺失,这里预估新区块交易笔数在6笔,设置总编号量为
    2的4次方,以交易哈希值的前两位表示。

    这里共有16个编号(0至15)可以选,建立一个16位的全部是“0”的字符串
    StringA16,在前置节点A服务器选出不重复编号后,把编号和字符串位置一一对应起来,将
    相应的位置的0字符串用1替换,16位字符串位置编号从左到右为0至15。这里字符串0、4、7、
    a、d、f位的字符为“1”。

    服务器B也和A服务器一样建立一个全是0的16位字符串StringB16,服务器收到A
    服务器传过来的交易数据后,把相应的不重复编号与字符串对应的位置的0用1替换,这里
    字符串0、7、a、f位的字符为“1”。

    服务器B把StringB16发送到A服务器与StringA16进行对比,找出不同的字符的位
    置4、d,这位置编号就是交易的不重复编号4、d,将这些编号的相应数据发送到B服务器即补
    全了服务器B所缺的数据

    可以设定不重复编号的段号,分配在不同的前置节点上,比如交易哈希值开始的第一
    位为3(或用16进制表示段号:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f)的所有不重复编号都要
    到这个前置节点(或几台前置节点集群)上登记,并把相关的交易发送给其他记帐服务器,
    其他记帐服务器若缺少3开始的不重复编号的交易,在这个前置节点一定能下载到3开始的
    不重复编号的交易,通过不重复编号的分段发放,既保证不重复编号,也可以分流集中取号
    的压力。

    不同段号的不重复编号的发送和下载可以是分服务器管理的,在新的区块形成过
    程中,同一段号的交易统一共识和打包也是可行的,并可以建立独立的分段号的类梅克尔
    树,计算分段号的类梅克尔树根哈希值,最后在把分段号的类梅克尔树根作为叶子节点建
    立新的类梅克尔树,并生成类梅克尔树根哈希值,作为整个新区块所有交易的哈希值,不同
    段号的交易会?;岢鱿滞恢С龅刂返那榭?,记帐服务器要检查累计支付金额不应超过该
    账户余额,或者设专门的服务器检查同一地址支出的情况,并通知那些打包的服务器,交易
    哈希值可分段打包,可以在一个记帐服务器上打包和存储一个分段或多个分段,共识打包
    对比和硬盘存储也可以用不同的服务器来完成。

    实施例2,参照附图2:

    本实施例说明如何产生不重复编号。

    假设分0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f(16进制)号前置云节点给用户取号。

    2号节点除了第一位必须是2以外,还规定第二位和第三位不能重复,即16*16=
    256,即规定每个区块的时候这个节点只能发最多256个不同编号的交易号。

    用户可以规定发出去的几笔交易都是钱包的第4笔交易,系统约定每次只能是一
    笔交易生效,不用担心多付问题。

    如用户挑选2号节点发送交易,就生成一批交易的哈希值,把第一位是2的几笔交
    易发到2号节点,2027—,2245—,2246—,2231—,经2号节点判断,2027、2245、2231已经被
    其他用户挑选,这里2246是空缺的,前置云节点就把2246—这笔交易发送给记帐服务器了,
    其他交易删除。

    附加区块高度的使记帐服务器可以判断交易数据是本区块期间发出的还是前面
    区块发出(但还没有写入区块链的交易)。

    比如现在新的区块是9891,在前置节点用户的交易数据获得一个附加的区块高
    度,据此可以放到本区块的本节点的布隆过滤器或类梅克尔树来对比,但小于区块9891标
    记如区块9890、9889的交易数据(但还没有写入区块链的交易),需要单独放到一组合中与
    其他记帐服务器去对比,这样可以确保最新区块交易数据在对比过程中不会有编号碰撞的
    情况。

    实施例3,参照图3:

    本实施例说明利用布隆过滤器检查数据的遗漏情况,可以通过变换随机数一段时间内
    生成的哈希值使其在布隆过滤器中不重复,可以使数据从A服务器传输到B服务器后前后比
    较的误判率降为0(假设数据仅会遗漏,不会有新的数据出现)。

    步骤S1:这里要从A服务器要传送共6个哈希值到B服务器,设布隆过滤组位数为16
    位。

    步骤S2:通过变换随机数生成的哈希值使其在A服务器上的布隆过滤器中不会重
    复,每次在布隆过滤器上添加哈希值时,在二进制位数组上至少有一个位置的1是和这个添
    加的哈希值唯一对应的,h1、h2、h3、h4、h5、h6共6个哈希值对应不同的位,都是唯一映射的。

    步骤S3:B服务器把收到的全部哈希值都添加到布隆过滤器(空的和A服务器上一
    样),比较A和B两个填上哈希值后的布隆过滤器是否一致,比较结果B上缺少2和d位,把缺的
    编号发送给A服务器请求下载。

    步骤S4:重复步骤S3,直到B服务器上的布隆过滤器和A服务器一致为止。

    实施例4,参照图4:

    本实施例说明跨链交易是如何实现的,本区块链的交易可以形成共识,跨区块链也可
    以形成共识,通过区块链的投票权系统或区块链最高权限的CA管理中心可以授权跨区块链
    传递数字货币或数字资产,甚至可以在两条或多条区块链之间交易,这有利于区块链的行
    业分工或地域分工,如产权登记、信息存证、电子商务、政务系统、物流、物联网、供应链、交
    易所、银行清算系统、行业、企业(采购、销售、报销)、央行、交通运输、公用事业支付、医疗系
    统(方便公费医疗管理)、零钱包(可以将频繁的小额交易独立开来)等,跨链交易的步骤如
    下:

    步骤S1:相应的区块链监管部门互相授权两条(如A和B)或多条链可以跨区块链交易,
    即允许一条区块链上的数字货币或数字资产可以转移到另一条区块链上。

    步骤S2:用户在A或B区块链上都开立合法公钥地址帐户(如通过区块链上CA认证
    中心认证通过),为安全期间,最好让CA中心将需要跨链交易的本人在不同链上的公钥地址
    都进行关联签名认证,证明两个不同链上的公钥地址是同一人拥有,并用CA中心所拥有的
    权限将相关CA证书分别写入A和B区块链。CA中心可以给用户一个随机数签名,只要能用用
    户公钥解开,就说明用户是该公钥的拥有者,同时可以通过声音、视频或身份证等信息确认
    用户的真实身份。

    步骤S3:交易内容为,用户要将A区块链上的币(如100个)转移到B区块链上,用户
    将交易内容用A、B区块链上对应的私钥分别签名或依次签名。

    步骤S4:用户将签名和相应的公钥发送到自己公钥地址帐户所在的区块链,也可
    以同时发送到交易对手的区块链,或将共同的签名发到两个区块链。

    步骤S5:A区块链记帐服务器验证交易A或B的签名后达成共识后写入A区块链最新
    区块,将用户A公钥地址上的币(如100个)扣除,在A区块链上纪录“支付给B区块链公钥地
    址”,这里仅是记录,标记为不能再花费的币。

    步骤S6:B区块链上的相当多台记账服务器访问A区块链上的历史纪录,若发现确
    实有对应的跨链交易信息,已标记为不能再花费的币(如100个),B区块链上相当多台记账
    服务器达成共识后,同意在B区块链用户公钥地址上增加币(如100个)。

    步骤S7:用户将A区块链上的币转移到B区块链上后,就可以直接向在B区块链上的
    商家(如公交公司)或其他个人支付币。

    步骤S8:商家(如公交公司)或其他个人也可以重复S1至S7步骤,将币从B区块链跨
    链支付到A区块链。

    实施例5,参照图5、6:

    本实施例说明如何设计类梅克尔树,并如何同步异常数据。

    类梅克尔树数据存储用一个数组表示,0至14存储下层2个哈希值的串联后再哈希
    的哈希值,15开始到30存储按顺序的交易不重复编号,在类梅克尔数存储数组下标和不重
    复编号他们的差是15,没有对应的信息的叶子节点默认为哈??罩?。

    A服务器的类梅克尔树自下而上逐层两两串联计算哈希值,如15和16的哈希值串
    联后哈希的哈希值存在7,3和4的哈希值串联后哈希的哈希值存在1,直到算出根节点的根
    哈希值。

    B服务器收到A的数据后,如同A一样建立类梅克尔树,并一直计算出根节点的根哈
    希值。

    这个类梅克尔树的建立方式和普通的梅克尔树是不一样的,最大的优势是即使哈
    希值的数量不一样,也不会改变各哈希值在类梅克尔树中的相应的位置,所有的哈希值都
    是能对号入座的,同一不重复编号的哈希值在不同的服务器上的类梅克尔树上的位置都是
    一样的。

    这里比较A、B两颗类梅克尔树的根哈希值,不一样,比较其子节点,1节点不一致,2
    节点一致,比较1节点的子节点,3一致,4不一致,比较4节点的子节点,9一致,10不一致,比
    较10节点下的子节点,21一致,22不一致,22节点对应的不重复编号是7,向A服务器请求下
    载不重复编号7的哈希值。现在从下往上计算哈希值,把新请求来的不重复编号7的哈希值
    放到22,把21和22哈希值串联后哈?;竦霉V捣湃?0,把9和10串联合并后哈希的好希值
    放入4,把3和4串联合并后哈希的好希值放入1,把1和2串联合并后哈希的好希值放入0,对
    比A和B服务器两颗类梅克尔树的更哈希值为一致,则两边的数据完全一致。

    实施例6,参照图7:

    本实施例说明如何选举共识服务器来达成共识,形成新的区块。

    选举若干台共识记账服务器提供共识服务,将这几台服务器所有交易的类默克尔
    树根进行对比,类默克尔树根哈希值一样的最多的服务器生成的区块作为最新的区块,若
    默克尔树根哈希值都不一样,就随机选一台,其他记帐服务期对比类默克尔树根哈希值,若
    一样就作为新的区块,若不一样,就比较类默克尔树,下载不同的交易数据,形成一样的新
    区块,或直接下载新的区块,最后也可以去掉类默克尔树最下层哈希值为空值的节点,重新
    生成容量更小的区块。

    最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照
    较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的
    技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在
    本发明的权利要求范围当中。

    关于本文
    本文标题:区块链数据对比及共识方法.pdf
    链接地址://www.4mum.com.cn/p-6079402.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 3d福彩五码复式计划大师 龙虎游戏斗下载 百乐门怎么玩 时时彩模拟投注app 北京pk拾前三 王中王36码特围网址 重庆时时现场开奖结果软件 重庆时时网址合买 彩票店合作协议 11选五5开奖结果大连 快速时时是官方吗 亚洲杯女篮决赛录像 福彩六码万能六码 三分pk10在线计划网站 张克永3d彩票投注技巧 pk10冠军技巧5码公式