一种处理UTXO数据库的方法、装置及电子设备制造方法及图纸

技术编号:28147164 阅读:20 留言:0更新日期:2021-04-21 19:33
本发明专利技术提供了一种处理UTXO数据库的方法、装置及电子设备,其中,该方法包括:获取待存储的交易信息,交易信息包括输入部分和输出部分;对输入部分进行压缩处理,生成压缩信息;根据预设的哈希函数对账户地址进行哈希处理,将哈希处理结果作为地址指针,并将账户地址存储到地址指针对应的位置;将压缩信息作为键、将地址指针和其他信息作为值生成键值对,并将键值对存储至UTXO数据库。通过本发明专利技术实施例提供的处理UTXO数据库的方法、装置及电子设备,可以对交易信息进行压缩后再存储到UTXO数据库中,且账户地址唯一的存储到地址指针对应的位置处即可,不需要重复记录账户地址,大大减小了UTXO数据库所占的存储空间。了UTXO数据库所占的存储空间。了UTXO数据库所占的存储空间。

【技术实现步骤摘要】
一种处理UTXO数据库的方法、装置及电子设备


[0001]本专利技术涉及区块链
,具体而言,涉及一种处理UTXO数据库的方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]在以UTXO(Unspent Transaction Output,未花费的交易输出)为基础的区块链(比如比特币)中,验证过程是使用UTXO中的记录作为判断交易是否有效的证据的过程——交易的所有输入都必须在UTXO数据库中才能有效。典型的UTXO区块链验证过程为:交易(缩写TX)由输入和输出两部分组成。输入部分主要包括支付和签名的输入交易信息,输出部分包括验证签名的用户账户地址、硬币价值等。为了提高效率,将UTXO集加载到键

值(K

V)数据库中,其中的键(K)对应输入部分,值(V)对应输出部分。当节点接收到一个新的交易时,它将通过输入部分中的键查询UTXO数据库,检查输入交易是否在UTXO集合中,如果是,UTXO数据库将返回一个输出部分用于后续的签名验证。
[0003]然而,随着UTXO集大小的急剧增加,小型计算机很难将整个UTXO集存储在DRAM(Dynamic Random Access Memory,动态随机存取存储器)中。大型UTXO集必须存储在低速磁盘中,验证事务将花费大量时间,因为磁盘访问延迟比DRAM长几个数量级。UTXO集规模的不断扩大将很快成为节点及时验证大容量事务的最大障碍,并最终成为实现高吞吐量区块链的瓶颈。

技术实现思路

