查看原文
其他

史上最贵黑客事件!中本聪用代码亲手杀死 1844.67 亿枚比特币!

佩奇 CSDN 2019-02-24


作者 | 佩奇
出品 | 区块链大本营

近来,区块链领域最受关注度的一件事莫过于以太坊君士坦丁堡硬分叉了。但由于 EIP1283 曝出漏洞,以及 The DAO 事件的深刻教训,一向不守时的以太坊又不守时了。由于这次升级延迟,人们开始担心以太坊2.0的未来。对此,以太坊大神站出来发声了。

1月20日,就在君士坦丁堡硬分叉再次推迟之后,以太坊核心开发成员 Afri Schoedon 表示,宁静(Serenity)、权益证明(PoS)和分片(Sharding)等以太坊2.0相关项目的整体进度都与以太坊1.0的链上协议升级无关。君士坦丁堡硬分叉的推迟与否都不会影响以太坊2.0。

随后V神在推特转发并评论道:君士坦丁堡硬分叉完全不会影Casper/Sharding/Serenity稳定和持续发展。

谈到分叉,大家熟知的莫过于以太坊的 The DAO 事件了,其直接结果是形成了 ETH 和 ETC 两雄争霸的局面(有点夸张,其实ETC很不好过,有点自身难保了),但是相比于接下来营长要说的分叉事件,The DAO 事件就是小巫见大巫了。

这就是差点摧毁比特币、杀死去中心化信仰的「价值溢出事件」。


关乎比特币生死,真这么严重吗?


2010年8月25日,一个未知黑客差点摧毁了比特币。该黑客在高度为74638的区块上凭空生成了1844.67亿比特币(What?不是说总量只有2100万枚吗?)。中本聪意识到了事情的严重性,并很快就将比特币区块链进行了分叉,抹掉了这1844.67亿比特币,这是当时拯救比特币的唯一方式。

{
    "hash" : "0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c",
    "ver" : 1,
    "prev_block" : "0000000000606865e679308edf079991764d88e8122ca9250aef5386962b6e84",
    "mrkl_root" : "618eba14419e13c8d08d38c346da7cd1c7c66fd8831421056ae56d8d80b6ec5e",
    "time" : 1281891957,
    "bits" : 469794830,
    "nonce" : 28192719,
    "n_tx" : 2,
    "tx" : [
        {
            "hash" : "012cd8f8910355da9dd214627a31acfeb61ac66e13560255bfd87d3e9c50e1ca",
            "ver" : 1,
            "vin_sz" : 1,
            "vout_sz" : 1,
            "lock_time" : 0,
            "in" : [
                {
                    "prev_out" : {
                        "hash" : "0000000000000000000000000000000000000000000000000000000000000000",
                        "n" : 4294967295
                    },
                    "coinbase" : "040e80001c028f00"
                }
            ],
            "out" : [
                {
                    "value" : 50.51000000,
                    "scriptPubKey" : "0x4F4BA55D1580F8C3A8A2C78E8B7963837C7EA2BD8654B9D96C51994E6FCF6E65E1CF9A844B044EEA125F26C26DBB1B207E4C3F2A098989DA9BA5BA455E830F7504 OP_CHECKSIG"
                }
            ]
        },
       {
            "hash" : "1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9",
            "ver" : 1,
           "vin_sz" : 1,
            "vout_sz" : 2,
            "lock_time" : 0,
           "in" : [
               {
                    "prev_out" : {
                        "hash" : "237fe8348fc77ace11049931058abb034c99698c7fe99b1cc022b1365a705d39",
                        "n" : 0
                    },
                    "scriptSig" : "0xA87C02384E1F184B79C6ACF070BEA45D5B6A4739DBFF776A5D8CE11B23532DD05A20029387F6E4E77360692BB624EEC1664A21A42AA8FC16AEB9BD807A4698D0CA8CDB0021024530 0x965D33950A28B84C9C19AB64BAE9410875C537F0EB29D1D21A60DA7BAD2706FBADA7DF5E84F645063715B7D0472ABB9EBFDE5CE7D9A74C7F207929EDAE975D6B04"
                }
            ],
            "out" : [
               {
                   "value" : 92233720368.54277039,
                    "scriptPubKey" : "OP_DUP OP_HASH160 0xB7A73EB128D7EA3D388DB12418302A1CBAD5E890 OP_EQUALVERIFY OP_CHECKSIG"
                },
               {
                    "value" : 92233720368.54277039,
                    "scriptPubKey" : "OP_DUP OP_HASH160 0x151275508C66F89DEC2C5F43B6F9CBE0B5C4722C OP_EQUALVERIFY OP_CHECKSIG"
                }
            ]
        }
    ],
    "mrkl_tree" : [
        "012cd8f8910355da9dd214627a31acfeb61ac66e13560255bfd87d3e9c50e1ca",
        "1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9",
        "618eba14419e13c8d08d38c346da7cd1c7c66fd8831421056ae56d8d80b6ec5e"
    ]
}

