CN106055597B - 数字交易系统、及用于其的账户信息查询方法 - Google Patents

数字交易系统、及用于其的账户信息查询方法 Download PDF

Info

Publication number
CN106055597B
CN106055597B CN201610347324.1A CN201610347324A CN106055597B CN 106055597 B CN106055597 B CN 106055597B CN 201610347324 A CN201610347324 A CN 201610347324A CN 106055597 B CN106055597 B CN 106055597B
Authority
CN
China
Prior art keywords
node
account
account information
latest
information
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
CN201610347324.1A
Other languages
English (en)
Other versions
CN106055597A (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.)
Bubi Beijing Network Technology Co ltd
Original Assignee
Bubi Beijing Network 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 Bubi Beijing Network Technology Co ltd filed Critical Bubi Beijing Network Technology Co ltd
Priority to CN201610347324.1A priority Critical patent/CN106055597B/zh
Publication of CN106055597A publication Critical patent/CN106055597A/zh
Application granted granted Critical
Publication of CN106055597B publication Critical patent/CN106055597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了数字交易系统、及用于其的账户信息查询方法。该数字交易系统包括:验证节点,被配置为存储最新账户信息、和区块链中的包含最新交易信息和最新账户指示信息的最新区块,并基于最新账户信息对来自交易节点的账户信息查询请求进行响应,其中,最新账户信息是验证节点基于最新交易信息对已有账户信息进行更新生成的,最新账户指示信息是验证节点基于最新账户信息生成的,最新区块是验证节点根据共识算法与数字交易系统中的其他验证节点之间达成共识的基准;以及交易节点,被配置为向验证节点发送账户信息查询请求,并接收验证节点对于账户信息查询请求的响应。

Description

数字交易系统、及用于其的账户信息查询方法
技术领域
本发明涉及计算机领域,更具体地涉及数字交易系统、及用于其的账户信息查询方法。
背景技术
在现有的分布式总账系统中,每个节点都需要利用区块链保存全部的交易记录,并通过对等(Peer to Peer,简称P2P)网络交换信息来达成所保存的交易记录的一致性(即,达成共识);每个节点只能通过区块链中保存的交易记录来推算账户余额之类的账户信息。
现有的分布式总账系统至少存在以下两个问题:1)因为每个节点都需要保存全部的交易记录,所以随着交易量的增加,这些节点的存储压力将越来越大;2)因为每次查询账户信息的过程都涉及所有的相关交易记录,所以查询账户信息的效率低。
发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种新颖的数字交易系统、及用于其的账户信息查询方法。
根据本发明实施例的数字交易系统,包括:验证节点,被配置为存储最新账户信息、和区块链中的包含最新交易信息和最新账户指示信息的最新区块,并基于最新账户信息对来自交易节点的账户信息查询请求进行响应,其中,最新账户信息是验证节点基于最新交易信息对已有账户信息进行更新生成的,最新账户指示信息是验证节点基于最新账户信息生成的,最新区块是验证节点根据共识算法与数字交易系统中的其他验证节点之间达成共识的基准;以及交易节点,被配置为向验证节点发送账户信息查询请求,并接收验证节点对于账户信息查询请求的响应。
根据本发明实施例的用于数字交易系统的账户信息查询方法,该数字交易系统包括验证节点和交易节点,该账户信息查询方法包括:交易节点向所述节点发送账户信息查询请求;验证节点基于其存储的最新账户信息对账户信息查询请求进行响应,其中验证节点还存储有区块链中的包含最新交易信息和最新账户指示信息的最新区块,最新账户信息是验证节点基于最新交易信息对已有账户信息进行更新生成的,最新账户指示信息是验证节点基于最新账户信息生成的,最新区块是验证节点根据共识算法与数字交易系统中的其他验证节点之间达成共识的基准。
在根据本发明实施例的数字交易系统、及用于其的账户信息查询方法中,由于验证节点仅存储最新账户信息、和区块链中的包含有最新交易信息和最新账户指示信息的最新区块,所以验证节点的存储压力不会随着交易量的增加而越来越大;由于验证节点基于其存储的最新账户信息对账户信息查询请求进行响应,而无需基于交易信息来推算账户信息,所以提高了账户信息查询的效率。
附图说明
通过阅读以下参照附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显,其中,相同或相似的附图标记表示相同或相似的特征。
图1示出了根据本发明实施例的数字交易系统的框图;
图2示出了用于图1所示的数字交易系统的账户信息查询方法的流程图;
图3示出了用于图1所示的数字交易系统的区块链的示例结构示意图;以及
图4A和4B分别示出了图3所示的账户树的内部节点和叶子节点的示例结构图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。
鉴于以上所述的一个或多个问题,本发明提出了一种新颖的数字交易系统、及用于其的账户信息查询方法。图1示出了根据本发明实施例的数字交易系统的框图。图2示出了用于图1所示的数字交易系统的账户信息查询方法的流程图。下面,结合附图详细描述根据本发明实施例的数字交易系统、及用于其的账户信息查询方法。
如图1所示,根据本发明实施例的数字交易系统100包括一个或多个验证节点102-1至102-N(下面统称为验证节点102)、以及一个或多个交易节点104-1至104-M(下面统称为交易节点104),其中N和M均为大于0的整数,N和M可以相等也可以不相等,并且通常情况下N小于M(当然,并不排除N大于或者等于M的情况)。
这里,基于以下前提进一步描述根据本发明实施例的数字交易系统、及用于其的账户信息查询方法:数字交易系统中已经存在若干账户地址及其相应的账户信息;验证节点102可以利用预定的数据存储结构存储这些账户地址和它们的账户信息;验证节点102可以利用区块链存储全部的交易信息和账户指示信息;随着这些账户地址之间的交易的执行,区块链不断增长;验证节点102每当生成一个最新区块时,基于最新区块中包含的最新交易信息对已有账户信息进行更新以生成最新交易信息,并基于最新账户信息生成最新账户指示信息,其中最新账户指示信息唯一地指示最新账户信息并且被包含在最新区块中。
在一些实施例中,每个验证节点102可以存储最新账户信息、和包含全部的交易信息和账户指示信息的区块链,也可以仅存储最新账户信息、和区块链中的包含最新交易信息和最新账户指示信息的最新区块;或者,一些验证节点102可以存储最新账户信息、和包含全部的交易信息和账户指示信息的区块链,另一些验证节点102可以仅存储最新账户信息和区块链中的包含最新交易信息和最新账户指示信息的最新区块。验证节点102可以以最新区块为基准,根据共识算法与数字交易系统100中的其他验证节点102之间达成共识。
在一些实施例中,交易节点104可以向与其有对应关系的、固定的一个或多个验证节点102发送账户信息查询请求,也可以向其信任的任意一个或多个验证节点102发送账户信息查询请求(即,执行步骤S202);验证节点102可以基于其存储的最新账户信息对来自交易节点104的账户信息查询请求进行响应(即,执行步骤S204)。
在结合图1和图2描述的数字交易系统、及用于其的账户信息查询方法中,由于验证节点可以基于其存储的最新账户信息对账户信息查询请求进行响应,而无需基于交易信息来推算账户信息,所以可以提高账户信息查询的效率;对于仅存储最新账户信息和区块链中的包含最新交易信息和最新账户指示信息的最新区块的验证节点,其存储压力不会随着交易量的增加而越来越大。
在实际应用中,随着图1所示的数字交易系统100被越来越多的人使用,可以向该数字交易系统100添加更多的验证节点。新添加的验证节点需要从数字交易系统100中的老验证节点(即,已有的验证节点)同步最新账户信息才能对账户信息查询进行响应。
在一些实施例中,新添加的验证节点可以从数字交易系统中的任意一个老验证节点同步该老验证节点存储的当前最新账户信息。然而,如果当前最新账户信息包含的数据量较大,则在当前最新账户信息的同步开始至完成的时间段期间会有一个或多个新区块被生成。因此,新添加的验证节点还需要从老验证节点同步在当前最新账户信息的同步开始至完成的时间段期间生成的一个或多个新区块,并利用包含在该一个或多个新区块中的交易信息对当前最新账户信息进行更新以生成最新账户信息。
在一些实施例中,新添加的验证节点也可以通过以下处理从数字交易系统中的任意一个老验证节点同步最新账户信息:从老验证节点同步该老验证节点存储的当前最新账户信息;判断其自身存储的账户信息与所同步的当前最新账户信息是否一致;以及如果不一致,则重复以上处理,否则将所同步的当前最新账户信息作为最新账户信息。
在一些实施例中,用于图1所示的数字交易系统的区块链中的每个区块可以包括区块首部、和交易信息两部分,其中区块首部包含唯一地指示前一区块的区块指示信息、本区块的生成时间、唯一地指示本区块包含的交易信息的交易指示信息、以及唯一地指示基于本区块的交易信息进行更新后的账户信息的账户指示信息。
在一些实施例中,每个区块中的交易信息可以被组织为交易树的形式;每个验证节点102存储的账户信息可以被组织为账户树的形式(即,上述的数据存储结构可以为账户树),其中账户树将账户地址作为叶子节点;每个验证节点102可以随着区块链的增长而不断地基于区块链中的最新区块包含的最新交易信息对账户树进行更新,更新后的账户树即为最新账户信息。
在一些实施例中,考虑到采用哈希树的形式保存信息具有很强的扩展性,只需要更改叶子节点的结构就可以适用于保存其它的信息,交易树和账户树可以被组织为哈希树的形式。
在一些实施例中,在新添加的验证节点从数字交易系统中的任意一个老验证节点同步完最新账户信息后,该老验证节点会同时向该新添加的验证节点发送最新区块,作为新添加的验证节点后续与数字交易系统中的其他验证节点达成共识的基准。
图3示出了用于图1所示的数字交易系统的区块链的示例结构示意图。如图3所示,用于图1所示的数字交易系统的区块链中的每个区块包括区块首部、和交易树两部分。
在图3所示的实施例中,区块首部包括前一块哈希域、时间戳域、交易树哈希域、以及账户树哈希域,其中:前一块哈希域保存前一区块的哈希值(即,唯一地指示前一区块的信息),以保证交易历史不会被改变;时间戳域保存本区块的生成时间,以保证区块的时间有序性;交易树哈希域保存本区块的交易树的根节点哈希值;账户树哈希域保存与本区块对应的账户树的根节点哈希值。
在图3所示的实施例中,交易树保存包含在本区块中的所有交易信息,并且是由本区块中包含的所有交易信息自底向上构建的一棵哈希树。随着交易树中包含的所有交易信息所表示的交易的执行,验证节点102可以对账户树进行更新,并且可以生成更新后的账户树的根节点哈希值。这里,更新后的账户树即是与本区块对应的账户树。
在一些实施例中,账户树可以采用K叉树的形态,K的具体数目可根据实际需要指定,比如K=16;账户树还支持回退功能,将本区块中包含的所有交易信息所表示的交易反向执行一遍,就可以将与本区块对应的账户树回退为与上一区块对应的账户树,这为系统故障恢复提供了可能。
图4A和4B分别示出了图3所示的账户树的内部节点和叶子节点的示例结构图。下面,分别说明账户树的内部节点和叶子节点的各字段的含义(账户树为K叉树结构)。
如图4A所示,账户树的内部节点包括以下字段:
节点的哈希值:该节点保存的所有数据的哈希值,采用哈希算法(例如,sha256)生成。例如,可以采用如下哈希算法:哈希(节点的数据库索引+孩子节点存在掩码+节点的快照编号+K个孩子的哈希值)。
节点的数据库索引:该节点的所有数据被保存在键值(Key-Value)数据库中时所用的索引,由该节点在账户树中的前缀路径表示。由于账户树的每个内部节点最多有K个孩子,因此用log2K比特来表示一层路径。
孩子节点存在掩码:表示该节点是否有孩子的log2K比特的2进制数。例如,掩码0000,1000,0100,0000表示该节点的第6个分支和第11个分支有孩子节点(分支从0开始,且右边表示第0分支)。
节点的快照编号:如果节点的快照编号小于当前账户树的当前快照编号,则表示该节点为账户树快照和当前账户树公用的节点;如果需要改变当前账户树的该节点,则需要复制一个节点,并将所复制的新节点的快照编号修改为当前账户树的当前快照编号。如果节点的快照编号大于当前账户树的当前快照编号,则表示该节点为当前账户树所私有,可以直接改变。节点的快照编号的初始值为0。
孩子指针:分别指向该节点所拥有的孩子节点的K个指针。将孩子为空的指针赋值成空指针(NULL)。只有孩子节点存在掩码中为1的比特位上有孩子,其他的位所对应的指针均为空指针。
如图4B所示,账户树的叶子节点包括以下字段:
节点的哈希值:该节点保存的所有数据的哈希值,采用哈希算法(例如,sha256)生成。例如,可以采用如下哈希算法:哈希(节点的数据库索引+孩子节点存在掩码+节点的快照编号+K个孩子的哈希值)。
节点的数据库索引:该节点的所有数据被保存在键值数据库中时所用的索引,由该节点在账户树中的前缀路径表示。
孩子节点存在掩码:表示该节点是否有孩子的log2K比特的2进制数。对于叶子结点而言,其掩码比特位全为0。
节点的快照编号:如果节点的快照编号小于当前账户树的当前快照编号,则表示该节点为账户树快照和当前账户树公用的节点;如果当前账户树需要改变该节点,则需要复制一个节点,并将所复制的新节点的快照编号修改为当前账户树的当前快照编号。如果节点的快照编号大于当前账户树的当前快照编号,则表示该节点为当前账户树所私有,可以直接改变。节点的快照编号的初始值为0。
叶子节点全索引:该节点保存的账户地址经过哈希运算得出的结果(即,该节点保存的账户地址的哈希值),主要有两个作用:1)作为该节点的序列化数据被保存在键值数据库中时所用的索引;2)在账户树中检索账户信息的时候,最终判断账户地址是否一致的依据。
序列化数据:该节点保存的具体数据。例如,将一个包含账户地址和诸如账户余额的账户信息类经过例如,Encode函数调用之后就会得到一个字符串,该字符串包含了账户地址和账户余额的信息,该字符串即为序列化数据;将该字符串经过decode函数调用之后,就可以恢复出账户信息类。该序列化数据只在账户信息发生变化时保存,并在账户信息存入数据库之后删除,因此是暂时存储的。
当采用图4A和4B所示的账户树结构时,数字交易系统中的新添加的验证节点可以通过下面两种方法中的任意一种从数字交易系统中的任意一个老验证节点同步最新账户信息。
这里,假设数字交易系统100包括验证节点A、验证节点B、和验证节点C三个验证节点,其中验证节点A和验证节点B是数字交易系统100中的已有验证节点(即,老验证节点),验证节点C是数字交易系统100中的新验证节点。
快照+回放法
验证节点A和验证节点B定时(例如,每12小时一次)创建账户树快照,其中每个验证节点保存两份账户树快照。账户树快照的创建采用树的“写时拷贝”进行,即:对于没有修改操作的树节点,账户树快照和当前账户树公用;对于要修改的树节点,重新复制一个节点并在新复制的节点上做账户树的修改。创建账户树快照后,利用最新创建的账户树快照来替换创建时间较早的账户树快照。针对来自验证节点C的同步请求,向验证节点C同步最新创建的账户树快照。
验证节点C被添加到数字交易系统100后,会选择一个自己信赖的老验证节点(例如,验证节点A)去同步账户树。验证节点A在收到同步请求后,对最新创建的账户树快照进行前序遍历,将该账户树快照的叶子节点逐一响应给验证节点C。验证节点A在将最新创建的账户树快照的所有叶子节点都响应给验证节点C后,将创建该账户树快照时对应的区块的序号也发送给验证节点C,这一序号在回放时使用。
在同步快照的过程中,又有新区块生成,因此在快照同步完成之后,还需要同步新生成的区块。由于新生成的区块数量较少,因此可以采用回放法的方式来进行同步。
回放法的主要过程是:验证节点C收到一个新生成的区块后,通过比较本地区块的序号(local_seq)和新生成的区块的序号(net_seq)来判断是否需要回放同步。如果local_seq+1<net_seq,则进行同步。由于区块保存有上一个区块的哈希值,因此同步的方向是net_seq-1到local_seq+1,并将同步收到的数据缓存起来。等到所有的区块都缓存完成之后,按照local_seq+1到net_seq-1的顺序确认区块。在确认区块的时候同时更新账户树的信息。
具体地,上述同步过程可以通过以下步骤完成:验证节点C选择验证节点A进行数据同步;验证节点C向验证节点A发送快照同步请求;验证节点A收到快照同步请求后,对最新创建的账户树快照进行前序遍历,将该账户树快照的叶子节点响应给验证节点C;验证节点C每次收到一个响应之后,就将该叶子节点加入到自己的账户树中;验证节点A将所有叶子节点都发送给验证节点C后,将该账户树快照对应的区块序号发送给验证节点C;验证节点C收到账户树快照对应的区块序号后,快照同步完成并进入到回放同步中,等待下一个新生成的区块的到来;验证节点C收到一个新生成的区块后,通过比较账户树快照对应的区块序号和新生成的区块的区块序号确定需要回放同步的序号区间,并发送相应的区块回放同步请求给验证节点A;验证节点A收到回放同步请求后,将相应区块序号的区块响应给验证节点C;验证节点C收到回放请求响应后,将收到的区块按照区块序号从小到大的顺序确认,并将这些区块中包含的交易信息所表示的交易应用到交易树上,从而对账户树进行更新。
这里,验证节点C从验证节点A同步完最新账户信息后,验证节点A同时会向验证节点C发送最新区块,作为验证节点C参与后续共识的基准。
迭代法
由于账户树为哈希树,通过比较两棵哈希树的根节点哈希值就可以判断两棵哈希树是否一致,因此可以利用这一性质进行账户树的同步,直到两棵账户树一致,也就说明同步完成了。
具体地,上述同步过程可以通过以下步骤完成:验证节点C选择验证节点A进行数据同步;验证节点C给验证节点A发送一个请求“根节点哈希和N个孩子哈希值”的请求;验证节点A收到验证节点C的请求后,将自己的最新账户树的根节点哈希和N个孩子哈希值响应给验证节点C;验证节点C收到响应后,比较接收到的根节点哈希值是否和自己的当前账户树的根节点哈希值一致,如果一致则同步完成;如果不一致,则比较N个孩子哈希值和当前N个孩子的哈希值,并递归同步哈希值不一样的孩子子树。
由于在递归同步子树的过程中,该账户树的根节点仍然有可能发生变化,因此需要多轮迭代此过程。该过程结束后,验证节点C的账户树和数字交易系统100中的其他验证节点的账户树达成一致。
这里,验证节点C从验证节点A同步完最新账户信息后,验证节点A同时会向验证节点C发送最新区块,作为验证节点C参与后续共识的基准。相应地,验证节点102在接收到来自交易节点104的账户信息查询请求后,将账户信息查询请求中包含的账户地址进行哈希,从而获得该账户地址对应的账户树索引值,然后从账户树的根节点开始按照索引值进行账户树遍历,直至遍历到相对应的叶子节点,或者遍历到空节点。如果遍历到叶子节点,则比较叶子节点中保存的全索引和账户地址哈希得到的索引是否一致,如一致则将保存在叶子节点中的账户信息响应给交易节点104,否则返回一个错误信息。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略了对已知方法技术的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。

