分享至:
ViaBTC微比特|一文讀懂比特幣全節點究竟是什麼?
2021-09-29 11:49

有不少礦工朋友不明白節點與全節點有何不同,其實全節點才是在比特幣網路中起主要作用的那個。我們知道,比特幣網路是一種點對點的電子現金支付系統,這裏的點對點實際上指的是節點對節點。比特幣網路中每筆交易由發起方向周圍的節點進行廣播,節點收到後,再廣播給自己周圍的節點,這樣交易資訊就能擴散至全網,從礦工到普通用戶都可以看作是比特幣網路中的一個節點,而擁有完整區塊鏈帳本的節點才稱為全節點。


正因如此,全節點需要佔用很大的記憶體去同步所有區塊鏈上的數據,確保能快速驗證交易的正確性。區塊鏈上的所有交易都是即時發生的,全節點在區塊鏈分佈式帳本中主要作用之一就是負責鏈上交易廣播和驗證。



全節點除了保存完整帳本和驗證交易外,另一個主要作用就是作為比特幣網路的第二層防禦(第一層是算力)。這一點中本聰在比特幣白皮書中就有提到,一旦有人掌握51%的算力試圖改變比特幣區塊共識,誠實的全節點將會生成最長的、超過攻擊者的鏈條,從而拒絕這些惡意交易,由此來維護分佈式帳本的安全。


在早期比特幣用戶非常少的情況下,區塊鏈上記錄的數據也非常小,這時所有在比特幣網路中運行的電腦客戶端都可以看作是一個全節點,這些節點保存著整個比特幣網路的數據,網路中每發生一次交易,接收到資訊的節點會對交易資訊安全性、合規性等等進行驗證,驗證通過後再廣播到其他節點。


所有用戶都可以參與運行比特幣全節點,但這完全是自願原則,並不會有額外獎勵。不過如果發生硬分叉導致區塊鏈被一分為二,那麼運行全節點除了能夠驗證區塊鏈規則外,還可以發表自己的意見。運行全節點可看成是一種間接的投票方式,可以讓礦工知道用戶支持的是哪種規則。


截止到8月26號,全球比特幣全節點數達到12120個。可以看到大部分全節點都集中在歐洲和北美,其中美國有1803個占總數14.88%,德國全節點數僅次於美國,有1729個占總數14.27%,中國只有121個占總數0.99%。



其實個人用戶想要運行全節點也沒那麼難,Bitcoin Core官網上列出了運行比特幣全節點的基本要求:

1、能運行最新版本的Windows、Mac OS X或Linux的臺式機或筆記本電腦;

2、350G的可用磁片空間,最少100 M/s的讀寫速度;

3、2G記憶體 (RAM);

4、寬頻速度至少為50Kb/s;

5、每月大概需要上傳200G,並下載20G的數據,首次啟動節點時還需額外使用約340G;

6、每天至少開機運行6小時,最好是不間斷運行;

7、需要禁用電腦自動睡眠功能,以確保電腦運行時支持網路。


可以看到,運行全節點的成本還挺高。國內的礦工雖多,但基本都是加入礦池的,所以中國的全節點數量並不多,這一百多個全節點基本都是各大礦池自己要努力去保持整個比特幣網路的穩定性或是對隱私保護有較高要求的礦工建立的。