CN110235162A - 区块链系统数据处理方法和区块的生成方法 - Google Patents
区块链系统数据处理方法和区块的生成方法 Download PDFInfo
- Publication number
- CN110235162A CN110235162A CN201980000562.7A CN201980000562A CN110235162A CN 110235162 A CN110235162 A CN 110235162A CN 201980000562 A CN201980000562 A CN 201980000562A CN 110235162 A CN110235162 A CN 110235162A
- Authority
- CN
- China
- Prior art keywords
- block
- hash
- chain
- father
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000012546 transfer Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了一种区块链系统数据处理方法和区块的生成方法。所述生成方法包括获取本链标识、前哈希、父哈希、子哈希和未被打包的交易列表;所述本链标识用于标记本区块所属的链;所述前哈希用于指向本链的前一个区块;所述父哈希用于指向父链的区块;所述子哈希用于指向子链的区块;所述未被打包的交易列表的每条交易携带的链标识均为所述本链标识,以使每条链里的交易列表都只包含本链的交易;将所述本链标识、所述前哈希、所述父哈希、所述子哈希和所述未被打包的交易列表按照区块格式填充,以生成新的区块。所述数据处理方法包括所述生成方法。本申请可提升整个区块链系统的处理能力,从而提升系统的TPS。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种区块链系统数据处理方法和区块的生成方法。
背景技术
区块链技术也称为分布式账本技术,是一种分布式互联网数据库技术。基于区块链技术构建的网络可以称之为区块链网络。区块链网络(或者区块链技术)具备去中心化、公开透明、不可篡改和可信任等特点。
区块链技术有三个基本概念:
交易(Transaction):一次对账本的操作,导致账本状态的一次改变,比如添加一条转账记录;
区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识;
链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
区块的结构包括前哈希(Pre Hash)、区块的其它信息(Meta Data)和交易列表(Transactions)。区块链的数据结构是链式数据结构。
链式数据结构方便分布式系统中节点之间的数据同步,以区块为力度同步;最新的一个区块包含前一块的哈希(hash)值,修改中间任何一个字符,将导致哈希改变,无法验证通过,因此具有不可篡改的特点。但由于是串行数据,数据的校验必须是串行的,使得整个系统的处理能力有限;只能通过修改区块时间间隔或者区块大小进行扩容,扩容能力有限;这制约着区块链的使用场景。
TPS(Transactions Per Second)又称“系统的吞吐量”,即“系统每秒钟能够处理的交易数量”。
当前的区块链系统,一个系统由一条链组成。这样的区块链系统的TPS的值太低。基于2018年之前的历史数据看,主流的3个区块链系统的TPS:比特币的TPS约为3至7笔,以太坊的TPS约为15至30笔,EOS的TPS约为1000至3000笔。可是,随便一个单线程系统,其处理能力都远高于该数值。
发明内容
本申请提出一种区块链系统数据处理方法和区块的生成方法,在满足区块链技术的情况下,可支持数据的并发处理,从而提升整个区块链系统的处理能力。
在第一方面,本申请一种区块的生成方法,包括:
获取本链标识、前哈希、父哈希、子哈希和未被打包的交易列表;
所述本链标识用于标记本区块所属的链;
所述前哈希用于指向本链的前一个区块;
所述父哈希用于指向父链的区块;
所述子哈希用于指向子链的区块;
所述未被打包的交易列表的每条交易携带的链标识均为所述本链标识,以使每条链里的交易列表都只包含本链的交易;
将所述本链标识、所述前哈希、所述父哈希、所述子哈希和所述未被打包的交易列表按照区块格式填充,以生成新的区块。
在一些优选的实施方式中,获取所述前哈希包括:选取一条链,获取所述一条链的最后一个区块的哈希作为所述前哈希;
获取所述父哈希包括:如果本区块所属的链存在父链,则获取本区块指向父链的区块的哈希作为所述父哈希;
获取所述子哈希包括:如果本区块所属的链存在子链,则获取本区块指向子链的区块的哈希作为所述子哈希。
在一些优选的实施方式中,所述获取本区块指向父链的区块的哈希作为所述父哈希具体为:
将父链的最后一个区块的哈希作为所述父哈希;
或者,将父链中时间戳与本区块的时间戳的差值在门限时间差值内的区块的哈希作为所述父哈希。
在一些优选的实施方式中,所述获取本区块指向子链的区块的哈希作为所述子哈希具体为:
将子链中时间戳与本区块的时间戳的差值在门限时间差值内的区块的哈希作为所述子哈希。
在一些优选的实施方式中,还包括:获取区块的其它信息,也将所述其它信息按照区块格式填充,以生成所述新的区块。
在第二方面,本申请提供一种区块链系统数据处理方法,包括:
验证新的区块的哈希是否合法;
验证所述新的区块的前哈希是否正确;
验证所述新的区块的父哈希和子哈希是否满足第一验证条件;
对所述新的区块的交易列表中的交易进行验证;
根据所述父哈希对父链进行查询,如果有从父链转入数据的交易,且所述从父链转入数据的交易所属的区块在所述父哈希所属的区块之前,则修改指定账户的数据;
根据所述子哈希对子链进行查询,如果有从子链转入数据的交易,且所述从子链转入数据的交易所属的区块在所述子哈希所属的区块之前,则修改指定账户的数据。
在一些优选的实施方式中,所述验证所述新的区块的父哈希和子哈希是否满足第一验证条件包括:
判断所述父哈希所属的区块的时间戳与所述新的区块的时间戳的差值是否在门限时间差值内;判断所述子哈希所属的区块的时间戳与所述新的区块的时间戳的差值是否在门限时间差值内。
在一些优选的实施方式中,所述对所述新的区块的交易列表中的交易进行验证包括:基于交易的操作码处理交易。
在一些优选的实施方式中,所述基于交易的操作码处理交易包括转账交易、跨链转移数据交易和创建新链交易。
在一些优选的实施方式中,所述对所述新的区块的交易列表中的交易列表进行验证还包括:
验证交易的数字签名是否合法;
验证交易携带的链标识是否与所述新的区块的本链标识是否一致;
验证是否支持交易的操作码;
验证数字货币的来源是否正确以及数量是否正确。
在一些优选的实施方式中,还包括:若某一个区块被丢弃,则也丢弃以所述某一个区块作为子哈希或者父哈希的区块。
在一些优选的实施方式中,包括上述生成方法。
在第三方面,本申请还提供一种区块链系统数据处理方法,包括:为一条链创建一条或者多条子链;上述生成方法。
在第四方面,本申请提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
所述一个或多个程序可被所述一个或多个处理器执行,以实现上述方法。
在第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被计算机的处理器执行时使所述处理器执行上述方法。
与现有技术相比,本申请的有益效果有:
对区块的结构进行改进,使得区块链系统包括多条并行的链。父哈希和子哈希可保证区块链系统的可追溯性。如此,根据区块的父哈希和子哈希可分别对父链和子链中相关区块的交易进行查询并可依据查询结果修改数据。允许计算节点通过不同的区块进行并发交易,可将数据的串行处理改为并行处理,可提升整个区块链系统的处理能力,从而提升系统的TPS。
附图说明
图1为本申请第一实施例的区块链系统的结构示意图;
图2为本申请第一实施例的链与链的逻辑关系图;
图3示出本申请第一实施例的区块结构;
图4为本申请第一实施例的区块的生成方法的流程图;
图5示出本申请第一实施例的区块链系统的区块链数据结构;
图6为本申请第一实施例的区块链系统数据处理方法的流程图;
图7示出本申请第一实施例的区块链系统的另一种区块链数据结构;
图8示出本申请第一实施例的区块链系统的第三种区块链数据结构;
图9为本申请第二实施例的步骤S11的流程图;
图10为本申请第三实施例的计算机设备的结构示意图。
具体实施方式
为了使本申请实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合图1至图10及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本申请实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
第一实施例
本实施例的区块链系统包括多个单元,参考图1,具体包括数据同步单元1、交易处理单元2、区块生成单元3、区块处理单元4、交易生成单元5和存储单元6。
数据同步单元1:用于将交易或区块共享给其它计算节点;或者用于从其它计算节点获取新的交易和区块,将新的区块或交易(包括自身创建的或者从其它节点获取到的)发给所有相连的计算节点。
交易处理单元2:用于在区块合法时,处理区块里的交易。
区块生成单元3:用于生成新区块。区块处理单元4:用于验证区块是否合法。
交易生成单元5:用于根据用户的操作,创建指定的交易(如转账操作),并通过数据同步单元将交易发送给其它计算节点。
存储单元6:用于存储区块数据、未打包的交易数据、系统运行产生的数据。
本实施例提供一种区块链系统数据处理方法,该方法包括区块的生成方法。区块的生成方法也可以称为区块链的扩容方法。在本实施例中,区块的生成方法由区块生成单元3执行。
本实施例的区块链系统初始时只有一条链,但这一条链可以根据需要新增子链,从而在系统中存在父链和子链,且每条链都可以根据需要新增子链,使得区块链系统包括多条链。具体的,某条链a创建了一条新链b,则称链a为链b的父链,称链b为链a的子链。
如果一条链只允许一条子链,那么在整个系统中,链与链的逻辑关系图就是一个链表的形状了。参考图2,如果一条链可以创建两条子链,那么链与链的逻辑关系图就是一个二叉树的形状。如果一条链可以创建三条子链,那么链与链的逻辑关系图就是三叉树的形状。
在本实施例中,父链和子链的区块的结构是相同的。参考图3,本实施例的区块结构包括本链标识、前哈希(Pre Hash)、父哈希(Parent Hash)、子哈希(Child Hash)、区块的其它信息(Meta Data)和交易列表(Transactions)。
为生成具有上述区块结构的区块,参考图4,本实施例的区块的生成方法包括步骤S1至步骤S7。
步骤S1、获取本链标识。
链标识(Chain ID)是区块链系统中链的标识,是独一无二的。
本链标识用于标识本区块所属的链。本区块是指将要新增的区块。本区块所属的链是指将要新增的区块所归属的链,可以随机选取整个系统中的一条链。整个系统可以很有多条链,不同的链有不同的链标识。在本实施例中,本链是系统第二条链。如此,本链标识为系统第二条链的标识,其中,第二条链是系统第一条链的子链。
在本实施例中,新链的链标识为父链ID*2或ID*2+1。对于子链的数量和ID生成规则,只要使得链标识不冲突即可。参考图5,第一条链C1的本链标识等于1,第二条链C2的本链标识等于2。
步骤S2、获取前哈希。
前哈希用于指向本链的前一个区块。在本实施例中本链为系统第二条链。获取前哈希就是将第二条链的最后一个区块的哈希(Hash)作为前哈希。
前哈希的值必须指向前一个区块,所以它的值是唯一的。
步骤S3、获取父哈希。
父哈希用于指向父链的区块。系统的第一条链没有父链,父哈希的值为空。此外,链的第一个区块的父哈希也可以为空。在本实施例中,本区块所属的链为第二条链,是存在父链的。第二条链的父链为第一条链。本区块指向第一条链的区块,可以是指向第一条链的最后一个区块,也可以是指向第一条链中时间戳与本区块的时间戳的差值在门限时间差值内的区块。门限时间差值为一个值,也可以为一个范围。在本实施例中,门限时间差值为小于或等于1个小时。
因此,获取父哈希就是将本区块指向第一条链的区块的哈希作为父哈希。
步骤S4、获取子哈希。
子哈希用于指向子链的区块。本区块可以是指向子链中时间戳与本区块的时间戳的差值在门限时间差值内的区块。门限时间差值为一个值,也可以为一个范围。在本实施例中,门限时间差值为小于或等于1个小时。
因此,如果本区块所属的链存在子链,获取子哈希就是将本区块指向子链的区块的哈希作为子哈希。
在本链也即第二条链还没创建子链时,子哈希的值为空。
对于第一条链C1,参考图5,第一条链C1创建了子链也即第二条链C2。第一条链C1包括区块Bi、区块Bi+1和区块Bi+2。第二条链C2包括区块B1、区块B2和区块B3。第二条链C2是基于第一条链C1的区块Bi创建的,区块Bi中的子哈希就是第二条链C2的第一个区块。在第一条链C1中,区块Bi之后的区块的子哈希的值为非空。
区块的校验:子哈希的区块存在子链中。参考图5,第一条链C1的区块Bi+2指向第二条链C2的区块B2。
区块的校验:父哈希的区块存在父链中。参考图5,第二条链C2的区块B3指向第一条链C1的区块Bi+1。
参考图5,子哈希和父哈希的指向使用虚线,表示它的值不是唯一的。具体的,第一条链中区块Block i+2的子哈希可以是第二条链中的区块Block1,也可以是区块Block2。
子哈希和父哈希的限定条件为:当前区块的时间戳t1和目标区块的时间戳t2的差值在门限时间差值内;在本实施例中,时间戳t1与时间戳t2时间差范围为0至1小时。不同的区块会在不同的时间完成处理交易。这样做的好处是不同链之间可以高效、有序地并发处理数据。
步骤S5、获取未被打包的交易列表。
若交易列表中包含有交易,则每条交易都携带所属链的链标识。未被打包的交易列表的每条交易携带的链标识均为本链标识也即第二条链的链标识,以使每条链里的交易列表都只包含本链的交易。
交易里的链标识等于本区块的链标识,使交易明确归属于不同的链,方便并发校验交易的有效性。
步骤S6、获取区块的其它信息。也即,获取将要生成的区块的其它信息。其它信息包括但不限于版本信息和时间戳。
区块的其它信息对于区块结构来说是可选的。
步骤S7、将本链标识、前哈希、父哈希、子哈希、区块的其它信息和未被打包的交易列表按照区块格式填充,生成新的区块。新的区块可以是系统的第一个区块,也可以是第一个区块之后的区块。
生成新的区块后,将新的区块共享给所有计算节点。
为对接收到的新的区块进行处理,参考图6,本实施例的区块链系统数据处理方法还包括步骤S8至步骤S13。在本实施例中,步骤S8至步骤S13由区块处理单元4执行。
步骤S8、验证新的区块的哈希是否合法。
数据同步单元1收到新的区块后,由区块处理单元4验证该区块的哈希是否合法,若哈希不合法,则该区块也不合法。每一个区块自身的哈希需满足一定的条件,具体可根据系统需要来设定条件。
步骤S9、验证新的区块的前哈希是否正确。
也即验证第二链中新的区块的前一个区块的哈希是否正确。如不正确,则该新的区块不合法。
步骤S10、验证新的区块的父哈希和子哈希是否满足第一验证条件。
步骤S10具体包括:父哈希所属的区块的时间戳与新的区块的时间戳的差值是否在门限时间差值内,若否,则验证失败;子哈希所属的区块的时间戳与新的区块的时间戳的差值是否在门限时间差值内,若否,则验证失败。那么,第一验证条件为:父哈希所属的区块的时间戳与新的区块的时间戳的差值是否在门限时间差值内,以及子哈希所属的区块的时间戳与新的区块的时间戳的差值是否在门限时间差值内。
对于新的区块的父哈希还可以这样验证:父哈希所属的区块是否为父哈希所属的区块所属父链的最后一个区块,若否,则验证失败。那么,对于新的区块的父哈希,第一验证条件为:父哈希所属的区块是否为父哈希所属的区块所属父链的最后一个区块。
若哈希不存在或差值不在门限时间差值内,则都验证失败。
步骤S11、对新的区块的交易列表中的交易进行验证。
对交易进行验证是为了后续处理区块的交易。
步骤S12、根据父哈希对父链进行查询,如果有从父链转入数据的交易,且从父链转入数据的交易所属的区块在父哈希所属的区块之前,则修改指定账户的数据。
具体的,根据新的区块的父哈希对第一条链进行查询,如果有从第一条链转入数据的交易,具体为有从第一条链到本链的转账,且该交易所属的区块位于父哈希所属的区块之前,则修改指定账户的数据,具体为给指定账户增加指定的数字货币。
步骤S13、根据子哈希对子链进行查询,如果有从子链转入数据的交易,且从子链转入数据的交易所属的区块在子哈希所属的区块之前,则修改指定账户的数据。
参考图7,在本实施例中,本链也即第二条链C2的子链为系统第三条链C3。具体的,根据新的区块的子哈希对第三条链C3进行查询,如果有从第三条链C3转入数据的交易,具体为有从第三条链C3到本链的转账,且该交易所属的区块位于子哈希所属的区块之前,则修改指定账户的数据,具体为给指定账户增加指定的数字货币。
现有的区块链虽然是分布式的,仅仅是数据的分发是分布式的,数据的处理是每个计算节点都需要处理的。由于是单链式结构,为保证所有节点处理结果的一致性,只能串行处理数据。区块链的TPS依赖于区块大小、区块生成时间及串行处理能力。
为提升区块链系统的处理能力,可通过某种方式对区块链进行扩容,比如改变区块大小限制和加快区块生成速度等方法都能够对区块链进行扩容。传统的扩容方法仅仅是调整区块的大小限制和调整区块生成时间,性能提升有限。
相比之下,本实施例对区块的结构进行改进,使得区块链系统包括多条并行的链。父哈希和子哈希可保证区块链系统的可追溯性。如此,根据区块的父哈希和子哈希可分别对父链和子链中相关区块的交易进行查询并可依据查询结果修改数据。允许计算节点通过不同的区块进行并发交易,可将数据的串行处理改为并行处理,可提升整个区块链系统的处理能力,从而提升系统的TPS。
在本实施例的区块链系统中,如果链标识的位数为64位,那么整个系统可以拥有2^64条链。如果一条链的TPS为7,那么整个系统的TPS极限为7*2^64。系统的TPS极限随链标识位数增加而呈指数级增长。如果系统使用以太坊、EOS(Enterprise Operation System,商用分布式设计区块链操作系统)等优化技术,TPS极限还能继续提升。
本实施例是对区块链的共识算法进行叠加增强。
对无效区块的校验进行说明。
如图8,第二条链C2的区块B2’在刚生成的时候也是一个有效的区块,只是随着时间推移,基于共识最终被放弃,导致第一条链C1的区块Bi+2是不被承认的区块。区块Bi+2的子哈希是第二条链C2中的区块B2’,所以区块Bi+2也被丢弃。如果第二条链C2中的某个区块的父哈希为区块Bi+2,那么该某个区块也将被丢弃。
第二实施例
参考图9,步骤S11对新的区块的交易列表中的交易进行验证具体包括步骤S111至步骤S115。在本实施例中,步骤S11由交易处理单元2执行。
步骤S111、验证交易的数字签名是否合法。
步骤S112、验证交易携带的链标识是否与新的区块的本链标识是否一致。也即验证交易的链标识和区块的链标识是否一致。
步骤S113、验证是否支持交易的操作码。
每个交易都有相应的数字签名和操作码等信息。操作码用于处理交易。默认的操作码是转账交易码。如果支持,则基于操作码处理交易。
步骤S114、验证数字货币的来源是否正确以及数量是否正确。
步骤S115、基于交易的操作码处理交易。
本实施例的操作码包括但不限于转账交易码、跨链转移数据码和创建子链码。相应的,可处理的交易包括转账交易、跨链转移数据交易和创建新链交易。
转账交易:修改转入账户和转出账户的数字货币数量。
跨链转移数据交易,以跨链转账为例进行说明:
验证目标链的链标识是否合法,如果目标链还不存在,属于不合法操作;
扣除转出账户的数字货币;
在目标链(父链或子链)中,增加一条转入数据的记录,等待目标链处理该记录。
对本实施例的跨链转移数据交易进行具体说明。
用户创建一条交易,要把第一条链C1上的代币转移到第二条链C2上。参考图5,交易被区块Bi+1确认收录,扣除用户的相应代币。第二条链C2的区块B3指向第一条链C1的区块Bi+1,发现有转到第二条链C2的交易,系统自动在第二条链C2上为用户增加相应的代币。第二条链C2的区块B2只依赖区块Bi,所以区块B2中,用户还没有代币,只有到区块B3时,才有代币。这样就做到了跨链转移数据。
创建新链交易具体包括:
验证条件是否满足;在本实施例中,需要花费一定数量的数字货币才允许创建新链;
验证新链的链标识是否合法;在本实施例中,新链的链标识除以2要等于本链的链标识;
验证新链的链标识是否已经存在,如果存在就忽略交易;
如果上述验证均通过,则创建指定的新链。
第三实施例
参考图10,本实施例提供一种计算机设备,该计算机设备包括:一个或多个处理器7,以及存储器8。存储器8用于存储一个或多个程序。
一个或多个程序可被一个或多个处理器7执行,从而实现上述实施例的方法。
本领域普通技术人员可以理解实施例方法中的全部或部分流程可以由计算机程序来命令相关的硬件完成,程序可存储于计算机可读取存储介质中,程序在执行时,可包括如各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上内容是结合具体/优选的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本申请的保护范围。
Claims (10)
1.一种区块的生成方法,其特征在于包括:
获取本链标识、前哈希、父哈希、子哈希和未被打包的交易列表;
所述本链标识用于标记本区块所属的链;
所述前哈希用于指向本链的前一个区块;
所述父哈希用于指向父链的区块;
所述子哈希用于指向子链的区块;
所述未被打包的交易列表的每条交易携带的链标识均为所述本链标识,以使每条链里的交易列表都只包含本链的交易;
将所述本链标识、所述前哈希、所述父哈希、所述子哈希和所述未被打包的交易列表按照区块格式填充,以生成新的区块。
2.根据权利要求1所述的生成方法,其特征在于,
获取所述前哈希包括:选取一条链,获取所述一条链的最后一个区块的哈希作为所述前哈希;
获取所述父哈希包括:如果本区块所属的链存在父链,则获取本区块指向父链的区块的哈希作为所述父哈希;
获取所述子哈希包括:如果本区块所属的链存在子链,则获取本区块指向子链的区块的哈希作为所述子哈希。
3.根据权利要求2所述的生成方法,其特征在于,
所述获取本区块指向父链的区块的哈希作为所述父哈希具体为:
将父链的最后一个区块的哈希作为所述父哈希;
或者,将父链中时间戳与本区块的时间戳的差值在门限时间差值内的区块的哈希作为所述父哈希;
所述获取本区块指向子链的区块的哈希作为所述子哈希具体为:
将子链中时间戳与本区块的时间戳的差值在门限时间差值内的区块的哈希作为所述子哈希。
4.一种区块链系统数据处理方法,其特征在于包括:
验证新的区块的哈希是否合法;
验证所述新的区块的前哈希是否正确;
验证所述新的区块的父哈希和子哈希是否满足第一验证条件;
对所述新的区块的交易列表中的交易进行验证;
根据所述父哈希对父链进行查询,如果有从父链转入数据的交易,且所述从父链转入数据的交易所属的区块在所述父哈希所属的区块之前,则修改指定账户的数据;
根据所述子哈希对子链进行查询,如果有从子链转入数据的交易,且所述从子链转入数据的交易所属的区块在所述子哈希所属的区块之前,则修改指定账户的数据。
5.根据权利要求4所述的区块链系统数据处理方法,其特征在于所述验证所述新的区块的父哈希和子哈希是否满足第一验证条件包括:
判断所述父哈希所属的区块的时间戳与所述新的区块的时间戳的差值是否在门限时间差值内;判断所述子哈希所属的区块的时间戳与所述新的区块的时间戳的差值是否在门限时间差值内。
6.根据权利要求4或5所述的区块链系统数据处理方法,其特征在于所述对所述新的区块的交易列表中的交易列表进行验证包括:基于交易的操作码处理交易;所述基于交易的操作码处理交易包括转账交易、跨链转移数据交易和创建新链交易。
7.根据权利要求4所述的区块链系统数据处理方法,其特征在于:包括根据权利要求1至3任一项所述生成方法。
8.一种区块链系统数据处理方法,其特征在于包括:
为一条链创建一条或者多条子链;
根据权利要求1至3任一项所述生成方法。
9.一种计算机设备,其特征在于所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
所述一个或多个程序可被所述一个或多个处理器执行,以实现根据权利要求1至7任一项所述方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有程序指令,所述程序指令被计算机的处理器执行时使所述处理器执行根据权利要求1至7任一项所述方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/085154 WO2020220251A1 (zh) | 2019-04-30 | 2019-04-30 | 区块链系统数据处理方法和区块的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110235162A true CN110235162A (zh) | 2019-09-13 |
CN110235162B CN110235162B (zh) | 2023-10-31 |
Family
ID=67855273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980000562.7A Active CN110235162B (zh) | 2019-04-30 | 2019-04-30 | 区块链系统数据处理方法和区块的生成方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110235162B (zh) |
WO (1) | WO2020220251A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061735A (zh) * | 2019-12-13 | 2020-04-24 | 上海优扬新媒信息技术有限公司 | 一种基于单链区块链的扩容方法及装置 |
CN111506658A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、第一设备及存储介质 |
CN112395646A (zh) * | 2020-10-28 | 2021-02-23 | 杭州趣链科技有限公司 | 基于区块链的编码生成方法、装置、设备及存储介质 |
CN115460222A (zh) * | 2022-09-05 | 2022-12-09 | 蚂蚁区块链科技(上海)有限公司 | 区块链数据流计算装置 |
CN115580621A (zh) * | 2022-09-08 | 2023-01-06 | 中国联合网络通信集团有限公司 | 区块链跨链业务处理方法、节点、介质及区块链 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651044B (zh) * | 2020-12-29 | 2024-03-01 | 杭州趣链科技有限公司 | 基于区块链技术的业务交易方法、系统及存储介质 |
CN114153658A (zh) * | 2021-11-22 | 2022-03-08 | 成都飞机工业(集团)有限责任公司 | 工业设备的数据存储方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809420A (zh) * | 2016-03-08 | 2016-07-27 | 杭州复杂美科技有限公司 | 多层区块链的清算方法 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN109033422A (zh) * | 2018-08-08 | 2018-12-18 | 云南天之游科技股份有限公司 | 一种生成区块链的方法、装置及区块链 |
CN109460530A (zh) * | 2018-10-18 | 2019-03-12 | 尚维斯 | 一种区块链子链地址注册方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822927B1 (en) * | 2007-05-14 | 2010-10-26 | Emc Corporation | Dynamically configurable reverse DNLC lookup |
CN108512649B (zh) * | 2018-02-09 | 2021-09-10 | 北京欧链科技有限公司 | 区块链的反向哈希链接的处理方法及装置 |
CN108462582B (zh) * | 2018-02-09 | 2020-03-27 | 北京欧链科技有限公司 | 区块链中的反馈处理方法和装置 |
-
2019
- 2019-04-30 CN CN201980000562.7A patent/CN110235162B/zh active Active
- 2019-04-30 WO PCT/CN2019/085154 patent/WO2020220251A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809420A (zh) * | 2016-03-08 | 2016-07-27 | 杭州复杂美科技有限公司 | 多层区块链的清算方法 |
CN107464112A (zh) * | 2017-07-20 | 2017-12-12 | 捷德(中国)信息科技有限公司 | 基于区块链的交易管理方法及系统 |
CN109033422A (zh) * | 2018-08-08 | 2018-12-18 | 云南天之游科技股份有限公司 | 一种生成区块链的方法、装置及区块链 |
CN109460530A (zh) * | 2018-10-18 | 2019-03-12 | 尚维斯 | 一种区块链子链地址注册方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111061735A (zh) * | 2019-12-13 | 2020-04-24 | 上海优扬新媒信息技术有限公司 | 一种基于单链区块链的扩容方法及装置 |
CN111061735B (zh) * | 2019-12-13 | 2023-07-25 | 度小满科技(北京)有限公司 | 一种基于单链区块链的扩容方法及装置 |
CN111506658A (zh) * | 2020-04-17 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、第一设备及存储介质 |
CN112395646A (zh) * | 2020-10-28 | 2021-02-23 | 杭州趣链科技有限公司 | 基于区块链的编码生成方法、装置、设备及存储介质 |
CN115460222A (zh) * | 2022-09-05 | 2022-12-09 | 蚂蚁区块链科技(上海)有限公司 | 区块链数据流计算装置 |
CN115580621A (zh) * | 2022-09-08 | 2023-01-06 | 中国联合网络通信集团有限公司 | 区块链跨链业务处理方法、节点、介质及区块链 |
CN115580621B (zh) * | 2022-09-08 | 2024-02-27 | 中国联合网络通信集团有限公司 | 区块链跨链业务处理方法、节点、介质及区块链 |
Also Published As
Publication number | Publication date |
---|---|
WO2020220251A1 (zh) | 2020-11-05 |
CN110235162B (zh) | 2023-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110235162A (zh) | 区块链系统数据处理方法和区块的生成方法 | |
CN110866751B (zh) | 区块链平行链的维护方法及区块链平行链系统 | |
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN109214818B (zh) | 一种跨链交易方法及装置 | |
CN109325747B (zh) | 基于区块链的汇款方法及装置 | |
CN106934611B (zh) | 一种数据处理的方法及装置 | |
CN111629039A (zh) | 一种区块链共识方法及客户端、背书节点、排序节点 | |
EP3779760B1 (en) | Blockchain-based data processing method and apparatus, and electronic device | |
CN110737664A (zh) | 一种区块链节点同步的方法及装置 | |
CN106600403A (zh) | 一种资产管理方法、装置和系统 | |
CN109815373A (zh) | 数据存储的控制方法、装置、服务器及可读存储介质 | |
CN110189122B (zh) | 为区块链上的数据锚定时间的方法及装置、电子设备 | |
JP2023076628A (ja) | 一対の結合ブロックチェーンを構成するバイナリブロックチェーンに関連するコンピュータ実装システム及び方法 | |
GB2570301A (en) | Interaction between blockchains | |
CN109711884B (zh) | 一种联盟积分结算方法及装置 | |
CN111818095B (zh) | 基于区块链的退税方法、装置及电子设备 | |
WO2019072670A1 (en) | BLOCK CHAIN WITH TRANSACTION CANCELLATION | |
CN112634034B (zh) | 预约方法、装置、电子设备及计算机可读存储介质 | |
CN112737782B (zh) | 提供跨链消息的方法和装置 | |
CN110287226A (zh) | 基于区块链的数据查询方法及装置 | |
CN108512649A (zh) | 区块链的反向哈希链接的处理方法及装置 | |
CN111461691A (zh) | 基于区块链的流量统计系统、方法及装置 | |
CN110286849A (zh) | 数据存储系统的数据处理方法和装置 | |
Xie et al. | Simulation-based blockchain design to secure biopharmaceutical supply chain | |
CN114529415A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026200 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |