当前位置:首页 > 比特币新闻 > 正文

丢失30000美元比特币,半年后竟奇迹般找回

来源: 互联网时间:2017-10-31 07:53:00

FINAL01_02

2016年1月4日: 7.4 BTC = 3000美元

2016年1月份的时候,我花了3000美元购买了7.4个比特币。当时觉得做这件事似乎是非常值得的。那个时候,我在区块链未来实验室担任研究室主任,我想从亲自体验比特币开始入手。我不知道这笔交易之后会给我带来那么多的麻烦。

我的比特币实验很有意思,使用这种加密货币可以非常容易地购买到东西。我通过airBitz应用买到了星巴克。我用Purse.io在亚马逊上购置了一个无线安全门铃(带摄像头)。我还用比特币在洛杉矶的漫画店购买了图形小说。

到了16年十一月份时,比特币的价格几乎翻了一番,几乎每天它都会有增长。我随意购买的一些比特币,开始变成一些真正的钱。在一段时间内,我把自己的比特币私钥放在了一个在线钱包上,但我想把它们转移到一个更安全的地方。很多在线钱包服务会保留客户的比特币私钥,这意味着这些在线钱包用户的账户,极易受黑客、骗子(还记得2014年Mt. Gox丢失客户85万比特币的事吗?)或者政府(例如 BTC-e交易所在八月份时遭遇美国政府的打击)的影响。

我咨询了一些比特币专家,他们都告诉我,保护比特币最安全的方式是使用一种“硬件钱包”。这种小设备,实际上就是存储你的私钥的USB内存棒,其允许你授权交易,但不会把私钥暴露给互联网。我选择了一种名为Trezor的硬件钱包(捷克语意为“安全”),在11月22日那天,我花了100美元在亚马逊上购置了一台Trezor硬件钱包(同样是通过Purse.io)。

在钱包送达之后,我把它插入了我的计算机,然后我便访问了Trezor官网,一步一步地进行设置。这个小装置配有一个单色的屏幕,打开后显示一个挂锁一样的图标。按照Trezor网站的提醒,我记下了钱包随机生成的24个单词。其中包含“aware”、“move”、“fashion”、“bitter”等单词。我把它们记在了一张桔黄色的纸上。接下来,我被提示创建一个 PIN码。我把它也写(我选择了一些我熟悉的数字,并且非常容易记,)到了同一张纸上。

Trezor网站解释说,这24个单词是我的恢复词,它们可以用于生成我的比特币私钥。如果我丢失了我的Trezor钱包,或者它停止运作了,我可以把这24个单词输入到一个新的Trezor钱包,或者其他使用相同密钥生成算法的硬件或在线钱包。也就是说,保证这张纸的安全是非常重要的,因为任何人都可以用它来窃取我的7.4个比特币。我把我的比特币从在线钱包转移到了Trezor钱包,然后把钱包和写有助记词的黄色纸张,放到了我家庭办公室的书桌抽屉里。我的计划是把它们放到更安全的地方。假期过后,我就要做这件事了。

错误:2017年3月16日 :7.4 BTC = 8799美元

当天早上6点30分。我14岁的女儿Jane还在伦敦念书,我的大女儿Sarina则是在科罗拉多上大学。我和我妻子Carla准备动身前往机场,然后去东京度假。为了找一个手机充电器,我翻了我的书桌抽屉,我看到了助记词和PIN码。我该怎么办?当时我想,如果我的航班出了事,我希望我的女儿能够拿到这些比特币。自从我买了这些比特币以来,它们的价值已增长了近3倍,我相信,它们某一天能够价值5万美元。我拿起笔,然后在纸上写到:

“Jane,如果发生了什么事,把这张纸拿给Cory。他会知道怎么处理它的。爱你的爸爸”

(“Cory” 是我的朋友,他的名字是Cory Doctorow,他也是我的 Boing Boing网站的商业合伙人。他不是一名比特币爱好者,但我知道,他能用这些助记词生成比特币私钥。)

