一种区块链的分布式共享总账构建方法
【技术领域】
[0001]本发明涉及互联网上的数字资产交易,特别涉及一种区块链的分布式共享总账构建方法。
【背景技术】
[0002]自2009年比特币系统推出以来,以比特币及其衍生竞争币为代表的去中心化加密货币受到了广泛关注。该类系统的特点是基于区块链构建分布式共享总账,从而保证系统运行的安全、可靠、去中心化特性。然而,目前的去中心化加密货币系统采用的是单区块链结构,存在如下问题:
(1)支持资产类型单一:单区块链结构仅能支持单一货币种类的交易,甚至不支持非货币资产在区块链的交易;
(2)可扩展性差:系统功能的更新需要所有参与者协同执行才能生效,导致更新周期长,系统难于适应新需求和采纳新创新。
【发明内容】
[0003]鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的一种区块链的分布式共享总账构建方法。
[0004]作为本发明的一个方面,提供一种区块链的分布式共享总账构建方法,所述方法包括如下步骤:
生成一条或多条交易副链,并根据所述交易副链的区块信息构造系统唯一的交易主链;
所述交易副链和交易主链分别进行各自的区块链验证和交易验证,若交易验证在所述交易副链和交易主链上均验证通过,则证明交易真实存在,否则,交易不存在。
[0005]进一步的,所述交易副链的条数由用户不同业务需求中业务资产的种类数量决定,一条交易副链对应一种业务资产类型。
[0006]进一步的,所述交易副链和交易主链都是由多个区块和时间戳组成的区块链,每条区块链都有对应的参与节点和验证节点,所述参与节点为用户,所述验证节点为用户的子集,所述验证节点的集合分别组成了所述交易副链的验证池和所述交易主链的验证池。
[0007]进一步的,所述方法还包括:
每条交易副链周期性的向所述交易主链上报最新的当前区块的根Hash值信息,上报的时间点由交易主链的周期性确定;
定期生成主链区块,所述主链区块中记录着所有交易副链的当前区块根Hash值信息。
[0008]进一步的,所有交易副链的参与节点周期性的上报给所述交易主链的每一个验证节点最新的当前区块的根Hash值。
[0009]进一步的,所述主链区块的生成周期,与每条交易副链向交易主链上报最新的当前区块的根Hash值的上报周期相同;或者所述主链区块的生成周期大于所述交易副链的上报周期,产生的时间差作为主链验证节点进行分布式区块链验证的时间。
[00?0] 进一步的,所述根Hash值的计算采用Merkle树的计算方式。
[0011]进一步的,所述交易副链和交易主链的区块链验证,均由各自的验证节点完成,所述交易主链负责所述交易副链的根Hash值验证,所述交易副链负责各类业务的交易数据验证。
[0012]进一步的,所述验证节点为发行机构部署的固定节点;或者为商业伙伴部署的固定节点;或者为参与节点竞争后动态进入或退出。
[0013]进一步的,所述交易副链要保证交易速度,采用PoS或RPCA类的快速区块链验证方式;所述交易主链要保证激发用户激情,采用PoW类的带有奖励性质的区块链验证方式。
[0014]进一步的,在所述交易副链中验证交易是否真实存在的具体方法为:定位到包含该tx_hash所在的副链区块;从该副链区块中获取交易的hash值,根据这些hash值计算区块根hash值;如果区块根hash与区块头中的根hash值一致,说明该交易在副链中真实存在;
在所述交易主链中验证交易是否真实存在的具体方法为:获取tx_hash所在区块的根hash值root_hash;定位到包含该root_hash所在的主链区块,从该主链区块中获取所包含的其它副链区块根hash值,根据这些hash值计算主链区块根hash;如果区块根hash与区块头中的根hash值一致,说明该副链区块在交易主链中真实存在。
[0015]进一步的,所述交易副链与所述交易主链间进行安全隔离,包括所述交易副链和所述交易主链的数据存储独立、区块访问独立、区块生成独立和协议独立。
[0016]进一步的,所述方法还包括:所述交易副链和所述交易主链根据用户交易信息更新各自的验证池,所述交易信息包括用户行为、交易历史记录、持有资产规模、上线时间和交易信誉度。
[0017]进一步的,所述方法具体为:所述交易副链和所述交易主链的验证池中首先包含了指定的可靠交易节点,之后根据所述用户交易信息,可以建立用户信用模型,根据该模型定期进行验证池的更新。
[0018]本发明的一种区块链的分布式共享总账构建方法,支持多种业务的资产交易,包括非货币资产在区块链的交易,例如欠条、智能财产、优惠券、债券等,同时支持不同业务资产间的转移。另外,对关键功能的更新可在交易副链上进行,这样既可以提升更新速度,又可以规避交易主链被破坏的风险。
【附图说明】
[0019]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本发明一个实施例的多业务区块链的分布式共享总账构建方法的流程示意图。
[0021]图2为本发明一个实施例的多业务区块链的分布式共享总账构建方法的体系架构
示意图。【具体实施方式】
[0022]下面将参照附图更详细的描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能更透彻的理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
[0023]图1示出了根据本发明一个实施例的多业务区块链的分布式共享总账构建方法的流程示意图。如图1所示,一种多业务区块链的分布式共享总账构建方法,包括如下步骤:
步骤S110,生成一条或多条交易副链,并根据生成的交易副链的区块信息构造系统唯一的交易主链。
[0024]生成交易副链的条数,是由用户不同业务需求中业务资产的种类数量决定的,一般一条交易副链对应一种业务资产,因此交易副链可以有一条,也可以有多条,业务资产种类比如有欠条、智能财产、优惠券、债券等。
[0025]用户一般肯定拥有一条交易主链,但交易副链的数量则不固定,可以拥有多条或不拥有交易副链。如果用户只有唯一的一条交易副链,那么这条交易副链也是交易主链,因此交易主链一定存在,此时相当于用户没有交易副链;当用户拥有的交易副链数量超过两条时,由这两条交易副链再生成交易主链。
[0026]如图2所示,交易副链和交易主链都是由多个区块和时间戳组成的区块链,它们分别包括多个验证节点,多个验证节点的集合分别组成了交易副链的验证池和交易主链的验证池。每条区块链都有对应的参与节点和验证节点,参与节点可以理解为用户,验证节点则是用户的子集,只有部分符合条件的参与节点才是验证节点。
[0027]每条交易副链周期性的向交易主链上报最新的当前区块的根Hash值(哈希值)信息,上报的时间点由交易主链周期性确定,具体的,所有交易副链的参与节点周期性的上报给交易主链的每一个验证节点(即交易主链验证池中每个节点)最新的当前
区块的根Hash值。比如,交易主链根据实现机制每隔5分钟确定一个时刻T,在T时刻之前所有交易副链的参与节点需要将当期区块的根HASH值上报给交易主链的所有验证节点,否则上报失效。
[0028]主链区块定期生成,区块中记录着所有交易副链的当前区块根Hash值信息,主链区块的产生就是基于这些信息完成的,这些信息对于主链而言,相当于比特币区块链中的交易信息,交易主链是系统唯一的。主链区块的生成周期,可以与每条交易副链向交易主链上报最新的当前区块的根Hash值的上报周期相同,也可以大于上报周期(即交易副链上报的周期小于主链区块的生成周期),否则可能会产生无效的主链区块。一般情况下,主链区块的生成时刻比副链区块的上报时刻晚一些,晚的这段时间可以作为主链验证节点进行分布式区块链验证的时间。交易主链是一个有序次的区块的集合,所有用户必须(或最终)对该集合达成共识,这确定了资产控制的历史,提供了一个计算上无法伪造的交易时序。交易主链定期向交易副链收集当前区块根Hash值信息并记录,最终通过交易主链即可掌握所有区块链的当前状态。交易主链当前区块根Hash值是根据所有交易副链当前区块根Hash值计算得来,比如采用Merkle树的计算方式。
[0029]步骤S120,交易副链和交易主链分别进行各自的区块链验证和交易验证,若交易验证在交易副链和交易主链上均验证通过,则证明交易真实存在,否则,交易不存在。
[0030]交易副链和交易主链的区块链验证,均需要由各自验证池中的验证节点完成。验证池是区块链验证节点的集合,是由所有参与区块链验证的节点组成,验证节点负责进行区块链分布式验证,交易主链、交易副链分别有自己的验证池。验证节点的产生方式可以有多种,如由发行机构部署的固定节点;由商业伙伴部署的固定节点;由用户节点竞争后动态进入/退出等。验证节点可以动态加入或退出,以保证验证效率,对于不符合验证节点条件的部分节点(比如低信誉度、低计算能力),可以将其从验证池中删除。比如,初始化时,可以自动推荐部分验证节点,随着参与节点的逐步增多,部分节点也具有了成为验证节点的条件(比如高信誉度、高计算能力),这时,也会将这部分节点纳入验证池。当然有的参与节点也可以自荐,但是需要进行审核评价。另外,各条区块链的验证池节点可以有交集,有的用户可能同时是几个区块链的验证节点,比如用户张三同时参与了主链和副链一,也同时成为了两个链的验证节点,用户可根据自身计算能力情况灵活选择加入
交易副链和交易主链根据业务需要,可灵活选择PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)、RPCA(Ripple Consensus Algorithm, 一致性算法)等方式进行区块链验证,并持续更新。交易副链和交易主链的侧重点定位可以有所差异,比如交易副链需要优先保证交易速度,交易主链需要优先保证激发用户投入的激情,相应地,PoS和RPCA的验证速度较快,因此一般建议交易副链采用这些方式进行验证;PoW虽然验证速度慢,但是只要用户投入计算能力等资源参与验证,就可以得到回报,比如PoW挖矿奖励,因此适用于激发用户激情,比较适用于交易主链。总体来说,交易副链与交易主链在区块链中待验证的数据有所不同,交易主链需要验证的是交易副链上报的根Hash值,而交易副链需要验证的则是各类业务的交易数据等信息。
[0031]在交易副链和交易主链并存的多区块链结构下,验证某个交易是否真实存在的步骤包括:计算该交易的hash值tx_hash ;在交易副链验证交易是否真实存在;在交易主链验证交易是否真实存在;如果交易在交易副链和交易主链均得到验证,则交易真实存在;否贝1J,交易不存在。具体的:
步骤S20,计算该交易的hash值tx_hash;
步骤S21,在交易副链中验证交易是否真实存在:
首先,定位到包含该tx_hash所在的副链区块;
其次,从该副链区块中获取交易的hash值,根据这些hash值计算区块根hash值;
最后,如果区块根hash与区块头中的根hash值一致,说明该交易在副链中真实存在。此时还不能说明该交易真实存在,还需要在交易主链中进行交易验证;
步骤S30,在交易主链中验证交易是否真实存在:
首先,获取tx_hash所在区块的根hash值root_hash ;
其次,定位到包含该root_hash所在的主链区块,从该主链区块中获取所包含的其它副链区块根hash值,根据这些hash值计算主链区块根hash ;
最后,如果区块根hash与区块头中的根hash值一致,说明该副链区块在交易主链中真实存在。
[0032]步骤S40,如果交易在副链和主链均得到验证,则交易真实存在;否则,交易不存在。
[0033]上述在交易副链和交易主链分别验证的方法,可以有效防止交易副链造假,保证验证结果的可靠性。
[0034]本发明中所说的交易,是指数字资产所有权在密码学上的标识和转移。
[0035]作为本发明上述实施例的进一步改进,对于交易副链和交易主链可以进一步延伸:交易副链是相对于主链而言的,交易副链与交易主链在业务逻辑与区块链特性上可以有所不同,比如交易主链承载的主要是交易副链根HASH验证,交易副链承载的包括了智能财产、优惠券等各类业务验证。交易副链可以作为交易主链新功能或新业务逻辑的“试验田”,一方面帮助交易主链试行扩展功能,另一方面实现各种交易主链本身无法具备的业务逻辑功能,逐渐围绕交易主链搭建起一个覆盖各种业务需求的产业生态圈。同时,交易副链会定期向交易主链上报当前区块根Hash信息,该Hash值为根据当前区块的所有交易信息计算得来,比如采用Merkle树的计算方式。
[0036]作为本发明上述实施例的进一步改进,交易副链与交易主链间进行安全隔离,比如交易副链、交易主链的数据存储、区块访问、区块生成各自独立,尤其是协议独立,彼此间不会产生相互影响,因而关键的功能更新可在某条、或某几条、或全部交易副链上先行进行更新试行,这样既可以提升更新速度,又可以规避交易主链被破坏的风险。
[0037]作为本发明上述实施例的进一步改进,交易副链和交易主链可以根据用户行为、交易记录、信誉度等信息更新各自的验证池。具体的,交易副链和交易主链的验证池中首先包含了指定的可靠交易节点,之后根据用户交易历史、持有资产规模、上线时间、交易信誉度等信息,可以建立用户信用模型,根据该模型可以定期进行验证池的更新。
[0038]通过上述实施例可以看出,本发明的多业务区块链的分布式共享总账构建方法比已有传统单区块链方法更高效,表现在:
1)支持多种业务的资产交易,包括非货币资产在区块链的交易,例如欠条、智能财产、优惠券、债券等,同时支持不同业务资产间的转移;
2)系统功能的更新可以首先在影响较低的副链进行,不仅可以提升更新速度而且可以降低风险,为技术和经济上的创新提供更好的支持。例如,调整交易费率、增加区块交易容量、新钱包特性等等,都可以在副链上试行,证明成功且稳定之后再在主链上实施;
3)多业务区块链并存的结构下,一个重要问题是因区块链增多而无法掌握全局状态,同时部分副链因增加新功能而可能不稳定。本发明中将区块链分为主链和副链两类,副链定期向主链上报区块根Hash信息,最终通过主链即可记录掌握所有区块链的状态信息,而且不可抵赖。
[0039]通过以上的实施方式的描述可知,
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0040]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0041]需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定的编程语言。应当明白,可以利用各种编程语言实现在此描述的本
【发明内容】
。
[0042]本领域那些技术人员可以理解,可以对实施例中各模块进行自适应性的改变并且把它们设置在与该实施例不同的一个或多个设备中。除非另有明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0043]本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。
[0044]以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。
【主权项】
1.一种区块链的分布式共享总账构建方法,其特征在于,所述方法包括如下步骤: 生成一条或多条交易副链,并根据所述交易副链的区块信息构造系统唯一的交易主链; 所述交易副链和交易主链分别进行各自的区块链验证和交易验证,若交易验证在所述交易副链和交易主链上均验证通过,则证明交易真实存在,否则,交易不存在。2.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于:所述交易副链的条数由用户不同业务需求中业务资产的种类数量决定,一条交易副链对应一种业务资产类型。3.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于:所述交易副链和交易主链都是由多个区块和时间戳组成的区块链,每条区块链都有对应的参与节点和验证节点,所述参与节点为用户,所述验证节点为用户的子集,所述验证节点的集合分别组成了所述交易副链的验证池和所述交易主链的验证池。4.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于,所述方法还包括: 每条交易副链周期性的向所述交易主链上报最新的当前区块的根Hash值信息,上报的时间点由交易主链的周期性确定; 定期生成主链区块,所述主链区块中记录着所有交易副链的当前区块根Hash值信息。5.根据权利要求4所述的区块链分布式共享总账构建方法,其特征在于:所有交易副链的参与节点周期性的上报给所述交易主链的每一个验证节点最新的当前区块的根Hash值。6.根据权利要求4所述的区块链分布式共享总账构建方法,其特征在于: 所述主链区块的生成周期,与每条交易副链向交易主链上报最新的当前区块的根Hash值的上报周期相同;或者所述主链区块的生成周期大于所述交易副链的上报周期,产生的时间差作为主链验证节点进行分布式区块链验证的时间。7.根据权利要求4所述的区块链分布式共享总账构建方法,其特征在于:所述根Hash值的计算采用Merkle树的计算方式。8.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于,所述交易副链和交易主链的区块链验证,均由各自的验证节点完成,所述交易主链负责所述交易副链的根Hash值验证,所述交易副链负责各类业务的交易数据验证。9.根据权利要求8所述的区块链分布式共享总账构建方法,其特征在于,所述验证节点为发行机构部署的固定节点;或者为商业伙伴部署的固定节点;或者为参与节点竞争后动态进入或退出。10.根据权利要求8所述的区块链分布式共享总账构建方法,其特征在于,所述交易副链要保证交易速度,采用PoS或RPCA类的快速区块链验证方式;所述交易主链要保证激发用户激情,采用PoW类的带有奖励性质的区块链验证方式。11.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于: 在所述交易副链中验证交易是否真实存在的具体方法为: 定位到包含该tx_hash所在的副链区块; 从该副链区块中获取交易的hash值,根据这些hash值计算区块根hash值; 如果区块根hash与区块头中的根hash值一致,说明该交易在副链中真实存在; 在所述交易主链中验证交易是否真实存在的具体方法为: 获取tx_hash所在区块的根hash值root_hash; 定位到包含该root_hash所在的主链区块,从该主链区块中获取所包含的其它副链区块根hash值,根据这些hash值计算主链区块根hash ; 如果区块根hash与区块头中的根hash值一致,说明该副链区块在交易主链中真实存在。12.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于:所述交易副链与所述交易主链间进行安全隔离,包括所述交易副链和所述交易主链的数据存储独立、区块访问独立、区块生成独立和协议独立。13.根据权利要求1所述的区块链分布式共享总账构建方法,其特征在于,所述方法还包括:所述交易副链和所述交易主链根据用户交易信息更新各自的验证池,所述交易信息包括用户行为、交易历史记录、持有资产规模、上线时间和交易信誉度。14.根据权利要求13所述的区块链分布式共享总账构建方法,其特征在于,所述方法具体为:所述交易副链和所述交易主链的验证池中首先包含了指定的可靠交易节点,之后根据所述用户交易信息,可以建立用户信用模型,根据该模型定期进行验证池的更新。
【专利摘要】本发明涉及互联网上的数字资产交易,提供一种区块链的分布式共享总账构建方法,所述方法包括如下步骤:生成一条或多条交易副链,并根据所述交易副链的区块信息构造系统唯一的交易主链;所述交易副链和交易主链分别进行各自的区块链验证和交易验证,若交易验证在所述交易副链和交易主链上均验证通过,则证明交易真实存在,否则,交易不存在。本发明的一种区块链的分布式共享总账构建方法,支持多种业务的资产交易,包括非货币资产在区块链的交易,例如欠条、智能财产、优惠券、债券等,同时支持不同业务资产间的转移。另外,对关键功能的更新可在交易副链上进行,这样既可以提升更新速度,又可以规避交易主链被破坏的风险。
【IPC分类】G06Q20/38, G06Q20/36, G06Q30/06
【公开号】CN105488675
【申请号】CN201510831561
【发明人】蒋海, 翟海滨, 王璟
【申请人】布比(北京)网络技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月25日