请转载至各大中文网站, 作者: bitcointalk.org jl2012, 捐款地址: 1CiZPrEJdN4FJcqdLdgVLzT8tgCXxT5ion
原文为英文, 也是我写的:
https://bitcointalksearch.org/topic/explain-the-gox-transaction-malleability-issue-like-you-are-five-458386假设我们有一所"比特币银行", 人们可以在银行开设账户, 并得到账号 (比特币地址), 可以往账户存款, 也可以用支票转账
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用了一个错误的方法监察账户, 出事了就指控比特币银行