CN109360096B - 一种基于公有链的私有链的记账方法及系统 - Google Patents

一种基于公有链的私有链的记账方法及系统 Download PDF

Info

Publication number
CN109360096B
CN109360096B CN201811133919.2A CN201811133919A CN109360096B CN 109360096 B CN109360096 B CN 109360096B CN 201811133919 A CN201811133919 A CN 201811133919A CN 109360096 B CN109360096 B CN 109360096B
Authority
CN
China
Prior art keywords
chain
private
private chain
public
transaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811133919.2A
Other languages
English (en)
Other versions
CN109360096A (zh
Inventor
张伦泳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201811133919.2A priority Critical patent/CN109360096B/zh
Publication of CN109360096A publication Critical patent/CN109360096A/zh
Application granted granted Critical
Publication of CN109360096B publication Critical patent/CN109360096B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种基于公有链的私有链记账方法,包括:公有链中的矿机节点接收私有链广播的私有链区块哈希值;所述公有链中的矿机节点获取与所述私有链区块哈希值对应的私有链交易;所述公有链中的矿机节点将所述私有链交易加入交易累计列表;所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账。本申请在保证了私有链的账本不会被篡改的前提下,私有链不需要单独设置矿机节点,多个私有链共用一组公有链中的矿机节点,从而提高了矿机节点的利用率,又保证了各个区块链之间的独立性。

Description

一种基于公有链的私有链的记账方法及系统
技术领域
本发明属于数据处理领域,具体涉及一种基于公有链的私有链的记账方法及系统。
背景技术
近年来,随着处理器和网络等基础设备性能取得飞速发展,需要处理的数据量快速增长的同时,对海量存储系统的性能也提出了巨大挑战。在当今的存储领域,尤其是针对大势所趋的虚拟化,存储技术的变革可以用“颠覆”来形容,其中最主要的就是分布式存储技术的引进。
区块链技术是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。简单来说,如果我们把数据库假设成一本账本,读写数据库就可以看作一种记账的行为。区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。这也就相当于改变数据库所有的记录,发给全网的其他每个节点,所以区块链技术也称为分布式账本。
目前的区块链技术,公有链和私有链是相互独立的。公有链面向公众提供服务,私有链面向特定的组织内部提供服务,二者之间没有必然联系。这意味着每一个区块链系统都需要自己的矿机节点以完成记账,矿机节点的利用率较低。
发明内容
本申请针对现有技术中每一个区块链系统都需要自己的矿机节点以完成记账,矿机节点的利用率较低的问题,提供一种基于公有链的私有链记账方法及系统。
本申请提供一种基于公有链的私有链记账方法,包括:
公有链中的矿机节点接收私有链广播的私有链区块哈希值;
所述公有链中的矿机节点获取与私有链区块哈希值对应的私有链交易;
所述公有链中的矿机节点将所述私有链交易加入交易累计列表;
所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账。
可选的,所述公有链中的矿机节点将所述私有链交易加入交易累计列表步骤,包括:
所述公有链中的矿机节点周期性累计当前收到的所有私有链交易,并将周期性累计的当前收到的所有私有链交易加入所述交易累计列表。
可选的,所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账步骤,包括:
所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易;
所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账。
可选的,所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易步骤,包括:
所述公有链中的矿机节点验证所述交易累计列表中的交易对应的哈希值是否源于同一个私有链;
若所述公有链中的矿机节点验证出所述交易累计列表中的交易对应的哈希值源于同一个私有链,则将哈希值源于同一个私有链的交易确定为所述属于同一个私有链的交易。
可选的,所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账步骤,包括:
所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账。
可选的,所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账步骤,包括:
所述公有链中的每个矿机节点根据上一区块的哈希值、所述私有链区块哈希值以及填充值采用工作量证明法计算与私有链交易对应的即将生成的区块的公有链区块哈希值;
所述公有链中的每个矿机节点根据所述公有链区块哈希值、所述私有链区块哈希值以及填充值生成对应的公有链区块;
所述公有链中的每个矿机节点将所述公有链区块写入所述公有链的账本中。
可选的,所述公有链中的矿机节点接收私有链广播的私有链区块哈希值步骤之前,还包括:
所述私有链的每个节点按照预设比例在所述公有链中广播所述私有链区块哈希值。
可选的,所述私有链的每个节点按照多数一致比例在所述公有链中广播所述私有链区块哈希值步骤之前,还包括:
所述私有链中的任意两个节点进行私有链交易,并将所述私有链交易的交易内容和交易时间在所述私有链中进行广播;
所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账。
可选的,所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账步骤,包括:
所述私有链中的每个节点根据上一区块的哈希值、所述交易内容以及交易时间计算与私有链交易对应的即将生成的区块的私有链区块哈希值;
所述私有链中的每个节点根据所述私有链区块哈希值、所述交易内容以及所述交易时间生成对应的私有链区块;
所述私有链的每个节点将所述私有链区块写入所述私有链的账本中。
可选的,所述公有链中的矿机节点获取与所述私有链区块哈希值对应的私有链交易步骤之前,包括:
所述公有链中的矿机节点验证广播所述私有链区块哈希值的私有链中的节点数量与所述私有链在所述公有链中注册的节点数量的比例是否大于在所述公有链中存储的多数一致比例;
若所述公有链中的矿机节点验证出广播所述私有链区块哈希值的私有链中的节点数量与在所述公有链中注册的私有链的节点数量的比例大于在所述公有链中存储的多数一致比例,则将所述公有链中存储的对应的私有链名称与所述私有链区块哈希值建立对应关系。
可选的,所述私有链中的任意两个节点进行私有链交易步骤之前,包括:
所述私有链在所述公有链中根据注册内容预先进行注册,所述注册内容包括所述私有链的名称、所述私有链在所述公有链中注册的节点数量、多数一致比例。
本申请还提供一种基于公有链的私有链记账系统,包括私有链、公有链,所述私有链包括多个节点,所述公有链包括多个矿机节点;
公有链中的矿机节点,用于接收私有链广播的私有链区块哈希值;获取与私有链区块哈希值对应的私有链交易;将所述私有链交易加入交易累计列表;对所述交易累计列表中的所有交易进行记账。
本申请在保证了私有链的账本不会被篡改的前提下,私有链不需要单独设置矿机节点,多个私有链共用一组公有链中的矿机节点,从而提高了矿机节点的利用率,又保证了各个区块链之间的独立性。
附图说明
图1为本申请第一实施例提供的一种基于公有链的私有链的记账方法的流程图;
图2为本申请第二实施例提供的一种基于公有链的私有链的记账方法的流程图;
图3为本申请第三实施例提供的一种基于公有链的私有链的记账系统的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。
本申请提供一种基于公有链的私有链的记账方法及系统。以下分别结合本申请提供的实施例的附图逐一进行详细说明。
本申请第一实施例提供的一种基于公有链的私有链的记账方法如下:
如图1所示,其示出了本申请实施例提供的一种基于公有链的私有链的记账方法的流程图,包括以下步骤。
步骤S101,公有链中的矿机节点接收私有链广播的私有链区块哈希值;
步骤S102,所述公有链中的矿机节点获取与私有链区块哈希值对应的私有链交易;
步骤S103,所述公有链中的矿机节点将所述私有链交易加入交易累计列表;
步骤S104,所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账。
本申请实施例在保证了私有链的账本不会被篡改的前提下,私有链不需要单独设置矿机节点,多个私有链共用一组公有链中的矿机节点,从而提高了矿机节点的利用率,又保证了各个区块链之间的独立性。
本申请第二实施例提供的一种基于公有链的私有链的记账方法如下:
如图2所示,其示出了本申请实施例提供的一种基于公有链的私有链的记账方法的流程图,包括以下步骤。
步骤S201,所述私有链在所述公有链中根据注册内容预先进行注册,所述注册内容包括所述私有链的名称、所述私有链在所述公有链中注册的节点数量、多数一致比例。
为了方便论述,本申请实施例先对一些特定名词进行阐述。
公有链,是指全世界任何人都可读取、发送交易且交易能获得有效确认的、也可以参与其中共识过程的区块链。公有链面向公众提供服务。
私有链,所有网络中的节点都掌握在一家机构手中的区块链。私有链面向特定的组织内部提供服务,公有链和私有链二者之间没有必然联系。
矿机节点,就是用于赚取比特币的电脑,这类电脑一般有专业的挖矿晶元,耗电量较大。计算哈希值的工作被类比为挖贵金属矿,做计算的节点叫矿工,即矿机节点,矿机节点生成合法哈希值然后产生新的区块将被奖励比特币。
记账,区块链在记账时会把账页信息(包含交易时间、交易内容等)作为原始信息进行哈希,得到一个哈希值。账页信息和哈希值组合在一起就构成了第一个区块。比特币系统里约10分钟记一次账,即每个区块生成时间大概间隔10分钟。在记第2个账页的时候,会把上一个块的哈希值和当前的账页信息一起作为原始信息进行哈希。这样第2个区块不仅包含了本账页信息,还间接的包含了第一个区块的信息。依次按照此方法继续记账,则最新的区块总是间接包含了所有之前的账页信息。
所有这些区块组合起来就形成了区块链,这样的区块链就构成了一个便于验证(只要验证最后一个区块的哈希值就相当于验证了整个账本),不可更改(任何一个交易信息的更改,会让所有之后的区块的哈希值发生变化,这样在验证时就无法通过)的总账本。
工作量证明法,为了保证10分钟左右只有一个人可以记账,就必须要提高记账的难度,使得哈希的结果必须以若干个0开头。为了满足这个条件,在进行哈希时引入一个填充值变量。我们知道改变哈希的原始信息的任何一部分,哈希值也会随之不断的变化,因此在运算哈希时,不断的改变填充值的值,总可以找到一个填充值使得哈希的结果以若干个0开头。率先找到合适的填充值的矿机节点就获得此次记账的唯一记账权,才会将对应生成的区块添加到账本中。找到合适的填充值的过程计算量巨大,因此计算能力越强的矿机节点,赚取比特币的能力越强。
为了方便论述,请参看图3,本申请实施例以基于公有链2的私有链1的记账方法为例进行说明。现有的区块链技术都需要建立自己的矿机节点以完成记账,非常繁琐,运算过程复杂,矿机节点利用率较低。因此本申请实施例预先将私有链1在公有链2中进行注册,以实现多个私有链共用一组矿机节点的方案。本申请实施例中的矿机节点只能属于公有链2。公有链2即是通信运营商开发的能为多个私有链提供运算的公有链,私有链1在公有链2中注册需要付费。
具体的,私有链1在公有链2中进行注册的注册内容包括私有链1的名称、私有链2在公有链2中注册的节点数量、多数一致比例(例如60%)。多数一致比例是指私有链2中有多少个节点同意与所有节点的比例,预先设置所述多数一致比例。如果私有链1中的节点数量发生变化,需要向公有链2更新注册内容。
步骤S202,所述私有链中的任意两个节点进行私有链交易,并将所述私有链交易的交易内容和交易时间在所述私有链中进行广播。
私有链1中的任意两个节点进行一笔私有链交易,并将所述私有链交易的交易内容和交易时间在私有链1中进行广播。例如,私有链1中的节点A和节点B进行交易C,节点A和节点B将交易C的交易内容和交易时间在私有链1中进行广播。本申请实施例以私有链1中的交易C在公有链2中的记账方法为例进行说明,下文同理。
在一种优选的方案中,私有链1中的其他节点收到交易内容后对交易内容进行验证,经形成多数同意意见后,所述交易C成立。
步骤S203,所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账。
所述步骤S203包括:所述私有链中的每个节点根据上一区块的哈希值、所述交易内容以及交易时间计算与私有链交易对应的即将生成的区块的私有链区块哈希值;所述私有链中的每个节点根据所述私有链区块哈希值、所述交易内容以及所述交易时间生成对应的私有链区块;所述私有链的每个节点将所述私有链区块写入所述私有链的账本中。
具体的,私有链1中的每个节点都根据所述交易内容和所述交易时间对所述交易C独立进行记账,形成链式结构。私有链1中的每个节点都根据上一区块的哈希值、交易内容以及交易时间计算即将生成的区块的私有链区块哈希值H1,并生成新的私有链区块,最后将新生成的私有链区块写入私有链1的账本中。私有链1中的每个节点生成一个新的区块,最初生成的区块根据交易内容和交易时间的原始信息计算即将生成的区块的私有链区块哈希值H1。私有链1中每个新生成的私有链区块的哈希值都相同,以便私有链1中的多个节点都可以对所述私有链区块哈希值H1进行广播。
需要说明的是,此处私有链1计算所述私有链区块哈希值H1时不采用工作量证明法计算,即根据上一个区块的哈希值、交易内容、交易时间(不包含填充值)进行哈希,得到一个新的哈希值作为所述私有链区块哈希值H1。虽然私有链1中的记账方法简单,但由于同样存在链式结构,因此对账本的篡改仍然需要修改几乎全部的交易记录。在保证了私有链私密性的前提下,将复杂的运算挪到公有链2中进行,提高了私有链中的交易的效率。
在一种优选的方案中,私有链1中的每个节点都按一定概率(例如30%)在私有链1广播自己新生成的私有链区块哈希值H1。其他节点在收到私有链区块哈希值H1后进行对比,进而达成多数同意意见后,新账本被确认。
步骤S204,所述私有链的每个节点按照多数一致比例在所述公有链中广播所述私有链区块哈希值。
具体的,私有链1中的每个节点都按照多数一致比例在公有链2中广播私有链区块哈希值H1。在一种优选的方案中,私有链1中的每个节点按照多数一致比例在所述公有链2中广播的广播内容还包括编号S,编号S即是交易C在私有链1的账本中的顺序号。
步骤S205,公有链中的矿机节点接收私有链广播的私有链区块哈希值。
在一种优选的方案中,公有链2中的矿机节点接收私有链广播的私有链区块哈希值和编号。
步骤S206,所述公有链中的矿机节点验证广播所述私有链区块哈希值的私有链中的节点数量与所述私有链在所述公有链中注册的节点数量的比例是否大于在所述公有链中存储的多数一致比例,若是,执行步骤S207;若否,流程结束。
步骤S207,所述公有链中的矿机节点将所述公有链中存储的对应的私有链名称与所述私有链区块哈希值建立对应关系。
具体的,在一种优选的方案中,公有链2中的矿机节点接收私有链区块哈希值和编号后,计算出广播私有链区块哈希值和编号的私有链中的节点数量与在公有链2中注册的私有链的节点数量的比例,验证其是否大于在公有链2中存储的多数一致比例。若是,则获取公有链2中存储的对应的私有链名称,将该私有链名称与对应的私有链哈希值和编号建立对应关系,以供公有链2中的矿机节点根据该私有链名称、所述私有链区块哈希值以及编号获取对应的私有链交易。
步骤S208,所述公有链中的矿机节点获取与所述私有链区块哈希值对应的私有链交易。
在一种优选的方案中,公有链2中的矿机节点根据对应的私有链名称、所述私有链区块哈希值以及编号获取对应的私有链交易。
步骤S209,所述公有链中的矿机节点将所述私有链交易加入交易累计列表。
所述步骤S209包括:所述公有链中的矿机节点周期性累计当前收到的所有私有链交易,并将周期性累计的当前收到的所有私有链交易加入所述交易累计列表。
具体的,公有链2采用周期性累计的方式接收私有链交易,将周期性累计的当前收到的所有私有链交易加入交易累计列表,以供公有链2的矿机节点对周期内累计的交易进行集合记账。例如按每分钟进行统计,1分钟内接收到1000笔交易,则将该1000笔交易加入到交易累计列表,以备矿机节点对该1000笔交易进行集合记账。
步骤S210,所述公有链中的矿机节点验证所述交易累计列表中的交易对应的哈希值是否源于同一个私有链,若是,执行步骤S211;若否,流程结束。
步骤S211,所述公有链中的矿机节点将哈希值源于同一个私有链的交易确定为所述属于同一个私有链的交易。
具体的,在一种优选的方案中,公有链2中的矿机节点接收到私有链区块哈希值和编号后,验证私有链区块哈希值和编号的是否源于同一个私有链,若是,则将哈希值源于同一个私有链的交易确定为属于同一个私有链的交易。
步骤S212,所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账。
所述步骤S212包括:所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账。所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账步骤包括:所述公有链中的每个矿机节点根据上一区块的哈希值、所述私有链区块哈希值以及填充值采用工作量证明法计算与私有链交易对应的即将生成的区块的公有链区块哈希值;所述公有链中的每个矿机节点根据所述公有链区块哈希值、所述私有链区块哈希值以及填充值生成对应的公有链区块;所述公有链中的每个矿机节点将所述公有链区块写入所述公有链的账本中。
具体的,确定为属于同一个私有链的交易后,对属于同一个私有链的交易进行集合记账。集合记账的含义是指,公有链2中的每个矿机节点都对属于同一个私有链的交易独立进行记账,即每个矿机节点将属于同一个私有链的交易记录在一个区块中。例如,公有链2在按每分钟一个周期统计的交易累计列表中,同时包括来自同一私有链中的100笔交易,那么公有链2中的每一个矿机节点都会将这100笔交易记录在一个区块中。区块数目仍然与节点数目对应,集合了属于同一私有链的交易,提高了矿机节点的利用率。
进一步地,公有链2中的每个矿机节点都根据私有链区块哈希值对私有链交易独立进行记账,形成链式结构。以上文所述的私有链1的交易C为例,公有链2中的每个矿机节点都根据上一区块的哈希值、私有链区块哈希值H1以及填充值计算即将生成的区块的公有链区块哈希值H2,并生成新的公有链区块,最后将新生成的公有链区块写入公有链2的账本中。公有链2中的每个节点生成一个新的区块,最初生成的区块根据私有链区块哈希值H1和填充值的原始信息计算即将生成的区块的公有链区块哈希值H2。所述公有链区块中的数据包括与同一私有链对应的所有的公有链区块哈希值、同一私有链广播的所有的私有链区块哈希值以及同一私有链对应的所有的填充值。
需要说明的是,此处公有链2计算所述公有链区块哈希值H2时采用工作量证明法计算。填充值是一个变量,通过反复尝试填充值,直到找到一个满足条件的哈希值(以若干个0开头的哈希值)作为所述公有链区块哈希值H2。采用工作量证明法计算的过程计算量巨大,因为无法预测和控制生成哈希值,平均需要进行几十亿次哈希运算才能获得一个合适的哈希值。比特币整个网络的运算能力大概平均每10分钟算出一个合适的哈希值,也就是产出一个区块。
在一种优选的方案中,公有链2中的所有节点均从公有链2中的矿机节点处获取新生成的公有链区块并进行验证。至此,私有链中节点A和节点B进行的交易C全部完成。每个节点验证新生成的公有链区块的过程很迅速,不像生成新的公有链区块的过程那么复杂。
在公有链中的矿机节点成功找到合适的哈希值之后,会马上对全网进行广播打包区块,网络的节点收到打包区块,会立刻对其进行验证,验证区块的哈希值以及填充值等。如果验证通过,则表明已经有节点成功记账,自己就不再竞争当前记账,而是选择接受这个区块,记录到自己的账本中,然后进行下一次记账竞争。
公有链的网络中只有最快记账的区块,才会添加到账本中,其他的矿机节点进行复制,这样就保证了整个账本的唯一性。假如矿机节点有任何的作弊行为,都会导致其他矿机节点验证不通过。其他矿机节点会直接丢弃其打包区块,这个区块就无法记录到总账本中,作弊的矿机节点耗费的成本就白费了。因此在巨大的挖矿成本下,也使得矿工自觉自愿的遵守比特币系统的共识协议,也就确保了公有链整个系统的安全。
本申请实施例中的私有链不需要单独设置矿机节点,不采用工作量证明法,直接计算私有链交易对应的哈希值,记账方法简单,私有链中的交易可以快速完成。并且由于私有链同样存在链式结构,因此对账本的篡改仍然需要修改几乎全部的交易记录。另一方面由于公有链中保存了私有链区块哈希值,因此篡改私有链中的账本,篡改行为会被立即发现。而公有链采用了工作量证明法,篡改公有链中的账本,篡改行为也会被立即发现,从而保证了私有链中账本的安全性。同时由于公有链中并没有保存私有链交易的交易内容,仅有私有链区块哈希值,从而保证了私有链的私密性。
本申请第三实施例提供的一种基于公有链的私有链记账系统如下:
在上述实施例中,提供了一种基于公有链的私有链记账方法,本申请还提供了一种基于公有链的私有链记账系统,下面结合附图进行说明。
如图3所示,其示出了本申请实施例提供的一种基于公有链的私有链记账系统的结构示意图,所述系统包括:私有链1、公有链2,所述私有链包括多个节点3,所述公有链包括多个矿机节点4;
公有链2中的矿机节点4,用于接收私有链广播的私有链区块哈希值;获取与私有链区块哈希值对应的私有链交易;将所述私有链交易加入交易累计列表;对所述交易累计列表中的所有交易进行记账。
进一步地,所述公有链2中的矿机节点4还用于周期性累计当前收到的所有私有链交易,并将周期性累计的当前收到的所有私有链交易加入所述交易累计列表。
进一步地,所述公有链2中的矿机节点4还用于从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易;对所述属于同一个私有链的交易进行集合记账。
进一步地,所述公有链2中的矿机节点4还用于验证所述交易累计列表中的交易对应的哈希值是否源于同一个私有链;若所述公有链2中的矿机节点4验证出所述交易累计列表中的交易对应的哈希值源于同一个私有链,则将哈希值源于同一个私有链的交易确定为所述属于同一个私有链的交易。
进一步地,所述公有链2中的每个矿机节点4还用于根据所述私有链区块哈希值对所述私有链交易独立进行记账。
进一步地,所述公有链2中的每个矿机节点4还用于根据上一区块的哈希值、所述私有链区块哈希值以及填充值采用工作量证明法计算与私有链交易对应的即将生成的区块的公有链区块哈希值;
进一步地,所述公有链2中的每个矿机节点还用于根据所述公有链区块哈希值、所述私有链区块哈希值以及填充值生成对应的公有链区块;将所述公有链区块写入所述公有链2的账本中。
进一步地,所述私有链1的每个节点3用于按照多数一致比例在所述公有链2中广播所述私有链区块哈希值。
进一步地,所述私有链1中的任意两个节点3用于进行私有链交易,并将所述私有链交易的交易内容和交易时间在所述私有链1中进行广播;所述私有链1中的每个节点3还用于根据所述交易内容和所述交易时间对所述私有链交易独立进行记账。
进一步地,所述私有链1中的每个节点3还用于根据上一区块的哈希值、所述交易内容以及交易时间计算与私有链交易对应的即将生成的区块的私有链区块哈希值;根据所述私有链区块哈希值、所述交易内容以及所述交易时间生成对应的私有链区块;将所述私有链区块写入所述私有链的账本中。
进一步地,所述公有链2中的矿机节点4还用于验证广播所述私有链区块哈希值的私有链中的节点数量与所述私有链在所述公有链中注册的节点数量的比例是否大于在所述公有链中存储的多数一致比例;若所述公有链2中的矿机节点4验证出广播所述私有链区块哈希值的私有链中的节点数量与在所述公有链中注册的私有链的节点数量的比例大于在所述公有链中存储的多数一致比例,则将所述公有链中存储的对应的私有链名称与所述私有链区块哈希值建立对应关系。
进一步地,所述私有链1在所述公有链2中根据注册内容预先进行注册,所述注册内容包括所述私有链的名称、所述私有链在所述公有链中注册的节点数量、多数一致比例。
本申请实施例中的私有链不需要单独设置矿机节点,不采用工作量证明法,直接计算私有链交易对应的哈希值,记账方法简单,私有链中的交易可以快速完成。并且由于私有链同样存在链式结构,因此对账本的篡改仍然需要修改几乎全部的交易记录。另一方面由于公有链中保存了私有链区块哈希值,因此篡改私有链中的账本,篡改行为会被立即发现。而公有链采用了工作量证明法,篡改公有链中的账本,篡改行为也会被立即发现,从而保证了私有链中账本的安全性。同时由于公有链中并没有保存私有链交易的交易内容,仅有私有链区块哈希值,从而保证了私有链的私密性。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (11)

1.一种基于公有链的私有链记账方法,其特征在于,包括:
私有链的每个节点按照多数一致比例在公有链中广播私有链区块哈希值,其中,所述私有链区块哈希值不采用工作量证明法计算;
公有链中的矿机节点接收私有链广播的私有链区块哈希值;
所述公有链中的矿机节点获取与私有链区块哈希值对应的私有链交易;
所述公有链中的矿机节点将所述私有链交易加入交易累计列表;
所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账。
2.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点将所述私有链交易加入交易累计列表步骤,包括:
所述公有链中的矿机节点周期性累计当前收到的所有私有链交易,并将周期性累计的当前收到的所有私有链交易加入所述交易累计列表。
3.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账步骤,包括:
所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易;
所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账。
4.根据权利要求3所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易步骤,包括:
所述公有链中的矿机节点验证所述交易累计列表中的交易对应的哈希值是否源于同一个私有链;
若所述公有链中的矿机节点验证出所述交易累计列表中的交易对应的哈希值源于同一个私有链,则将哈希值源于同一个私有链的交易确定为所述属于同一个私有链的交易。
5.根据权利要求3所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账步骤,包括:
所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账。
6.根据权利要求5所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账步骤,包括:
所述公有链中的每个矿机节点根据上一区块的哈希值、所述私有链区块哈希值以及填充值采用工作量证明法计算与私有链交易对应的即将生成的区块的公有链区块哈希值;
所述公有链中的每个矿机节点根据所述公有链区块哈希值、所述私有链区块哈希值以及填充值生成对应的公有链区块;
所述公有链中的每个矿机节点将所述公有链区块写入所述公有链的账本中。
7.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述私有链的每个节点按照预设比例在所述公有链中广播所述私有链区块哈希值步骤之前,还包括:
所述私有链中的任意两个节点进行私有链交易,并将所述私有链交易的交易内容和交易时间在所述私有链中进行广播;
所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账。
8.根据权利要求7所述的基于公有链的私有链记账方法,其特征在于,所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账步骤,包括:
所述私有链中的每个节点根据上一区块的哈希值、所述交易内容以及交易时间计算与私有链交易对应的即将生成的区块的私有链区块哈希值;
所述私有链中的每个节点根据所述私有链区块哈希值、所述交易内容以及所述交易时间生成对应的私有链区块;
所述私有链的每个节点将所述私有链区块写入所述私有链的账本中。
9.根据权利要求7所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点获取与所述私有链区块哈希值对应的私有链交易步骤之前,包括:
所述公有链中的矿机节点验证广播所述私有链区块哈希值的私有链中的节点数量与所述私有链在所述公有链中注册的节点数量的比例是否大于在所述公有链中存储的多数一致比例;
若所述公有链中的矿机节点验证出广播所述私有链区块哈希值的私有链中的节点数量与在所述公有链中注册的私有链的节点数量的比例大于在所述公有链中存储的多数一致比例,则将所述公有链中存储的对应的私有链名称与所述私有链区块哈希值建立对应关系。
10.根据权利要求9所述的基于公有链的私有链记账方法,其特征在于,所述私有链中的任意两个节点进行私有链交易步骤之前,包括:
所述私有链在所述公有链中根据注册内容预先进行注册,所述注册内容包括所述私有链的名称、所述私有链在所述公有链中注册的节点数量、多数一致比例。
11.一种基于公有链的私有链记账系统,其特征在于,包括私有链、公有链,所述私有链包括多个节点,所述公有链包括多个矿机节点;
私有链的每个节点,用于按照多数一致比例在公有链中广播私有链区块哈希值,其中,所述私有链区块哈希值不采用工作量证明法计算;
公有链中的矿机节点,用于接收私有链广播的私有链区块哈希值;获取与私有链区块哈希值对应的私有链交易;将所述私有链交易加入交易累计列表;对所述交易累计列表中的所有交易进行记账。
CN201811133919.2A 2018-09-27 2018-09-27 一种基于公有链的私有链的记账方法及系统 Active CN109360096B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811133919.2A CN109360096B (zh) 2018-09-27 2018-09-27 一种基于公有链的私有链的记账方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811133919.2A CN109360096B (zh) 2018-09-27 2018-09-27 一种基于公有链的私有链的记账方法及系统

Publications (2)

Publication Number Publication Date
CN109360096A CN109360096A (zh) 2019-02-19
CN109360096B true CN109360096B (zh) 2020-12-08

Family

ID=65347994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811133919.2A Active CN109360096B (zh) 2018-09-27 2018-09-27 一种基于公有链的私有链的记账方法及系统

Country Status (1)

Country Link
CN (1) CN109360096B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111164935B (zh) * 2019-05-31 2023-08-22 创新先进技术有限公司 在基于区块链的私有交易中提供隐私和安全保护的系统和方法
CN114553889B (zh) * 2022-04-22 2022-07-22 深圳本地宝新媒体技术有限公司 一种基于本地区域特性自学习的信息交流的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169765A (zh) * 2017-05-11 2017-09-15 电子科技大学 一种基于业务信任度对区块链共识进行动态调整的方法
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统
CN108427601A (zh) * 2017-02-13 2018-08-21 北京航空航天大学 一种私有链节点的集群交易处理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10355869B2 (en) * 2017-01-12 2019-07-16 International Business Machines Corporation Private blockchain transaction management and termination
CN107742210A (zh) * 2017-10-13 2018-02-27 布比(北京)网络技术有限公司 一种不同区块链间的跨链转账系统和方法
CN107909369A (zh) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 基于跨链交易的共识方法、装置和存储介质
CN107888562B (zh) * 2017-10-13 2019-12-27 布比(北京)网络技术有限公司 一种平行链接入互联链的数据验证和收发方法、节点及系统
CN107947922B (zh) * 2017-11-29 2020-07-21 中国科学院合肥物质科学研究院 一种基于区块链技术的数字档案管理方法及系统
CN108182581B (zh) * 2017-12-29 2020-08-11 北京欧链科技有限公司 一种区块链的记账方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统
CN108427601A (zh) * 2017-02-13 2018-08-21 北京航空航天大学 一种私有链节点的集群交易处理方法
CN107169765A (zh) * 2017-05-11 2017-09-15 电子科技大学 一种基于业务信任度对区块链共识进行动态调整的方法

Also Published As

Publication number Publication date
CN109360096A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
CN108648084B (zh) 一种区块链网络的数据处理方法、装置、设备及存储介质
CN110198233B (zh) 基于可信执行环境和有向无环图的区块链共识方法及系统
CN108470276A (zh) 一种采用代理记账的区块链共识方法
CN110851870B (zh) 基于可信执行环境的区块链隐私保护方法、系统及介质
CN110310107B (zh) 基于区块链的结算方法、区块链节点和客户端
CN109360096B (zh) 一种基于公有链的私有链的记账方法及系统
CN109859043B (zh) 一种交易清算方法和交易清算系统
US20220101318A1 (en) Transaction Assignment Method and Apparatus Based on Structured Directed Acyclic Graph
CN108768672B (zh) 数据处理方法、装置及存储介质
US11113677B1 (en) Data processing using proof-of-transfer
CN107682831A (zh) 剩余流量的分享方法及装置、计算机装置及存储介质
CN113448694B (zh) 一种提高事务处理能力的区块链共识方法
CN113343283B (zh) 一种数据处理方法
CN109447803B (zh) 联盟链的记账方法、设备、联盟链及存储介质
CN112966048A (zh) 一种区块链共识方法
WO2020142907A1 (zh) 基于有向无环图的区块创建、添加、账本建立方法和装置
CN109672733B (zh) 基于dag的区块链的账本同步方法及设备
CN113988831A (zh) 一种基于联盟链的转账方法
CN110971393B (zh) 基于区块链动态社交外包数据关键词查询验证方法及装置
CN113256417A (zh) 一种基于交易共享的共识出块方法及系统
CN111177263A (zh) 一种区块链共识方法及节点
CN115879889A (zh) 基于区块链的业务处理方法、装置和计算机设备
CN115442167A (zh) 基于区块链的网络流量管理方法、装置及系统
CN110149213B (zh) 一种基于异构哈希函数的工作量证明方法及系统
CN112600698A (zh) 应用于非出块节点的区块链共识方法、系统、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant