1、云南中咨海外咨询有限公司 云南 昆明 650000 2、昆明电器科学研究所技术中心 云南 昆明 650221
摘要: 比特币依靠密码学的方法加密和验证保证货币流通环节的安全,依靠整个P2P网络的分布式数据库记账,每个用户都可以查询到所有比特币的交易记录,比特币交易记录被设计成一种“匿名”的记录形式,保证了用户交易的隐私性。但匿名性特点也为犯罪分子提供了极大的便利。本文研究其去匿名化技术。
关键词:比特币 区块链 去匿名化 公私钥 复杂网络
一 、引言
2008年,中本聪发表了题为《比特币:一种点对点的电子现金系统》的论文,创建了一种基于P2P(Peer to Peer)技术的数字货币系统[1]。比特币依靠密码学的方法加密和验证保证货币流通环节的安全,并依靠存在于整个P2P网络的分布式数据库记账,使得每个用户都可以查询到所有比特币的交易记录。但是,比特币交易记录被设计成为一种“匿名”的记录形式,公开显示的只是参与交易用户的一个账户代号,称为地址(Address)。人们只能查看到地址与地址之间交易的金额、时间等信息,无法获知地址使用者的身份信息,保证了用户交易的隐私性。比特币因其匿名性的特点为犯罪分子提供了极大的便利。以比特币为中介的洗钱犯罪、军火走私、毒品交易等非法活动更加猖獗,执法部门难以对从事非法活动的人员进行识别和追踪。因此,将比特币交易去匿名化是一项具有重要意义的工作。
二 、比特币系统相关技术
比特币系统是一个基于P2P网络的、开源的、去中心化的货币交易系统。比特币的核心算法和协议都是公开的。比特币基于相互验证的去中心化的公开记账系统,每个节点通过大量的计算来竞争对公共账本的记账权,这一过程就是挖矿。整个比特币支付系统的核心就是这个公共账本,也叫做区块链。比特币的货币单位是聪(Satoshi),1聪也是目前比特币能够拆分的最小单元。由于比特币初期的汇率较低,通常人们以个为单位使用比特币,而一个比特币等于1 00,000,000聪。
区块链可以保证分布式公共账本数据的唯一性和真实性[2]。每一笔交易都按发生的时间排序,记录在在区块链中。一个区块将一段时间内的所有交易收纳起来,并将交易使用哈希散列处理,然后将每一笔交易的哈希值按一定方式合成一个交易总标识放在每个区块的头部信息中。由于比特币网络中每一个节点都会独立存储所有己经验证过的区块链数据,并且所有节点都按照同一个规则去生成或接收新的区块数据,保证了整个网络所有诚实节点区块数据的一致性,每一个诚实节点的己有区块数据都是对比特币区块链数据的一个备份。区块链数据存储方式基于密码学原理,使用了非对称数字加密、签名、哈希散列等技术来维护分布式数据库,通过特定的算法保持网络中的所有节点存储数据的同步,每一个区块都是由整个系统所有节点共同维护,每一个网络节点都存有完整的数据。
网络是一种复杂的数据结构,用于研究数据元素之间的多对多的关系,网络中的一个节点就是一个数据元素,节点之间的边表示元素之间的关系。本文利用网络的相关方法研究比特币交易网络的相关特性,使用一些复杂网络相关的理论和技术。复杂网络常见的统计指标:度、度分布、节点数、边数、聚类系数、网络密度等[3],后文将采用来刻画比特币交易网络的特点。
三 、比特币交易网的构建
对比特币交易网络进行去匿名化的分析与研究,首先需要先建立比特币的交易网络。通常网络的构建需要得到节点和边的信息,节点信息来源于区块链记录的比特币的交易地址,边的信息来源于比特币区块链记录的比特币交易单。比特币是一个开源的项目,其所有交易的数据记录均可在互联网上查询和下载。安装一个比特币钱包客户端,开始运行后,钱包软件会自动下载过往所有的交易数据,存储为压缩的十六进制形式的blk.dat文件。将这些十六进制文件结构化解析出来,再提取出每笔交易的有效信息:双方交易的地址、金额、时间等。每个区块的第一笔交易总是挖矿所得,其挖矿脚本无对应地址,只有转出脚本会对应一个转出地址。从第二笔交易开始,每个脚本对应了一个独立的地址,这类交易既有转入脚本,又有转出地址的交易称为普通交易。每一笔交易按其双方比特币地址的个数不同可以分为一对一、一对多、多对一、多对多等交易形式。将交易中的每个比特币的地址作为网络的节点,交易金额的流向作为边,就可以建立比特币的交易网络了。
按照不同的节点连接方法可以构建出两种不同的交易网络:收支交易网络和共同交易网络。因为收支交易网络与区块链中的每一笔交易的双方相对应,与比特币系统运行原理的吻合度较高,所有采用它作为分析比特币并对其交易网络去匿名化的主要方法;共同交易网络用于分析后续同一用户的地址是否频繁出现在交易单共同的输入或输出中。收支交易网络是有向图,具有3个输入地址和2个输出地址的交易单的收支交易网络的建立:输入中每个地址与输出中每个地址均建立一条边,输入中的第一个地址A与输出中的第一个地址D建立一条边,输入中的第一个地址A与输出中的第二个地址E建立一条边,输入中的第二个地址B与输出中的第一个地址D建立一条边,以此类推可以组成5个节点、6条边的有向网络。
四、 比特币交易网的去匿名化
4.1去匿名化的流程
去匿名就是将网络中匿名的节点与其真实身份相关联,找到参与交易的人,去匿名的一个较为基础的目标是将交易网络中属于同一个人的节点识别出来并归属于这个人。对比特币交易网络去匿名化的目标是将交易网络中的属于同一个人的节点(地址)识别出来,将其归属于同一个人,建立用户与其地址的一个映射关系。对大规模的比特币交易网络展开去匿名工作,首先需要研究这个网络中,属于同一个人参与交易的网络的特征,为整个交易网络进行聚类和社团划分和去匿名化提供依据。对比特币交易网络去匿名化的流程如图1所示。
图1 比特币去匿名化的流程
4.2 用户钱包与地址联系的建立
区块中每个交易包括两部分地址,分别是输入地址和输出地址。取回(Withdraw)记录对应的区块链中的输入地址(Inputs)是该Mt.Gox平台的地址,输出地址(Outputs)是该用户的地址;相反,存入(Deposit)记录中,输入地址(inputs)是该用户的地址,输出地址(Outputs)是该Mt.Gox的地址。用户钱包与地址联系分2种情况建立:取回(Withdraw)的记录;存入(Deposit)的记录。
4.3 钱包中地址数量分布的研究
大量的用户拥有的地址数量很少(10个左右),属于正常的用户使用的地址数量。拥有的地址数越多的钱包数量越少,总体成长尾分布。普通用户拥有的地址数量的上限在100个地址,超过100个地址的钱包概率几乎为0。含有大数量地址的钱包有可能是一些专用机构的钱包,例如赌博网站“中本聪骰子”,其持有大量的比特币地址。
4.4 同属地址的收支交易网络特征
同属收支交易网络是指属于同一个人的地址参与的所有交易所组成的收支交易网络。假设A、B、C是通过Mt.Gox挖掘出的属于某一用户的地址,将其作为种子节点并分别找出A、B、C参与的所有交易,再构建同属一个人的收支交易网络,这样的网络样本共有486个。随机收支交易网络是在比特币区块链的收支交易网络中随机选取若干个地址作为种子节点(每个网络种子节点的数量分布与同属网络中种子节点的数量分布相同),用同样的方法找到这些地址关联的所有交易记录并组成随机网络,这样的网络样本共有500个。
Mt.Gox记录中的用户形成的交易网络规模较小,而随机网络的规模总体较大,同时同一用户的交易网络的节点数分布较为平滑,而随机网络震荡较大;Mt.Gox记录中的用户形成的交易网络规模较小,而随机网络的规模总体较大;与节点数分布相似,同属网络的边数分布较为平滑,而随机网络震荡较大;同属网络的聚类系集中分布在0.1~0.3之间,总体大于随机网络的聚类分布;属于同一个用户的比特币地址进行交易组成的网络之间的联系更为紧密;同属网络的网络密度比随机网络的网络密度分布普遍更大。
4.5 同属地址的共同交易网络特征
同属网络与随机网络的节点数总体分布相近,同一用户的网络节点数分布更为平滑;同属网络与随机网络的边数总体分布相近;同属网络的聚类系数大多在0.5~0.9之间,而随机共同交易网络的聚类系数大多在0.8~0.95之间。同属网络的网络密度集中于0.05附近,而随机共同交易网络的网络密度大多分布在0~0.2之间。
4.6 聚类分析
采用内平方和(WSS,Within Sum of Squares)作为判定距离的指标,首先计算每个簇中所有点到中心点的距离平方,再将所有簇的各节点到中心点的距离平方求和作为这一模型的总距离。输入样本的特征为输入地址、输出地址、交易额、交易时间。当k从20增加到50时,下降较明显,当k大于50小于70时距离略有上升,当k>70后,距离虽然开始下降,但变化已不再明显。因此作为最优选择应使用k为50作为最佳模型。使用k-means方法聚类后,联接紧密的地址会进入到一个簇中,通过对比相同时间范围内从Mt.Gox记录的数据中挖掘出来的用户与地址的对应关系,发现某些属于同一个用户的地址处在同一个簇中。
五、 结语
本文基于复杂网络的理论,针对比特币交易网这一典型的复杂网络实例,进行了一定程度的去匿名化和统计性研究。使用了比特币区块链记录的交易数据和一个比特币交易平台的部分用户存取兑换数据这两个数据集,对比特币的去匿名化给出了总体的流程。从复杂网络视角对网络的各种特征进行了定性分析,发现一些属于同一用户的比特币交易网络的特点,为后续对整体交易网络的聚类分析和去匿名化提供了参考和依据。
参考文献:
Nakamoto S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].https://bitcoin.org//bitcoin.pdf,2009.
黎江,何京汉.区块链的“进击”-区块链、分布式账本技术解读[J].金融电子化,2016(3):55-58.
王林,戴冠中.复杂网络的度分布研究[J].西北工业大学学报,2006,24(4):405.409.
4/4