会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 比特币钱包 / 一种比特币区域流向的统计方法

一种比特币区域流向的统计方法

申请号 CN201710392057.4 申请日 2017-05-27 公开(公告)号 CN107194677A 公开(公告)日 2017-09-22
申请人 国家计算机网络与信息安全管理中心; 北京赛思信安技术股份有限公司; 发明人 王秀文; 苏沐冉; 吴震; 毛洪亮; 马秀娟; 唐积强; 李焱余; 徐小磊; 张露晨; 李传海; 王刚; 谢铭;
摘要 本发明公开了一种比特币区域流向的统计方法,首先统计所有的交易所、矿池、赌博及比特币交易服务等主要的交易场所,并统计这些场所所属的国家及地区,然后搜集这些交易所的所有的钱包地址。然后根据区块链,查找某区块链中的所有的交易hash,根据该hash找到对应的具体交易信息,该信息中会包含交易双方的交易地址,根据交易地址所属的国家区域,可以分析出该交易属于哪个国家及地区的交易。本发明为监测比特币的区域流向提供一种可行的方案;本发明方法具有很广泛的应用前景。
权利要求

1.一种比特币区域流向的统计方法,包括以下几个步骤:步骤一:根据需要统计比特币的区域及时间范围,确定访问的区块id范围;

步骤二:选择一个要访问的区块的id,进行访问;

步骤三:选取该id的所有交易的hash值;

步骤四:当遍历完上一个区块id后,选择下一个区块id,继续访问该id所对应的所有交易hash;

步骤五:在某个交易hash中的所有输出地址,若是某一个区域交易所的钱包地址,则该交易hash有用,进入步骤九,否则,进入步骤六;

步骤六:获取某个交易hash中的所有输出地址;

步骤七:判断是否有地址属于某个区域的交易所,是,则转入步骤八,否,则返回步骤四;

步骤八:获取该输出地址的交易金额;

步骤九:获取所有输入地址作为输入;

步骤十:遍历所有输入地址;

步骤十一:判断地址是否是某个交易所的钱包地址,如果是,转入步骤十六,否则,转入步骤十二;

步骤十二:获取所有地址的hash值根据输入地址,找到所有输入地址的上一次交易的hash值,记录该hash值;

步骤十三:遍历所有hash值;

步骤十四:获取所有hash的输入地址作为输入;

步骤十五:判断输入地址是否超出范围,如果超出则继续下一个区块,进入步骤四,否则,进入步骤十;

步骤十六:保存该次的交易金额、交易跳数、交易时间、交易hash、交易块号及地址对应的国家或区域;

步骤十七:判断是否获取了需要的信息,如果是,返回步骤四,否则进入步骤十八;

步骤十八:统计所有的交易金额,根据已经记录的所有的交易金额及信息,统计出区域间的比特币流动金额;

步骤十九:得到统计出来的比特币流向数据。

说明书全文

一种比特币区域流向的统计方法

技术领域

[0001] 本发明涉及应用于比特币在不同国家或区域的流向的分析与统计,提供对应的流向统计分析服务。

背景技术

[0002] 比特币是一种“电子货币”,由计算机生成的一串复杂代码组成,没有集中的发行方,它是由网络节点的计算生成,可以全世界流通与交易,交易过程中外人无法辨认用户身份信息,并且通过密钥操作,在当前的环境下,无法被破解。因为种种优点,很快就在世界范围内风靡。
[0003] 比特币网络使用的P2P网络很健壮,但比特币交易平台很脆弱,因此这些交易平台经常会遭到黑客攻击,或者遭到主管部门的关闭。日本东京的Mt.Gox在2014年2月28日正式申请破产保护,自有比特币10万枚与使用者比特币75万枚被窃,两者合计约占世界比特币总量的7%,按当时汇率估计约值4.73亿美元。同时比特币也渐渐成为毒品交易、洗钱和其他不法活动的温床。2013美国当局关闭一个名为“丝绸之路”的网站,该网站为不法分子以比特币交易搭建平台,在仅仅两年运营时间里达成价值12亿美元的比特币交易。
[0004] 近年,随着比特币使用范围扩大,已经在世界金融体系中地位越来越明显,但是比特币的特性:完全去中心化、匿名、免税、免监管,使得国家对比特币经济的监管越发难以实现。美国虽然对比特币较为友好,但美国政府也一直研究用控制法币的方式控制比特币交易,而日本为了打击洗钱活动、保护数字货币交易所的消费者权益,也陆续出台了相应的政策。

发明内容

[0005] 本发明的目的是为了解决比特币无法定位交易双方位置的难题,通过分析比特币交易地址所在国家,统计比特币在不同国家地区间的流动情况。
[0006] 本发明的一种比特币区域流向的统计方法,首先统计所有的交易所、矿池、赌博及比特币交易服务等主要的交易场所,并统计这些场所所属的国家及地区,然后搜集这些交易所的所有的钱包地址。然后根据区块链,查找某区块链中的所有的交易hash,根据该hash找到对应的具体交易信息,该信息中会包含交易双方的交易地址,根据交易地址所属的国家区域,可以分析出该交易属于哪个国家及地区的交易。
[0007] 本发明的优点在于:
[0008] (1)为监测比特币的区域流向提供一种可行的方案;
[0009] (2)本方法的工具,具有一定的实用性,具有很广泛的应用前景。

附图说明

[0010] 图1是本发明的方法流程图;

具体实施方式