我把这张纸放到了Jane的卧室,就放在了她的枕头之下,然后就去了机场。

垃圾:2017年4月4日 7.4 BTC = 8,384 美元

3月24日,我们从东京返回,直到4月4日那天,我才想起那张桔黄色的纸,当时我记得我把它放在了Jane的枕头下。真好笑,我想。这一周以来,她从来没和我谈过这件事。

我走进她的房间,翻了翻她的枕头。那里什么都没有,我看了下她的床,拖出了储蓄盒,并用我的手机来照明,以便更好地搜查。

“Carla?”我问道,“你看到我那张写有比特币密码的桔黄色纸张了吗?我搜了下Jane的房间,没有看到它。”

“或许Jane把它放进她的书桌了吧,”她说。 Jane当时在学校,但我还是发短信问了她这件事。她说自己没有看到过这张黄色的纸。

“等等,” Carla说,“我们走的时候,清洁人员把房子打扫干净了。我联系下他们”

Carla呼叫了我们经常使用的清洁服务公司,并联系到了当天打扫房间的阿姨。她告诉Carla,她确实记得自己看到过那张桔黄色的纸张。

“它在哪里?” Carla问道。

“我把它扔掉了。”

我知道垃圾已被收集走了,但我还是戴上了一副手套,不管是垃圾箱还是回收箱,我都翻了个遍。但除了鸡蛋盒,意大利浓咖啡研磨以及亚马逊盒子以外,我并没有看到什么桔黄色的纸。或许它正在洛杉矶的某个垃圾填埋场。

Carla问我,丢了这张纸是不是什么大事。

“也不是啦,”我说,“只是有些麻烦,仅此而已。我需要把所有的比特币从Trezor钱包中转移到在线钱包,然后重新设置Trezor,生成一个新的单词列表,然后再把比特币转回去。如果我不记得我的PIN码,那就会很糟糕。但我还记得,它应该是551445。”

遗忘:2017年4月4日:7.4 BTC = 8384美元

我把Trezor钱包 插入了我的笔记本电脑,然后输入了551445 。

输入的PIN码错误。

我一定是在输入PIN码时犯了错误,我想。我又试了一次551445,这一次我注意每一个输入的数字都是正确的。

输入的PIN码错误。

哦,不。我稍微换了一个数字:554445

输入的PIN码错误。

我想,这太荒谬了。我知道这个PIN码,最近几个月来,我也输入过至少十几次(不用看那张纸)。好吧,大概是554145吧。

输入的PIN码错误。

我看到了比特币钱包的单色显示器出现了倒计时器。它告诉我需要等待几秒后才可以继续尝试,我的心开始怦怦直跳。我找到了Trezor钱包制造商的网站,了解了PIN码延迟的事,然后我看到了坏消息:每次我输入错误的PIN码,延迟就会翻倍。该网站表示:“PIN码的数字并不存储在Trezor的内存当中。这意味着如果PIN码输错,其等待时间并不会清零。小偷如果想破解PIN码,他可能要花费一生的时间。也就是说,你拥有足够的时间,把你的资金从纸钱包备份转移到一个新的设备或钱包。”

问题在于,我成为了那个尝试转移我比特币的“贼”。我感到恶心。在尝试6次PIN码未果之后,恐惧之感蔓延至我的全身,我甚至能够听到我的心跳声,我担心那7.4个比特币可能会与我永别了。

我做了一些猜测,但每一次都失败了,PIN 延时已经达到了2048秒(或约34分钟)。我打开我的台式计算器,很快就计算出,如果我猜错31次,我估计自己也就离世了(34年后)。猜错100次,就需要等待超过8*10^37年。

我把这个消息告诉了 Carla,我告诉她我记不住密码了,每次我输入一个错误的PIN码都会受到惩罚。她问我是否把 PIN码保存在了1Password应用(一个安全的密码应用)。我告诉她自己并没有这样做。当她问我为什么时,我没有回答。

