首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

捂好“钱包” 应对分叉

稿件由路可比特整理自《区块链生存训练》

在2017年7月,bitcoin.org网站上就发布了关于分叉事件的官方通知

这件事情现在已经是过去式了,但将来仍有可能发生分叉,仍有借鉴意义。

在8月1日前1、2天内:

不要进行接收BTC的交易

如果发送BTC或者向交易所充值,可能在这段时间内服务会暂停² 如果把币存在交易所,并且交易所不让你备份自己的私钥,则要警惕了,交易所可能会损失币,而损失全部由用户来承担。

此时价格会剧烈波动,如果你承受不住这种变化,请落袋为安。

如何应对分叉

1、假如你的BTC放在交易平台

如果平台承诺帮你自动申领一份BCC,负责分叉期间的所有操作,并且你信任这个平台,则啥也不用管,静等着多出一种币。

交易平台只给你一种币,则你要当心了,说明了这个平台的技术实力并不过关,是否卖出或取现就看你自己了。

2、假如你的BTC放在自己的钱包中

这种情况下,你掌握了你的比特币私钥,也就是说你真正自己掌握了自己的钱。

分裂前,用钱包软件导出私钥

最好存一个只有0.01BTC的地址,用来测试

到https://www.bitcoincash.org/下载一个比特现金(BCC)钱包,将上述私钥导入这个钱包。(这个步骤可以在分裂后做,也可以分裂前做。)

分裂后,到交易所买0.011BTC和0.012BBC,都往你的地址上发

在两个钱包软件中同步区块,污染你的币

分别将你污染的币发到另一个你自己控制私钥的地址上

先用分裂前做好的0.01BTC的那个钱包来完成测试,然后再将你的大额钱包做分离

不要信任此时的BTC交易,不管有多少的确认次数,它可能都会从你的钱包中消失

不要进行发送BTC的交易²不要轻信一些人或机构能帮你把币一分为二,他们也能偷走你的币。

小结:

分叉并不可怕,还多了一种币

重放攻击就是一条链的交易重放到另一条链上

分叉期间,如果不会操作就握住不动,静等尘埃落定

自己掌握私钥的话,还能分离出一种币,这种操作随时都可以,丢不了

分叉期间,有良心的交易所会配发给你另一种币

51%攻击(51% Attack)

任何事物没有绝对的安全,比特币的区块链也一样,最有名的一个安全性问题就是51%攻击了。前面我们已经知道临时分叉很常见,也就是图12-7中左侧的情况。

12-7 51%攻击示意图

假设某个超级矿工或矿池突然研发成功了一种超级芯片,可以快速完成PoW工作量证明,以前需要10分钟完成的工作量,它只需2分钟就可以搞定,当普通矿工正在长链A上进行计算时,它集中火力去延伸链B,10分钟之后,普通矿工可能在链A上延伸了一个块,然而超级矿工一口气挖出了4个块,如图12-7的右侧部分。

这个时候链B成为了全网中公认的最长链,如果超级矿工在链B中的区块中放入对自己有利的交易信息,则会对整个区块链形成攻击。而51%是为了便于理解的数字,如果超级矿工拥有51%的算力,也就是其它的所有矿工加在一起也比不过它,这时候超级矿工几乎就可以控制长链了,称为51%攻击。实际上算力不到50%,也会具有一定的威胁性。

我们来看一张矿池算力的实时分布图(图12-8),在11.2节中介绍过算力的概念,当前世界上的总算力大概为5900P,最大矿池AntPool的算力占比为22.8%,如果它能够联合其它几家大矿池,就可以发起51%攻击。

12-8 全球矿池算力分布图(2017.8.7)

但这种攻击也是非常有限的,超级矿工不能篡改以前区块的数据(至多影响以前的几个块),也不能偷走别人的币,能做的就是双重支付或拒绝服务攻击,而这里又有一个经济学方面的考虑,矿池要消耗巨大的电量,电就是钱,费这么多钱去做损人不利己的事,还不如诚实地挖矿,收益也是相当可观的。历史上曾经有过矿池在算力太大时,主动降低算力来减轻大家对比特币安全性的担忧,来获得最大化的收益。

以比特币当前的算力分布来看,51%攻击的可能性非常小。你在评估其它币的安全性时,也要找到该币的算力分布图,如果算力分布太集中,就有一定的危险性,曾经Namecoin(代币名NMC)就有过算力集中的问题。

解密Coin.Dance

在比特币分叉时期,关注区块链动向的网站有很多,CoinDance网站(https://coin.dance)就是非常有名的一个,里面提供了包括市值、价格、节点、矿池、区块等多种指标的统计图表。但是这个网站中的各种数据太专业了,如果区块链中的基本概念不了解,普通人根本理解不了这些数据和曲线的含义。今天,我与大家一起去解读其中的一个区块信息表。

12-9 Coin.Dance网站的区块详细信息表

第一列:区块高度

在第2.3节里介绍过区块高度,它是区块链里的一个最最基本的概念,代表着一页共享大账本的编号,我在写这篇文章时的最新区块高度为480021。

第二列:产生时间

表示每个区块分别是在什么时间被挖出来的,比特币系统设定平均每10分钟会出来一个区块,从2009年的第一个创世区块开始,到现在已经产生了48万个区块了。

第三列:版本

这又是给程序员们看的一串数字,"0x"来源于C语言中的十六进制,0x20000002代表BIP141,0x20000010代表BIP91,而0x20000012则代表BIP91及BIP141。程序员们需要理解其中的bit1和bit4的含义。

12-10新块中的版本信息

BIP是在第10.1节里介绍过的比特币改进提议,BIP141就是隔离见证Segwit方案,BIP91就更复杂了,可以暂时理解为通往Segwit2x的一个积极信号吧。

第四列:Miner

矿工或矿池,在第11.1节里介绍过,从表中可以看出,大部分区块都被AntPool、BitClub、Bitcoin.com、BitFury、Bixin等这些大矿池挖走。

第五列:Coinbase Text

创币交易在第10.5节里介绍过,这里面可以写入一些不可篡改的文本。这里面还可以记录矿池的投票信息,需要注意的是“EB1/AD6/NYA”这些神奇的字符。

NYA就是著名的纽约共识(New York Agreement)扩容方案,先实施隔离见证Segwit,再扩容到2MB。EB表示Excessive Block Size,EB1的意思是超过1MB的就算作大区块。

AD表示Excessive Accept Depth,与EB标识同时出现才有意义,AD6的意思是:如果遇到大区块,一开始拒绝,但如果大量矿池都支持大区块,有6个大区块出现,那么我也认可该区块。图中的480017区块中的“EB1/AD999”就表示拒绝大于1MB的区块。

第六列:Emergent Consensus涌现共识

最后两列最关键,是CoinDance给出的汇总信息。Emergent Consensus这个名词在"闪电XL"的文章里被翻译为“涌现共识”,是Bitcoin Unlimited提出的扩容方案,意思是让市场或矿池来决定区块的大小。

第七列:Segwit2x Support

支持先隔离见证(Segwit),再扩容2MB的方案。

如果表中前面几列的信息看不懂,最重要的是能够看懂最后两列。从表中可以看出大多数矿池支持纽约共识(NYA),有许多矿池脚踩两支船,大区块和隔离见证都支持。而Bitcoin.com在480017区块的态度最诡异,好像没准备扩容。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180108G0MWHD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券