比特大陆蚂蚁矿机S7

错误的交易记录给不定期的比特币客户端用户带来麻烦

He1l_Q 发布在 技术指南 3 10237


rogue-transaction-300x185

译者前言:

在新的0.8.5版本客户端还没有放出来之前,还没有遇到这个问题的朋友先看看这篇帖子吧:http://8btc.com/thread-727-1-1.html,提前打好预防针,不要到时候点击了OK然后就得重建区块链索引。经历过第一次创建索引的朋友都知道,这是一个漫长的过程。。。

但如果说已经点击了OK,正在重建区块链索引,但又急着用钱包里的比特币的话,这篇帖子对你会有所帮助:http://8btc.com/thread-733-1-1.html,基本原理就是把本地钱包导出到blockchain在线钱包上去。这个事件之后如果不打算继续用在线钱包的话,记得把在线钱包删掉。

嗯,译者自己一直都是用休眠而不是关机,所以都暂时还没遇到这个问题,幸好幸好。

 

译文:

这周开始,多个版本的比特币客户端开始失效,因为一个有错误的交易记录导致用户不能重新启动客户端软件。

这个问题最开始是美国时间周一上午,在BitcoinTalk论坛上被曝出来的。

我刚刚打开我的笔记本并打开运行Bitcoin-QT客户端,然后收到一条消息说区块链错误,我点击了OK然后界面上显示“重新索引区块,还有204周未同步”。于此同时,我的比特币也成了未确认的状态,发生了什么事?为什么会有这个消息呢?

很快也就有其他人在多台电脑上发现了同样的错误报告,这些电脑都运行着不同版本的Bitcoin-QT,Bitcoin-QT是带有标准图形用户界面的比特币客户端。重新索引所有区块并没有成功解决这个问题。同时,这个问题也影响到了Bitcoind,这是另外一个没有用户图形界面的客户端。

引起这个问题的bug,是今年2月释出第一版的0.8.0版本比特币客户端所引入的。0.8.0是一个大版本更新,这个版本中,为了解决一个安全性的问题,用来存贮区块链数据的数据库从Berkeley DB变成了LevelDB。

“这是一个我们在0.8.0版本里面,因为把数据库转换成了LevelDB,为防止数据库不一致而加入的检查代码而引入的bug,同时还有一个检查交易记录里面版本号的bug,”Gavin Andresen(他是首席开发者)说到,“一个带有错误版本号的交易记录引发了这个问题。”

Gregory Maxwell,另一名核心开发团队成员,昨天早上的时候贴出了一份针对这个问题的临时解决方案。他向CoinDesk解释道,从0.8.0版本开始,客户端会错误的存储一些带有负值版本号的交易记录在本地版本的区块链中。

这个异常举动本身是无害的,并且直到昨天为止,还没有发现任何带有负值版本号的交易出现。

然而在周一的时候,这样的交易出现了并被存储在客户端里面。因为客户端本身强制在软件开启的时候执行严格的数据库一致性检查,当发现这些(版本号为负值)的交易出现在区块链中时,它就会拒绝启动。他说到。

Andresen和Maxwell都表示他们没有发现任何明显的网络中断。Andresen指出这个问题并不会影响最大最关键的网络基础架构,比如说矿池、商户、或者兑换交易所,因为他们通常会保持比特币客户端在多个节点的持续运行。

“因为这个问题很容易被绕过(一旦你找到了指导教程),我认为这意味着这个事件主要是引起一些沮丧的情绪,而不是实际上的网络中断。”Maxwell说。

那么,那几个导致问题的交易记录是从哪里来的呢?Maxwell回溯到了几个重复使用的地址。他指向一名比特币钱包的开发者,这名开发者的软件在发送出一个交易之前初始化版本号失败了。“这个问题是很难出现的,特别是在C语言代码里面”,他补充说到那个钱包的Github页面已经下线了,“可能因为这个bug,那名开发者把钱包软件下线了”。

这个bug可能仅仅会带来一些沮丧的情绪,但它同时也说明通过简单的制造一个因为一个老bug而引起并能够搞乱系统的交易记录,就能对比特币网络发起攻击,就算这个交易记录并不是故意的或者恶意生成的。在这个事件里面,它只是一个简单的,包括了一点点不怎么被比特币客户端主动使用的错误的数据的交易记录。

“如果这个错误的数据出现在某些被客户端主动使用的位置,那么它将导致一次严重的分岔”,Maxwell说。尽管这还需要代码里面有相对应的漏洞。

核心开发团队现在正在着手解决这个问题。“一旦我们有足够的信心我们把这个bug修补好了,同时这个bug也不会通过其他方式再次出现,我们就将放出0.8.5版本的客户端,”Andresen总结到。

 

原文:http://www.coindesk.com/rogue-transaction-cripples-casual-bitcoin-software-users/

作者:Danny Bradbury

 

本文如有帮助,请捐助:15X9AMhccjqqPRkhpgraoj7fgdqymW3iSC

谢谢!

版权声明: by nc" sa 作者保留权利。文章为作者独立观点,不代表巴比特立场。

评论:3

您需要登录后才可以回复 登录|注册
    Author Image
    changjia 1184 天前

    本篇资助0.15BTC
    交易ID:9168f41477c9aed694b2bce21be5554ecc0513a437e249967f44f85043356e7

    +1
    +1
    我要点评
    外表d晚会d裳
    外表d晚会d裳 1184 天前

    男人深爱女人的十大表现

    +1
    +1
    我要点评
    长铗
    长铗 1184 天前

    错误的交易记录给不定期的比特币客户端用户带来麻烦http://t.cn/z8CslcC引起这个问题的bug,是今年2月释出第一版的0.8.0版本比特币客户端所引入的。0.8.0是一个大版本更新,这个版本中,为了解决一个安全性的问题,用来存贮区块链数据的数据库从Berkeley DB变成了LevelDB。

    +1
    +1
    我要点评