专栏名称: 45区
区块链第一深度媒体。由来自中央级媒体的财经记者团队主笔。聚集更多行业独角兽,更贴近监管层,观察视角更专业,致力于把你从极客描绘的抽象概念和编译肥皂文的世界解救出来。
目录
相关文章推荐
疯狂区块链  ·  雷军不是中国的乔布斯,而是中国的马斯克 ·  昨天  
疯狂区块链  ·  美团凭什么赚这么多钱? ·  2 天前  
白话区块链  ·  比特币:全球流动性的“风向标” ·  2 天前  
疯狂区块链  ·  是骑手需要社保,还是社保需要骑手? ·  3 天前  
51好读  ›  专栏  ›  45区

警报拉响!比特币或在11月遭安全攻击,价格波动来了

45区  · 公众号  · 区块链  · 2017-10-08 16:56

正文


渡渡鸟 | 原资深金融条口记者,辗转于多张财经纸媒,曾爆料N家上市公司黑幕,尊崇这个时代近乎灭亡的传统新闻理想,现以专栏作者身份入驻


此文更适合理性读者

获硅谷密码学学者聂小尘支持


【45区所有文章皆为原创,并已通过确权认证,未经许可,严禁转载。如有沟通需求,请添加小秘书微信号:block4545】



这是一个分分钟会被信息碎片砸中的时代——多数爆破还是人为的,充满了恶意。

所以,先针对不理性读者,说几句题外话。


昨天,一条用鲜红颜色包装的所谓“重磅利好”在各大社群疯转。标题弹眼落睛:“国内将发放牌照给比特币交易所,从而恢复比特币交易”。

文中援引“权威外媒报道”,言辞凿凿,抓人眼球。


不难判断,这是一次新闻炒作,尚且不清楚背后是否有庄家动作,但至少让首发的网站获得了30万以上点阅,转发的自媒体则轻松将破4万的点击扩入囊中。

谁是赢家不言而喻。


这种新闻粗制滥造到简直不值得动笔批驳的地步。 许多人甚至没注意到,它配上的所谓英文报道出处,重点部分被高亮画出,内容和文章立意根本风马牛不相及。

果然,身为cryptocoinsnews.com上的原文作者,Joseph Young也很快发声,该文并没有直接的可信消息源,而只是来自对市场公开信息的推测。


渴望强心针的市场竟然抓住这样一条虚妄的稻草,久久不肯撒手。

相反,国外成熟投资者最关心的另一条即将到来的真新闻,却沉入冰河,并没有得到充分传播和解读。

危险的新分叉


这条真新闻关于比特币即将面临的新一次分叉。

上一次分叉,是8月的比特币现金(Bitcoin Cash,简称BCC)。 11月18日,由于核心开发者和矿工内讧,比特币极大概率将分叉出Bitcoin 2X。

我注意到,目前Bitfinex上已经开始期货交易,基本不存在分叉取消的可能性。

⚠️ Bitfinex是以BT1和BT2来区分,有些交易所则将新币称为SegWit 2X,本文将用Bitcoin 1X和Bticoin 2X来指代


但这一次,在我们现行的1X链基础上分叉出2X链,却和BCC不同,运行机制本身就带着很大的风险原罪。

先分享一下我的结论:分叉后,1X链和2X链都很有可能出现丢币现象,造成比特币用户的账户损失,这显然也为币价带来了不稳定因素。

同时值得参考的是,8月1日分叉出BCC的前夜,7月1日到16日比特币都处于下跌通道,16日触底,所以不排除比特币可能会在未来一到两周内遭到类似的价格冲击。


安全原罪


接着我来详细分析下为什么2X分叉会对比特币用户造成负面影响。

10月7日,一条“重放攻击保护”的代码段被提交到Bitcoin 2X的代码库中:

https://github.com/btc1/bitcoin/commit/a3c41256984bf11d95a560ae89c0fcbadfbe73dc

作者声称这段代码能够提供足够安全的重放攻击保护,但遭到不少人反对。


这在国外犹如一枚深水炸弹,比特币1X链的用户纷纷怀疑,2X链缺少重放攻击保护,可能是对比特币安全性的一种绑架。


# 什么是重放攻击


通俗地说, 在一般的信息安全场景下,重放攻击指的是攻击者在收到一个明文数据包时,可以通过重复发送该数据包达到非法的目的。

现在,我们分叉出1X链与2X链。

在没有重放攻击保护的场合下,如果用户A在1X链上给用户B发送了一个Bitcoin 1X币,这个消息是通过广播发送给所有节点的,此时B并不需要知道A的密钥,他只需要在2X链上重复发送这个由A签名的消息,这样B就可以从A非法获得一个Bitcoin 2X币。


换言之,所有发生在1X链上的交易,都会被复制到2X链上,两条链上的币被捆绑在了一起。同样地,在2X链上的交易,也会被复制到1X链上。

你将被迫承受并不被你许可的买卖。


# 怎样保护重放攻击


防止重放攻击的关键在于使交易信息在一个链生效的同时,使它在另一个链失效。

BCC分叉时,曾经就使用了一种不错的方法来预防这种攻击。


## BCC的做法


Bitcoin Cash使用了一个名为SIGHASH_FORKID的标志位,该标志位在Bitcoin原链上不存在。

因此当用户A给B转账一个BTC后,如果B在BCC链上重放这个消息,BCC节点会认为这个交易非法,因为这个交易没有正确的设置标志位。

而B没有办法获得A的私钥,因此B也无法修改这个标志位。这样就保证了双方不受重放攻击的危害。


这种保护方式也被称为Strong 2-way Replay Protection,这种保护方式要求新链用户的客户端必须在分叉之后升级,这样才能正确地设置标志位。

然而,Bitcoin 2X却并不打算效仿这种做法,而是采取了相当高危的动作。


## Bitcoin2X的做法


Bitcoin2X使用了一种opt-in的方式。

在分叉后,1X链上的用户必须在任何一笔交易的同时发送一笔非常小的钱到地址

3Bit1xA4apyzgmFNT2k8Pvnd6zb6TnwcTi 上。

2X链节点如果发现这个交易有一笔信息发送到了这个地址 ,那么这个交易在新链上是无效的。


但这一方式存在明显的风险漏洞。

用户发送的交易并不会自动发送一笔小额交易到上述地址,这时用户交易是不受保护的,任何一笔老版本的BTC交易都可以在BTC2X重放。








请到「今天看啥」查看全文