Claims (10)

1.一种数字交易系统,包括:
验证节点,被配置为存储最新账户信息、和区块链中的包含最新交易信息和最新账户指示信息的最新区块,并基于所述最新账户信息对来自交易节点的账户信息查询请求进行响应,其中,所述最新账户信息是所述验证节点基于所述最新交易信息对已有账户信息进行更新生成的,所述最新账户指示信息是所述验证节点基于所述最新账户信息生成的,所述最新区块是所述验证节点根据共识算法与所述数字交易系统中的其他验证节点之间达成共识的基准;以及
所述交易节点,被配置为向所述验证节点发送所述账户信息查询请求,并接收所述验证节点对于所述账户信息查询请求的响应;
其中,所述已有账户信息被组织为账户树的形式,所述最新账户信息是所述验证节点基于所述最新交易信息对所述账户树进行更新生成的;
其中,所述账户树为K叉树结构,并且所述账户树的任意一个内部节点存储以下字段:该节点保存的所有数据的哈希值、该节点的数据库索引、指示该节点是否有孩子节点的孩子节点存在掩码、该节点的快照编号、以及指向该节点的孩子节点的孩子指针;
所述账户树的任意一个叶子节点存储以下字段:该节点保存的所有数据的哈希值、该节点的数据库索引、指示该节点是否有孩子节点的孩子节点存在掩码、该节点的快照编号、该节点保存的账户地址的哈希值、以及该节点保存的序列化数据;
所述序列化数据包含账户地址和账户余额信息;
当所述已有账户信息发生变化时,该节点保存所述序列化数据;
当发生变化后的已有账户信息保存到数据库中后,删除所述序列化数据。
2.如权利要求1所述的数字交易系统,其中,当所述验证节点作为新验证节点被添加到所述数字交易系统中时,所述验证节点从所述数字交易系统中的任意一个老验证节点同步所述老验证节点存储的当前最新账户信息。
3.如权利要求2所述的数字交易系统,其中,所述验证节点还从所述老验证节点同步在所述当前最新账户信息的同步开始至完成的时间段期间生成的一个或多个新区块,并利用包含在所述一个或多个新区块中的交易信息对所述当前最新账户信息进行更新以生成所述最新账户信息。
4.如权利要求1所述的数字交易系统,其中,当所述验证节点作为新验证节点被添加到所述数字交易系统中时,所述验证节点通过以下处理从所述数字交易系统中的任意一个老验证节点同步所述最新账户信息:
从所述老验证节点同步所述老验证节点存储的当前最新账户信息;
判断所述验证节点自身存储的账户信息与所述当前最新账户信息是否一致;以及
如果不一致,则重复所述处理,否则将所述当前最新账户信息作为所述最新账户信息。
5.如权利要求1所述的数字交易系统,其中,所述验证节点还被配置为利用所述区块链存储全部的交易信息和账户指示信息。
6.一种用于数字交易系统的账户信息查询方法,该数字交易系统包括验证节点和交易节点,该账户信息查询方法包括:
所述交易节点向所述验证节点发送账户信息查询请求;
所述验证节点基于其存储的最新账户信息对所述账户信息查询请求进行响应,其中,
所述验证节点还存储有区块链中的包含最新交易信息和最新账户指示信息的最新区块,所述最新账户信息是所述验证节点基于所述最新交易信息对已有账户信息进行更新生成的,所述最新账户指示信息是所述验证节点基于所述最新账户信息生成的,所述最新区块是所述验证节点根据共识算法与所述数字交易系统中的其他验证节点之间达成共识的基准;
其中,所述已有账户信息被组织为账户树的形式,所述最新账户信息是所述验证节点基于所述最新交易信息对所述账户树进行更新生成的;
其中,所述账户树为K叉树结构,并且所述账户树的任意一个内部节点存储以下字段:该节点保存的所有数据的哈希值、该节点的数据库索引、指示该节点是否有孩子节点的孩子节点存在掩码、该节点的快照编号、以及指向该节点的孩子节点的孩子指针;
所述账户树的任意一个叶子节点存储以下字段:该节点保存的所有数据的哈希值、该节点的数据库索引、指示该节点是否有孩子节点的孩子节点存在掩码、该节点的快照编号、该节点保存的账户地址的哈希值、以及该节点保存的序列化数据;
所述序列化数据包含账户地址和账户余额信息;
当所述已有账户信息发生变化时,该节点保存所述序列化数据;
当发生变化后的已有账户信息保存到数据库中后,删除所述序列化数据。
7.如权利要求6所述的账户信息查询方法,其中,当所述验证节点作为新验证节点被添加到所述数字交易系统中时,所述账户信息查询方法还包括:
所述验证节点从所述数字交易系统中的任意一个老验证节点同步所述老验证节点存储的当前最新账户信息。
8.如权利要求7所述的账户信息查询方法,还包括:
所述验证节点从所述老验证节点同步在所述当前最新账户信息的同步开始至完成的时间段期间生成的一个或多个新区块,并利用包含在所述一个或多个新区块中的交易信息对所述当前最新账户信息进行更新以生成所述最新账户信息。
9.如权利要求6所述的账户信息查询方法,其中,当所述验证节点作为新验证节点被添加到所述数字交易系统中时,所述账户信息查询方法还包括以下处理:
所述验证节点从所述数字交易系统中的任意一个老验证节点同步所述老验证节点存储的当前最新账户信息;
所述验证节点判断其自身存储的账户信息与所述当前最新账户信息是否一致;以及
如果不一致,则所述验证节点重复所述处理,否则所述验证节点将所述当前最新账户信息作为所述最新账户信息。
10.如权利要求6所述的账户信息查询方法,其中,所述验证节点还利用所述区块链存储全部的交易信息和账户指示信息。
CN201610347324.1A 2016-05-24 2016-05-24 数字交易系统、及用于其的账户信息查询方法 Active CN106055597B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610347324.1A CN106055597B (zh) 2016-05-24 2016-05-24 数字交易系统、及用于其的账户信息查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610347324.1A CN106055597B (zh) 2016-05-24 2016-05-24 数字交易系统、及用于其的账户信息查询方法

