這一節(jié)主要講述比特幣被廣播出去后,如何實(shí)現(xiàn)同步和內(nèi)容統(tǒng)一抛猖。其實(shí)文中已經(jīng)講述得很清楚,沒有提及的就是交易是如何被廣播至全網(wǎng)的鼻听。資料顯示财著,比特幣使用了類似 DHT 網(wǎng)絡(luò)的 P2P 網(wǎng)絡(luò)協(xié)議進(jìn)行無中心化的網(wǎng)絡(luò)連接,eMule撑碴、BT 都是用類似的協(xié)議(懂的人自然懂)撑教。
比特節(jié)點(diǎn)通常采用 TCP 協(xié)議、使用 8333 端口與已知的對(duì)等節(jié)點(diǎn)建立連接醉拓。每一個(gè)節(jié)點(diǎn)都將收到的信息納入一個(gè)區(qū)塊中伟姐,前文有提,節(jié)點(diǎn)無法更改交易內(nèi)容亿卤,即所有人收到的數(shù)據(jù)是一致的愤兵。至于,哪一個(gè)區(qū)塊有權(quán)利記錄這個(gè)數(shù)據(jù)排吴?這個(gè)問題在 Proof-of-Work 中有提到秆乳,看誰足夠幸運(yùn)“挖”到這個(gè)“礦石”。
一般情況下钻哩,不會(huì)發(fā)生“同時(shí)”屹堰。從時(shí)間原理上來講,不可能存在“同時(shí)”的憋槐,哪毫秒級(jí)的誤差和網(wǎng)絡(luò)延遲都會(huì)有先后順序双藕。一旦有節(jié)點(diǎn)收到了廣播、進(jìn)行驗(yàn)證阳仔、通過驗(yàn)證后,將不會(huì)再接受別的節(jié)點(diǎn)同樣的區(qū)塊了,同時(shí)這個(gè)節(jié)點(diǎn)也會(huì)終止自己正在進(jìn)行的包含同樣交易的區(qū)塊并在這個(gè)區(qū)塊基礎(chǔ)上啟動(dòng)新的交易區(qū)塊計(jì)算近范。
那么由于網(wǎng)絡(luò)的復(fù)雜性嘶摊,在同時(shí)總會(huì)有一組節(jié)點(diǎn)互相收到交易區(qū)塊,記錄了同樣的鏈條此時(shí)评矩,如何叶堆?白皮書中提到,“The tie will be broken when the next proof-of-work is found and one branch becomes longer”斥杜。通過一段時(shí)間虱颗,總會(huì)有一條區(qū)塊鏈?zhǔn)菚r(shí)序上最長的,那么到最后最長的那條最終被認(rèn)可蔗喂。因此忘渔,比特幣的區(qū)塊鏈條就是不斷地分叉、拋棄缰儿、分叉畦粮、合并的過程。
假如有一大批節(jié)點(diǎn)(礦池)乖阵,就是和別人不一樣宣赔,修改了代碼,就是要?jiǎng)?chuàng)造一個(gè)他們自己的最長的鏈條呢瞪浸,這就是著名的 51% 攻擊儒将。
實(shí)際上,51% 只是理論值对蒲。在白皮書中椅棺,其實(shí)有提到過,只要作惡節(jié)點(diǎn)大于正義節(jié)點(diǎn)即可齐蔽。那么有多個(gè)礦池做出了“不正義”行為两疚,誠實(shí)節(jié)點(diǎn)少之又少,那么會(huì)如何含滴?按理論來講诱渤,形成硬分叉,根據(jù)經(jīng)濟(jì)學(xué)理論谈况,整體價(jià)值下降勺美,對(duì)誰都沒有好處。所以幣圈縮水了1稀I娜住!祝闻!是這樣的嗎占卧???华蜒?不過 51% 肯定只是個(gè)理論值辙纬。