我知道,在我激动的状态下,浪费宝贵的猜测机会是错误的。我的脑袋被杂乱排列的PIN码腐蚀了。我跑进了厨房,准备一顿咖喱晚餐,但除了 PIN码之外,我当时什么都没有在想。我把土豆切成了块,在心里,我把它们想象成了拼字板架上的数字。过了一会儿,一个数字突然出现在我的脑海:55144545. 就是它了!我从厨房走了出来,然后兴奋地跑到了办公室。Trezor计时器上还显示需要等待几百秒延迟。在这个等待期间,我就一直在发邮件,等做好准备后,我输入了55144545这串数字。

输入的PIN码错误。请等待4096秒后继续……

那天晚上我几乎没有睡觉。这个由数字1、4、5组成的PIN码让我无心合眼,与其说是8000美元的事在困扰着我,倒不如说是因为我过于愚蠢,丢失了纸张,然后忘记了 PIN码。我也讨厌比特币可能继续增值的想法,而且我无法访问到它们。如果我无法回忆起这个PIN码,这个Trezor钱包可能会令我的余生遭到嘲笑。

搜索:2017年4月5日:7.4 BTC = 8325美元

那天早上,我睡眼惺忪,我开始寻找一些不涉及PIN码或助记词的方法来找回我的比特币。如果我丢失了我的借记卡PIN码,我可以联系我的银行,最终我还是能够重新访问到我的资金。比特币却是不一样的。没有人拥有比特币网络。相反,世界上成千上万运行软件的计算机会检验系统的交易。任何人都可以在他们的电脑上安装比特币软件,并参与其中。比特币网络的这种去中心化性质并不是没有后果的,主要的问题就是,一旦你自己搞砸了,所有的问题也只有你自己承担了。

FINAL_02

我跑到了红迪网的/r/TREZOR社区,然后发帖求助:

请随意嘲笑我,我也是活该。我在同一张纸上写下了我的PIN码和恢复词。我曾计划把这些词刻在金属杆上,然后把它藏起来,但在那之前,我家请的清洁阿姨把这张纸当垃圾给扔掉了。现在我记不清密码了,我已经猜错了13次。我再猜一次,需要等待1个多小时,很快再猜一次就需要等待数年的时间。我现在可以做些什么吗?或者我只能和我的7.5个比特币吻别了?

大多数回复都是表示同情或者无益的。有个人说我应该接触下钱包恢复服务,他们会对加密比特币钱包进行暴力破解。我发邮件给他们,希望能够得到帮助。名为“Dave Bitcoin”的人在第二天给了我回复:

“我愿意帮助你…但对你遇到的问题,我并没有想到任何解决方案。你要么正确地猜测到你的密码,要么找到你的助记词。”

红迪论坛上,一个名为zero404cool的用户给出了有趣的回复:

“你所有的信息都仍存储在Trezor上,有人知道怎样找到这些信息,我看到过这样的例子。”

他在另一个帖子中补充道:

“保证你的 Trezor钱包的安全。不要做任何事。也没有必要尝试不同的PIN码,你可以重新拥有你所有的比特币。”

论坛的其他用户认为zero404cool说话并不靠谱,有人说他就是一个骗子,另一位则指控他在针对Trezor钱包的安全性传播“FUD(恐惧、不确定性、“怀疑)。我倾向于同意他们的意见,尤其是在看到制造商声称trezor可承受任何黑客攻击时时。其官网上提到,想要破解trezor,解锁 PIN码和关键字的最直接的方式,就是通过安装非官方的固件,而这只会影响Trezor存储的擦除。

为了得到确认,我发邮件给Trezor官方,并解释了我的困境。一位客服代表给我发了一封电子邮件,上面附上了“紧急情况指南”,但其中没有一条是适用于我的情况。她写道:

“在所有的情况下,如果您需要获得自己的资金,就需要一个PIN码或者助记词。不幸的是,如果你并不掌握其中的至少一项,没有人能够帮你访问这个特定账户的资金。Mark,还有什么我能帮到你的吗?”

局势开始变得无望了。在此期间,zero404cool在Reddit上给我发了私信,说他能够提供帮助:

是的,如果你愿意接受我的帮助,我可以帮助你。显然,你不会在任何在线的地方找到这些指令。而且这需要一定的技术才能够正确地完成它们。专业人士可以在10秒内提取所有的信息。但这不会是对公众公开的,永远不会。

问题是我不认识你。我也不知道你的故事是否是真实的。我甚至不知道你是否是一个真正拥有trezor的人。例如,你可以很容易地要求这件事,然后入侵别人的设备。我不允许这样的事发生。

所以,我们必须赢得彼此的信任。

我回信告诉zero404cool ,他可以用谷歌搜索我的名字,这可以帮助他决定是否可以信任我。他发现我是连线杂志(Wired)的首批编辑之一,我还创立了流行的Boing Boing网站,每月有500万独立读者。我还是技术项目杂志Make的主编。过了一会儿,zero404cool给了我回复:

嗨,Mark,看起来你不怕和命令行程序。我想我们可以把这个恢复工作当作DIY项目?我现在有点忙,希望你不着急这件事?

我回复说自己并不着急。在那之后,我就没有收到他的回信。

催眠:2017年5月25日:7.4 BTC = 12861美元

“催眠可以让我们打开所有的通道,所有的信息,” Michele Guzy表示。我坐在她恩西诺的办公室躺椅上。我的妻子,是一名记者,同时她也是一名编辑,她曾在几年前采访Michele并报道了一篇有关催眠的文章。我因为 PIN码的事已经感到绝望,因此便和Michele约好见了面。

在谈话的早期阶段, Michele让我再次重演将PIN码写到黄色纸张上。她把纸张放到了她的书桌抽屉里,然后让我坐下来打开抽屉,然后再看这张纸。她解释说,我们正在尝试不同的技术来触发我对PIN码的记忆。

这些练习并没有使我的意识清醒,但Michele告诉我,这些工作只是在为接下来的催眠工作做准备。她把灯光调暗,然后以愉快的单声调模式和我说话。她让我想象走下一个很长很长的自动扶梯,随着她的说话声,我感觉越来越恍惚。这次催眠旅行至少进行了15分钟,我感到很轻松,但我觉得自己并没有被催眠。我想我应该继续尝试下,因为也许它会有一点用。

在她的办公室呆了将近4个小时之后,我决定这个PIN码应该是5514455。

我花了几天的时间才鼓起勇气去试上一试。每次我想到Trezor,我的脑袋就充满了血,然后浑身冒冷汗。然后我尝试了这个数字,Trezor 钱包告诉我它是错误的。我必须等待16384秒,或者大约4个半小时,然后我才能够进行下一次尝试。

最后的猜想: 2017年8月12日:7.4 BTC = 28749美元

我试图停止思考比特币,但我情不自禁。更糟糕的是,这个夏季,比特币的价格一直在涨,甚至看不到尽头。七月份时,古怪的软件企业家John McAfee发布推文称,单个比特币将在3年内达到50万美元,“如果没有实现,我会在国家电视台上直播吃**”,他以典型轻描淡写的方式说出了这句话。我并没有真的认为,比特币的价格会大幅上涨(或者说McAfee会履行他的承诺),但这却激起了我的焦虑。

我无法逃避的事实是,唯一阻挡我访问这笔财富的,是一个简单的数字,一串让我回忆未果,催眠无用,只能深深自我责备的数字。我感到了无助,我女儿偷偷地靠近我,然后对我说;“快想,比特币的密码是什么?” 然而并没有什么用。有些夜晚,在我入睡之前,我会躺在床上,然后让我的大脑去搜寻这个PIN码。醒来之后,却一无所获。我能想到的,都已经去尝试了。比特币的价值正在增长,但它们却离我越来越远了。我想象它们正朝向光线暗淡的视野驶去。想必在我寻找到它们之前,我已经长眠于地。