Publications (2)

Publication Number Publication Date
CN106055597A CN106055597A (zh) 2016-10-26
CN106055597B true CN106055597B (zh) 2022-05-20

Family

ID=57175079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610347324.1A Active CN106055597B (zh) 2016-05-24 2016-05-24 数字交易系统、及用于其的账户信息查询方法

Country Status (1)

Country Link
CN (1) CN106055597B (zh)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548330B (zh) * 2016-10-27 2018-03-16 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统
WO2018090331A1 (zh) * 2016-11-18 2018-05-24 深圳前海达闼云端智能科技有限公司 区块链网络、物品交易方法、装置及节点设备
CN106411950B (zh) * 2016-11-21 2019-10-18 江苏通付盾科技有限公司 基于区块链交易id的认证方法、装置及系统
CN106779716B (zh) * 2016-11-21 2021-06-04 江苏通付盾区块链科技有限公司 基于区块链账户地址的认证方法、装置及系统
CN106504094B (zh) * 2016-11-25 2021-06-15 中国银行股份有限公司 基于区块链技术的分布式总账系统的交易撮合方法及系统
CN106600252A (zh) * 2016-12-15 2017-04-26 咪咕文化科技有限公司 一种基于区块链的支付方法及系统
CN106650494B (zh) * 2016-12-16 2019-07-16 杭州嘉楠耘智信息科技有限公司 一种数据处理方法及装置
CN106682825A (zh) * 2016-12-22 2017-05-17 南京邮电大学 一种基于区块链的社会物联网信用评估系统和评估方法
CN106844477B (zh) * 2016-12-23 2018-05-01 北京众享比特科技有限公司 区块链系统、区块查找方法和区块链后向同步方法
CN107079058B (zh) * 2016-12-23 2019-05-31 深圳前海达闼云端智能科技有限公司 区块链节点的业务执行方法、装置及节点设备
CN107077682A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 查询电子票的状态信息的方法、装置及区块链节点
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN106716421B (zh) * 2016-12-30 2020-03-31 深圳前海达闼云端智能科技有限公司 数据查询方法、装置及节点设备
CN108572986B (zh) * 2017-03-13 2022-05-17 华为技术有限公司 一种数据更新的方法及节点设备
CN107124443B (zh) * 2017-03-28 2020-04-28 丽水北斗区块链科技有限责任公司 基于区块链的数据分析方法及装置
CN107171829B (zh) * 2017-04-24 2019-12-24 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
US10896165B2 (en) * 2017-05-03 2021-01-19 International Business Machines Corporation Management of snapshot in blockchain
US20180374094A1 (en) * 2017-06-22 2018-12-27 Mastercard International Incorporated Method and system for indexing consumer enrollment using blockchain
CN107391649A (zh) * 2017-07-14 2017-11-24 浙商银行股份有限公司 一种提升区块链查询效率的系统及方法
CN109391643B (zh) * 2017-08-03 2020-08-07 中国移动通信有限公司研究院 区块链轻量化处理方法、区块链节点及存储介质
CN109559115A (zh) * 2017-09-25 2019-04-02 航天信息股份有限公司 一种智能合约的建立方法、交易方法及相关装置
US10592993B2 (en) * 2017-09-29 2020-03-17 Oracle Financial Services Software Limited Computerized transaction management module for blockchain networks
CN109947766A (zh) * 2017-10-31 2019-06-28 深圳区块链金融服务有限公司 用于追踪区块链交易的方法、计算机系统和存储介质
EP3486855A1 (en) * 2017-11-21 2019-05-22 Wipro Limited System and method to validate blockchain transactions in a distributed ledger network
CN108197974A (zh) * 2017-12-12 2018-06-22 北京瑞卓喜投科技发展有限公司 基于区块链技术的积分处理方法及装置
CN108234134B (zh) * 2017-12-28 2020-09-29 江苏通付盾科技有限公司 区块同步方法及系统
CN108304475B (zh) * 2017-12-28 2020-11-10 比特大陆科技有限公司 数据查询方法、装置及电子设备
CN108390848B (zh) * 2017-12-29 2020-11-17 北京世纪互联宽带数据中心有限公司 一种信息见证方法及装置
CN108197226A (zh) * 2017-12-29 2018-06-22 山大地纬软件股份有限公司 Mptc账户状态树以及mptc区块链快速检索方法
CN108241743B (zh) * 2018-01-04 2020-05-12 杭州复杂美科技有限公司 一种区块链快照方法
CN108243253B (zh) * 2018-01-11 2020-05-12 杭州复杂美科技有限公司 一种区块链节点同步方法
CN112767158A (zh) * 2018-02-27 2021-05-07 创新先进技术有限公司 基于区块链的交易执行方法及装置、电子设备
CN110472972B (zh) * 2018-05-09 2022-12-20 本无链科技(深圳)有限公司 一种区块链存储数据同步快照方法及系统
CN108696589B (zh) * 2018-05-14 2022-04-08 百度在线网络技术(北京)有限公司 区块链数据传输方法、装置、设备和存储介质
CN108876331B (zh) * 2018-05-25 2020-12-22 全链通有限公司 区块链交易对账代理节点所在的终端设备及其信息同步方法
CN108920514B (zh) * 2018-05-31 2020-10-09 百度在线网络技术(北京)有限公司 一种基于区块链的信息存储方法、装置、设备和存储介质
CN109003175B (zh) * 2018-07-06 2021-08-10 国网汇通金财(北京)信息科技有限公司 一种基于区块链的对账方法及系统
CN108810895B (zh) * 2018-07-12 2021-05-11 西安电子科技大学 基于区块链的无线Mesh网络身份认证方法
CN109255057B (zh) * 2018-09-18 2021-05-07 百度在线网络技术(北京)有限公司 区块生成方法、装置、设备及存储介质
WO2020073246A1 (zh) * 2018-10-10 2020-04-16 王成 基于区块链的交易数据处理方法、设备和存储介质
CN109471905B (zh) * 2018-11-16 2020-08-25 华东师范大学 一种支持时间范围和属性范围复合查询的区块链索引方法
CN109614411B (zh) * 2018-11-19 2022-03-04 杭州复杂美科技有限公司 数据存储方法、设备和存储介质
CN109636388B (zh) * 2018-12-07 2024-02-23 深圳市智税链科技有限公司 区块链网络中的数据处理方法、装置、介质及电子设备
TWI665895B (zh) * 2018-12-11 2019-07-11 中華電信股份有限公司 公告系統及公告方法
CN109684333B (zh) * 2018-12-24 2021-02-09 杭州复杂美科技有限公司 一种数据存储及裁剪方法、设备和存储介质
CN109840769B (zh) * 2019-01-21 2022-01-25 中国联合网络通信集团有限公司 基于区块链的存证方法及装置、系统与存储介质
CN110008233A (zh) * 2019-03-31 2019-07-12 杭州复杂美科技有限公司 一种信息查询和共识方法、系统、设备及存储介质
US11108545B2 (en) 2019-05-31 2021-08-31 Advanced New Technologies Co., Ltd. Creating a blockchain account and verifying blockchain transactions
US11294875B2 (en) 2019-05-31 2022-04-05 Advanced New Technologies Co., Ltd. Data storage on tree nodes
CN110275884B (zh) * 2019-05-31 2020-08-04 阿里巴巴集团控股有限公司 数据存储方法及节点
CN110264354B (zh) * 2019-05-31 2020-09-01 阿里巴巴集团控股有限公司 创建区块链账户及验证区块链交易的方法及装置
CN110716965B (zh) * 2019-09-25 2022-02-25 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的查询方法、装置及设备
AU2019381980A1 (en) * 2019-11-29 2021-06-17 Alipay (Hangzhou) Information Technology Co., Ltd. Taking snapshots of blockchain data
CN112235420B (zh) * 2020-12-10 2021-04-02 腾讯科技(深圳)有限公司 基于区块链的数据同步方法、系统及相关设备
CN113379542B (zh) * 2021-05-28 2024-01-09 中邮信息科技(北京)有限公司 一种区块链交易的查询方法、装置、介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098438A (zh) * 2010-09-17 2013-05-08 斯凯普公司 证书撤销
CN103218574A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105488722A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 基于衍生链的资产数据处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170112A1 (en) * 2013-10-04 2015-06-18 Erly Dalvo DeCastro Systems and methods for providing multi-currency platforms comprising means for exchanging and interconverting tangible and virtual currencies in various transactions, banking operations, and wealth management scenarios
US20160012465A1 (en) * 2014-02-08 2016-01-14 Jeffrey A. Sharp System and method for distributing, receiving, and using funds or credits and apparatus thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103098438A (zh) * 2010-09-17 2013-05-08 斯凯普公司 证书撤销
CN103218574A (zh) * 2013-04-09 2013-07-24 电子科技大学 一种基于哈希树的数据动态操作可验证性方法
CN105488665A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种去中心化的交易方法
CN105488675A (zh) * 2015-11-25 2016-04-13 布比(北京)网络技术有限公司 一种区块链的分布式共享总账构建方法
CN105488722A (zh) * 2015-11-30 2016-04-13 布比(北京)网络技术有限公司 基于衍生链的资产数据处理方法及装置

