什麼是比特幣節點?
節點的定義可以根據其使用情況而產生變化。當涉及機算或電信網絡時,節點可以提供不同的使用作用,作為再分發點或作為通訊端點。通常來說,節點都是物理設備,但亦存在使用虛擬節點的特定情況。
簡單而言,網絡節點是一種可以創建,接收或傳輸消息的關節點。
比特幣是一個全世界的開放網絡,由六千個左右的節點所組成,這些節點分散在世界各地,難以被單一組織所控管,因此區塊鏈網路可被視為最佳分散式資料庫。只要你有服務器,就能加入這個網絡,成為一個節點。每個節點都包含了整個區塊鏈,且不斷驗證所有交易資料,並保存所有交易記錄,讓節點之間時刻不停地在同步信息。
當你發生了一筆支付,你所在的節點就會把這筆交易告訴另一個節點,直至傳遍整個網絡。礦工從網上收集各種新發生的交易,將它們打包寫入區塊鏈。一旦寫入成功, 礦工所在節點的區塊鏈,就成為最新版本,其他節點都會來複製新增的區塊,保證全網的區塊鏈都是一致的。 最後,你所在的節點也拿到了最新的區塊鏈,從而得知你早先的那筆交易,已經寫在裡面了,至此交易確認成功。
比特幣有不同節點,可以分為四種:挖礦節點、輕節點、全節點和超級節點
1. 全節點(完整驗證節點)
全整節點是真正支持並為比特幣提供最安全網絡的節點,它們是網絡必不可少的,且參與實行驗證區塊交易事務,並阻止任何不跟隨系統共識規則的區塊。全節點亦能夠將新建交易事務和區塊增加到區塊鏈。
全節點是驗證區塊的首選節點(根據接收到的區塊信息對哈希值進行運算驗證),
簡單來說 全節點是負責維護、驗證和分發整個區塊鏈的副本。
此外,每個全節點都保存著自己本地版本的區塊鏈,所以當一個本地區塊產生變化後,其他大多數全節點需要對此驗證才能證明變化有效。
全節點驗證交易的功能可以一直追溯到區塊鏈上的第一個區塊,即創世區塊(Genesis block)。做到這一點需要使用「工作量證明」。對於區塊鏈網絡而言,全節點越多越好,因為全節點越多意味著系統更加地去中心化,這樣能夠提高黑客入侵區塊鏈並偽造信息的難度。
比特幣全節點可通過不同的履行軟件來建立,而最常用和受歡迎的是Bitcoin Core。以下是運行Bitcoin Core全節點的最低要求:
使用最新版本的Windows,Mac OS X或Linux的台式或筆記型電腦。
200GB的可用磁盤空間。
2GB內存(RAM)。
上傳速度至少為50 kB / s的高速互聯網連接。
未計量的連接或具有高上載限制的連接。全節點可能達到或超過200GB /月的上載使用量和20GB /月的下載使用量。首次啟動全節點時,還需要下載~200GB。
您的全節點每天至少應該運行6個小時。如果連續運行24/7會更好。
2. 超級節點
超級節點是與網絡上其它節點有著大量傳入和傳出連接的全節點,也就是它負責與其他節點建立連結並透過通訊來傳遞訊息。 因此,超級節點基本上是可以充當著數據庫和通信傳遞的再分發點,可確保每個全節點在其本地數據庫中擁有整個區塊鏈的相同版本。
一個可靠的超級節點通常能夠全天候運行,可建立的多個連接,並將所有區塊鏈的更新歷史和交易數據傳輸到世界各地的多個節點。因此,與隱藏式的全節點相比之下,超級節點運行需要更大的電腦機算量和更好的網路連接。
3. 輕節點(SPV客戶端)
輕節點只用於驗證區塊鏈的部分內容,它們不保管完整的區塊要素,因為這個功能是由全節點來完成。也被稱為:簡化式支付驗證(SPV)客戶端,輕量級客戶端屬於充分利用比特幣網絡的客戶端,但並不完全充當著全節點的角色。因此,SPV的客戶端不會對網絡的安全性做出任何貢獻,因為它們不會保留任何區塊鏈的副本,也不會參與任何驗證過程和區塊鏈交易認證過程。
簡而言之,SPV是一種搜索方法,用戶可以通過該方法檢查區塊中有否包含某些交易記錄或檢查有沒有缺少的區塊,整個搜索方式無需下載整個區塊數據。因此,SPV客戶端亦需要依賴於其他全節點(超級節點)來提供需要的信息。輕量級客戶端通常用作通信端點,亦被許多的加密貨幣數碼錢包使用中。
但輕節點又與全節點相連接,一起作為整個網絡的額外安全層。如果一個全節點被黑客攻擊或篡改,那麼有相關聯的輕節點,就能夠確認該部分已失去有效性,從而幫助全節點轉向正確版本的區塊鏈。
*輕節點、全節點和超級節點則充當區塊鏈的保管人,它們保存著每筆曾經發生過比特幣交易的公開記錄。這三個節點負責維護網絡並確保添加到區塊鏈的每個區塊都是有效的
4. 挖礦節點
挖礦節點因將交易收集到區塊,並生成區塊的哈希值,而獲得新的比特幣作為獎勵。雖然比特幣挖礦節點生成包含交易記錄的區塊,但它們不負責維護區塊鏈。當一個挖礦節點完成上述步驟之後,哈希值符合要求的區塊就會被發送到輕節點、全節點以及超級節點的網絡中進行驗證並添加到區塊鏈。
比特幣採礦者為了能夠在當前的激烈競爭中脫穎而出,首要必然投資在專業特定的採礦硬件和程序上。而這些挖掘程序(軟件)跟Bitcoin Core沒有直接關係,但其特性是能夠同時執行嘗試採礦和挖掘比特幣區塊。採礦者能夠選擇單槍匹馬工作(獨自採礦)或團體工作(礦池採礦)。
獨自採礦者的全節點會使用他們所有的區塊鏈副本工作時。而團體性採礦者們會一起工作,並每個人貢獻投入自己的機算能力及資源 (哈算能力) 。在採礦池中,只有管理員級別才要求需要使用全節點運行工作 – 亦可認知其為礦池採礦者全節點。
注意:人們一般所指的比特幣節點就是挖礦節點,不過這樣往往忽略了作為哈希值生成器的挖礦節點與作為區塊驗證和區塊鏈託管的輕節點、全節點和超級節點之間的區別。