System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向UTXO模型区块链的链上交易数据快速解析方法技术_技高网
当前位置: 首页 > 专利查询>复旦大学专利>正文

面向UTXO模型区块链的链上交易数据快速解析方法技术

技术编号:41132668 阅读:8 留言:0更新日期:2024-04-30 18:02
本发明专利技术属于区块链技术领域,具体为一种面向UTXO模型区块链的链上交易数据快速解析方法。本发明专利技术主要包括:根据区块链的数据结构,直接解析其对应的原始二进制数据文件获取该币种的每一笔结构化的链上交易数据;从链上交易数据中获取每一笔交易的输入地址和金额并补充到原始交易的输入字段中;最后将花费输出的交易哈希和花费时间字段补充到原始交易的输出字段中。本发明专利技术综合运用键值数据库和文件读写方法,能够快速同步解析比特币、比特币现金、莱特币、狗狗币以及大零币等UTXO类区块链从首笔交易到最新交易的数据,并对交易输入和输出中的关键字段进行补充。能够扩展到更多UTXO类区块链的链上交易数据的快速解析过程,为其数据分析提供支持。

【技术实现步骤摘要】

本专利技术属于区块链,具体涉及一种面向utxo模型区块链的链上交易数据快速解析方法。


技术介绍

1、自从2008年中本聪提出了基于utxo数据模型的区块链技术实现的比特币系统后,各种类型的区块链系统应用不断涌现。比特币系统的源码公开,因此任何人都可以对其进行修改。时至今日,在市值排名前二十的区块链中,比特币现金,莱特币,狗狗币,大零币都是基于比特币系统源码修改而发行的,因此它们使用的都是utxo(unspent transactionoutput)模型。该模型的特点在于记录每一笔交易的过程,每一笔交易的输出将会被之后的交易作为输入进行花费。

2、随着区块链系统应用市场规模不断扩大,越来越多的用户参与其中。区块链应用领域涌现出如交易所等新行业的同时,包括赌博,暗网,诈骗等新型犯罪、违规行为也开始出现,亟需监管机构对其中发生的恶意行为、风险事件进行分析监测和监管预警。公链区块链的链上数据是对区块链数据进行分析的重要基础,然而链上数据具有数据量大,数据新增速度快等特点,如何高效准确地获取全量链上数据是一项挑战,目前获取链上交易数据的方法主要有三类:浏览器api查询,本地rpc接口调用以及二进制文件解析。

3、1、区块链数据查询浏览器提供了对链上交易数据的查询接口api,然而这些api受到网站性能的限制,无法在大规模的数据分析中使用。

4、2、用户通过本地搭建全节点客户端并同步数据后,利用客户端提供的rpc接口可实现交易数据的获取。该方法虽然相较于浏览器api调用效率较高,但需要频繁调用本地rpc接口,尤其在获取某一区块内的所有交易时,需要对每一条交易都调用相应rpc接口才能获取到交易详情,以此方式获取和解析数据的效率低下。

5、3、搭建全节点后同步获取的链上交易数据以二进制文件形式存储,通过直接解析可以获取比如上两种方法更高的性能。目前已有一些工具采用该方法,如blocksci和blocketl。其中blocksci的局限性在于依赖内存数据库实现,导致对使用者的计算资源要求较高且数据存储可靠性较差。而blocketl则采用关系型数据库mysql实现,且仅支持对比特币交易数据的解析,若将其应用到单个区块容量更大的utxo区块链,如比特币现金和莱特币时,可能会受到mysql引擎单字段单条记录最大值的限制导致工具失效。

6、本专利技术定义了规范化的数据解析存储接口,能够适用于多种utxo模型区块链数据,扩展性较强。此外本专利技术以文件形式存储解析结果,支持用户根据需求自由选择进一步的持久化方式,灵活性较高。


技术实现思路

1、为解决上述问题,即解决获取公链区块链的全量交易数据耗费时间长、获取多种utxo模型区块链交易数据困难的问题,本专利技术提供一种能够对utxo模型区块链的交易数据进行快速解析的通用方法,本专利技术采用了如下技术方案:

2、本专利技术提供了一种面向utxo模型区块链的链上交易数据快速解析方法,用于对utxo模型区块链的链上交易数据进行快速解析,所述链上交易数据存储为多个二进制文件,其特征在于,包括以下步骤:

3、步骤s1,根据utxo模型区块链的数据结构信息,利用多进程同时读取多个所述二进制文件并解析为未链接的结构化交易数据,并以日期为单位存储为若干个当天交易结果文件;

