存钱罐发生了这样不幸的事情,所有人都很难过,我希望在这里能把整件事情的详细经过写下来,一方面让用户知道事情真相,另一方面希望我们的教训可以给后来人一些启示,避免再犯和我们一样的错误,同时在这里我将对大家的几个疑问做出回答。
整件事情的详细经过
比特币存钱罐在2014年04月11日上线,在2014年6月30日之前运作一切正常,但在2014年6月30日这天发生了一件不幸的事:在这天我们的服务器被入侵了。黑客于2014年6月30日10点41分入侵了我们的Linode账号,并修改了我们Linode账号的密码。在同一天11点54分12秒,黑客修改了比特币存钱罐服务器的root密码,从而入侵了服务器并且获得了服务器的控制和管理权限(被入侵时服务器的ip地址是:106.186.113.47)。
最近我们联系Linode客服调取了6月30日当天Linode账号的登录日志,以下这些ip地址在当天登录了我们的Linode账号:133.242.145.110(日本)、198.2.204.59(美国)、74.126.180.186(美国)。此后黑客又于2014年7月2日18:59至21:20期间通过ip地址:103.242.11.92(该ip地址属于北京云动力网络科技有限公司)登录比特币存钱罐的服务器。现在我们有足够的理由相信黑客在这两次登录服务器期间下载了服务器上的比特币钱包文件wallet.dat。
以上信息有我的微博可以做证,微博地址:
http://weibo.com/1641514181/BbnZFgjhB可惜当时还是很没有经验,以为简单修复之后就没事了,没想到这次入侵为后面的比特币被盗留下了重要的安全隐患。在7月8日也就是服务器迁移完成之后,我发了一条悬赏微博,并自己做了转发,微博地址:
http://weibo.com/1641514181/BcBK1ykVF 之所以会提到微博中的邮箱地址:
[email protected] 是因为黑客在我的个人邮箱里面设置了转发,只要我收到邮件都会自动转到这个地址,可以方便黑客破解我在别的网站的账号。黑客不仅仅是入侵了服务器,设置了邮件转发,下载了钱包文件wallet.dat,还修改了MySQL的数据,我们后来发现有些用户的取款地址也被修改。现在想来黑客手段十分高超,而且十分狡猾。
我们发现黑客入侵服务器之后,采取了一些措施来应对,这些措施包括:1.采用Lastpass管理密码,启用复杂的密码管理策略;2.Linode账号启用谷歌二次验证,防止再次被入侵;3.迁移服务器,启用新的服务器环境。但是当时由于没有经验,我们没有启用新钱包文件,没有让每个用户启用新的存币地址,这是后来比特币被盗走的主要原因。
做完这些事情之后,很长一段时间内相安无事,于是我们也开始放松了警惕。但是我们低估了黑客的能力,黑客十分狡猾,在潜伏了3个月没有动静之后,从2014年10月开始陆续盗取存钱罐的比特币,刚开始盗币的时候额度不大,分成几笔小额来盗取,不容易被发现。
黑客盗取存钱罐比特币的原理是这样的:
用户在存钱罐存比特币的时候,我们先检查用户是否有把币转到服务器上的比特币热钱包,如果有就程序自动在数据库里入账。然后我们在服务器有每分钟运行一次的计划任务,这个计划任务的作用是把服务器热钱包上的币保留一小部分,把大部分币都转到冷钱包。理论上这样做是安全的,但是由于服务器被入侵,钱包文件wallet.dat被下载,黑客可以每秒钟执行一次转币的操作,抢在我们转币到冷钱包之前把比特币转走,这就是比特币被盗的原理。
那么为什么比特币被盗了这么久我们没有发现?除了前面提到的一开始是小额多次盗币不容易发现之外,还有一个原因是:存钱罐经常会举办一些促进存币拉新人的活动,所以会有一些短期的时间存币量很大,由于我们预测在活动结束后用户会把部分比特币取走,所以这部分币就没有充值到各大交易平台用来赚币,如果对这部分币没有对账,就不容易发现丢失。举个例子:我们11月份的时候举办过一次存币活动,当时我们的存币量最高峰时达到6000多BTC,其中3000多BTC在各个平台赚币,另外3000多BTC是在冷钱包里等待用户取款,因为我们预测活动结束后一大部分用户会取币。如果这个期间被盗了300BTC,而我们又没有及时对账,就不一定能发现。如此反复几次之后,盗币数量就会逐渐扩大,直到最后盗了几次大额的我们发现为止。在这个过程中我们存在的问题是没有及时对账。
发现比特币被盗之后为什么过了一个月多月才公开?在发现比特币被盗之前,有一个投资机构决定要投资两百万给我们,支持我们的发展,当时已经在走流程了,如果顺利再过一个月资金就能到账。在发现比特币被盗之后,出于对投资人负责的原因,我们把比特币被盗的事情告诉了投资人,希望他们取消投资。此举得到了投资人的认可,投资人认为我没有欺骗他们,决定帮我们做些事情,于是就帮我们请了资深律师。所以从发现被盗之后,我们全程都有律师在陪同解决问题。当时我们开会商量解决问题的方式,认为当下的解决方式是赚币还给用户,同时找黑客归还比特币。当时我们不相信这件事可以通过报警的方式来解决,因为没有通过警察找回比特币的先例。所以我们当时找了一个有经验的网络安全顾问和我们一起找黑客,后来我们找到了一个在山东枣庄的一个嫌疑人,我们在1月底的时候带上律师一共3个人去了枣庄,想当面要求他交出比特币,但是不幸的是到了枣庄见面之后发现这个嫌疑人不是这件事情的真正黑客,同时也认为这件事不是凭我们的力量可以解决的。所以后来我们决定要报警,争取立案成功,并且认为应该要对用户公开,在经过律师和投资人的努力之后,我们终于联系上公安局网安负责破案的警官,得到可以立案的答复,所以决定公开此事。这段期间,我们认为我们应该继续赚币,所以这段期间我们做了几件事:1.通过更多的活动吸引存币,因为只要有存币我们就可以通过跨平台搬砖来赚更多的币;2.转变存钱罐的模式变成山寨币交易平台,靠交易收取手续费来还币,在春节之前这件事情已经完成了一半;3.做好Bcoin期货交易平台,通过交易收取手续费来还币;所以这段期间我们选择继续保持经营,这个方式是具有巨大争议的。
在这件事情公开之后,用户不信任我们,认为我们是监守自盗,这可以理解,因为我们上一篇声明解释很不详细,用户疑问主要集中在:为什么发现被盗之后一个月才报警?币都是在平台搬砖吗,为什么会被盗光?炒期货爆仓这件事是否属实?前面两个问题都在这篇声明里面有解释,至于炒期货爆仓这件事,我也在这里解释一下:
了解我的人知道我的性格是比较稳的,不可能拿3000BTC去炒期货。由于我们在做Bcoin期货交易平台,所以我需要去玩一些期货,否则做不出用户想要的产品。但是我去这些期货交易平台交易只是用了很少的保证金,主要是为了了解期货规则,同时我也要求我们内部相关的同事都用比较少的保证金去期货平台交易。就算是很小的仓位,我操作也是极力避免风险,从来没有爆过仓,而且最终的结果我的仓位应该是盈利的。结合前面我们对盗币过程的说明,炒期货导致3000BTC爆仓的说法就不成立了。
赔偿方案:
从整件事情的过程来看,造成这样的后果,没有保管好用户的比特币我的责任重大,所以我计划全额赔偿用户的损失。但是由于3000BTC金额巨大,我无法一次性全部赔偿完,所以我希望采用史玉柱式的赔偿方案:史玉柱曾经在盖巨人大厦时资金链断裂,导致欠债2个多亿,后来通过再次创业的方式把债务还清。我计划这么做:首先卖掉目前能支配的各种资产来凑得首期赔偿款,先赔偿用户的一部分损失,剩余赔偿款我将通过继续创业赚钱的方式来赔偿给大家,恳请大家给我一些时间。
由于比特币未来的价格不确定性很高,如果比特币价格暴涨我将没有能力还款,在这个方案公布的时候,比特币的市价是1470元/BTC,我希望能够锁定1500元/BTC的价格来赔偿,不管将来币价是上涨还是下跌,每1个BTC我都赔偿1500元。被盗比特币总量是3000多BTC,赔偿总金额将超过450万元。
赔偿大致会以这几个阶段完成:
1. 处理现在能支配的各种资产,凑得首期赔偿款,按比例赔偿给用户;
2. 春节结束后立即立案追偿被盗的比特币,如果比特币被追回,将立即按比例赔偿给用户;
3. 继续创业,赚到的钱按比例赔偿给用户。
关于我的赚钱能力,虽然我不能承诺一年赚多少钱,但有两件事可以佐证:一是2010-2011年我做为主要成员开发Facebook的APP,我个人分到上百万元的利润;第二件事是做比特币一年多,我个人投资所赚的加上存钱罐的收入也有上百万收入,如果不是胡乱投资还可以剩下不少钱,光Bcoin期货交易平台投资金额就为大几十万。
最近在看一本叫《活法》的书,很受启发,我学到一点就是只要相信自己的潜力,一切皆有可能!追回被盗的比特币和赔偿用户几百万损失看上去很难实现,但我相信只要尽最大的努力并且相信自己发挥潜能,这两件事就有可能成真。
虽然创业做比特币一年,经历了很多坎坷和磨难,但依然相信比特币未来是美好的,祝愿大家和比特币一样有一个美好的未来!