晚上Carla和我在叠衣服时,Sarina进来了,她这个夏天呆在家休息。“我知道比特币的密码是什么了!”她说,“应该是55445!”

“为什么你会这么认为?”我问。

“嗯,你有时会使用5054作为你的密码,但由于Trezor没有0这个数字,你就会跳过0这个数字。你不会设5154这个密码,你只需要用554,然后后面加上45这个数,” (我有时会在密码当中加入45这个数字,因为它对我有意义。)

Carla看着我,然后说:“你的眼睛亮了一下,或许就是这个数字,”我觉得她可能是对的。

Sarina说:“如果不是55445这个数,那就试试554455,因为有时候你会在密码后面加上455.”

“可能是吧,”我说,“我晚上会好好想一想的,如果我觉得数字可以的话,我会在明天试试。”

到了第二天早上,我决定试试这些数字。我决定它们要比我能够想到的任何其他数字都要好。我插入了 Trezor钱包,然后必须再等待16384秒后才能输入PIN码。那天是星期天,所以我可以在家办一些事。

当Trezor计时到了之后,我让 Carla、Sarina以及Jane一起聚集在我的电脑旁。我希望在精神上获得他们的支持,然后确保我输入正确的PIN码,如果它恰恰是正确的,我也可以和他们分享我的喜悦,大家一起庆祝。

我坐在椅子上,而Jane、Sarina和Carla则驻足在我的身边。我的心跳动的很厉害,我设法控制住我的呼吸。然后慢慢地输入PIN码。每次我输入一个数字,我都会等待我家人的确认。在输入55445之后,我的鼠标光标悬停在页面前。“准备好了吗?”我问道。他们都说ok,然后我就点击了确认。

输入的PIN码错误。请等待32,768秒后继续……

“shit”我破口骂道。

“没事的,爸爸,” Sarina说,“我们什么时候可以试试554455这个数?”

我打开了我的计算器。

“九个小时。”

FINAL_03_02

Carla把她的手放在了我的肩上,她说:“如果再猜几次还是不行的话,你就应该破解它,”这似乎是正确的做法。很快,我就会面临插入Trezor钱包并连续等待数个月的情况(如果你拔掉它,倒计时就会重新开始),然后是数年,数十年。

自从我们10年前搬到这个家以来,我们住的房子每年会因为断路器跳闸、下雨或者DWP维护而断电一次。我可以买一个不间断的电源来为Trezor供电,但我想要尽快结束这种漫长的等待,而破解它是最好的方式。

第二天早饭前,我一个人走进了办公室,然后试了试554455这个数。

输入的PIN码错误。请等待65,536秒后继续……

电子邮件:2017年8月16日:7.4 BTC = 32390美元

我的脑子是怎么了?如果我现在还是20多岁或者30多岁,我会记住这个PIN 码吗。当我看到来自Trezor制造商Satoshi Labs的一封电子邮件之后,我为自己感到难过。

主题阅读,“TREZOR 1.5.2固件安全升级。”

邮件中提到,这次更新是为了解决一个安全问题,其会影响到低于1.5.2版本固件的所有设备,邮件中还提到:

“为了利用这个问题,攻击者不得不物理访问设备,他们还需要用特制的固件来刷这个设备。如果你的设备是完好的,那么你的种子密语就是安全的,然后你应该尽快将你的固件更新到1.5.2。升级到1.5.2版本后,这种攻击向量就会被消除了,你的设备就是安全的。”

这么说, Trezor钱包存在着安全漏洞,我可以去利用?我访问了 r/TREZOR 论坛,然后看看人们在谈论些什么。我首先看到的是某人发布的一篇Medium博文,其声称他知道如何利用email中提到的漏洞。文章的标题是:“Trezor的安全问题会导致你的私钥泄露!”