Also Published As

Publication number Publication date
CN106055597A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN106055597B (zh) 数字交易系统、及用于其的账户信息查询方法
CN110169040B (zh) 基于多层一致性哈希的分布式数据存储方法与系统
US20210247908A1 (en) Secure and transparent pruning for blockchains
CN113114749B (zh) 一种哈希链构建及文件数据同步方法、装置及系统
CN108255647B (zh) 一种samba服务器集群下的高速数据备份方法
US9672244B2 (en) Efficient undo-processing during data redistribution
US10387271B2 (en) File system storage in cloud using data and metadata merkle trees
Auvolat et al. Merkle search trees: Efficient state-based CRDTs in open networks
WO2014074639A2 (en) Data replication protocol with efficient update of replica machines
CN109194646A (zh) 一种基于区块链的安全认证数据存取方法
CN113641841B (zh) 数据编码方法、图数据存储方法、图数据查询方法及装置
CN109492049B (zh) 用于区块链网络的数据处理、区块生成及同步方法
CN113343213A (zh) 一种分散自主网络中基于区块链的多ca跨域认证方法
US20240080181A1 (en) Blockchain Data Structures and Systems and Methods Therefor for Multipath Transaction Management
CN113656384B (zh) 数据处理方法、分布式数据库系统、电子设备及存储介质
CN111984732A (zh) 在区块链上实现去中心化检索的方法、节点及区块链网络
CN111339191A (zh) 一种区块链的数据存储方法、装置、设备和介质
JP4971717B2 (ja) ディレクトリ分散型記憶装置及びデータ処理要求移譲プログラム
CN111708835B (zh) 区块链数据存储方法及装置
JP2022546773A (ja) マイニングプールにおいてプルーフ・オブ・ワークの寄与を追跡及び測定するための方法及びデバイス
CN112800050A (zh) 基于状态树的交易数据存储方法、系统、装置及p2p网络
US20240106669A1 (en) Methods and systems for streaming block templates with cross-references
CN112559546B (zh) 数据库同步方法、装置、计算机设备及可读存储介质
CN116107801A (zh) 交易处理方法及相关产品
CN113297322A (zh) 数据同步方法、系统以及装置

Legal Events

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