CN116012150A - 一种比特币交易自治消息提取及解析方法 - Google Patents
一种比特币交易自治消息提取及解析方法 Download PDFInfo
- Publication number
- CN116012150A CN116012150A CN202210878845.5A CN202210878845A CN116012150A CN 116012150 A CN116012150 A CN 116012150A CN 202210878845 A CN202210878845 A CN 202210878845A CN 116012150 A CN116012150 A CN 116012150A
- Authority
- CN
- China
- Prior art keywords
- transaction
- message
- information
- autonomous
- decode
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 16
- 238000004458 analytical method Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 57
- 230000004927 fusion Effects 0.000 claims abstract description 27
- 238000004140 cleaning Methods 0.000 claims abstract description 4
- 238000004422 calculation algorithm Methods 0.000 claims description 34
- 238000012795 verification Methods 0.000 claims description 9
- 238000012098 association analyses Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 230000008451 emotion Effects 0.000 abstract description 2
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 239000004744 fabric Substances 0.000 abstract description 2
- 238000010276 construction Methods 0.000 abstract 1
- 238000013075 data extraction Methods 0.000 abstract 1
- 230000002159 abnormal effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007418 data mining Methods 0.000 description 2
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种比特币交易自治消息提取及分析方法。其包括数据提取、交易自治消息提取、特征提取、消息解码、消息清洗、消息融合和数据表构建等步骤。本发明效果:1、该方法具有普适性:通过分析目前区块链技术架构,发现本方法同样适用于以太坊、EOS、波卡以及Fabric等主流区块链系统中。2、该方法具有有效性:以交易自治消息情感倾向与价格变化的关系为例,所产生数据集在网络舆情监测方面的效果好。3、该方法具有进步性:本比特币交易自治消息提取及分析方法有助于实现区块链系统中的舆情监测,增强网络空间安全,提高信息分析水平。
Description
技术领域
本发明属于区块链数据挖掘技术领域,特别涉及一种比特币交易自治消息提取及解析方法。
背景技术
随着区块链技术的发展,公有链因其具有去中心化、不易监管等特性而常被用于非法金融活动之中。传统的区块链监测技术通常以交易溯源为主要目的,通常采用地址聚类方法或图方法等,并且更多关注于用户间的交易行为关系,而忽视了单笔交易的交易内容中的异常信息。在区块链系统中,用户除了进行交易外,还可以添加自治交易消息,这些消息可以由任意内容组成,可能存在网络舆情消息,但是目前针对这些消息没有有效的提取和解析方法。
传统的区块链监测技术大致有以下几种:
(1)基于地址聚类的区块链监测方法:比特币采用UTXO模型,同一个实体用户在网络中可以拥有多个交易地址。就实体用户地址聚类而言,从异常交易记录中识别出哪些属于同一个实体的地址是一个重要的问题。
(2)基于图匹配的区块链监测方法:以空投糖果和贪婪注资两类异常交易行为作为典型代表,分别设计了两类异常交易行为的判定规则。
(3)基于复杂网络的区块链监测方法:使用复杂网络分析技术来研究比特币交易网络,特别是有效地使用社区检测来重新识别属于同一用户的多个地址。
传统的区块链监测技术聚焦于区块链用户间的交易关系,对于区块链中与用户间交易无关的信息没有进行分析。近年来的一些区块链留言事件说明,对区块链交易数据进行检测和分析,从而实现区块链上的舆情监测,是区块链数据挖掘的重要研究内容。
发明内容
为了解决上述问题,本发明的目的在于提供一种比特币交易自治消息提取及解析方法。
为了达到上述目的,本发明提供的比特币交易自治消息提取及解析方法包括按顺序进行的下列步骤:
1)搭建比特币客户端,将原始区块流数据同步到本地;然后对原始区块流数据进行解析和结构化处理,得到比特币结构化数据;之后从比特币结构化数据获得每笔交易输出脚本;
2)利用交易脚本验证算法Algorithmtest验证上述交易输出脚本的有效性,如验证通过表明交易是真实有效的,不包含交易自治消息;若验证失败,则返回结果为交易自治消息Txinformation;
3)从上述交易自治消息Txinformation中提取区块链特征,然后利用上述交易自治消息和区块链特征构建交易自治消息数据表;
4)从交易自治消息数据表中依次读取交易自治消息Txinformation,利用交易自治消息解码算法Algorithmcode_recognition对上述交易自治消息Txinformation进行解码,得到解码消息Informationdecode;之后将解码信息Informationdecode作为特征插入交易自治消息数据表;
5)通过对上述解码消息Informationdecode进行特征提取和识别,将解码消息Informationdecode进行清洗,并将被成功解码的解码信息Informationdecode的可解码标记Signdecode标记为1,其它解码消息的可解码标记Signdecode标记为0,并将上述可解码标记Signdecode作为特征插入交易自治消息数据表;
6)利用基于交易地址关联分析的消息融合算法Algorithmaddress_association对成功解码的交易自治消息Informationdecode进行可融合判断并将可融合的交易自治消息Informationdecode进行融合,形成融合后消息Informationrelated;
7)从融合后消息Informationrelated中提取出融合前消息序号infoid,并构建交易自治消息融合消息数据表。
在步骤1)中,所述搭建比特币客户端,将原始区块流数据同步到本地;然后对原始区块流数据进行解析和结构化处理,得到比特币结构化数据;之后从比特币结构化数据获得每笔交易输出脚本的具体方法如下:
搭建比特币客户端Bitcoin Core,将原始区块流数据Dt同步到本地;通过对原始区块流数据Dt进行解析和结构化处理,得到比特币结构化数据St;其中原始区块流数据Dt表示比特币系统截止到t时刻的所有区块数据;比特币结构化数据St是将t时刻之前的区块数据经过处理后得到的,包括区块大小BTC_Blocksize、交易列表Tx_List;之后从比特币结构化数据St中查找交易列表Tx_List来输出数组Outputs中的Script字段,最终获得每笔交易输出脚本
在步骤2)中,所述利用交易脚本验证算法Algorithmtest提取交易自治消息的具体方法如下:
201)将交易输出脚本从字符串格式转化为二进制字节流Scirptbytearray;
202)初始化一个空的栈数据结构;
203)从二进制字节流Scirptbytearray中读取一个字节,并将该字节从二进制字节流Scirptbytearray中删除;
204)将该字节转化为比特币操作码OP_code;
205)将比特币操作码OP_code放入栈中;
206)获取栈顶比特币操作码OP_code,并依照栈顶比特币操作码OP_code对栈进行操作;
207)若该栈顶比特币操作码OP_code存在后续输入参数,则从二进制字节流Scirptbytearray读取相应的字节数Bytes;
208)将字节数Bytes放入栈中;
209)重复步骤203)到步骤208),直到二进制字节流Scirptbytearray为空;
210)验证栈顶元素,若栈顶元素为Boolean类型的True,则交易输出脚本验证通过;若栈顶元素为Boolean类型的False,则交易输出脚本验证失败;若栈顶元素不是Boolean类型,则为提取到的交易自治消息Txinformation,这些消息依旧会被留存在区块链上,相应未交易的货币会转移到交易生成方手中。
在步骤3)中,所述从上述交易自治消息Txinformation中提取区块链特征,然后利用上述交易自治消息和区块链特征构建交易自治消息数据表的具体方法如下:
从上述交易自治消息Txinformation中提取区块链特征:序号Blockid、区块哈希Blockhash,交易版本号Blockversion、区块高度Blocknumber、区块产生时间Blocktimestamp、交易哈希Blockthis_txhash、输入脚本交易哈希Blockinput_txhash、输入金额Blockinput_value、输入地址Blockinput_address、交易费Blockfee、输出脚本Blockoutput_script_asm、ASCII脚本Blockoutput_script_asc、解码输出脚本Blockoutput_script_decode;然后利用上述交易自治消息和区块链特征构建交易自治消息数据表。
在步骤4)中,所述利用交易自治消息解码算法Algorithmcode_recognition对上述交易自治消息Txinformation进行解码,得到解码消息Informationdecode的具体方法如下:
401)利用已知交易自治消息编码规则构建编码表Codeinfo;
402)读取交易自治消息数据表中的一条交易自治消息Txinformation;
403)读出该交易自治消息Txinformation十六进制字符串的前两位,并将其依照十六进制整型转化为字符Charbytes;
404)判断该字符Charbytes是否为自然语言字符,若是执行步骤405),否则执行步骤406);
405)执行步骤410),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
406)继续读出交易自治消息Txinformation十六进制字符串的前两位,将四位十六进制整型按照Unicode编码规则在编码表Codeinfo中搜索解码规则,若能够搜索到执行步骤407),否则执行步骤408);
407)按照编码表Codeinfo解码,标记交易自治消息的编码语言;重复步骤403),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
408)将交易自治消息Txinformation标记为不可解码;
409)将解码信息Informationdecode作为特征插入交易自治消息数据表,若交易自治消息不可解码,则插入交易自治消息Txinformation;
410)重复步骤402)-409),直到所有交易自治消息Txinformation解码完成。
在步骤6)中,所述基于交易地址关联分析的消息融合算法Algorithmaddress_association对成功解码的自治消息数据Informationdecode进行可融合判断并将可融合的自治消息数据Informationdecode进行融合,形成融合后消息Informationrelated的具体方法如下:
601)输入一条交易自治消息的解码消息Informationdecode;
602)利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息,若是,执行步骤603),否则执行步骤606);
603)若该消息是后向融合消息,执行步骤604);若该消息是前向融合消息,执行步骤605);若该消息不是可融合消息,执行步骤606);
604)在步骤3)生成的交易自治消息数据表中读取该解码消息的输入脚本交易哈希Blockinput_txhash,判断该交易的输出中是否存在可融合消息,若存在,进行消息融合并生成融合后消息Informationrelated;之后执行步骤606);
605)在步骤3)生成的交易自治消息数据表中读取该解码消息的交易哈希Blockthis_txhash,判断是否可融合消息以该交易哈希作为输入脚本交易哈希Blockinput_txhash,若存在,进行消息融合并生成融合后消息Informationrelated;
606)重复步骤601)-605),直到所有交易自治消息的解码消息融合完毕。
在步骤602)中,所述利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息的具体方法如下:
60201)初始化待匹配字符表,包含各个待匹配字符的标记位,所有字符标记位值为0;
60202)输入一条交易自治消息的解码消息Informationdecode;
60203)从解码消息Informationdecode中读取一个字符,判断该字符是否为待匹配字符,若该字符为待匹配字符,执行步骤60204),否则执行步骤60205);
60204)判断该字符是起始字符还是终止字符,若为起始字符,则对待匹配字符表中该待匹配字符的标记位值+1;若为终止字符,则对该待匹配字符的标记位值-1;若既非起始字符也非终止字符,则不做任何操作;
60205)重复步骤60202-60204),直到解码消息Informationdecode为空;
60206)判断所有待匹配字符的标记位值,若全为0,则该解码消息不是可融合消息;若部分待匹配字符的标记位值为正数,部分待匹配字符的标记位值为负数,则该解码消息不是可融合消息;若部分待匹配字符的记位值为正数,其它值为0,则该解码消息是后向可融合消息,返回待匹配字符表;若部分待匹配字符的记位值为负数,其它值为0,则该解码消息是前向可融合消息,返回待匹配字符表。
本发明提供的比特币交易自治消息提取及分析方法的有益效果是:
1、该方法具有普适性:通过分析目前区块链技术架构,发现本方法同样适用于以太坊、EOS、波卡以及Fabric等主流区块链系统中。
2、该方法具有有效性:以交易自治消息情感倾向与价格变化的关系为例,所产生数据集在网络舆情监测方面的效果好。
3、该方法具有进步性:本比特币交易自治消息提取及分析方法有助于实现区块链系统中的舆情监测,增强网络空间安全,提高信息分析水平。
附图说明
图1为本发明提供的比特币交易自治消息提取及解析方法流程图。
图2为本发明中交易脚本验证算法过程流程图。
图3为本发明中交易自治消息编码识别算法过程流程图。
图4为本发明中基于交易地址关联分析的消息融合算法过程流程图。
图5为本发明中可融合消息识别算法过程流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。
如图1至图5所示,本发明提供的比特币交易自治消息提取及解析方法包括按顺序进行的下列步骤:
1)搭建比特币客户端,将原始区块流数据同步到本地;然后对原始区块流数据进行解析和结构化处理,得到比特币结构化数据;之后从比特币结构化数据获得每笔交易输出脚本;
搭建比特币客户端Bitcoin Core,将原始区块流数据Dt同步到本地;通过对原始区块流数据Dt进行解析和结构化处理,得到比特币结构化数据St;其中原始区块流数据Dt表示比特币系统截止到t时刻的所有区块数据;比特币结构化数据St是将t时刻之前的区块数据经过处理后得到的,包括区块大小BTC_Blocksize、交易列表Tx_List;之后从比特币结构化数据St中查找交易列表Tx_List来输出数组Outputs中的Script字段,最终获得每笔交易输出脚本
2)利用交易脚本验证算法Algorithmtest验证上述交易输出脚本的有效性,如验证通过表明交易是真实有效的,不包含交易自治消息;若验证失败,则返回结果为交易自治消息Txinformation;
具体方法如下:
201)将交易输出脚本从字符串格式转化为二进制字节流Scirptbytearray;
202)初始化一个空的栈数据结构;
203)从二进制字节流Scirptbytearray中读取一个字节,并将该字节从二进制字节流Scirptbytearray中删除;
204)将该字节转化为比特币操作码OP_code;
205)将比特币操作码OP_code放入栈中;
206)获取栈顶比特币操作码OP_code,并依照栈顶比特币操作码OP_code对栈进行操作;
207)若该栈顶比特币操作码OP_code存在后续输入参数,则从二进制字节流Scirptbytearray读取相应的字节数Bytes;
208)将字节数Bytes放入栈中;
209)重复步骤203)到步骤208),直到二进制字节流Scirptbytearray为空;
210)验证栈顶元素,若栈顶元素为Boolean类型的True,则交易输出脚本验证通过;若栈顶元素为Boolean类型的False,则交易输出脚本验证失败;若栈顶元素不是Boolean类型,则为提取到的交易自治消息Txinformation,这些消息依旧会被留存在区块链上,相应未交易的货币会转移到交易生成方手中。
3)从上述交易自治消息Txinformation中提取区块链特征,然后利用上述交易自治消息和区块链特征构建交易自治消息数据表;
具体方法如下:
从上述交易自治消息Txinformation中提取区块链特征:序号Blockid、区块哈希Blockhash,交易版本号Blockversion、区块高度Blocknumber、区块产生时间Blocktimestamp、交易哈希Blockthis_txhash、输入脚本交易哈希Blockinput_txhash、输入金额Blockinput_value、输入地址Blockinput_address、交易费Blockfee、输出脚本Blockoutput_script_asm、ASCII脚本Blockoutput_script_asc、解码输出脚本Blockoutput_script_decode;然后利用上述交易自治消息和区块链特征构建交易自治消息数据表。
4)从交易自治消息数据表中依次读取交易自治消息Txinformation,利用交易自治消息解码算法Algorithmcode_recognition对上述交易自治消息Txinformation进行解码,得到解码消息Informationdecode;之后将解码信息Informationdecode作为特征插入交易自治消息数据表;
具体方法如下:
401)利用已知交易自治消息编码规则构建编码表Codeinfo;
402)读取交易自治消息数据表中的一条交易自治消息Txinformation;
403)读出该交易自治消息Txinformation十六进制字符串的前两位,并将其依照十六进制整型转化为字符Charbytes;
404)判断该字符Charbytes是否为自然语言字符,若是执行步骤405),否则执行步骤406);
405)执行步骤410),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
406)继续读出交易自治消息Txinformation十六进制字符串的前两位,将四位十六进制整型按照Unicode编码规则在编码表Codeinfo中搜索解码规则,若能够搜索到执行步骤407),否则执行步骤408);
407)按照编码表Codeinfo解码,标记交易自治消息的编码语言;重复步骤403),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
408)将交易自治消息Txinformation标记为不可解码;
409)将解码信息Informationdecode作为特征插入交易自治消息数据表,若交易自治消息不可解码,则插入交易自治消息Txinformation;
410)重复步骤402)-409),直到所有交易自治消息Txinformation解码完成。
5)通过对上述解码消息Informationdecode进行特征提取和识别,将解码消息Informationdecode进行清洗,并将被成功解码的解码信息Informationdecode的可解码标记Signdecode标记为1,其它解码消息的可解码标记Signdecode标记为0,并将上述可解码标记Signdecode作为特征插入交易自治消息数据表;
6)利用基于交易地址关联分析的消息融合算法Algorithmaddress_association对成功解码的交易自治消息Informationdecode进行可融合判断并将可融合的交易自治消息Informationdecode进行融合,形成融合后消息Informationrelated;
具体方法如下:
601)输入一条交易自治消息的解码消息Informationdecode;
602)利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息,若是,执行步骤603),否则执行步骤606);
603)若该消息是后向融合消息,执行步骤604);若该消息是前向融合消息,执行步骤605);若该消息不是可融合消息,执行步骤606);
604)在步骤3)生成的交易自治消息数据表中读取该解码消息的输入脚本交易哈希Blockinput_txhash,判断该交易的输出中是否存在可融合消息,若存在,进行消息融合并生成融合后消息Informationrelated;之后执行步骤606);
605)在步骤3)生成的交易自治消息数据表中读取该解码消息的交易哈希Blockthis_txhash,判断是否可融合消息以该交易哈希作为输入脚本交易哈希Blockinput_txhash,若存在,进行消息融合并生成融合后消息Informationrelated;
606)重复步骤601)-605),直到所有交易自治消息的解码消息融合完毕。
在步骤602)中,所述利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息的具体方法如下:
60201)初始化待匹配字符表,包含各个待匹配字符的标记位,所有字符标记位值为0;
60202)输入一条交易自治消息的解码消息Informationdecode;
60203)从解码消息Informationdecode中读取一个字符,判断该字符是否为待匹配字符,若该字符为待匹配字符,执行步骤60204),否则执行步骤60205);
60204)判断该字符是起始字符还是终止字符,若为起始字符,则对待匹配字符表中该待匹配字符的标记位值+1;若为终止字符,则对该待匹配字符的标记位值-1;若既非起始字符也非终止字符,则不做任何操作;
60205)重复步骤60202-60204),直到解码消息Informationdecode为空;
60206)判断所有待匹配字符的标记位值,若全为0,则该解码消息不是可融合消息;若部分待匹配字符的标记位值为正数,部分待匹配字符的标记位值为负数,则该解码消息不是可融合消息;若部分待匹配字符的记位值为正数,其它值为0,则该解码消息是后向可融合消息,返回待匹配字符表;若部分待匹配字符的记位值为负数,其它值为0,则该解码消息是前向可融合消息,返回待匹配字符表。
7)从融合后消息Informationrelated中提取出融合前消息序号infoid,并构建交易自治消息融合消息数据表。
Claims (7)
1.一种比特币交易自治消息提取及解析方法,其特征在于:所述比特币交易自治消息提取及解析方法包括按顺序进行的下列步骤:
1)搭建比特币客户端,将原始区块流数据同步到本地;然后对原始区块流数据进行解析和结构化处理,得到比特币结构化数据;之后从比特币结构化数据获得每笔交易输出脚本;
2)利用交易脚本验证算法Algorithmtest验证上述交易输出脚本的有效性,如验证通过表明交易是真实有效的,不包含交易自治消息;若验证失败,则返回结果为交易自治消息Txinformation;
3)从上述交易自治消息Txinformation中提取区块链特征,然后利用上述交易自治消息和区块链特征构建交易自治消息数据表;
4)从交易自治消息数据表中依次读取交易自治消息Txinformation,利用交易自治消息解码算法Algorithmcode_recognition对上述交易自治消息Txinformation进行解码,得到解码消息Informationdecode;之后将解码信息Informationdecode作为特征插入交易自治消息数据表;
5)通过对上述解码消息Informationdecode进行特征提取和识别,将解码消息Informationdecode进行清洗,并将被成功解码的解码信息Informationdecode的可解码标记Signdecode标记为1,其它解码消息的可解码标记Signdecode标记为0,并将上述可解码标记Signdecode作为特征插入交易自治消息数据表;
6)利用基于交易地址关联分析的消息融合算法Algorithmaddress_association对成功解码的交易自治消息Informationdecode进行可融合判断并将可融合的交易自治消息Informationdecode进行融合,形成融合后消息Informationrelated;
7)从融合后消息Informationrelated中提取出融合前消息序号infoid,并构建交易自治消息融合消息数据表。
2.根据权利要求1所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤1)中,所述搭建比特币客户端,将原始区块流数据同步到本地;然后对原始区块流数据进行解析和结构化处理,得到比特币结构化数据;之后从比特币结构化数据获得每笔交易输出脚本的具体方法如下:
搭建比特币客户端Bitcoin Core,将原始区块流数据Dt同步到本地;通过对原始区块流数据Dt进行解析和结构化处理,得到比特币结构化数据St;其中原始区块流数据Dt表示比特币系统截止到t时刻的所有区块数据;比特币结构化数据St是将t时刻之前的区块数据经过处理后得到的,包括区块大小BTC_Blocksize、交易列表Tx_List;之后从比特币结构化数据St中查找交易列表Tx_List来输出数组Outputs中的Script字段,最终获得每笔交易输出脚本
3.根据权利要求1所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤2)中,所述利用交易脚本验证算法Algorithmtest提取交易自治消息的具体方法如下:
201)将交易输出脚本从字符串格式转化为二进制字节流Scirptbytearray;
202)初始化一个空的栈数据结构;
203)从二进制字节流Scirptbytearray中读取一个字节,并将该字节从二进制字节流Scirptbytearray中删除;
204)将该字节转化为比特币操作码OP_code;
205)将比特币操作码OP_code放入栈中;
206)获取栈顶比特币操作码OP_code,并依照栈顶比特币操作码OP_code对栈进行操作;
207)若该栈顶比特币操作码OP_code存在后续输入参数,则从二进制字节流Scirptbytearray读取相应的字节数Bytes;
208)将字节数Bytes放入栈中;
209)重复步骤203)到步骤208),直到二进制字节流Scirptbytearray为空;
210)验证栈顶元素,若栈顶元素为Boolean类型的True,则交易输出脚本验证通过;若栈顶元素为Boolean类型的False,则交易输出脚本验证失败;若栈顶元素不是Boolean类型,则为提取到的交易自治消息Txinformation,这些消息依旧会被留存在区块链上,相应未交易的货币会转移到交易生成方手中。
4.根据权利要求1所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤3)中,所述从上述交易自治消息Txinformation中提取区块链特征,然后利用上述交易自治消息和区块链特征构建交易自治消息数据表的具体方法如下:
从上述交易自治消息Txinformation中提取区块链特征:序号Blockid、区块哈希Blockhash,交易版本号Blockversion、区块高度Blocknumber、区块产生时间Blocktimestamp、交易哈希Blockthis_txhash、输入脚本交易哈希Blockinput_txhash、输入金额Blockinput_value、输入地址Blockinput_address、交易费Blockfee、输出脚本Blockoutput_script_asm、ASCII脚本Blockoutput_script_asc、解码输出脚本Blockoutput_script_decode;然后利用上述交易自治消息和区块链特征构建交易自治消息数据表。
5.根据权利要求1所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤4)中,所述利用交易自治消息解码算法Algorithmcode_recognition对上述交易自治消息Txinformation进行解码,得到解码消息Informationdecode的具体方法如下:
401)利用已知交易自治消息编码规则构建编码表Codeinfo;
402)读取交易自治消息数据表中的一条交易自治消息Txinformation;
403)读出该交易自治消息Txinformation十六进制字符串的前两位,并将其依照十六进制整型转化为字符Charbytes;
404)判断该字符Charbytes是否为自然语言字符,若是执行步骤405),否则执行步骤406);
405)执行步骤410),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
406)继续读出交易自治消息Txinformation十六进制字符串的前两位,将四位十六进制整型按照Unicode编码规则在编码表Codeinfo中搜索解码规则,若能够搜索到执行步骤407),否则执行步骤408);
407)按照编码表Codeinfo解码,标记交易自治消息的编码语言;重复步骤403),直到交易自治消息Txinformation十六进制字符串为空,最终得到该条交易自治消息Txinformation的解码消息Informationdecode;
408)将交易自治消息Txinformation标记为不可解码;
409)将解码信息Informationdecode作为特征插入交易自治消息数据表,若交易自治消息不可解码,则插入交易自治消息Txinformation;
410)重复步骤402)-409),直到所有交易自治消息Txinformation解码完成。
6.根据权利要求1所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤6)中,所述基于交易地址关联分析的消息融合算法Algorithmaddress_association对成功解码的自治消息数据Informationdecode进行可融合判断并将可融合的自治消息数据Informationdecode进行融合,形成融合后消息Informationrelated的具体方法如下:
601)输入一条交易自治消息的解码消息Informationdecode;
602)利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息,若是,执行步骤603),否则执行步骤606);
603)若该消息是后向融合消息,执行步骤604);若该消息是前向融合消息,执行步骤605);若该消息不是可融合消息,执行步骤606);
604)在步骤3)生成的交易自治消息数据表中读取该解码消息的输入脚本交易哈希Blockinput_txhash,判断该交易的输出中是否存在可融合消息,若存在,进行消息融合并生成融合后消息Informationrelated;之后执行步骤606);
605)在步骤3)生成的交易自治消息数据表中读取该解码消息的交易哈希交易哈希Blockthis_txhash,判断是否可融合消息以该交易哈希作为输入脚本交易哈希Blockinput_txhash,若存在,进行消息融合并生成融合后消息Informationrelated;
606)重复步骤601)-605),直到所有交易自治消息的解码消息融合完毕。
7.根据权利要求6所述的比特币交易自治消息提取及解析方法,其特征在于:在步骤602)中,所述利用可融合消息识别算法Algorithmis_fusible判断该解码消息Informationdecode是否为可融合消息的具体方法如下:
60201)初始化待匹配字符表,包含各个待匹配字符的标记位,所有字符标记位值为0;
60202)输入一条交易自治消息的解码消息Informationdecode;
60203)从解码消息Informationdecode中读取一个字符,判断该字符是否为待匹配字符,若该字符为待匹配字符,执行步骤60204),否则执行步骤60205);
60204)判断该字符是起始字符还是终止字符,若为起始字符,则对待匹配字符表中该待匹配字符的标记位值+1;若为终止字符,则对该待匹配字符的标记位值-1;若既非起始字符也非终止字符,则不做任何操作;
60205)重复步骤60202-60204),直到解码消息Informationdecode为空;
60206)判断所有待匹配字符的标记位值,若全为0,则该解码消息不是可融合消息;若部分待匹配字符的标记位值为正数,部分待匹配字符的标记位值为负数,则该解码消息不是可融合消息;若部分待匹配字符的记位值为正数,其它值为0,则该解码消息是后向可融合消息,返回待匹配字符表;若部分待匹配字符的记位值为负数,其它值为0,则该解码消息是前向可融合消息,返回待匹配字符表。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210878845.5A CN116012150A (zh) | 2022-07-25 | 2022-07-25 | 一种比特币交易自治消息提取及解析方法 |
PCT/CN2023/108600 WO2024022242A1 (zh) | 2022-07-25 | 2023-07-21 | 一种比特币交易自治消息提取及解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210878845.5A CN116012150A (zh) | 2022-07-25 | 2022-07-25 | 一种比特币交易自治消息提取及解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116012150A true CN116012150A (zh) | 2023-04-25 |
Family
ID=86025489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210878845.5A Pending CN116012150A (zh) | 2022-07-25 | 2022-07-25 | 一种比特币交易自治消息提取及解析方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116012150A (zh) |
WO (1) | WO2024022242A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022242A1 (zh) * | 2022-07-25 | 2024-02-01 | 天津理工大学 | 一种比特币交易自治消息提取及解析方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10984483B2 (en) * | 2017-03-19 | 2021-04-20 | International Business Machines Corporation | Cognitive regulatory compliance automation of blockchain transactions |
GB201713046D0 (en) * | 2017-08-15 | 2017-09-27 | Nchain Holdings Ltd | Computer-implemented system and method |
CN109670950B (zh) * | 2018-10-29 | 2023-09-15 | 平安科技(深圳)有限公司 | 基于区块链的交易监听方法、装置、设备和存储介质 |
KR20200124495A (ko) * | 2019-04-24 | 2020-11-03 | (주)체이니어스 | 유무선 메시지 서비스를 이용하여 블록체인에 정보를 기록하는 방법 |
CN110751554A (zh) * | 2019-09-20 | 2020-02-04 | 暨南大学 | 区块链中数字货币的智能监测方法及系统 |
CN116012150A (zh) * | 2022-07-25 | 2023-04-25 | 天津理工大学 | 一种比特币交易自治消息提取及解析方法 |
-
2022
- 2022-07-25 CN CN202210878845.5A patent/CN116012150A/zh active Pending
-
2023
- 2023-07-21 WO PCT/CN2023/108600 patent/WO2024022242A1/zh unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024022242A1 (zh) * | 2022-07-25 | 2024-02-01 | 天津理工大学 | 一种比特币交易自治消息提取及解析方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2024022242A1 (zh) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035842B (zh) | 一种基于编码解码器的智能合约漏洞检测可解释性方法 | |
CN111488582A (zh) | 一种基于图神经网络的智能合约重入性漏洞检测的方法 | |
CN108062668B (zh) | 基于后台图片加密识别的二维码支付方法与系统 | |
CN103514238A (zh) | 基于分类查找的敏感词识别处理方法 | |
WO2024022242A1 (zh) | 一种比特币交易自治消息提取及解析方法 | |
CN105205674A (zh) | 一种基于二维码的产品防伪方法 | |
CN112070608B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN111159012A (zh) | 一种基于深度学习的智能合约漏洞检测方法 | |
CN101794378B (zh) | 基于图片编码的垃圾图片过滤方法 | |
CN102045268A (zh) | 一种电子邮件数据恢复方法及装置 | |
Al-Wesabi | Entropy-Based Watermarking Approach for Sensitive Tamper Detection of Arabic Text. | |
Alkhafaji et al. | Payload capacity scheme for quran text watermarking based on vowels with kashida | |
CN115830723A (zh) | 一种训练集图像的相关方法和相关装置 | |
CN111666575A (zh) | 基于词元编码的文本无载体信息隐藏方法 | |
CN109101791A (zh) | 基于数据特征的水印参数自动获取方法及系统 | |
CN112149186B (zh) | 一种基于摘要算法的数据防篡改的方法及其系统 | |
CN115774762A (zh) | 即时通讯信息处理方法、装置、设备及存储介质 | |
CN108108267B (zh) | 数据的恢复方法和装置 | |
CN114840872A (zh) | 秘密文本脱敏方法、装置、计算机设备及可读存储介质 | |
CN114117419A (zh) | 一种模板注入攻击的检测方法、装置、设备、存储介质 | |
CN113946648A (zh) | 结构化信息生成方法、装置、电子设备和介质 | |
Alamgeer et al. | Smart-Fragile Authentication Scheme for Robust Detecting of Tampering Attacks on English Text. | |
CN112417886A (zh) | 意图实体信息抽取方法、装置、计算机设备及存储介质 | |
Win et al. | Data Hiding Process with Indexes Based on Whitespace Method | |
Al-Wesabi | An Optimized English TextWatermarking Method Based on Natural Language Processing Techniques. |
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 |