關於節點的定義,很多情況下是不盡相同的。當涉及到電腦或通訊網路時,節點往往指的是一個再分發點或通訊終端。通常,節點是由實體網路設備構成的,但是虛擬的節點則大不相同。
簡而言之,一個網路節點可以產生,接收或傳送訊息。據此,我們將要討論不同類型的比特幣網路節點:全節點,超級節點,挖礦節點和SPV用戶。
透過對區塊鏈文章的深入研究--由於它的分散式系統特徵-- 電腦網路的節點使得比特幣能夠像一個去中心化的點對點(P2P)數位貨幣運作。同樣的,比特幣也是免審查的,用戶之間的轉帳不需要任何中間商來提供擔保(無論用戶相距多遠)。
因此,區塊鏈的節點就像是一個發揮不同功能的通訊節點。任何連接到比特幣網路的電腦或其他設備,都可以被視為是比特幣網路的節點,這些節點之間也進行著相互的交流,同時它們也能夠透過比特幣的點對點協議來傳輸交易和區塊的資訊。然而,每一個電腦節點都是根據它的特定功能來定義的,所以,比特幣網路中存在著多種不同類型的節點。
全節點是那些真正支持和保護比特幣網路的節點,它們相對於網路來說是獨立的。它們也會參與交易資訊和區塊資訊的確認工作當中,同樣的,全節點也能夠將新的區塊資訊加到區塊鏈網路當中。
通常,一個全節點會下載一個完整的比特幣區塊鏈網路資訊的副本,但這並不是一個硬性的要求(有時也會下載一個縮減版的副本)。
一個比特幣的全節點的建立可以透過多種不同軟體的安裝來完成,但是最常用的軟體是比特幣核心(Bitcoin Core),以下是運行一個比特幣核心全節點的基本需求:
許多志願機構和用戶運行作為比特幣網路的全節點來幫助比特幣的生態發展。像2018年,大約有9700多個公開的節點在比特幣網路上運行。請注意,這個數字只是公開的節點,也就是那些可見的節點。
除了公開的節點,還有許多隱藏的節點是不可見的,這些節點通常是經過像Tor的隱藏協議,或者僅僅因為它們配置不可公告,便只在防火牆後運行。
本質上來說,一個公開節點或者一個超級節點都是一個可見的全節點。它與其他的節點之間進行資料的交流和傳輸,因此,一個超級節點就是一個再分發點,它扮演著一個資料來源和交流橋樑的角色。
一個可靠的超級節點通常是7x24小時不停地將區塊鏈的歷史資訊和交易資料傳輸給全世界的節點。基於這個原因,相較於一個隱藏的全節點,一個超級節點需要更多的算力和更好的網路連線。
為了能夠在競爭日益激烈的環境中挖到比特幣,就必須投資特殊的挖礦硬體和程序。這些挖礦程式(軟體)並不是直接關聯到Bitcoin Core上的,它們是與Bitcoin Core並行來挖礦的。一個礦工既可以選擇自己挖礦,也可以選擇加入礦池。
個人礦工的全節點使用的是他們自己的區塊資料副本,礦池的礦工們則是共同協作的,每一個人能夠貢獻自己的算力。在一個礦池中,只有礦池的管理員被要求以一個全節點的身份運作 -- 可以被看作是整個礦池的全節點。
也被稱為簡單支付驗證( SPV)用戶,這些輕量級用戶使用比特幣網路但並非全節點。 SPV用戶沒有為網路安全貢獻力量,因為他們不會保存區塊鏈資訊的副本,也不會加入交易資訊的驗證工作。
簡單來說,SPV就是一種不用下載整個區塊鏈資訊副本,就可以查看交易資訊的一種方式,因此,SPV用戶依賴其他全節點(超級節點)來提供資訊。這些輕量級的用戶就像是通訊終端機一樣,也被眾多的數位貨幣錢包所使用。
值得一提的是,運行一個全節點和運行一個全挖礦節點是不同的。只需要投資特殊的挖礦硬體和軟體,任何人都可以成為全挖礦節點。
在嘗試挖一個區塊之前,一名礦工需要收集先前被全節點確認過的交易資訊。接著,就需要創造一個備選區塊(有一組交易資訊), 同時嘗試進行挖礦。如果礦工成功找到了這個備選區區塊的哈希值,他就向全網公佈,這樣其他的節點就可以驗證其真實性。因此,這種共識的規則的準確性和安全性是由全網的節點共同維護的,不只是礦工。
比特幣節點之間的相互交流是透過比特幣的點對點網路協定進行的,它們透過這種方式來驗證系統的完整性。如果節點想要傳播一些錯誤的訊息,就會被那些忠實的節點快速識別出來並將其從網路中斷開。
運行一個全節點不會獲得任何經濟上的獎勵,但是該行為依然值得強烈推崇,因為它會為用戶們提供誠信,安全和私密性。全節點保障規則的順利執行,它們保護區塊鏈不被攻擊,除此之外,一個全節點不需要信任其他人,它使得用戶能夠百分之百掌控自己的財產。