CN108984744B - 一种非主链区块自增长方法 - Google Patents
一种非主链区块自增长方法 Download PDFInfo
- Publication number
- CN108984744B CN108984744B CN201810779968.7A CN201810779968A CN108984744B CN 108984744 B CN108984744 B CN 108984744B CN 201810779968 A CN201810779968 A CN 201810779968A CN 108984744 B CN108984744 B CN 108984744B
- Authority
- CN
- China
- Prior art keywords
- block
- transaction
- main chain
- record
- chain
- 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
Links
Images
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
Abstract
本发明公开了一种非主链区块自增长方法,包括以下步骤:区块头包含版本号与前一个区块尾的hash校验值;区块自增长结束时,增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。本发明采用头尾映射区块格式,使区块链更好地利用区块空间,支持区块按需增长,解决区块的扩容难题和弹性增长难题,实现交易记录固定部分与可变部分的完美结合。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种非主链区块自增长方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
目前主流区块链的区块均是固定大小,其大小在区块挖掘打包交易后就固定了,在特定情况下,需要区块能弹性增长,以便能适应具体的商业应用,但区块固定大小限制了区块链的应用范围,主要表现在以下几个方面:
(1)、少量交易时也得打包一个块,非得打包块后交易才算确认;
(2)、很难体现交易的相关性,有些交易可能需要经历多个时段才能完成,这些时段产生的信息和状态是强相关的;
(3)、重复生成交易记录打包进入新的区块,没有充分利用区块的空间,产生大量冗余信息,导致区块链体积快速膨胀;
(4)、智能合约需要多方介入或等待某个条件成立,需要保存各种状态数据,也可能涉及多个账户,需要根据条件进行循环跳转,客观上需要记录执行轨迹,目前记录散落在主链的不同区块中,难以查询和跟踪。
发明内容
本发明的目的是为了解决现有技术中的问题,而提出的一种非主链区块自增长方法,目的是使区块链更好地利用区块空间,支持区块按需增长,解决区块的扩容难题和弹性增长难题,实现交易记录固定部分与可变部分的完美结合。
为了实现上述目的,本发明采用了如下技术方案:
一种非主链区块自增长方法,包括以下步骤:
(1)、区块头包含版本号与前一个区块尾的hash校验值,如果是第一个区块,则是主链交易记录和主链区块的复合hash校验值;
(2)、区块自增长结束时(达到某个指定大小),增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;
(3)、每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;
(4)、当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。
优选的,所述区块尾部包含源地址、目的地址、交易序号、交易参数、数字签名、当前区块最终hash值和区块结束标志。
优选的,所述非主链区块可以根据需要单向增加记录,且增加的记录均为主链上记录的附属信息,所述附属信息只是主链信息的补充,可按照需求进行下载。
优选的,所述非主链区块上的每条记录均是基于主链记录和之前交易的hash校验值,所述每条记录均满足hash完备性要求,同时锁定了之前交易记录,形成了类似于主链的区块锁定。
优选的,所述非主链区块的区块头部和区块尾部均有一定的格式,后形成的一个区块需要同时基于前一个区块的区块头部和区块尾部,保证前一个区块的完整性。
优选的,所述主链记录与非主链区块的自增长记录一一对应,所述非主链区块的自增长记录是对主链记录的动态信息的补充,信息范围和目的单一。
优选的,所述非主链信息归属于主链记录,非主链区块各自独立,可以实现非主链的并行操作。
优选的,所述并行操作时,区块主链按通常规则管理,每个区块具备不可篡改性。
优选的,所述并行操作时,区块主链的交易记录可以按照需求引出非主链,且每个非主链的增长规则符合区块链规则。
优选的,所述并行操作时,所述非主链包含的信息附属于引出非主链的主链交易记录,所述非主链的使用范围限制在有限范围,从而实现每个非主链的并行操作。
与现有技术相比,本发明提供了一种非主链区块自增长方法,具备以下有益效果:
(1)、该非主链区块自增长方法,通过把区块格式设成由区块头部和区块尾部协同构成,区块头部和尾部共同引出新的区块,采用头尾映射区块格式,使区块链更好地利用区块空间,支持区块按需增长,解决区块的扩容难题和弹性增长难题,实现交易记录固定部分与可变部分的完美结合;
(2)、该非主链区块自增长方法,非主链区块的变化并不影响主链的继续增长,客观上确保了主链的独立性和完整性,非主链本身的增长仅仅记录了主链交易记录的后续状态变化,对主链的其他交易没有任何影响,对主链交易记录的区块也没有任何影响,非主链区块只归属于某个智能合约或某个交易记录,操作比较单一,记录信息更加纯粹,易于管理。
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现,本发明结构简单,操作方便。
附图说明
图1为本发明提出的一种非主链区块自增长方法的流程图;
图2为本发明提出的一种非主链区块自增长方法的区块头部的构成图;
图3为本发明提出的一种非主链区块自增长方法的区块尾部的构成图;
图4为本发明提出的一种非主链区块自增长方法中的并行操作的示意图;
图5为本发明提出的一种非主链区块自增长方法中以协同交易链为例的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1
如图1-3所示,一种非主链区块自增长方法,包括以下步骤:
(1)、区块头包含版本号与前一个区块尾的hash校验值,如果是第一个区块,则是主链交易记录和主链区块的复合hash校验值;
(2)、区块自增长结束时(达到某个指定大小),增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;
(3)、每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;
(4)、当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。
进一步的,区块尾部包含源地址、目的地址、交易序号、交易参数、数字签名、当前区块最终hash值和区块结束标志。
本发明提供了一种非主链区块自增长方法,具备自增长方法区块链的区块可以根据需要增加交易记录,新增加的交易基于以前交易的hash校验,也就是在新增加交易前的区块是hash完整的,新增加交易记录依赖本区块以前的已有交易记录,确保每次增加交易记录前的区块是完整的、不可篡改的,实现区块的弹性增长,本发明可以满足智能合约的状态机跳转轨迹和特定动态信息的管理,非主链区块格式由区块头部和区块尾部协同构成,区块头部和尾部共同引出新的区块,不再只依赖前一个区块的头部,一旦增加了区块尾部,则这个区块头部和尾部就囊括了区块的所有信息,标识了该区块不会再有任何变化。
实施例2
如图1-3所示,非主链区块可以根据需要单向增加记录,且增加的记录均为主链上记录的附属信息,不需要重新在主链上增加新的交易记录,有效地节约了主链区块空间,附属信息只是主链信息的补充,可按照需求进行下载,大部分节点可以忽略,节省同步下载流量,实现了非主链区块的弹性自增长;非主链区块上的每条记录均是基于主链记录和之前交易的hash校验值,每条记录均满足hash完备性要求,同时锁定了之前交易记录,形成了类似于主链的区块锁定,从而实现在有限空间内记录层层递进的不可篡改性;非主链区块的区块头部和区块尾部均有一定的格式,后形成的一个区块需要同时基于前一个区块的区块头部和区块尾部,保证前一个区块的完整性;主链记录与非主链区块的自增长记录一一对应,非主链区块的自增长记录是对主链记录的动态信息的补充,信息范围和目的单一,大大提高执行和查询效率。
实施例3
如图4所示,一种非主链区块自增长的并行操作,非主链信息归属于主链记录,非主链区块各自独立,可以实现非主链的并行操作;并行操作时,区块主链按通常规则管理,每个区块具备不可篡改性;并行操作时,区块主链的交易记录可以按照需求引出非主链,且每个非主链的增长规则符合区块链规则;并行操作时,非主链包含的信息附属于引出非主链的主链交易记录,非主链的使用范围限制在有限范围,从而实现每个非主链的并行操作,可以大幅度提高系统的整体处理效率。
实施例4
如图5所示,以协同交易链为例,协同交易主链中记录着协同交易智能合约的部署基本情况,协同交易智能合约的执行状态信息和跳转情况可以记录在非主链状态块中,每个协同交易就会派生处一个状态块,每次执行状态会记录在相对应的状态块中,由于协同交易状态块与协同交易一一对应,相互隔离,满足交易性能要求,协同交易每次执行产生一条状态记录,状态记录即为非主链区块的弹性增长部分,协同交易查询不产生状态记录。
非主链中的区块只记录该智能合约的变化情况,记录变动可以逐步增加,当智能合约的状态块执行结束后增加结束标识,标明本协同交易已经完整执行完毕,形成一个可变的状态记录区块,通过该可变区块,可以一目了然地查询协同交易的所有变动情况以及状态机执行轨迹,显著提高协同交易智能合约的执行和管理效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种非主链区块自增长方法,其特征在于:包括以下步骤:
(1)、区块头包含版本号与前一个区块尾的hash校验值,如果是第一个区块,则是主链交易记录和主链区块的复合hash校验值;
(2)、区块自增长结束时,增加一个区块尾标识,统计本区块的交易数量和所有交易记录的hash值;
(3)、每增加一条交易记录时,要重新计算本区块头和之前交易的hash值,作为本交易的验证hash值,确保每条交易是基于之前交易,实现之前交易的不可篡改性;
(4)、当区块大小达到一定值后,增加一个尾部标识,锁定区块内容,确保不可篡改性,后续有新交易记录时,创建下一个区块。
2.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:所述区块尾部包含源地址、目的地址、交易序号、交易参数、数字签名、当前区块最终hash值和区块结束标志。
3.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:所述非主链区块可以根据需要单向增加记录,且增加的记录均为主链上记录的附属信息,所述附属信息只是主链信息的补充,可按照需求进行下载。
4.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:所述非主链区块上的每条记录均是基于主链记录和之前交易的hash校验值,所述每条记录均满足hash完备性要求,同时锁定了之前交易记录,形成了类似于主链的区块锁定。
5.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:所述非主链区块的区块头部和区块尾部均有一定的格式,后形成的一个区块需要同时基于前一个区块的区块头部和区块尾部,保证前一个区块的完整性。
6.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:主链记录与非主链区块的自增长记录一一对应,所述非主链区块的自增长记录是对主链记录的动态信息的补充,信息范围和目的单一。
7.根据权利要求1所述的一种非主链区块自增长方法,其特征在于:非主链信息归属于主链记录,非主链区块各自独立,以实现非主链的并行操作。
8.根据权利要求7所述的一种非主链区块自增长方法,其特征在于:所述并行操作时,区块主链的交易记录按照需求引出非主链,且每个非主链的增长规则符合区块链规则。
9.根据权利要求7所述的一种非主链区块自增长方法,其特征在于:所述并行操作时,所述非主链包含的信息附属于引出非主链的主链交易记录,所述非主链的使用范围限制在有限范围,从而实现每个非主链的并行操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810779968.7A CN108984744B (zh) | 2018-07-16 | 2018-07-16 | 一种非主链区块自增长方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810779968.7A CN108984744B (zh) | 2018-07-16 | 2018-07-16 | 一种非主链区块自增长方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984744A CN108984744A (zh) | 2018-12-11 |
CN108984744B true CN108984744B (zh) | 2022-02-18 |
Family
ID=64549209
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810779968.7A Active CN108984744B (zh) | 2018-07-16 | 2018-07-16 | 一种非主链区块自增长方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984744B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109671203B (zh) * | 2019-01-31 | 2021-06-25 | 徐之佳 | 一种区块锁及其工作方法 |
CN109902091B (zh) * | 2019-02-21 | 2021-08-10 | 腾讯科技(深圳)有限公司 | 数据区块在区块链上记录的方法、领导记账节点和介质 |
CN110059089B (zh) * | 2019-03-27 | 2021-01-22 | 深圳前海达闼云端智能科技有限公司 | 数据同步方法、装置、存储介质及电子设备 |
US10979233B2 (en) | 2019-04-04 | 2021-04-13 | Advanced New Technologies Co., Ltd. | Monitoring time certificate generation requests |
CN110190963B (zh) * | 2019-04-04 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种针对授时证书生成请求的监控方法、装置及设备 |
CN110490005B (zh) * | 2019-08-20 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 资源转移请求的处理方法、装置和计算机可读存储介质 |
CN112783976B (zh) * | 2021-01-05 | 2024-01-26 | 上海特高信息技术有限公司 | 一种联盟区块链柔性打包出块的共识系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956085A (zh) * | 2005-10-27 | 2007-05-02 | 联发科技股份有限公司 | 包含数据校验程序的记录数据的方法和系统 |
CN105488675A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN105684452A (zh) * | 2013-10-22 | 2016-06-15 | 佳能株式会社 | 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序 |
CN108230109A (zh) * | 2018-01-02 | 2018-06-29 | 罗梅琴 | 一种基于区块链技术的共享系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461164C (zh) * | 2004-03-29 | 2009-02-11 | 微软公司 | 用于基于版本控制的触发器的系统和方法 |
US9116739B2 (en) * | 2013-03-14 | 2015-08-25 | Intel Corporation | Fast and scalable concurrent queuing system |
-
2018
- 2018-07-16 CN CN201810779968.7A patent/CN108984744B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956085A (zh) * | 2005-10-27 | 2007-05-02 | 联发科技股份有限公司 | 包含数据校验程序的记录数据的方法和系统 |
CN105684452A (zh) * | 2013-10-22 | 2016-06-15 | 佳能株式会社 | 用于对可分级分区定时媒体数据进行封装的方法、装置和计算机程序 |
CN105488675A (zh) * | 2015-11-25 | 2016-04-13 | 布比(北京)网络技术有限公司 | 一种区块链的分布式共享总账构建方法 |
CN108230109A (zh) * | 2018-01-02 | 2018-06-29 | 罗梅琴 | 一种基于区块链技术的共享系统及方法 |
Non-Patent Citations (1)
Title |
---|
"Research on application of block chain in distributed energy transaction";Yujie Xu 等;《 2017 IEEE 3rd Information Technology and Mechatronics Engineering Conference (ITOEC)》;20171101;957-960 * |
Also Published As
Publication number | Publication date |
---|---|
CN108984744A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984744B (zh) | 一种非主链区块自增长方法 | |
CN107145537B (zh) | 一种表格数据导入方法及系统 | |
US11522673B2 (en) | Method and device for blockchain full sharding based on a P2P storage network and a multi-layer architecture | |
CN112261159A (zh) | 执行跨片事务的方法及系统、主链节点和目标分片节点 | |
CN111061769A (zh) | 一种区块链系统的共识方法及相关设备 | |
CN105868286A (zh) | 基于分布式文件系统小文件合并的并行追加方法及系统 | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
CN110334094B (zh) | 一种基于倒排索引的数据查询方法、系统、装置及设备 | |
CN103067525A (zh) | 一种基于特征码的云存储数据备份方法 | |
CN103379160A (zh) | 一种超大文件的差异同步方法 | |
CN110704438B (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
CN106407224A (zh) | 一种键值存储系统中文件压实的方法和装置 | |
CN103019884A (zh) | 基于虚拟机快照的内存页去重方法及装置 | |
CN101983376A (zh) | 访问装置、信息记录装置、信息记录系统、文件管理方法和程序 | |
CN110941676B (zh) | 一种配置方法、装置、设备及介质 | |
WO2020216077A1 (zh) | 一种区块链事件去重方法、装置、计算机设备及存储介质 | |
CN111651525A (zh) | 区块链数据存储方法和装置 | |
CN112261162B (zh) | 执行跨片事务的方法及系统、主链节点和目标分片节点 | |
CN112261163A (zh) | 一种区块链系统中的状态存储方法及区块链系统、节点 | |
CN112579261A (zh) | 退出跨片事务的方法和系统、主链节点和目标分片节点 | |
EP3997836A1 (en) | Managing nodes of a cryptographic hash tree in a hash-based digital signature scheme | |
CN106155917A (zh) | 内存管理方法及装置 | |
CN110692078B (zh) | 基于区块链的交易数据处理方法、设备和存储介质 | |
CN112261161B (zh) | 一种锁定区块链系统中分片区块的方法及区块链系统 | |
CN105183628B (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 |