[0011] 下面将结合附图和实施例对本发明作进一步的详细说明。
[0012] 本发明是一种比特币区域流向的统计方法,应用于分析不同区域比特币的流向,主要包括交易所信息统计、交易所的钱包中地址统计、区块地址的统计、比特币流向统计。
[0013] (一)交易所信息统计
[0014] 与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。由于比特币的特殊性,对很多用户来说,完全无法理解,甚至有些用户认为比特币不如Q币,所以比特币的使用门槛比较高,对于大多数普通用户,最好的使用方法是通过代理机构:交易所(其它如矿池等)。
[0015] 随着比特币价格从诞生到现在的一路飙升,许多不法分子已经开始做起了比特币的“生意”。近年来,通过攻击比特币用户的电脑来诈骗获得比特币的案件时有发生,就算可以躲避钓鱼软件的诈骗,比特币的私钥安全性也越来越受到重视,而交易所相对能提供更好更方便的交易平台。
[0016] (二)钱包地址统计
[0017] 比特币地址是大约33位长的、由字母和数字构成的一串字符,总是由1或者3开头,比特币地址和私钥是成对出现的,他们的关系就像银行卡号和密码。比特币地址就像银行卡号一样用来记录你在该地址上存有多少比特币。你可以随意的生成比特币地址来存放比特币。每个比特币地址在生成时,都会有一个相对应的该地址的私钥被生成出来。这个私钥可以证明你对该地址上的比特币具有所有权。可以简单的把比特币地址理解成为银行卡号,该地址的私钥理解成为所对应银行卡号的密码。只有你在知道银行密码的情况下才能使用银行卡号上的钱。一般来说私钥是一个256bits的数,这个长度对于大多数用户是难以记忆的,并且,一个用户可能会有多个地址,每个地址的私钥也许完全不同,一个钱包可以包含很多个地址,所以,使用钱包,则可以一次管理多个地址,同时,可以通过附加其它方式,增加私钥的安全性。而且只要地址发生了交易,就会被记录在区域链上。
[0018] 交易所的用户,只要通过钱包就可以绑定多个地址,而这个钱包中的地址都逻辑上归该用户。
[0019] (三)区块地址统计
[0020] 区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链格式作为一种使数据库安全而不需要行政机构的授信的解决方案首先被应用于比特币。
[0021] 每一次被确认的交易都被记录在这个区块链中,所以可以通过查询所有的区块,查找到所有的交易记录,统计所有的交易记录,就可以收集所有的交易量。
[0022] 因为每个区块都有一个时间,这样就可以统计一定时间内的交易量。
[0023] (四)比特币流向统计
[0024] 因为交易所有区域的分别,所以属于不同交易所的用户进行交易时,使用的钱包地址会记录在区块中,此时,通过记录属于不同区域交易所钱包地址间的比特币交易,可以统计出不同区域间的比特币流向。
[0025] 实施例:
[0026] 本发明的一种比特币区域流向的统计方法,流程如图1所示,包括以下几个步骤:
[0027] 步骤一:确定统计范围;
[0028] 根据需要统计比特币的区域及时间范围,确定访问的区块id范围。
[0029] 步骤二:访问其中一个区块;
[0030] 选择一个要访问的区块的id,进行访问。
[0031] 步骤三:选取该id的所有交易的hash值;
[0032] 通过区块id可以获取该区块内所有的交易hash值,该hash值记录了所有该区块涉及的交易hash值。
[0033] 步骤四:查找下一个区块id
[0034] 当遍历完上一个区块id后,选择下一个区块id,继续访问该id所对应的所有交易hash。
[0035] 步骤五:确定是否输出为需要的区域
[0036] 在某个交易hash中的所有输出地址,若是某一个区域交易所的钱包地址,则该交易hash有用,进入步骤九,否则,进入步骤六。
[0037] 步骤六:获取所有输出地址
[0038] 获取某个交易hash中的所有输出地址。
[0039] 步骤七:判断是否有地址属于某个区域的交易所,是,则转入步骤八,否,则返回步骤四。
[0040] 步骤八:获取该输出地址的交易金额;
[0041] 步骤九:获取所有输入地址作为输入
[0042] 获取某个交易hash中的所有输入地址。
[0043] 步骤十:遍历所有输入地址
[0044] 步骤十一:判断是否有地址属于某个区域的交易所;
[0045] 查找该地址是否是某个交易所的钱包地址,如果是,转入步骤十六,否则,转入步骤十二。
[0046] 步骤十二:获取所有地址的hash值
[0047] 根据输入地址,可以找到所有输入地址的上一次交易的hash值,记录该hash值。
[0048] 步骤十三:遍历所有hash
[0049] 根据已记录的hash值,遍历所有hash值。
[0050] 步骤十四:获取所有hash的输入地址作为输入
[0051] 遍历所有hash,记录所有hash值对应的输入地址。
[0052] 步骤十五:是否需要继续
[0053] 因为循环多次之后的输入地址数量巨大,所有该循环需要确定一定的范围,若超出范围,则继续下一个区块,进入步骤四,否则,进入步骤十。
[0054] 步骤十六:保存该次的交易金额、交易跳数、交易时间、交易hash、交易块号及地址对应的国家或区域。
[0055] 步骤十七:判断是否继续
[0056] 是否获取了足够的信息,如果是,则返回步骤四,否则进入步骤十八;
[0057] 步骤十八:统计所有的交易金额
[0058] 根据已经记录的所有的交易金额及信息,可以统计出区域间的比特币流动金额。
[0059] 步骤十九:某区域间的比特币流向
[0060] 即得到统计出来的比特币流向数据。