还原莱特币现金(LCC)被51%攻击事件的真相

in #btc8 years ago

Article by Mr. gvn and Ms. Claire Wu
2018.06.08.

据莱特币现金(LCC)官方消息,LCC近日遭到了51%攻击,LCC团队已与交易所进行接触,并将确认区块数增加到100来防范攻击。

现在,我们尝试还原LCC被51%攻击事件:

1.假设LCC 的全网算力是20M
2.因为LCC的共识算法是SHA 256, 而比特币也是采用相同算法的,那么,我们可以从市场上租用25M BTC 算力
3.因为20+25=45,掌握25M就等于掌握了超过50% 算力,进行51% 攻击
4.首先在LCC 公链上挖一条私链,将LCC转入自己的钱包
5.同时,在LCC公链把相同的LCC币转入交易所的账号
6.假设交易所需要50个区块确认后才放行,黑客将LCC 转入交易所后,马上把LCC卖出,兑换为其他确认时间比较快的币,例如BCH
7.把BCH转出交易所,等待BCH被确认
8.确认后,等私链挖到第52个区块,但公链仍然是50个区块的时候,将链重新组合,这样,私人钱包上的交易就会取代交易所的交易,实现双花。

IMG_20180609_012729.jpg

从事区块链开发的专业人士会问,为什么要这么操作?交易所和私人钱包的交易在矿工那里都是一样的,双花成功与否和是不是需要在交易所和私人钱包之间做操作无关,除非是51%双花之外的漏洞。

我们认为,黑客把交易所作为攻击目标是因为交易所的流动性比较大,可以自动接受大额存款,允许用户快速交易,将 LCC 兑换成另一种加密货币,功成后可以从交易所迅速提币。

莱特币现金(LCC)是莱特币(LTC) 的分叉币。LTC 网络和比特币不一样,大约每2.5分钟(而不是10分钟)就可以处理一个块,因此可以更快速地确认交易。但是,LTC 这种出块速度快的POW区块链的安全性是弱于比特币的,在出块速度快、又采用类比特币的最长链法则的共识算法下,也有可能出现这种挖很长的所谓“私链”的情况。这和比特币不同,比特币10分钟出块的间隔保证恶意矿工的意图很快就被发现。

因为莱特币(LTC)使用的是 Scrypt 算法,所以莱特币现金使用了和比特币一样的 SHA256 算法,但LCC 也从比特币现金 BCH 那里取经,采用了DDA 难度调节机制。然而,问题又来了,如果两者都使用相同的算法,现在黑客就可以在市场上租用其中算力较大的币的算力,来攻击算力较小的币。所以 alt-coin 采用和比特币一样的 SHA256 是很危险的,比特币算力和 LCC 太悬殊了。

因此,现在的区块链开发不能直接抄功课了,只能不断地创新。LCC 51%攻击就成了一个"How NOT to design a POW blockchain" 的反面教材。

Sort:  

Coins mentioned in post:

CoinPrice (USD)📉 24h📉 7d
BCHBitcoin Cash931.208$0.47%-15.52%
BTCBitcoin6776.870$0.13%-9.73%
LCCLitecoin Cash0.053$-1.41%-1.78%
LTCLitecoin105.698$-0.45%-11.12%

Coin Marketplace

STEEM 0.04
TRX 0.33
JST 0.078
BTC 61890.78
ETH 1628.33
USDT 1.00
SBD 0.40