參與比特幣網路

比特幣節點是什麼?

術語“比特幣節點”用於描述一類程式,以特定的方式與比特幣網路互動。節點可以是運行比特幣錢包的手機,也可能是儲存比特幣區塊鏈完整記錄的專用電腦。

節點分為不同的類型,各自執行特定的功能。所有這些節點都是網路的通信點,相互傳達網路內的交易和區塊資訊。

比特幣節點如何運作?

全節點

全節點負責檢驗交易和區塊是否符合特定要求(即是否有效)。大部分全節點都會運行“比特幣核心”軟體——這是比特幣協議的參考實現。

“比特幣核心”是中本聰於2009年發佈的程式。當時,程式只是簡單命名為“比特幣”。為了避免混淆,後來更名為“比特幣核心”。全節點亦可運行其他實現,前提是該實現與“比特幣核心”相容。

全節點是比特幣保持去中心化的關鍵。它們負責下載、驗證區塊和交易,將相關資訊廣播到整個網路。由於每個全節點獨立檢驗資訊的真偽,使用者在網路內做任何事情都無需依賴協力廠商,

儲存區塊鏈完整記錄的全節點成為“完整歸檔節點”。部分使用者會丟棄舊區塊,節省儲存空間——比特幣區塊鏈所含的交易資料超過200GB。

輕節點

輕節點在執行能力方面不如全節點,但前者的資源需求也相對較低。使用者可通過輕節點接入網路,而無需運行全節點的所有功能。

全節點需要下載所有區塊並逐一驗證,輕節點只需下載每個區塊的一部分(又稱為“區塊頭”)。雖然區塊頭容量很少,但含有足夠的資訊,允許使用者查看交易所在的具體區塊。

對於受頻寬或儲存空間限制的設備,輕節點是理想選擇。因此,輕節點在桌面電腦和移動錢包中很常見。由於無法進行驗證,輕節點只能依賴全節點。

挖礦節點

挖礦節點是在全節點的基礎上,額外執行另一項任務:創建區塊。正如上文所提到,挖礦需要專門的設備和軟體,目的是為區塊鏈添加新資料。

挖礦節點將採集到的待處理交易,連同其他資訊進行散列運算,得出一個數值。如果數值低於協定設定的目標閾值,該區塊則視為有效,可以向其他全節點發出廣播。

如果想要獨立進行挖礦,礦工必須先運行全節點功能。否則,礦工無法得知區塊中的交易資訊。

參與者如果想挖礦但無法運行全節點功能,可連接到伺服器,獲取所需資訊。比如,礦池(即與其他節點合作)只要求其中一個節點運行全節點功能。

想瞭解節點類型的細分,請參閱《什麼是節點?》。

如何運行比特幣全節點

全節點對開發者、商戶和終端使用者有利。在自有的硬體裡運行“比特幣核心”用戶端,用戶的隱私和安全得到更高的保障,比特幣網路因而更加穩固。使用者若使用全節點,參與網路互動時無需依賴任何人。

一些面向比特幣的公司提供“隨插即用”節點,將預製硬體直接發送給使用者。使用者只需為硬體接入電源,即可開始下載區塊鏈。這種方法可能更適合技術層次較低的使用者,但成本遠高於自行組裝硬體。

大部分情況下,一部舊臺式或手提電腦就足夠。然而,日常使用的電腦不宜運行全節點,避免運行速度受到嚴重制約。隨著區塊鏈持續增長,使用者必須確保設備擁有足夠空間,容納完整的區塊鏈記錄。

1TB的硬碟可以滿足未來數年的資料量,前提是區塊容量不出現重大變化。其他硬體要求包括2GB RAM(大部分電腦的原裝配置一般會更高)和大量頻寬。

硬體準備好之後,可以參考bitcoin.org的《全節點運行指南》,瞭解具體的設置步驟。

如何進行比特幣挖礦?

比特幣處於起步階段時,手提電腦可以滿足區塊創建的需求。當時,比特幣名不經傳,挖礦競爭幾乎不存在。由於網路尚不活躍,協定自然會設定較低的挖礦難度。

隨著網路的散列率提高,礦工必須升級設備才可保證競爭力。經過多輪硬體轉型,挖礦業界最終進入所謂的“專用積體電路(ASICs)”時期。

顧名思義,這些設備專為特定用途而制。它們非常高效,但只能執行單項任務。因此,挖礦ASIC可以說是只能用於挖礦的電腦。除了進行比特幣挖礦,比特幣ASIC還可開採演算法不同的數位貨幣。

現在,比特幣挖礦需要巨大的投入,包括硬體和能源。截止至撰稿時,一台優秀的挖礦設備能夠執行每秒10萬億次的操作。伴隨高效而來的是高能耗。除非擁有多台挖礦機和廉價電力,一般礦工很難通過比特幣挖礦獲利。

然而,有了恰當的設備,建立挖礦作業相當直接——許多ASIC設備自帶軟體。常見的做法是將挖礦機接入礦池,與其他人合作挖礦。如果礦池成功創建區塊,區塊獎金會按照散列率比例分配給各個合作礦工。

礦工亦可選擇單獨挖礦;創建區塊的成功率會很低,但礦工可以獨佔區塊獎金。

挖礦需要多長時間?

這個問題沒有確切的答案,因為挖礦時長受多種因素影響,比如礦工能夠利用的電量和散列率。另外,運營挖礦設備的實際成本亦需考慮在內。

想大致瞭解比特幣挖礦利潤,不妨使用挖礦電腦估算成本。

誰可以向比特幣系統貢獻代碼?

“比特幣核心”軟體採用開源制,意味著任何人都可貢獻代碼。用戶可以提議新功能,經過審查後添加至7萬多行的代碼之中;亦可報告錯誤、翻譯文檔或改進文檔。

軟體變更需要經過嚴格的審核。畢竟,系統處理的資金多大數千億美元,必須保證沒有任何漏洞。

若有意參與比特幣代碼貢獻,不妨查閱開發員Jimmy Song的博客或“比特幣核心”的官方網站