比特幣保證安全性及解決51%攻擊最先出現(xiàn)在己任區(qū)塊鏈。
]]>要分析比特幣系統(tǒng)的安全性,我們應(yīng)首先考慮在比特幣系統(tǒng)中可能存在的攻擊形式。一個(gè)攻擊者若想通過攻擊比特幣系統(tǒng)獲益,顯然是需要掌控“記賬權(quán)”,即產(chǎn)生區(qū)塊的權(quán)力。由于比特幣系統(tǒng)中,由誰來產(chǎn)生下一個(gè)區(qū)塊是一個(gè)完全隨機(jī)的事件,因此,由一個(gè)攻擊者節(jié)點(diǎn)產(chǎn)生部分區(qū)塊是完全有可能的,但由于比特幣中的正常節(jié)點(diǎn)都會(huì)對(duì)產(chǎn)生區(qū)塊中的交易進(jìn)行驗(yàn)證(通過運(yùn)行交易中的鎖定腳本和解鎖腳本),因此,所有誠實(shí)的節(jié)點(diǎn)都不會(huì)接受包含了無效交易的區(qū)塊,這意味著攻擊者無法憑空創(chuàng)造價(jià)值,也無法對(duì)不屬于自己的比特幣進(jìn)行掠奪,攻擊者所能夠進(jìn)行的僅僅是對(duì)自己發(fā)出的交易信息進(jìn)行修改(因?yàn)樗鼰o法偽造其他參與者的簽名等信息)。
一個(gè)典型的攻擊場(chǎng)景即為“雙花攻擊”,在這種攻擊中,攻擊者先將自己所擁有的資產(chǎn)(UTXO)在一筆交易(記為TX1)中支付給另一個(gè)參與者以換取某些其他資產(chǎn),該交易被寫入當(dāng)前比特幣區(qū)塊鏈(記為鏈A)的第N+1個(gè)區(qū)塊;此時(shí)攻擊者同時(shí)秘密地準(zhǔn)備另一條基于原比特幣區(qū)塊鏈第N個(gè)區(qū)塊的后續(xù)鏈(記為鏈B),該鏈中并不包含TX1;攻擊者等待實(shí)際獲取到TX1交易中所涉及的其他資產(chǎn)之后,再使用自己準(zhǔn)備的這條秘密鏈B同原記錄有TX1交易的鏈A進(jìn)行替換,便可“抹消”自己所參與的TX1交易,收回自己在TX1交易中所使用的UTXO。
當(dāng)然,由于比特幣的“最長(zhǎng)鏈勝出”原則,攻擊者秘密生成的鏈B需要在替換時(shí)比原有鏈A更長(zhǎng),才能夠成功實(shí)行雙花攻擊。而比特幣系統(tǒng)中采用的PoW機(jī)制保證了,某節(jié)點(diǎn)產(chǎn)生下一個(gè)區(qū)塊的概率與該節(jié)點(diǎn)的算力占所有參與PoW的節(jié)點(diǎn)的算力的比例成正比,因此,雙花攻擊的成功概率與攻擊節(jié)點(diǎn)的算力密切相關(guān)。
比特幣保證安全性及解決51%攻擊最先出現(xiàn)在己任區(qū)塊鏈。
]]>