說到比特幣的共識會讓人很自然的想到兩件事,第一件是:人們對比特幣價值的共識,也就是有多少人覺得比特幣是有價值的,這個共識越廣越深厚, 比特幣的根基就會越牢固、生命力就會越蓬勃;第二件是:比特幣的共識規(guī)則。
這兩個共識有些相同又有不同,一個是比特幣體系和外部世界的關(guān)連,一個是比特幣體系內(nèi)部世界的關(guān)聯(lián),今天要說的是后者。
百度百科對共識的定義是:一個社會內(nèi)不同階層不同利益人群的共同認識、價值和理想。比特幣的共識就是比特幣網(wǎng)絡(luò)的參與各方共同遵守的規(guī)則。把比特幣比喻成一個小宇宙的話,比特幣的共識規(guī)則就是小宇宙內(nèi)的各種運行規(guī)律,內(nèi)里的星體們即自行運轉(zhuǎn)又互相影響著。比特幣的共識既說明了該做什么,又說明了該怎么做,還說明了遇到爭議時該如何解決,既有對積極參與者的獎勵、又有對破壞者的懲罰。
共識基礎(chǔ)
比特幣的共識支撐著比特幣系統(tǒng)的自動運轉(zhuǎn),也保證了比特幣系統(tǒng)的安全可信。
比特幣共識的實現(xiàn)有賴于節(jié)點的四種獨立過程的互相作用而產(chǎn)生:
1.每個全節(jié)點對交易的獨立驗證
2.每個全節(jié)點對交易的獨立確認(即打包區(qū)塊)
3.每個全節(jié)點對新區(qū)塊的獨立校驗和組裝入鏈
4.每個全節(jié)點獨立選擇加入最長的鏈條
這四種過程既相互獨立又相互協(xié)同,無論節(jié)點是獨自完成自己的事務(wù),還是與其他節(jié)點產(chǎn)生鏈接交互,都遵守著預(yù)先設(shè)定的共識規(guī)則,在遍及全球的網(wǎng)絡(luò)中,在各種性能參差不齊的網(wǎng)絡(luò)間共同維護一個大帳本,并保持數(shù)據(jù)一致、真實,想想都覺得這是一件極其了不起的事。
共識攻擊
比特幣共識保障下的比特幣總會讓我們覺得它是那么偉大,那么了不起,然而它并不是堅不可摧的,從理論上來說存在兩種共識攻擊:51%攻擊和地址拒絕服務(wù)攻擊。
1.51%攻擊,就是當你擁有算力占全網(wǎng)51%的時候你就可以更改從當下區(qū)塊往前數(shù)最多10個區(qū)塊的數(shù)據(jù)。這里的更改不是我們通常理解的類似把紙上寫下的字擦掉重寫,而是重新構(gòu)建區(qū)塊。
打比方說,我花1個比特幣向你買了一臺車,你在這筆交易(假定該塊高50001)經(jīng)過6個區(qū)塊確認后把車給了我,然后我用自己的節(jié)點(假定我有51%算力)從50000的塊高度開始挖礦,我重新構(gòu)建上面那筆交易,把比特幣要轉(zhuǎn)給你的地址替換成我的地址,接著把這筆交易打包并像網(wǎng)絡(luò)傳播?,F(xiàn)在的情況是出現(xiàn)了2個50001高度的區(qū)塊,因為我的算力超強,于是我就能更快的在我的這個鏈上出更多的塊,按照選擇最長的鏈條的共識,我建造的這條鏈從此就成了主鏈,于是我成功篡改了歷史,最后你既沒收到比特幣又損失了一臺車。
這多恐怖啊,改變歷史,抹殺真相,不過事實上至少目前來看從邏輯上沒人會這么干,因為如果攻擊成功,比特幣的安全性當然無存,它的價值將迅速歸零,真是得不償失。
2.拒絕地址服務(wù)攻擊,就是針對某個地址的交易,在交易確認前把它從交易池中剔除,使它不能被確認被打包。 其實在交易確認后也可以對某個特定地址的交易進行攻擊,還可以用51%攻擊的方法。
共識規(guī)則的改變
共識規(guī)則確定了交易和塊的有效性,更改共識規(guī)則是個很嚴重的事。這個改變有可能是主觀故意也可能是無意、錯誤下導致的,共識規(guī)則的改變會帶來兩種后果,軟分叉和硬分叉。
軟分叉不會導致兩條鏈,而硬分叉會分裂出另一條鏈。當共識規(guī)則的改變在大多數(shù)節(jié)點中進行事就會出現(xiàn)軟分叉,最后又會回歸為一條鏈;如果改變和不改變都不能占多數(shù),節(jié)點們就會分裂為新舊節(jié)點,區(qū)塊分裂成不同結(jié)構(gòu)的區(qū)塊,接著網(wǎng)絡(luò)也會分裂成兩個,最后分成兩個鏈條。
共識是比特幣生存的根本,這使得比特幣系統(tǒng)運轉(zhuǎn)自如,它的核心是激勵和工作量證明方式的共識機制;共識也是參與各方的連接和協(xié)作方式,從對共識的理解和學習上能讓我們對區(qū)塊鏈就是生產(chǎn)關(guān)系這句話有所領(lǐng)悟。
本文由【區(qū)塊鏈研習社】優(yōu)質(zhì)內(nèi)容計劃支持,更多關(guān)于區(qū)塊鏈的深度好文,請點擊【區(qū)塊鏈研習社】簡書專欄:
http://www.itdecent.cn/c/b17f09dc2831
不臉的求賞,我的QYB地址:Qf4gCd2AX6K4eJJqh9cTXx2GdhnthCz1b3