CN110555770B - 一种基于增量哈希的区块链世界状态校验和恢复方法 - Google Patents

一种基于增量哈希的区块链世界状态校验和恢复方法 Download PDF

Info

Publication number
CN110555770B
CN110555770B CN201910772360.6A CN201910772360A CN110555770B CN 110555770 B CN110555770 B CN 110555770B CN 201910772360 A CN201910772360 A CN 201910772360A CN 110555770 B CN110555770 B CN 110555770B
Authority
CN
China
Prior art keywords
hash
world state
account
contract
block
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
CN201910772360.6A
Other languages
English (en)
Other versions
CN110555770A (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.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology 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 Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN201910772360.6A priority Critical patent/CN110555770B/zh
Publication of CN110555770A publication Critical patent/CN110555770A/zh
Application granted granted Critical
Publication of CN110555770B publication Critical patent/CN110555770B/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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (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)

Abstract

本发明公开了一种基于增量哈希的区块链世界状态校验和恢复方法,涉及区块链技术,该方法包括:获取当前区块中用于计算哈希的交易执行结果;计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希;根据所有账户修改情况的哈希摘要进行全局增量哈希计算,作为新的世界状态哈希;世界状态校验以及恢复方法。该方法不需要额外的数据存储,同时又极大压缩了哈希计算的运算量,极大提升了区块链系统性能。

Description

一种基于增量哈希的区块链世界状态校验和恢复方法
技术领域
本发明涉及区块链技术,尤其涉及一种基于增量哈希的区块链世界状态校验和恢复方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
世界状态是基于账户模型的区块链系统在交易执行完之后产生的状态信息的总和,包括所有区块链中账户的包括余额在内的账户信息,和所有智能合约的状态信息。因而,智能合约的调用或者在不调用合约情况下的转账操作都会导致世界状态的改变。每一个区块的交易执行之后产生的最新世界状态,是下一个区块的交易执行的基础,准确的说,每笔交易的执行都会在前一笔交易执行之后的最新世界状态的基础上继续修改。
在基于账户模型的区块链系统中,节点之间除了保证交易内容和顺序的一致性之外,也要保证世界状态信息的一致性,以防执行过程中可能出现的错误导致,在不同节点看来,同一个账户的余额,或者同一个合约的状态是不一致的。对世界状态计算哈希,并对于不同的区块链节点,比对相同高度的区块的状态哈希是否一致,是最高效且实用的方式。以太坊使用MPT树组织起整个世界状态,并为其计算哈希;hyperledger fabric在0.6版本中用一棵bucket树做类似的操作。这两种树的共同点是计算代价很高,从而影响区块链系统的处理性能,且会带来严重的数据写放大情况(树的节点信息也需要额外存储一遍)。
发明内容
针对现有技术的不足,本发明提出了一种基于增量哈希的区块链世界状态校验和恢复方法,设计了一套高性能低存储量的区块链世界状态校验方法,并且当校验出现问题(节点间世界状态不一致)时,给出了相应的恢复方法。
本方案是通过以下技术方案实现的:一种基于增量哈希的区块链世界状态校验方法,具体包括以下步骤:
步骤一:获取当前区块中用于计算哈希的交易执行结果:
区块链系统的执行模块执行区块中的交易,并生成当前区块提交时对应的世界状态修改集合。所述世界状态修改集合以合约账户为单位,将每个账户涉及到的世界状态修改分别存储。
步骤二:计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希:
(2.1)对所述合约账户的合约状态空间的修改记录进行排序;
(2.2)计算排序后的修改记录的哈希;
(2.3)计算第一次修改后的所述合约账户增量哈希:利用一个空的哈希值以及对本次合约账户修改执行步骤2.1与步骤2.2所得第一次修改后的所述合约账户的世界状态修改哈希,计算得到第一次修改后的合约账户增量哈希;
(2.4)计算第二次修改后的所述合约账户增量哈希:利用所述第一次修改后的所述合约账户的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得第二次修改后的所述合约账户的世界状态修改哈希,计算得到第二次修改后的合约账户增量哈希;
(2.5)对于之后的每一次修改所述合约账户增量哈希,通过步骤2.4的迭代方法,即利用所述合约账户上一次修改后计算得到的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得到的当前合约账户的世界状态修改哈希,计算得到所述合约账户的最新修改的世界状态增量哈希。
步骤三:根据所有合约账户修改的世界状态增量哈希进行全局增量哈希计算,作为新的世界状态哈希:
(3.1)将所有在所述区块合约交易执行过程中被修改世界状态的账户进行序列化,得到序列化的账户。
(3.2)将所述序列化的账户按照账户地址进行排序。
(3.3)计算排序后的被修改账户的哈希。
(3.4)计算第一个区块的增量全局世界状态哈希:利用一个空的哈希值以及对所述第一个区块执行步骤3.1-3.3所得到的所述第一个区块交易执行后被修改账户集合的哈希摘要,计算得到所述第一个区块的增量全局世界状态哈希;
(3.5)计算第二个区块的增量全局世界状态哈希:利用所述第一个区块的增量全局世界状态哈希以及对所述第二个区块执行步骤3.1-3.3所得到的所述第二个区块交易执行后被修改账户集合的哈希,计算得到所述第二个区块的增量全局世界状态哈希;
(3.6)对于之后的每一个区块,通过步骤3.5的迭代方法,即利用上一个区块交易执行后被修改的合约账户的哈希以及对本区块执行步骤3.1-3.3所得当前区块交易执行后被修改的账户的哈希,计算得到当前区块的增量全局世界状态哈希。
步骤四:世界状态校验:
每提交指定数量个区块之后,节点之间会进行最新区块的增量全局世界状态哈希的比对:对于任何一个节点,如满足共识算法要求个数个节点的增量全局世界状态哈希与所述节点的增量全局世界状态哈希一致,所述节点确认所述世界状态校验成功;否则,所述节点即为异常节点,所述世界状态校验失败。
进一步地,步骤三中所述序列化账户中包括账户余额在内的最新世界状态信息,所述账户包括合约账户和普通账户,所述合约账户的序列化结果中还包括步骤二所计算得到合约账户增量哈希。
进一步地,步骤二和步骤三中,采用稳定排序算法对合约账户及账户中的状态信息进行排序。
进一步地,步骤四中,所述世界状态校验失败后,对所述区块链世界状态进行恢复,所述恢复的方法具体为:回滚掉所有和其他节点中不同的区块及其对应的世界状态修改,然后从其他节点拉取被回滚掉的区块。拉取区块的同时,把回滚前第一个与其他节点不同的区块对应的世界状态修改直接从区块来源节点拉取过来,并应用修改。之后重复执行步骤一到步骤三,直到恢复出正确的最新世界状态。
本发明的有益效果:本发明应用于区块链平台上,提供了一套全新的世界状态维护、校验和恢复的方案,提升了计算世界状态哈希的效率,减少的不必要数据的存储量。同时,异常节点的世界状态修复也不再像之前一样可能需要回滚掉很多很多区块,提升了世界状态修复的效率。
附图说明
图1是增量哈希计算的流程图;
图2是世界状态修复的流程图。
具体实施方式
下面结合附图对本发明进行详细描述,使得本发明的目的和效果将变得更加明显。
一种基于增量哈希的区块链世界状态校验方法,具体包括如下步骤:
步骤一:获取当前区块中用于计算哈希的交易执行结果:
区块链系统的执行模块执行区块中的交易,并生成当前区块提交时对应的世界状态修改集合。所述世界状态修改集合以合约账户为单位,将每个账户涉及到的世界状态修改分别存储。这个世界状态修改集合是后续计算增量哈希过程中计算“增量”的依据。如图1为增量哈希计算的流程图,具体包括合约账户的增量哈希和全局增量哈希计算的计算。
步骤二:计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希:
这一步主要是针对合约账户,因为每个合约账户会拥有一个合约,每个合约会有一个自己的状态空间。
(2.1)对所述合约账户的合约状态空间的修改记录采用稳定排序算法进行排序;其目的是保证后续的哈希计算结果只与合约账户的世界状态修改结果有关,这样即使不同节点中由于操作系统不同、编译hyperchain可执行文件时的go语言版本不同等原因可能造成的对修改记录的组织和排列顺序不一致,最后一样可以计算出相同的哈希结果。
(2.2)计算排序后的修改记录的哈希;其目的是保证不同节点在这一个区块中的交易涉及到的智能合约都相同,同时对于每一个智能合约,修改后的世界状态均一致。
(2.3)计算第一次修改后的所述合约账户增量哈希:利用一个空的哈希值以及对本次合约账户修改执行步骤2.1与步骤2.2所得第一次修改后的所述合约账户的世界状态修改哈希,计算得到第一次修改后的合约账户增量哈希;
(2.4)计算第二次修改后的所述合约账户增量哈希:利用所述第一次修改后的所述合约账户的世界状态修改哈希以及对本次合约账户修改执行步骤2.1与步骤2.2所得第二次修改后的所述合约账户的世界状态修改哈希,计算得到第二次修改后的合约账户增量哈希;
(2.5)对于之后的每一次修改所述合约账户增量哈希,通过步骤2.4的迭代方法,即利用所述合约账户上一次修改后计算得到的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得到的当前合约账户的世界状态修改哈希,计算得到所述合约账户的最新修改的世界状态增量哈希。
计算每次修改后的所述合约账户增量哈希的目的是:在某一个区块生成后,一个合约账户的世界状态数据的修改在节点间出现不一致,而此时并未触发节点间世界状态一致性的检查,可在后面的区块中,这个合约账户的世界状态数据又一次被修改,且这次的修改结果是一致的,因而修改结果计算出来的哈希一致。如果不计算这一步增量哈希,而是直接把前面计算出的哈希当作合约账户的世界状态哈希,会导致无法及时发现合约账户的异常。
步骤三:根据所有合约账户修改的世界状态增量哈希进行全局增量哈希计算,作为新的世界状态哈希:
(3.1)将所有在所述区块合约交易执行过程中被修改世界状态的账户进行序列化,得到序列化的账户,从而方便计算哈希。所述序列化账户中包括账户余额在内的最新世界状态信息,所述账户包括合约账户和普通账户,所述合约账户的序列化结果中还包括步骤二所计算得到合约账户增量哈希。
(3.2)将所述序列化的账户按照账户地址采用稳定排序算法进行排序。
(3.3)计算排序后的被修改账户的哈希,其目的是保证不同节点在这一个区块中的交易涉及到的账户都相同,同时对于每一个账户,修改后的所有状态数据(包括余额、合约状态等)均一致。
(3.4)计算第一个区块的增量全局世界状态哈希:利用一个空的哈希值以及对所述第一个区块执行步骤3.1-3.3所得到的所述第一个区块交易执行后被修改的合约账户的哈希,计算得到所述第一个区块的增量全局世界状态哈希;
(3.5)计算第二个区块的增量全局世界状态哈希:利用所述第一个区块的增量全局世界状态哈希以及对所述第二个区块执行步骤3.1-3.3所得到的所述第二个区块交易执行后被修改的合约账户的哈希,计算得到所述第二个区块的增量全局世界状态哈希;
(3.6)对于之后的每一个区块,通过步骤3.5的迭代方法,即利用上一个区块交易执行后被修改的合约账户的哈希以及对本区块执行步骤3.1-3.3所得当前区块交易执行后被修改的账户的哈希,计算得到当前区块的增量全局世界状态哈希。
计算每个区块的增量全局世界状态哈希的目的是:防止出现前一区块执行后世界状态出现不一致,可在后面的区块中把这不一致掩盖掉并计算出一样的哈希。且世界状态数据出现不一致后,异常节点无法及时发现自己已经异常,而像正常节点一样对外提供服务。
在步骤二和步骤三中,如果不使用增量哈希,而仅仅校验每个区块的世界状态修改情况,那就必须每个区块执行完交易之后,都必须要立即校验世界状态,校验成功后才能提交该区块并继续执行新区块中的交易,否则在步骤二中描绘的情景就可能出现,并且这样会带来很多的网络开销,也会影响到网络执行的效率。使用增量哈希后,后边区块的世界状态哈希与前一区块执行完的世界状态同样有关,从而产生雪崩效应,前面产生的世界状态不一致不会被后面所掩藏,就可以不必每一区块执行完后都要检查世界状态。
目前具有全局世界状态校验功能的区块链系统中常用树形结构——MPT树和bucket树来维护世界状态哈希,但以太坊的MPT树作为一棵前缀树,需要持久化存储很多的中间的前缀节点,同时每次读取或写入一个状态数据,都会对应一次从树根到某一叶子节点的完整路径的访问;HyperLedger fabric 0.6版本的bucket树虽然获取状态数据可以直接从数据库中读取出状态数据,但它的叶子节点是状态数据的一个副本而不是直接就是状态数据本身,便会造成额外的一份数据存储。以增量哈希替代现在的区块链系统中常用的树形结构维护全局世界状态哈希,不用存储任何用以计算哈希的节点数据,不会使得状态数据读写复杂化,同时由于每次参与哈希计算的只有一个区块中的状态变化情况加一个之前的哈希,参与计算的数据量大大减小,从而缩短了哈希计算时间。
步骤四:世界状态校验:
每提交指定数量个区块之后,节点之间会进行最新区块的增量全局世界状态哈希的比对:对于任何一个节点,如满足共识算法要求个数个节点的增量全局世界状态哈希与所述节点的增量全局世界状态哈希一致,所述节点确认所述世界状态校验成功;否则所述节点即为异常节点,所述世界状态校验失败。
由于区块中的交易执行过程中出现问题导致区块执行失败,或与其他多数节点的世界状态哈希不一致,那么便会触发区块的回滚操作。回滚操作后需要保证新的世界状态达成一致,而一旦出现了世界状态被恶意篡改,则按照改用增量哈希之后的Hyperchain平台架构,后续执行过程中,虽然能够发现世界状态被篡改,但却无法修复稳定检查点之前的世界状态错误。如图2为世界状态恢复方法,具体为:回滚掉所有和其他节点中不同的区块及其对应的世界状态修改,然后从其他节点拉取被回滚掉的区块。拉取区块的同时,把回滚前第一个与其他节点不同的区块对应的世界状态修改直接从区块来源节点拉取过来,并应用修改。之后重复执行步骤一到步骤三,直到恢复出正确的最新世界状态。
世界状态存储在以levelDB为代表的k-v型数据库中,异常包括恶意用户的恶意潜入造成修改、操作系统或硬件故障造成数据读写异常等。虽然这些修改在没有完备的监控系统的情况下可能很难立即发现,但通过本申请的校验方法,在基于异常的世界状态项产生交易的时候,一定可以及时发现其中的异常,并修复世界状态,以保证前面的异常不会影响整个区块链系统的正常状态。恢复的方法是节点通过向正常节点请求区块和第一个异常区块所对应的正常区块所产生的状态变更,并将其设为对应区块产生的状态变更,所记录的区块对应的状态变更,也就成为与增量哈希相配套的世界状态恢复方法成立的前提。

Claims (4)

1.一种基于增量哈希的区块链世界状态校验方法,其特征在于,具体包括以下步骤:
步骤一:获取当前区块中用于计算哈希的交易执行结果:
区块链系统的执行模块执行区块中的交易,并生成当前区块提交时对应的世界状态修改集合; 所述世界状态修改集合以合约账户为单位,将每个账户涉及到的世界状态修改分别存储;
步骤二:计算每个在所述区块合约交易执行过程中修改所涉及到的合约账户的增量哈希:
(2.1)对所述合约账户的合约状态空间的修改记录进行排序;
(2.2)计算排序后的修改记录的哈希;
(2.3)计算第一次修改后的所述合约账户增量哈希:利用一个空的哈希值以及对本次合约账户修改执行步骤2.1与步骤2.2所得第一次修改后的所述合约账户的世界状态修改哈希,计算得到第一次修改后的合约账户增量哈希;
(2.4)计算第二次修改后的所述合约账户增量哈希:利用所述第一次修改后的所述合约账户的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得第二次修改后的所述合约账户的世界状态修改哈希,计算得到第二次修改后的合约账户增量哈希;
(2.5)对于之后的每一次修改所述合约账户增量哈希,通过步骤2.4的迭代方法,即利用所述合约账户上一次修改后计算得到的世界状态修改哈希以及对本次账户修改执行步骤2.1与步骤2.2所得到的当前合约账户的世界状态修改哈希,计算得到所述合约账户的最新修改的世界状态增量哈希;
步骤三:根据所有合约账户修改的世界状态增量哈希进行全局增量哈希计算,作为新的世界状态哈希:
(3.1)将所有在所述区块合约交易执行过程中被修改世界状态的账户进行序列化,得到序列化的账户;
(3.2)将所述序列化的账户按照账户地址进行排序;
(3.3)计算排序后的被修改账户的哈希;
(3.4)计算第一个区块的增量全局世界状态哈希:利用一个空的哈希值以及对所述第一个区块执行步骤3.1-3.3所得到的所述第一个区块交易执行后被修改账户集合的哈希摘要,计算得到所述第一个区块的增量全局世界状态哈希;
(3.5)计算第二个区块的增量全局世界状态哈希:利用所述第一个区块的增量全局世界状态哈希以及对所述第二个区块执行步骤3.1-3.3所得到的所述第二个区块交易执行后被修改账户集合的哈希,计算得到所述第二个区块的增量全局世界状态哈希;
(3.6)对于之后的每一个区块,通过步骤3.5的迭代方法,即利用上一个区块交易执行后被修改的合约账户的哈希以及对本区块执行步骤3.1-3.3所得当前区块交易执行后被修改的账户的哈希,计算得到当前区块的增量全局世界状态哈希;
步骤四:世界状态校验:
每提交指定数量个区块之后,节点之间会进行最新区块的增量全局世界状态哈希的比对:对于任何一个节点,如满足共识算法要求个数个节点的增量全局世界状态哈希与所述节点的增量全局世界状态哈希一致,所述节点确认所述世界状态校验成功;否则,所述节点即为异常节点,所述世界状态校验失败。
2.如权利要求1所述区块链世界状态校验方法,其特征在于,步骤三中所述序列化账户中包括账户余额在内的最新世界状态信息,所述账户包括合约账户和普通账户,所述合约账户的序列化结果中还包括步骤二所计算得到合约账户增量哈希。
3.如权利要求1所述区块链世界状态校验方法,其特征在于,步骤二和步骤三中,采用稳定排序算法对合约账户及账户中的状态信息进行排序。
4.如权利要求1所述区块链世界状态校验方法,其特征在于,步骤四中,所述世界状态校验失败后,对所述区块链世界状态进行恢复,所述恢复的方法具体为:回滚掉所有和其他节点中不同的区块及其对应的世界状态修改,然后从其他节点拉取被回滚掉的区块; 拉取区块的同时,把回滚前第一个与其他节点不同的区块对应的世界状态修改直接从区块来源节点拉取过来,并应用修改; 之后重复执行步骤一到步骤三,直到恢复出正确的最新世界状态。
CN201910772360.6A 2019-08-21 2019-08-21 一种基于增量哈希的区块链世界状态校验和恢复方法 Active CN110555770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910772360.6A CN110555770B (zh) 2019-08-21 2019-08-21 一种基于增量哈希的区块链世界状态校验和恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910772360.6A CN110555770B (zh) 2019-08-21 2019-08-21 一种基于增量哈希的区块链世界状态校验和恢复方法

Publications (2)

Publication Number Publication Date
CN110555770A CN110555770A (zh) 2019-12-10
CN110555770B true CN110555770B (zh) 2022-04-01

Family

ID=68738010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910772360.6A Active CN110555770B (zh) 2019-08-21 2019-08-21 一种基于增量哈希的区块链世界状态校验和恢复方法

Country Status (1)

Country Link
CN (1) CN110555770B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650733A (zh) * 2020-12-28 2021-04-13 杭州趣链科技有限公司 一种智能合约状态数据的处理方法、系统与装置
CN113254450B (zh) * 2021-05-28 2022-07-22 山大地纬软件股份有限公司 一种基于区块链的增量mpt树账户状态存储方法及系统
CN113242044B (zh) * 2021-06-02 2022-10-14 湖北央中巨石信息技术有限公司 一种减少内存占用的区块链数据存储压缩方法
CN114064984B (zh) * 2022-01-14 2022-05-24 浙商银行股份有限公司 一种基于稀疏数组链表的世界状态增量更新方法及装置
CN114218232B (zh) * 2022-02-21 2022-05-24 浙商银行股份有限公司 一种基于增量桶的世界状态分片存储方法及装置
CN114638604A (zh) * 2022-03-22 2022-06-17 成都质数斯达克科技有限公司 基于区块链的金融业务计费、收费方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446383A (zh) * 2018-10-18 2019-03-08 尚维斯 一种区块链上多路递归寻块的方法
CN109710384A (zh) * 2018-12-29 2019-05-03 杭州趣链科技有限公司 一种安全的Java智能合约解释执行引擎及方法
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10586210B2 (en) * 2016-11-30 2020-03-10 International Business Machines Corporation Blockchain checkpoints and certified checkpoints
US10320566B2 (en) * 2017-04-04 2019-06-11 International Business Machines Corporation Distributed logging of application events in a blockchain
US10592979B2 (en) * 2017-07-26 2020-03-17 International Business Machines Corporation Managing blockchain transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109446383A (zh) * 2018-10-18 2019-03-08 尚维斯 一种区块链上多路递归寻块的方法
CN109710384A (zh) * 2018-12-29 2019-05-03 杭州趣链科技有限公司 一种安全的Java智能合约解释执行引擎及方法
CN109995850A (zh) * 2019-03-05 2019-07-09 深圳前海微众银行股份有限公司 一种区块链系统及区块链系统的交易处理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
不经意随机访问机研究综述;吴鹏飞 等;《软件学院》;20180915;第29卷(第9期);第2753-2777页 *
区块链数据库:一种可查询且防篡改的数据库;焦通 等;《软件学报》;20190409;第30卷(第9期);第2671-2685页 *

Also Published As

Publication number Publication date
CN110555770A (zh) 2019-12-10

Similar Documents

Publication Publication Date Title
CN110555770B (zh) 一种基于增量哈希的区块链世界状态校验和恢复方法
WO2021017421A1 (zh) 区块链状态数据恢复方法及装置、电子设备
CA2549917C (en) File system storing transaction records in a storage media
US5479654A (en) Apparatus and method for reconstructing a file from a difference signature and an original file
US6298425B1 (en) Computer disk management system using doublet A-B logging
US7849111B2 (en) Online incremental database dump
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US20090292947A1 (en) Cascading index compression
CN111274318B (zh) 一种区块链状态数据的存储、回滚方法、设备和存储介质
CN102750317B (zh) 数据持久化处理方法、装置及数据库系统
CN101430703A (zh) 用于数据模型中实体的自动维护与修复的系统和方法
CA2818472A1 (en) Optimized startup verification of file system integrity
CN102609337A (zh) 一种内存数据库快速数据恢复方法
CN107506260A (zh) 一种动态分块数据库增量备份方法
US7770065B2 (en) File data restoring system and method of computer operating system and software thereof
CN111367994A (zh) 数据库增量数据同步备份方法及系统
CN115544377A (zh) 基于云端存储的档案的热度评估和更新方法
JPH11134235A (ja) 外部記憶装置故障時の回復支援方法
CN114564500A (zh) 在区块链系统中实现结构化数据存储和查询的方法和系统
CN113821382A (zh) 一种实时数据库数据处理方法、系统和设备
CN112948473A (zh) 数据仓库的数据处理方法、装置、系统及存储介质
CN114356768A (zh) 通过占位符减少交易读写冲突的方法与装置
CN110764943B (zh) 一种Oracle数据库的数据处理方法及装置
JPS62245348A (ja) データベース更新方法
US8326808B2 (en) Information processing apparatus, and information processing method, program, and recording medium

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