![]()
虽然此次的MtGox事件所引起的余波在慢慢平息,但我们有必要搞清楚在MtGox身上究竟发生了什么,且其它交易所应当如何防范MtGox所犯下的错误。Bitcointalk上面的网友jl2012对此事件进行了详细的解读。
通俗的解释假设我们有一所”比特币银行”, 人们可以在银行开设账户, 并得到账号 (比特币地址), 可以往账户存款, 也可以用支票转账。Gox在比特币银行开设很多账户, 因此有很多不同账号。
![]()
对于每一位Gox客户, Gox都给一个账号. 因此Gox只要监察所有银行账户, 就可以知道哪位客户给他们存了款, 也就可以在对应的Gox账户入账. 但请记着, 上述的银行账户都是属于Gox的, 因此客户一旦存款到这些银行账户, 钱就是Gox全权控制. 说到这里, 相信大家都不陌生。
当有客户向Gox发出提现要求, Gox就会选择一个银行账户开支票; Gox为了证明自己已发出支票, 他们在发出前, 给支票拍照存档. 正常情况下, 客户拿着支票到比特币银行, 就可以兑现, 同时相关的Gox银行账户就被清空了。
但因为Gox的一些人为错误, 某些支票带有一些污渍. 这些污渍其实无损支票的有效性, 但比特币银行的出纳员 (矿场主人) 看着不喜欢, 所以这些支票很难兑现 (但我必须强调这些支票也是有效的). 因此有些客户自行清理这些污渍, 然后就拿到钱了, 相关的Gox银行账户也被清空。
![]()
比特币银行是很公开的, 他们会把确认了的所有有效支票的照片公布. Gox的会计把自己的支票照片和比特币银行公布的照片一一比对. 但因为支票送到比特币银行时已被清理干净, Gox就找不到相同的纪录, 他们也就误以为相关的银行账户仍然是有钱的. 当另一客户要求提现, Gox便尝试用这些实际上已被清空的银行账户发出支票. 结果比特币银行当然不会接受这空头支票, 也就是这几星期很多客户投诉比特币提现不到账的原因。
更麻烦的是, 有些客户看中了Gox的漏洞, 在清理支票并拿到钱后, 仍然向Gox投诉支票不到账. 由于Gox自己账目混乱, 又在比特币银行的纪录中找不到自己发出的支票的照片, 便把钱退回客户的Gox账户. 因此客户便白赚了, 损失的是Gox. 必须强调比特币银行绝对没有损失, 即没有所谓”双花” (double-spending)。
现在Gox就指控比特币银行, 指他们不应接受这种经过清理的支票. 他们甚至指所有交易所都面对相同问题。
Gox现在提出, 人们不应比对支票照片, 而是比对支票号码, 因为支票号码是独一无二而且不能修改. 他们要求比特币银行同意这做法, 然后才会重新开放提现。
遗留的老问题首先, 这问题3年前已经发现, 一直在解决中, 但绝不是一个紧急问题. 现实中的支票在某些情况下, 改动了也无损有效性 (例如沾上少许污渍), 但改动了付款人/收款人/金额等资料就会令支票无效。 比特币交易也是一样。
那么, 其它交易所, 以至标准比特币客户端 (bitcoin-qt) 是如何处理这问题? 他们根本不会比对照片, 而是直接监察银行账户结余. 因此无论支票变成什么样子也没所谓。
结论: Gox用了一个错误的方法监察账户, 出事了就指控比特币银行。——–上述解释部分由网友jl2012完成
造成的影响其实,MtGox的事故源于比特币社区在2011年就发现的一个问题: Transaction mutability。MtGox自己的钱包客户端在进行提现的时候并没有妥善的解决这个问题,所以酿成了现在的事故。
在问题公开后,有黑客试图利用该手段来攻击其他交易所,比如bitstamp等,这引起了社区的警惕。受此影响,bitstamp暂停了比特币提现并开始检查内部系统的健康性。国内的主要交易所对此事故非常重视,Btcc、okcoin和huobi也发布公告表示比特币提现不受影响。
黑客能做什么按照比特币核心开发者Gmaxwell的说法,Transaction mutability漏洞并不会对比特币协议的安全性造成任何影响,受到影响的只是比特币交易所。
![]()
在该漏洞被广泛传播后,有很多黑客试图重复该攻击行为。甚至有黑客为制造市场恐慌而大面积发送1satoshi单位的比特币到大量地址。那么,黑客能造成做什么呢?
1黑客可以暂时的造成比特币一些地址出现交易未确认的情况,但是并不能偷取比特币。
2黑客可以利用漏洞在某些安全性不强的交易所(比如Mtgox)进行二次提币,但现在全球交易所对此事都盯的很紧,所以黑客其实无机可乘。
注意,黑客不能利用该漏洞偷币或者造成双花。黑客这种对交易所的攻击行为在以前就有,但是由于范围很小而没有引起社区足够的重视。这次MtGox事件反而促使比特币社区开始重新思考并解决这个历史遗留的看起来似乎不重要的问题。
社区在做什么尽管该漏洞实际对比特币造成的影响不大,但比特币核心开发者正在努力增加比特币协议的安全性。在github上面,Gmaxwell和Gavin等主要开发者正在讨论如何处理未被确认的交易,以保证攻击可无机可乘。
在github中的bitcoin issue上同学们可以看到现在的进度。比特币是一个自组织的DAC系统,在不断的自我升级和进化中该系统会逐渐趋于完美。
http://t.cn/8FV13Fk 推广分红,这个是你们给的门票钱,O(∩_∩)O~就当帮个小忙啦!过日子都不容易啊! |