虚拟货币具有去中心化的特性,理论上不存在被盗的可能性,但无数的事实告诉我们,只要有了交易,黑客就有无数种方法可以盗取虚拟货币,不一定非要破解密码。就在本周,区块链初创公司MonoXFinance表示,一名黑客利用用于起草“智能合约”的软件漏洞窃取了3100万美元。该公司使用名为MonoX的去中心化金融协议,交易双方通过名为“Mono”的代币进行交易。大致流程是:检查兑换参数是否正常计算应输入输出的代币数量和代币兑换以上次价格执行兑换操作,将新代币写入账本。当交换不同的token时,上面的流程可以正常运行,但是当交换相同的token时,就会出现两个问题。在执行第二步时,不考虑兑换过程中交易池中代币储备的变化。当最后一步不考虑同一个token的兑换时,兑换token的价格更新操作会覆盖兑换token的更新操作。这使得黑客可以利用这个漏洞并大幅提高Mono代币的价格。攻击者不断使用Mono代币兑换Mono代币,通过反复兑换,代币价格不断上涨,最后用Mono代币兑换其他虚拟货币。在55次操作后,Mono代币被拉高到一个可怕的价格,导致MonoXFinance损失高达3100万美元。可能有人会认为黑客的技术好到可以找到协议的漏洞,窃取公司的巨额财产。其实这个漏洞是比较低级的,举个例子就可以理解了。张三和李四都是卖鸡蛋的,现在一斤鸡蛋只要5块钱。两人都觉得价格太低,商量如何提高鸡蛋的价格。因为这一带只有两个人买鸡蛋,张三想到了一个绝妙的办法。先是李四以7元一斤的价格从张三那里买了一斤鸡蛋,张三又以9元一斤的价格从李四那里买了一斤鸡蛋。炒到100元一斤。这个例子在现实中是不能成立的,因为他们两个在那边谈,鸡蛋的价值还是5块钱。它太贵了,没有人买,或者人们会寻找其他替代品,比如吃鸭蛋。最后,张三的鸡蛋只能卖到5块钱一斤。问题是计算机程序不是人,它只是执行人类事先为它编写好的操作。按照设定,李四以7元一斤的价格从张三手里买鸡蛋后,电脑程序认为张三的鸡蛋值7元,少一斤也不会买一斤,而原来量会一样多。100块钱一斤的鸡蛋没人会买,但电脑程序会照样接受,所以才闹出这么一出闹剧。应该禁止用Mono代币购买Mono代币。如果有一家公司公布公司今年的营业额高达3万亿美元,结果这家公司基本上是个空壳公司,重复操作。在会计行业,此类操作不具有商业实质,无法确认收入。但是MonoX协议允许这种操作……更让人无语的是,今年MonoX接受了3次安全审计,都没有发现这个低级漏洞。MonoX并不是唯一的受害者。10月,黑客利用IndexedFinance重新平衡指数池的方法进行攻击,损失约1600万美元。区块链分析公司Elliptic的所谓DeFi协议已经损失了120亿美元。由于底层技术不成熟,黑客很容易窃取用户资金,流动性池让不法分子洗白勒索软件和诈骗等犯罪所得。不仅如此,消耗大量算力资源进行“挖矿”活动,本质上并不会产生任何价值,“炒币”更是一项风险极高的活动。今年9月,中国人民银行等10个部门发布通知称,近期虚拟货币交易炒作行为有所抬头,扰乱经济金融秩序,滋生赌博、非法集资等违法犯罪活动。-集资、欺诈、传销和洗钱。危害人民群众财产安全。通知明确,虚拟货币兑换、虚拟货币作为中央对手方交易等虚拟货币相关业务,均属于非法金融活动,依法严禁、坚决取缔。
