BZIP: A Compact Data Memory System for UTXO-based Blockchains
Jiang S , Li J , Gong S , et al. BZIP: A Compact Data Memory System for UTXO-based Blockchains[J]. Journal of Systems Architecture, 2020:101809.
WHY
UTXO集合大小的增加降低了访问性能,验证降低了区块链的验证速度。
WHAT
提出一种基于UTXO的区块链存储系统,基于UTXO集的固有性质,提出两种无损压缩技术来减少UTXO集占用的存储空间。
HOW
基于UTXO的区块链的典型验证流程
交易由输入和输出两部分组成
- 输入部分主要包括输入要支付和签名的交易信息
- 输出部分包括用于验证签名的用户帐户地址、硬币价值等。
为了提高效率,UTXO集合被加载到键值数据库中。当节点收到新的事务时,通过输入部分的关键字查询UTXO数据库,检查输入的事务是否在UTXO集合中。如果存在,UTXO数据库将返回输入事务的简化输出部分,以供后续签名验证。否则,它表明新交易试图加倍支出,并将被识别为无效。
UTXO数据库的冗余性分析
UTXO数据库存储节点用来读写未用事务记录的键-值对
- key:区块链使用交易ID和索引作为交易的关键字。交易ID是一个32字节的哈希值,通常派生自交易数据的SHA-2加密。该索引是一个4字节值,指示事务中目标输出的位置。
- value:该值由几种类型的交易验证数据组成,包括20字节的账户地址、2字节的硬币价值、3字节的区块高度等共28字节