今年暑期热映的电影《孤注一掷》,想必其中有一个片段令观众印象深刻。在诈骗团伙收到大额转账后,“水房”(诈骗团伙的洗钱机构)以最快速度将大金额诈骗赃款分账,逐级转账打到“冰箱”(暂存赃款的银行卡)中,通过线下取现、网络支付等多种方式“跑分”(洗钱),片段中“Q仔”(取钱的骑手)拿着银行卡赶往各地自助取款机提现就是手段之一,最终将现金统一拿到大本营。以上眼花缭乱的行动背后,归根结底的目的便是两个字“洗钱”。“洗钱”等违法犯罪活动依赖的一个最重要的特点,便是资金的匿名性。电影中,犯罪分子通过现金这一非信息化的手段来完成资产的转移,以提升资金流追溯难度。而比特币作为最大的去中心化加密货币,由于其具有显著的匿名性,也常用于“洗钱”等违法犯罪活动。知其然,更知其所以然;为杜绝“洗钱”等违法犯罪活动,更清晰地了解和认识加密货币这把“双刃剑”,本文将对比特币的匿名性进行讨论。
1
比特币匿名性
生成比特币地址的算法如下图所示:
第一步,随机生成一个256位私钥,确保其足够复杂,以防止被猜测或破解
第二步,使用椭圆曲线加密算法(ECDSA-SECP256k1)计算私钥所对应的非压缩公钥
第三步,计算公钥的SHA-256哈希值
第四步,计算上一步哈希值的RIPEMD-160哈希值
第五步,在上一步结果之间加入地址版本号(如比特币主网版本号"0x00")
第六步,计算上一步结果的SHA-256哈希值
第七步,再次计算上一步结果的SHA-256哈希值
第八步,取上一步结果的前4个字节(8位十六进制数),把这4个字节加在第五步结果的后面,作为校验(这就是比特币地址的16进制形态)
第九步,用Base58表示法变换十六进制地址(即最常见的比特币地址形态)
注意到,比特币中的三个重要概念:私钥、公钥、地址紧密相关,其中公钥和地址都从私钥生成而来。公钥是从私钥通过椭圆曲线数字签名算法(ECDSA)派生出的。与私钥不同,公钥可以安全地公开,用于验证从相应私钥签名的交易。公钥本身是一个较长的数字序列,通常会进行压缩以便于处理。地址是从公钥派生的,通过一系列的加密散列函数(如SHA-256和RIPEMD-160)和编码过程(如Base58编码)而得到。地址可以看作是公钥的“加密”版本,用于比特币网络中的交易。下图是采用Base58编码表示的,一个常见比特币交易中所涉及到的地址。
比特币的匿名性主要来源于以下两方面:
1. 由于哈希函数不可逆特性和比特币地址生成过程,无法通过比特币地址还原交易者的身份
2. 由于比特币地址基于随机产生的私钥而生成,一个人可以拥有无数个比特币交易地址
对比比特币的匿名性,传统现金交易的匿名性具有以下特点:
· 优点:现金交易不留下电子记录,因此在交易双方之外,很难通过技术手段追踪到交易详情(不考虑监控、摄像头等非计算机领域技术手段);
· 优点:进行现金交易不需要依赖任何技术基础设施(如互联网连接),具有更广的场景适用性;
· 缺点:现金交易需要双方在物理上相遇并进行转移现金,这在大额交易或跨境交易中可能不安全;
· 缺点:与数字货币不同,现金容易遗失、被盗或受到物理损害;
对比比特币的匿名性,中心化银行交易的匿名性具有以下特点:
· 优点:银行交易记录只有银行和司法部门能够看到,不会对外公开;
· 缺点:进行银行交易需要泄露个人身份信息,如姓名、电话号码等,对于中心化机构的匿名性较弱;
2
破坏比特币的匿名性——账户关联
什么情况下可能会破坏比特币的匿名性?如果每次收款都创建新的公私钥对,每次使用的地址都不一样,是否就匿名性就提高了呢?我们通过以下交易示例来分析。
表面上看,每次交易可以更换公私钥对,从而每次都是新的账户,具有很强的匿名性。但实际上,这些账户在一定情况下,是可以被关联起来的。例如对于上述交易,由于区块链中记录的交易可以对所有人公开,因此攻击者可以看到该交易有2个输入和两个输出。因为该该交易发起者同时拥有这两个私钥的地址,所以Address 1和Address 2很可能是同一个人所持有的账户。而在输出的两个地址中,根据比特币交易的特点,很有可能有一个地址是属于找零钱的地址。
若结合比特币交易中的金额信息,则可以进一步对账户关联进行推测。Address 4很大概率是交易发起者的地址,用于找零钱。Address 3不是交易发起者的地址,因为为了完成这笔交易,交易发起者使用两个地址才完成此次转账。因此Address 3为交易接收者的地址,Address 1、Address 2、Address 4为交易发起者的三个地址。
从以上示例中我们可以看出,通过一笔交易,就能完成三个比特币账户关联的分析。
3
破坏匿名性——与实体接触
任何使得BTC和实体世界中关联的操作都有可能泄露用户真实身份,其中最常见的就是资金的转入转出。要得到BTC,如果需要用实体世界的货币(如美元、人民币)购买,就会与实体世界进行交互。想要将BTC转为实体世界中的货币,也同样需要与实体世界交互。
在很多国家都设有反洗钱法。防范不法分子采用BTC进行洗钱的方法其实很简单,只需要盯住资金转入转出链即可。对于大额资金转入BTC或将大量BTC转为现实货币,很难逃避司法金融机构的监管。
我国已经引入了对大额交易进行监管的制度。中国人民银行《人民币大额和可疑支付交易报告管理办法》《金融机构大额和可疑外汇资金交易报告管理办法》设定了“大额”和“可疑交易”的标准,以人民币为例,以下三种情形下属于人民币大额交易:法人、其他组织和个体工商户之间金额100万元以上的单笔转账支付;金额20万元以上的单笔现金收付,包括现金缴存、现金支取和现金汇款、现金汇票、现金本票解付;个人银行结算账户之间以及个人银行结算账户与单位银行结算账户之间金额20万元以上的款项划转等交易。
4
提升比特币的匿名性
混币服务(Coin Mixing):如第二节所述,比特币账户之间存在关联,由于区块链上交易对所有网络参与者公开,因此比特币的匿名性可能从参与交易的账户之间的关联中被攻破。一种提升比特币匿名性的方法是混币服务,其可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现提高匿名性。
洋葱路由(The Onion Router,Tor):洋葱路由网络在访问过程中,用户的网络浏览过程会随机的在不同的电脑间传递,而这个网络由数以千万的志愿者用自己的电脑来作为其中的一个节点,每经过一个节点便会对数据进行一次加密。因此没人能追踪到网络流量从何开始,又何处结束。使用洋葱路由网络,可以防止交易者的IP被溯源,从而提高比特币使用者的匿名性。
5
总结
2008年,中本聪所发布的比特币白皮书标志着区块链的开端;2014年以太坊问世,赋予区块链除加密货币以外的执行智能合约的能力;2019年,习近平总书记在中央政治局集体学习时指出,要把区块链作为核心技术自主创新的重要突破口,加快推动区块链技术和产业创新发展。区块链在越来越多的领域得到蓬勃发展,如金融服务、供应链管理、身份验证和版权保护等,使区块链的应用逐渐从数字货币转向更广泛的领域。
正如任何新生事物一样,区块链在给世界带来经济和社会效益的同时,也警醒着人们注意防范其可能带来的负面影响。本文所讨论的比特币匿名性,便是区块链系统的一个重要特点。利用好区块链匿名性等优势,发挥好监管机制的作用打击区块链“洗钱”等扰乱金融秩序的行为,方能更好地让区块链技术造福人们,造福社会。
公众号“赛博新经济”由清华大学互联网研究小组维护,长按识别二维码,欢迎关注公众号!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...