4、步骤s2,按时间顺序遍历所述当天交易结果文件,将其中每一笔交易输出的utxo存储在键值数据库中,再遍历该当天交易结果文件的每一笔交易,在所述键值数据库中查找该笔交易输入花费的对应utxo,根据查得的utxo的信息在所述当天交易结果文件中填充该笔交易的所述交易输入详情字段,同时将该utxo的信息写入以日期为单位的被花费情况文件;

5、步骤s3,根据所述被花费情况文件中的信息填充对应的所述当天交易结果文件中每一笔交易的所述交易输出详情字段,完成所述链上交易数据的解析及双向链接。

6、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,所述二进制文件的文件名中的序号对应于交易的时间顺序,步骤s1中,利用多进程同时读取多个所述二进制文件并行解析,为每一个进程分配读取所述二进制文件的任务时,采用如下分配规则:对于m个所述二进制文件、n个进程,n<m,按所述二进制文件的文件名排序,依次分配前n-1个进程各读取个所述二进制文件,最后一个进程读取剩余所有所述二进制文件。

7、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,步骤s1中,每个所述进程读取完一个所述二进制文件后,将该二进制文件中包含的区块中的所有交易,按照日期形式组织,以天为单位,将隶属同一天的交易写入同一个所述当天交易结果文件中,每个所述进程独立地进行所述二进制文件的解析以及所述当天交易结果文件的写入,写入所述当天交易结果文件时,所有写入均为追加写入。

8、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,步骤s2中,遍历所有的所述当天交易结果文件,对每个所述当天交易结果文件,读取该文件中的所有交易信息存放在内存中,并将读取的所有交易输出的utxo存入所述键值数据库,之后遍历内存中当天所有的交易,在所述键值数据库中查找每笔交易输入花费的对应utxo,从所述键值数据库中删除该utxo并修改内存中该笔交易的所述交易输入详情字段,填充入输入地址与金额。

9、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,步骤s2中,利用多进程遍历一个所述当天交易结果文件中的交易。

10、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,步骤s3中,根据所述被花费情况文件中的信息填充对应的所述当天交易结果文件中的每一笔交易的所述交易输出详情字段的交易哈希和花费时间。

11、本专利技术提供的面向utxo模型区块链的链上交易数据快速解析方法,还可以具有这样的技术特征,其中,步骤s3中,利用多进程对不同日期的所述当天交易结果文件进行所述交易输出详情字段的填充。

12、专利技术作用与效果

13、根据本专利技术的面向utxo模型区块链的链上交易数据快速解析方法,根据utxo模型区块链的数据结构,直接解析其原始二进制文件并按日期组织存储为多个本地的当天交易结果文件,且利用二进制文件内容组织的特点,运用多进程同时分别读取多个不同文件,因而能够提高解析速率;进而利用链值数据库结合本地文件完成对本地当天交易结果文件中的交易信息的双向链接,相较于现有技术中在关系型数据库中进行读取和修改以实现交易信息的双向链接,具有更高的性能。

14、综上所述,本专利技术直接对utxo模型区块链的二进制文件进行解析,合理划分交易数据存储文件,能够实现对多种货币的全量交易数据的快速解析,从而为想对utxo模型区块链进行监管和分析的用户提供快速获取数据的本文档来自技高网...

【技术保护点】

1.一种面向UTXO模型区块链的链上交易数据快速解析方法,用于对UTXO模型区块链的链上交易数据进行快速解析,所述链上交易数据存储为多个二进制文件,其特征在于,包括以下步骤:

2.根据权利要求1所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

3.根据权利要求2所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

4.根据权利要求1所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

5.根据权利要求1所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

6.根据权利要求1所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

7.根据权利要求1所述的面向UTXO模型区块链的链上交易数据快速解析方法,其特征在于:

【技术特征摘要】

1.一种面向utxo模型区块链的链上交易数据快速解析方法,用于对utxo模型区块链的链上交易数据进行快速解析,所述链上交易数据存储为多个二进制文件,其特征在于,包括以下步骤:

2.根据权利要求1所述的面向utxo模型区块链的链上交易数据快速解析方法,其特征在于:

3.根据权利要求2所述的面向utxo模型区块链的链上交易数据快速解析方法,其特征在于:

...

【专利技术属性】
技术研发人员:韩伟力童麦可王锴李智鑫陈姝宇陈辰柴洪峰
申请(专利权)人:复旦大学
类型:发明
国别省市:

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

1