作者在文章当中附上了被分解的Trezor钱包照片,以及一个拥有24个关键词及PIN码的转储文件。作者还在文章当中附上了一个定制Trezor固件的链接,但没有说明如何使用它。

在我看到文章作者的署名是Doshay Zero404Cool之后,我阅读了这篇文章几次。他就是五个月前在 Reddit上联系我的那个人!然后我回看和 zero404cool的私人对话,发现在几个月前他回复了我另一条信息:

嗨,你找到你的PIN码了吗?如果没有的话,你被锁的币也太少了,这几乎不值得去做恢复工作。即使是以今天的价格来算,也许,只是也许哈,和我对半分这些币的话,我会帮你做这件事…

我考虑接受zero404cool的建议,但我在决定之前,还是先咨询一下我了解多年的比特币专家Andreas M. Antonopoulos,也就是《互联网货币》一书的作者。我采访过Andreas多次,他在比特币世界是备受尊敬的安全顾问。

对于比特币,他的了解比我见过的任何人都要多。我在8月20号那天发邮件给他,并告诉他我无法访问我存在Trezor钱包价值30000美元的比特币。我问他,Trezor钱包存在的漏洞,能否给我提供一个找回比特币的机会。“文章当中描述的漏洞是真实存在的,它可以用于恢复你的助记词,因为你没有把固件升级到1.5.2(我猜的)。”

我为自己没有把固件升级到1.5.2而感到庆幸,因为这样做,会永久擦除我的助记词和pin码。

Andreas接着表示,他认识一位做了大量 Trezor和相关软件工作的“编码专家”,“这个孩子才15岁,他的名字叫Saleem Rashid。他住在英国。”Andreas从未见过他,但他花了很多时间在Slack上和他闲谈。 Trezor的制造商Satoshi Labs也知道Saleem这个人,甚至还送他几个开发中的Trezor钱包做实验。 Andreas 提议我们在Telegram应用上和Saleem进行私聊。

几分钟后,Andreas把我介绍给了 Saleem:

“Mark的 Trezor钱包被锁住了,他没法访问,他正在期待奇迹的发生。”

Andreas提出了他的计划: Saleem会使用和我一样的固件,来初始化他的某个Trezor钱包,在实践完善后再实行破解,然后他通过Telegram把程序发给我。我会买第二个Trezor钱包,然后练习安装以及执行 Saleem的攻击过程,直到我能够熟练掌握。然后, 正如Andreas所说的,我会在目标设备(我存有7.4比特币的Trezor钱包)上执行这个“攻击”过程。

但在我们进一步讨论之前,Andreas表示,“在执行之前,最好先澄清期望以及条件。其存在成功的可能,但也不排除会失败(可能性会更高)。”

我告诉Saleem,我希望有一个一步一步的视频说明。我出价 0.05 BTC (200美元),如果我能够成功拿回我的比特币的话,我愿意再出0.2 BTC (800美元)。Saleem同意了条款。我补充说,“如果你最终在说明工作上花了大量的时间,请告诉我,我们可以相应地增加付款。”

我在亚马逊上订购了第二个Trezor 钱包。在此期间,Saleem告诉我,破解工作需要用到开源操作系统Ubuntu Linux。之后,我在我的旧MacBook Air笔记本上安装了这个系统。

费用:2017年8月24日:7.4 BTC = 32387美元

Saleem:

嘿,Mark,视频已经完成了,但出于一些原因,我想提高下报酬。

制作这个视频对我来说,绝对是身处地狱般痛苦的。(我没有一个合适的相机,所以我必须做一些精密的安装系统,这需要我很长的时间来建立)

我还需要为漏洞固件编写代码(我认为这应该考虑到价格当中)。

我:

我接受这个说法

Saleem:

因此,视频和开发固件的工作,报酬提到0.35 BTC,然后如果你成功的话,就再付我0.5 BTC ,你看如何?

