渡渡鸟 |
原资深金融条口记者,辗转于多张财经纸媒,曾爆料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重放。