value out = 92233720368.54277039 BTC?(Line 50)

那么,事情是如何发生的呢?还要回到代码上来看。从本质上讲,运行代码时,如果输出结果太大以至于在求和时溢出,那么检查比特币交易的代码就会无效,黑客意识到了这一点并利用了它。黑客在一次交易中创造了比以往任何时候都多8784倍的比特币。

如果当时中本聪没有及时纠正这个错误,比特币很可能已经死了,整个区块链世界也不复存在。因为一旦用户意识到他们可以随意创造任意数量的比特币,那么比特币的价格就会立即暴跌至零,比特币就会失去信任,中本聪的去中心化愿景也就无从谈起了。


中本聪是如何力挽狂澜的?


事件发生3小时内,中本聪在 Bitcointalk 上发帖称,他与早期比特币开发者 Gavin Andresen 一起,快速创建了一个代码修复程序。

在事件发生后的5小时内,中本聪发布了0.3.10版本比特币,该版本阻止修复了通过溢出漏洞大量生成比特币的 bug,并擦除了由黑客产生的1844.67亿比特币。

这是一个硬分叉,因此在0.3.10版本发布后的几个小时内,仍将存在两种不同版本的比特币。中本聪发帖称将密切监视另外一条链,并敦促矿工不要挖掘这条不良区块链,因为会导致花费更长的时间来使新链成为主链。

终于,在事发19小时后,中本聪发帖称,新的区块链在高度为74691的区块上超越了原有链,成为了比特币主链。从此,0.3.10 版本生成的比特币区块链就成为了我们今天使用的那条链。

不得不说,这真是惊叹地泣鬼神的事件了,说它是史上最大的黑客事件也不为过吧!

那么,类似于 The DAO 事件的补救方式,本次事件也进行了快速硬分叉。这种做法是否违背了去中心化愿景?是迫不得而为之吗?对此,你怎么看呢?

参考资料:

https://hackernoon.com/bitcoins-biggest-hack-in-history-184-4-ded46310d4ef

https://bitcointalk.org/index.php?topic=823.msg9573#msg9573

https://bitcointalk.org/index.php?topic=823.msg9734#msg9734

https://bitcointalk.org/index.php?topic=822.0

 热 文 推 荐 

☞ 腾讯帝国的野蛮生长史

☞ 刚刚,华为发布全球首款 5G 基站核心芯片!

☞ 必应搜索引擎怎么了?

☞ 不要在爬虫犯罪的边缘疯狂试探!

☞ 区块链,会越来越无聊!

☞ 女程序员:我负责赚钱养家,老公负责貌美如花

☞ 任正非:人工智能就是计算机和统计学

☞ K8S的SDN容器网络解决方案【机制篇】

☞ 心疼!能为程序员男友做些什么吗?

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

点击“阅读原文”,打开 CSDN App 阅读更贴心!

喜欢就点击“好看”吧

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存