总共的话就是0.85BTC。

我知道这增长地有点多,但我认为对于我做的工作而言,是想当合理的。

Saleem的要价相当于3700美元,几乎是我提出的费用的4倍,但我觉得这还是值得的(而且相比zero404cool提供的报价,这已经要好多了)。如果我能够再次看到我的PIN码(这个其他人告诉我无可挽救的数字),我会乐意支付Saleem他提出的价格。就像Andreas说的那样,这将是一个奇迹。难道我不应该为此付出点代价吗?

我:

你用和我相同的固件在Trezor 上测试过了吗?

Saleem:

在视频当中,我在 TREZOR钱包当中安装了1.4.0版本固件,设置完后,故意输错PIN码几次(这样,它的状态就和你的钱包相同了)

我:

好的,我们来交易吧。

Saleem 给了我他的比特币地址,然后我通过在线钱包转了他0.35个比特币。一分钟后,他上传了两个文件,一个名为exploit.bin,另一个则是长10分钟的视频。这个视频截取了他的电脑显示器,展示了他在终端窗口中输入的Linux命令行。视频并没有声音。而视频的右下角,则是关于他的Trezor钱包的画中画。

我对Linux命令行知之甚少,所以我所看到的,对我而言几乎没有什么意义。视频的第一部分只是说明如何初始化测试Trezor钱包,以及把固件降到1.4.0版本,那我就可以在我的第二个Trezor钱包上进行练习。视频的最后三分钟,则是安装及使用漏洞固件的实际指令。

我问Saleem,他如何解释这些破解工作。他告诉我,当Trezor开机时,它的固件(基本上,它就是Trezor的操作系统)会把PIN码以及24个助记词,以一种非加密的形式复制到Trezor的静态存储器(Trezor用于存储信息的内存)当中。如果你巧妙地实现了所谓的“软复位”,那么你就可以在不擦除静态存储器内存的情况下,安装漏洞固件。这可以让你看到自己的 PIN 码以及助记词。

我的第二个Trezor钱包在周五时到达了我的手中。我恨不得立刻开始破解,但我还是得等到周六,因为当天下午我不得不录制一堆播客内容,我在周五唯一做的事就是切开练习用的Trezor钱包,并移除其印刷电路板。我用了一把折断的刀片,慢慢并轻轻地沿着缝把它拉开,直到我能够分开电路板。即便这只是一个练习用的Trezor钱包,我依然冒出了冷汗,双手在不住的颤抖。在过去的五个月当中,我和Trezor钱包之间的关系可谓是可怕的,我无法理性地思考它。我害怕会搞砸。在我打开之后,我插上了电源,确保它仍然通电。我做到了。

漏洞:2017年8月26日:7.4 BTC = 32208美元

那个周五晚上,我睡得出奇地好。Carla和Sarina都出门了,Jane则在她的卧室练习四弦琴和日语。我清理了下小桌子,然后打开MacBook并运行Linux操作系统,然后把USB电缆连接到练习用的Trezor钱包。按照 Saleem的样子, 我把它放到了桌上。

然后我再次观看了 Saleem的视频,这一次写下了他在文本文件中输入的Linux命令行,这样我就可以复制并粘贴到终端窗口。在视频当中,Saleem通过一把镊子,把电路板上的两个钉弄短了,这两根钉很细小,我知道我的手如果用镊子去操作的话,抖动会太严重,相反,我用几根线和按钮装配在一起,使得它更容易复位Trezor钱包。

按照指示,我成功地把固件降到了1.4.0版本。我给这个测试用的Trezor钱包设置了一个 PIN码(2468),然后写下了24个助记词。再然后,安装了漏洞固件,这个过程要输入十几行不同的Linux命令,按下复位键后,还需要输入几个命令行。成功了!练习用的Trezor钱包被成功破解了,我可以在 Mac显示器上成功看到恢复的助记词和PIN码。整个过程我又反复操作了6次,这大概花了我整个上午加上下午的大部分时间。我惊讶地看到,做完这些事,已经是下午3点45了。时间过得很快,我错过了午餐,还有往常下午的意大利浓咖啡。这一天,我对两者都没有欲望。