[0004]为解决现有UTXO数据库占用空间较大的技术问题,本专利技术实施例提供一种处理UTXO数据库的方法、装置、电子设备及计算机可读存储介质。
[0005]第一方面,本专利技术实施例提供了一种处理UTXO数据库的方法,包括:
[0006]获取待存储的交易信息,所述交易信息包括输入部分和输出部分,所述输出部分包括账户地址和除所述账户地址之外的其他信息;
[0007]对所述输入部分进行压缩处理,生成压缩信息,所述压缩信息的长度小于所述输入部分的长度;
[0008]根据预设的哈希函数对所述账户地址进行哈希处理,将哈希处理结果作为地址指针,并将所述账户地址存储到所述地址指针对应的位置;
[0009]将所述压缩信息作为键、将所述地址指针和所述其他信息作为值生成键值对,并将所述键值对存储至UTXO数据库。
[0010]第二方面,本专利技术实施例还提供了一种处理UTXO数据库的装置,包括:
[0011]获取模块,用于获取待存储的交易信息,所述交易信息包括输入部分和输出部分,所述输出部分包括账户地址和除所述账户地址之外的其他信息;
[0012]压缩模块,用于对所述输入部分进行压缩处理,生成压缩信息,所述压缩信息的长度小于所述输入部分的长度;
[0013]账户地址处理模块,用于根据预设的哈希函数对所述账户地址进行哈希处理,将哈希处理结果作为地址指针,并将所述账户地址存储到所述地址指针对应的位置;
[0014]存储模块,用于将所述压缩信息作为键、将所述地址指针和所述其他信息作为值生成键值对,并将所述键值对存储至UTXO数据库。
[0015]第三方面,本专利技术实施例提供了一种电子设备,包括总线、收发器、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述收发器、所述存储器和所述处理器通过所述总线相连,所述计算机程序被所述处理器执行时实现上述任意一项所述的处理UTXO数据库的方法中的步骤。
[0016]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的处理UTXO数据库的方法中的步骤。
[0017]本专利技术实施例提供的处理UTXO数据库的方法、装置、电子设备及计算机可读存储介质,将交易信息的输入部分进行压缩,将输出部分的账户地址映射为存储空间更小的地址指针,并将账户地址存储到相应的地址指针处;该方法可以对交易信息进行压缩后再存储到UTXO数据库中,且账户地址唯一的存储到地址指针对应的位置处即可,不需要重复记录账户地址,大大减小了UTXO数据库所占的存储空间。
附图说明
[0018]为了更清楚地说明本专利技术实施例或
技术介绍
中的技术方案,下面将对本专利技术实施例或
技术介绍
中所需要使用的附图进行说明。
[0019]图1示出了本专利技术实施例所提供的一种处理UTXO数据库的方法的流程图;
[0020]图2示出了本专利技术实施例所提供的一种处理UTXO数据库的装置的结构示意图;
[0021]图3示出了本专利技术实施例所提供的一种用于执行处理UTXO数据库的方法的电子设备的结构示意图。
具体实施方式
[0022]在本专利技术实施例的描述中,所属
的技术人员应当知道,本专利技术实施例可以实现为方法、装置、电子设备及计算机可读存储介质。因此,本专利技术实施例可以具体实现为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、硬件和软件结合的形式。此外,在一些实施例中,本专利技术实施例还可以实现为在一个或多个计算机可读存储介质中的计算机程序产品的形式,该计算机可读存储介质中包含计算机程序代码。
[0023]上述计算机可读存储介质可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质包括:电、磁、光、电磁、红外或半导体的系统、装置或器件,或者以上任意的组合。计算机可读存储介质更具体的例子包括:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、闪存(Flash Memory)、光纤、光盘只读存储器(CD

ROM)、光存储器件、磁存储器件或以上任意组合。在本专利技术实施例中,计算机可读存储介质可以是任意包含或存储程序的有形介质,该程序可以被指令执行系统、装置、器件使用或与其结合使用。
[0024]上述计算机可读存储介质包含的计算机程序代码可以用任意适当的介质传输,包
括:无线、电线、光缆、射频(Radio Frequency,RF)或者以上任意合适的组合。
[0025]可以以汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或以一种或多种程序设计语言或其组合来编写用于执行本专利技术实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,例如:Java、Smalltalk、C++,还包括常规的过程式程序设计语言,例如:C语言或类似的程序设计语言。计算机程序代码可以完全的在用户计算机上执行、部分的在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行以及完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括:局域网(LAN)或广域网(WAN),可以连接到用户计算机,也可以连接到外部计算机。
[0026]本专利技术实施例通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理UTXO数据库的方法,其特征在于,包括:获取待存储的交易信息,所述交易信息包括输入部分和输出部分,所述输出部分包括账户地址和除所述账户地址之外的其他信息;对所述输入部分进行压缩处理,生成压缩信息,所述压缩信息的长度小于所述输入部分的长度;根据预设的哈希函数对所述账户地址进行哈希处理,将哈希处理结果作为地址指针,并将所述账户地址存储到所述地址指针对应的位置;将所述压缩信息作为键、将所述地址指针和所述其他信息作为值生成键值对,并将所述键值对存储至UTXO数据库。2.根据权利要求1所述的方法,其特征在于,在所述生成键值对之前,还包括:判断所述压缩信息与其他压缩信息是否发生碰撞;若发生碰撞,将所述压缩信息以及与所述压缩信息发生碰撞的其他压缩信息对应的交易信息存储到碰撞表中;若未发生碰撞,则执行生成键值对的过程。3.根据权利要求1所述的方法,其特征在于,所述输入部分包括交易标识和交易索引;所述对所述输入部分进行压缩处理,生成压缩信息,包括:对所述交易标识进行哈希处理,生成第一子压缩信息,所述第一子压缩信息的长度小于所述交易标识的长度;对所述交易索引进行取余处理,生成第二子压缩信息,所述第二子压缩信息的长度小于所述交易索引的长度;根据所述第一子压缩信息和所述第二子压缩信息生成压缩信息。4.根据权利要求1

3任意一项所述的方法,其特征在于,还包括:获取待验证的目标信息,所述目标信息包括目标输入部分和目标输出部分;对所述目标输入部分进行相同的压缩处理,确定目标压缩信息,并与所述UTXO数据库中存储的键值对进行匹配;若匹配成功,则确定与所述目标压缩信息对应的目标地址指针和目标其他信息;根据所述目标地址指针读取相应位置的目标账户地址,并将所述目标账户地址和所述目标其他信息作为输出值,所述输出值用于与所述目标输出部分进行对比。5.根据权利要求4所述的方法,其特征在于,若存在碰撞表,在所述对所述目标输入部分进行相同的压缩处理之前,还包括:判断所述目标输入部分与所述碰撞表中存储的交易信息是否匹配;若匹配,则将与所述目标输入部分相匹配的交易信...

【专利技术属性】
技术研发人员:吴良顺
申请(专利权)人:卓尔智联武汉研究院有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1