CN109360096A - 一种基于公有链的私有链的记账方法及系统 - Google Patents
一种基于公有链的私有链的记账方法及系统 Download PDFInfo
- Publication number
- CN109360096A CN109360096A CN201811133919.2A CN201811133919A CN109360096A CN 109360096 A CN109360096 A CN 109360096A CN 201811133919 A CN201811133919 A CN 201811133919A CN 109360096 A CN109360096 A CN 109360096A
- Authority
- CN
- China
- Prior art keywords
- owned chain
- privately owned
- publicly
- chain
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (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 (12)
1.一种基于公有链的私有链记账方法,其特征在于,包括:
公有链中的矿机节点接收私有链广播的私有链区块哈希值;
所述公有链中的矿机节点获取与私有链区块哈希值对应的私有链交易;
所述公有链中的矿机节点将所述私有链交易加入交易累计列表;
所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账。
2.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点将所述私有链交易加入交易累计列表步骤,包括:
所述公有链中的矿机节点周期性累计当前收到的所有私有链交易,并将周期性累计的当前收到的所有私有链交易加入所述交易累计列表。
3.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点对所述交易累计列表中的所有交易进行记账步骤,包括:
所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易;
所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账。
4.根据权利要求3所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点从所述交易累计列表中的所有交易中筛选出属于同一个私有链的交易步骤,包括:
所述公有链中的矿机节点验证所述交易累计列表中的交易对应的哈希值是否源于同一个私有链;
若所述公有链中的矿机节点验证出所述交易累计列表中的交易对应的哈希值源于同一个私有链,则将哈希值源于同一个私有链的交易确定为所述属于同一个私有链的交易。
5.根据权利要求3所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点对所述属于同一个私有链的交易进行集合记账步骤,包括:
所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账。
6.根据权利要求5所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的每个矿机节点根据所述私有链区块哈希值对所述私有链交易独立进行记账步骤,包括:
所述公有链中的每个矿机节点根据上一区块的哈希值、所述私有链区块哈希值以及填充值采用工作量证明法计算与私有链交易对应的即将生成的区块的公有链区块哈希值;
所述公有链中的每个矿机节点根据所述公有链区块哈希值、所述私有链区块哈希值以及填充值生成对应的公有链区块;
所述公有链中的每个矿机节点将所述公有链区块写入所述公有链的账本中。
7.根据权利要求1所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点接收私有链广播的私有链区块哈希值步骤之前,还包括:
所述私有链的每个节点按照多数一致比例在所述公有链中广播所述私有链区块哈希值。
8.根据权利要求7所述的基于公有链的私有链记账方法,其特征在于,所述私有链的每个节点按照预设比例在所述公有链中广播所述私有链区块哈希值步骤之前,还包括:
所述私有链中的任意两个节点进行私有链交易,并将所述私有链交易的交易内容和交易时间在所述私有链中进行广播;
所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账。
9.根据权利要求8所述的基于公有链的私有链记账方法,其特征在于,所述私有链中的每个节点根据所述交易内容和所述交易时间对所述私有链交易独立进行记账步骤,包括:
所述私有链中的每个节点根据上一区块的哈希值、所述交易内容以及交易时间计算与私有链交易对应的即将生成的区块的私有链区块哈希值;
所述私有链中的每个节点根据所述私有链区块哈希值、所述交易内容以及所述交易时间生成对应的私有链区块;
所述私有链的每个节点将所述私有链区块写入所述私有链的账本中。
10.根据权利要求8所述的基于公有链的私有链记账方法,其特征在于,所述公有链中的矿机节点获取与所述私有链区块哈希值对应的私有链交易步骤之前,包括:
所述公有链中的矿机节点验证广播所述私有链区块哈希值的私有链中的节点数量与所述私有链在所述公有链中注册的节点数量的比例是否大于在所述公有链中存储的多数一致比例;
若所述公有链中的矿机节点验证出广播所述私有链区块哈希值的私有链中的节点数量与在所述公有链中注册的私有链的节点数量的比例大于在所述公有链中存储的多数一致比例,则将所述公有链中存储的对应的私有链名称与所述私有链区块哈希值建立对应关系。
11.根据权利要求10所述的基于公有链的私有链记账方法,其特征在于,所述私有链中的任意两个节点进行私有链交易步骤之前,包括:
所述私有链在所述公有链中根据注册内容预先进行注册,所述注册内容包括所述私有链的名称、所述私有链在所述公有链中注册的节点数量、多数一致比例。
12.一种基于公有链的私有链记账系统,其特征在于,包括私有链、公有链,所述私有链包括多个节点,所述公有链包括多个矿机节点;
公有链中的矿机节点,用于接收私有链广播的私有链区块哈希值;获取与私有链区块哈希值对应的私有链交易;将所述私有链交易加入交易累计列表;对所述交易累计列表中的所有交易进行记账。
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 true CN109360096A (zh) | 2019-02-19 |
CN109360096B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111164935A (zh) * | 2019-05-31 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 在基于区块链的私有交易中提供隐私和安全保护的系统和方法 |
CN114553889A (zh) * | 2022-04-22 | 2022-05-27 | 深圳本地宝新媒体技术有限公司 | 一种基于本地区域特性自学习的信息交流的方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN107742210A (zh) * | 2017-10-13 | 2018-02-27 | 布比(北京)网络技术有限公司 | 一种不同区块链间的跨链转账系统和方法 |
CN107786339A (zh) * | 2016-08-31 | 2018-03-09 | 陈新 | 分层可控联盟区块链系统 |
CN107888562A (zh) * | 2017-10-13 | 2018-04-06 | 布比(北京)网络技术有限公司 | 互联链体系结构 |
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN107947922A (zh) * | 2017-11-29 | 2018-04-20 | 中国科学院合肥物质科学研究院 | 一种基于区块链技术的数字档案管理方法及系统 |
CN108182581A (zh) * | 2017-12-29 | 2018-06-19 | 北京欧链科技有限公司 | 一种区块链的记账方法及装置 |
US20180198624A1 (en) * | 2017-01-12 | 2018-07-12 | International Business Machines Corporation | Private blockchain transaction management and termination |
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
-
2018
- 2018-09-27 CN CN201811133919.2A patent/CN109360096B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786339A (zh) * | 2016-08-31 | 2018-03-09 | 陈新 | 分层可控联盟区块链系统 |
US20180198624A1 (en) * | 2017-01-12 | 2018-07-12 | International Business Machines Corporation | Private blockchain transaction management and termination |
CN108427601A (zh) * | 2017-02-13 | 2018-08-21 | 北京航空航天大学 | 一种私有链节点的集群交易处理方法 |
CN107169765A (zh) * | 2017-05-11 | 2017-09-15 | 电子科技大学 | 一种基于业务信任度对区块链共识进行动态调整的方法 |
CN107742210A (zh) * | 2017-10-13 | 2018-02-27 | 布比(北京)网络技术有限公司 | 一种不同区块链间的跨链转账系统和方法 |
CN107888562A (zh) * | 2017-10-13 | 2018-04-06 | 布比(北京)网络技术有限公司 | 互联链体系结构 |
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN107947922A (zh) * | 2017-11-29 | 2018-04-20 | 中国科学院合肥物质科学研究院 | 一种基于区块链技术的数字档案管理方法及系统 |
CN108182581A (zh) * | 2017-12-29 | 2018-06-19 | 北京欧链科技有限公司 | 一种区块链的记账方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111164935A (zh) * | 2019-05-31 | 2020-05-15 | 阿里巴巴集团控股有限公司 | 在基于区块链的私有交易中提供隐私和安全保护的系统和方法 |
CN111164935B (zh) * | 2019-05-31 | 2023-08-22 | 创新先进技术有限公司 | 在基于区块链的私有交易中提供隐私和安全保护的系统和方法 |
CN114553889A (zh) * | 2022-04-22 | 2022-05-27 | 深圳本地宝新媒体技术有限公司 | 一种基于本地区域特性自学习的信息交流的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109360096B (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108717630A (zh) | 一种出块方法及其实现系统 | |
Abramson et al. | The historical origins of territorial disputes | |
CN108667632A (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
Orlov et al. | The great guessing game: Russia and the Iranian nuclear issue | |
CN109981281B (zh) | 基于区块链提案随机共识确定候选元素的方法及装置 | |
CN107358500A (zh) | 基于区块链的评价排序方法 | |
CN110580653A (zh) | 一种基于交易的区块链共识机制 | |
CN110232634A (zh) | 区块链共识方法、区块链共识系统和计算机可读存储介质 | |
CN106875254A (zh) | 一种基于区块链技术的Android恶意应用程序控制方法 | |
CN109951474A (zh) | 一种实现区块链共识出块的方法 | |
CN107181797A (zh) | 一种区块链的区块压缩方法和系统 | |
CN109743182B (zh) | 基于区块链的智能合约核准方法及系统 | |
CN109360096A (zh) | 一种基于公有链的私有链的记账方法及系统 | |
CN108711056A (zh) | 一种中心化的可追溯的区块链系统及方法 | |
CN112613601B (zh) | 神经网络模型更新方法、设备及计算机存储介质 | |
US20220012700A1 (en) | Peer to Peer Electronic Data Exchange | |
Lee et al. | Poster: A proof-of-stake (PoS) blockchain protocol using fair and dynamic sharding management | |
Honesti et al. | Smart contract-based gamification scheme for college in higher education | |
CN111582864A (zh) | 一种区块链数据量证明共识协议 | |
CN112288415B (zh) | 一种用于utxo架构的币龄机制实现方法 | |
CN110009323A (zh) | 区块链交易方法及装置、电子设备、存储介质 | |
CN110009492A (zh) | 区块链交易方法及装置、电子设备、存储介质 | |
CN109598365A (zh) | 事件预测方法及装置、电子设备 | |
CN109918468A (zh) | 基于墨卡托投影的物联网设备位置数据区域筛选方法 | |
CN109447858B (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 |