我准备好在“正主”身上尝试这个破解操作了。我把 Jane叫了进来,让她帮我录制一段视频,记录我找回比特币这件喜事。

过去几天当中,有一件事让我感到紧张,就是我是否在我的 PIN码基础上加了一个密码,我对此并不确信,这道额外的安全功能是trezor提供的。在五个月无法访问之后,我不确定自己是否设置了这么一个密码。Saleem和Andreas都告诉我,如果我的Trezor钱包真的设置了这么一个密码,那么游戏真的就到此结束了。

我对此仍旧存在怀疑,它就好似我内心当中的一个冰锥一般。

我插入了Trezor钱包,然后输入:

sudo trezorctl get_features

这条命令会让屏幕显示Trezor的状态信息。我目不转睛地盯着屏幕周围,直到看到这些字:

passphrase_protection: false

对!这就是我想要看到的。现在几乎没有什么能够阻止我找回我的比特币了。

当我应该按下Trezor钱包的按钮时,我的手指并没有服从我。“我抖得太厉害了,”我对Jane说。我不得不停下来,休息一会儿。我又试了一次,但还是失败了。在第三次尝试中,我成功同时按下了三个按钮。这让Trezor复位了,允许我安装exploit.bin。

在输入下列命令行后,我把Saleem自定义的固件加载到了Trezor钱包:

sudo trezorctl firmware_update -f exploit.bin

这个命令行会删除现有的固件,然后安装Saleem的版本。Trezor的显示屏上写到:

“新的固件成功上传,你现在可以拔掉TREZOR.”

这个时候,我绝对不应该拔掉Trezor. (我记得Andreas警告过我:“在固件上传时的功率损耗是灾难性的,你会失去所有的数据。”)
相反,我按下了我连接到印刷电路板的按钮,来软复位Trezor钱包。钱包显示屏上出现了一个三角形图标,其中显示了一个感叹号,其还提示说:

“警告,检测到非官方软件”

感谢你的提醒,我心想。这正是我想要做的:在这个该死的东西上允许非官方的软件。我按下了Trezor钱包的其中一个按钮,以确认我想继续这个操作,然后屏幕说EXPLOIT,这意味着Saleem的软件成功安到Trezor钱包当中了。开弓没有回头箭。要么,就是成功,要么就是擦除了我的信息,我的比特币将永远消失,即便未来某个时候我又回想起了我的PIN码。现在,我需要输入一些命令行,以读取Trezor静态RAM当中的内容(也就是我的24个助记词及PIN码的部分)。

“好的,”在我输入命令行时,我告诉Jane,“这个操作后,它会告诉我们助记词。” 我倚靠在键盘上,然后按下了回车键。

我坐了下来,然后平静地说,“我的天呐,它奏效了。”

那个我在去年十二月份时写下的24个助记词,那个我在三月份不幸丢失的种子密语,现在正闪烁在我的电脑屏幕上。到了这一步,我原本可以停下来了,这24个单词,是我恢复7.4个比特币唯一所需的东西。我可以重设 Trezor钱包,然后把这些词输入进去,我也会这么做的。但我还是有一件事必须要做,它甚至比钱要更重要,就是找出那困扰我多时的Trezor PIN码。

按照Saleem的指令,我复制了终端窗口的文本字符串,并把它添加到Saleem提供的Linux 命令行。PIN码立即显示在我的眼前:

45455544

数个月来灵魂破碎般的焦虑感随之消散。我站了起来,举起了手臂,开始大笑起来。我成功征服了Trezor近乎残酷的PIN码延时功能。我想,我赢了。

作者:Mark Frauenfelder (@frauenfelder)

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。