什么是區(qū)塊鏈節(jié)點(diǎn)都有什么特性
什么是節(jié)點(diǎn)?
在計(jì)算機(jī)網(wǎng)絡(luò)中,構(gòu)成網(wǎng)絡(luò)一部分的每臺(tái)計(jì)算機(jī)都稱為節(jié)點(diǎn)。這些節(jié)點(diǎn)以不同的方式出現(xiàn)并執(zhí)行不同的任務(wù)。根據(jù)網(wǎng)絡(luò)的需要,節(jié)點(diǎn)可以是小型設(shè)備、普通計(jì)算機(jī)或大型功能強(qiáng)大的服務(wù)器。
為了給區(qū)塊鏈網(wǎng)絡(luò)提供穩(wěn)定性,節(jié)點(diǎn)應(yīng)該始終以快速穩(wěn)定的方式連接到網(wǎng)絡(luò)。這些類型的節(jié)點(diǎn)通常構(gòu)成網(wǎng)絡(luò)的主干。對(duì)于專業(yè)的節(jié)點(diǎn)運(yùn)營(yíng)商來(lái)說(shuō),冗余通常包括使用來(lái)自兩個(gè)不同供應(yīng)商的兩條互聯(lián)網(wǎng)電纜,以及在斷電情況下使用不間斷電源(UPS)和發(fā)電機(jī)。
不同類型的節(jié)點(diǎn)?
比特幣剛開(kāi)始出現(xiàn)的時(shí)候,只有一種節(jié)點(diǎn)存儲(chǔ)在整個(gè)區(qū)塊鏈中?,F(xiàn)在,節(jié)點(diǎn)有各種各樣的特性。
完整的節(jié)點(diǎn)
這一切都是從我們現(xiàn)在所稱的完整節(jié)點(diǎn)開(kāi)始的。完整節(jié)點(diǎn)存儲(chǔ)自起源塊以來(lái)的每個(gè)事務(wù),并通過(guò)驗(yàn)證廣播到網(wǎng)絡(luò)上的塊來(lái)提供幫助。也就是說(shuō),它們確保塊(以及塊本身)中包含的事務(wù)遵循區(qū)塊鏈規(guī)范協(xié)議中定義的規(guī)則。例如,在比特幣中,節(jié)點(diǎn)會(huì)檢查大約20個(gè)條件,比如大小小于MAX_BLOCK_SIZE,確保輸出值在合法的貨幣范圍內(nèi),如果輸出大于輸入(防止某人花費(fèi)超過(guò)他們擁有的),節(jié)點(diǎn)會(huì)拒絕交易。
但隨著時(shí)間的推移,人們開(kāi)始質(zhì)疑這種做法的必要性。為什么從起源塊開(kāi)始以來(lái)的每個(gè)事務(wù)都需要存儲(chǔ)?
修剪過(guò)的節(jié)點(diǎn)
例如,在比特幣中,一個(gè)名為prune的參數(shù)至少可以設(shè)置為550,這意味著就是550Mb。一旦區(qū)塊鏈大小達(dá)到這個(gè)限制,舊的塊就會(huì)被刪除。選擇550Mb是為了讓比特幣能夠在磁盤上維護(hù)至少288個(gè)塊。
輕量級(jí)的節(jié)點(diǎn)
輕量級(jí)節(jié)點(diǎn)不下載整個(gè)區(qū)塊鏈。相反,它們只下載塊頭來(lái)驗(yàn)證事務(wù)的真實(shí)性。因?yàn)檫@個(gè)原因,輕量級(jí)節(jié)點(diǎn)就變得很容易維護(hù)和運(yùn)行。輕量級(jí)節(jié)點(diǎn)使用一種稱為Simрlifiеd Pауmеnt Vеrifiсаtiоn (SPV)來(lái)驗(yàn)證事務(wù)有沒(méi)有下載。SPV客戶機(jī)只需要下載塊頭,這些頭比完整塊小得多。除此之外,輕量級(jí)節(jié)點(diǎn)實(shí)際上由完整節(jié)點(diǎn)提供服務(wù)。它們有效地依賴于整個(gè)節(jié)點(diǎn)來(lái)工作。
輕量級(jí)錢包無(wú)法驗(yàn)證比特幣的規(guī)則。如果有人用假的或無(wú)效的比特幣支付給輕量級(jí)錢包用戶,錢包會(huì)欣然接受,用戶就會(huì)被掏空。
挖掘節(jié)點(diǎn)
挖掘節(jié)點(diǎn)是存儲(chǔ)整個(gè)區(qū)塊鏈的完整節(jié)點(diǎn),但除此之外,它們驗(yàn)證每個(gè)事務(wù),創(chuàng)建一個(gè)候選塊,然后在Bitcoin或Ethereum的情況下,通過(guò)工作證明算法,使用計(jì)算能力來(lái)尋找解決一個(gè)毫無(wú)意義的數(shù)學(xué)難題。該難題的獲勝者將獲得他們的區(qū)塊版本,該區(qū)塊將被接受為區(qū)塊鏈中的下一個(gè)區(qū)塊,并將獲得在撰寫本文時(shí)為比特幣區(qū)塊鏈12.5比特幣的獎(jiǎng)勵(lì)。
主節(jié)點(diǎn)(Masternode)
這里可能會(huì)有點(diǎn)混亂。就在您以為自己掌握了竅門時(shí),主節(jié)點(diǎn)的概念出現(xiàn)了。主節(jié)點(diǎn)實(shí)際上是帶有扭曲的完整節(jié)點(diǎn)。主節(jié)點(diǎn)所有者需要購(gòu)買區(qū)塊鏈網(wǎng)絡(luò)的代幣,并將其下注或“鎖定”到網(wǎng)絡(luò)中。這實(shí)際上是通過(guò)發(fā)送一定數(shù)量的錢到一個(gè)錢包來(lái)完成的。然后,這些主節(jié)點(diǎn)將獲得更多代幣形式的獎(jiǎng)勵(lì)。
節(jié)點(diǎn)的用途
節(jié)點(diǎn)的目的是維護(hù)特定加密貨幣的區(qū)塊鏈網(wǎng)絡(luò)的完整性。一個(gè)網(wǎng)絡(luò)擁有的節(jié)點(diǎn)越多,它就越安全,因?yàn)榕c一個(gè)地區(qū)的5個(gè)節(jié)點(diǎn)相比,摧毀或攻擊分布在世界各地的數(shù)千個(gè)節(jié)點(diǎn)要困難得多。
維護(hù)整個(gè)區(qū)塊鏈歷史記錄的完整節(jié)點(diǎn)也提供了冗余,因?yàn)橄嗤男畔⒋鎯?chǔ)在多個(gè)位置。這與亞馬遜(Amazon)和谷歌等大公司對(duì)數(shù)據(jù)的處理類似。當(dāng)然,不同之處在于Amazon和谷歌可以訪問(wèn)您的數(shù)據(jù),而在分散的區(qū)塊鏈?zhǔn)澜缰?,您可以控制自己的?shù)據(jù)。
權(quán)限節(jié)點(diǎn)
特別值得一提的是,在一個(gè)被許可的網(wǎng)絡(luò)中,不需要代幣作為獎(jiǎng)勵(lì),因?yàn)榫W(wǎng)絡(luò)是由一個(gè)參與者聯(lián)盟控制和管理的,所以不需要公共激勵(lì)結(jié)構(gòu)。例如,在超級(jí)賬本中沒(méi)有本地貨幣。在Quorum中,有一個(gè)封閉器(與挖掘器同義)的概念,這些封閉器是在網(wǎng)絡(luò)中預(yù)先確定的,用于驗(yàn)證事務(wù)。
設(shè)置節(jié)點(diǎn)
在區(qū)塊鏈網(wǎng)絡(luò)中建立一個(gè)節(jié)點(diǎn)在早期是非常困難的,因?yàn)槭紫龋杭夹g(shù)是非常新的,所以沒(méi)有很多可用的指令,如果有的話,這將是非常復(fù)雜的。其次:不成熟的工具和接口主要依賴于命令行,有時(shí)不得不從源代碼構(gòu)建代碼。
現(xiàn)在,建立一個(gè)節(jié)點(diǎn)通常需要下載一個(gè)客戶端并運(yùn)行它,這無(wú)疑要容易得多。這將允許網(wǎng)絡(luò)中最簡(jiǎn)單的節(jié)點(diǎn)參與者來(lái)驗(yàn)證事務(wù)。
要成為一名礦工,需要專門的硬件,比如專用的采礦計(jì)算機(jī),就像比特幣(Bitcoin),或者其他代幣的圖形處理器單元(gpu)一樣。挖掘軟件通常在網(wǎng)上很容易找到。
設(shè)置主節(jié)點(diǎn)需要更多的技術(shù)技能,因?yàn)樾枰泊鷰诺墨@取、轉(zhuǎn)移和管理知識(shí)。一些區(qū)塊鏈為在Raspberry Pi 等輕量級(jí)設(shè)備上運(yùn)行提供了客戶端軟件。以太坊就是這樣一個(gè)例子,其中有可以使用的??繄D像和Raspberry Pi特定的圖像。
總結(jié)
節(jié)點(diǎn)構(gòu)成了區(qū)塊鏈網(wǎng)絡(luò)的主干,其中用戶貢獻(xiàn)計(jì)算資源,目的是幫助推進(jìn)分散式網(wǎng)絡(luò)的開(kāi)發(fā)。信息不是存儲(chǔ)在集中的服務(wù)器中,而是以分布式和分散的方式存儲(chǔ),用戶可以完全控制這些信息。這是通過(guò)這個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)基本實(shí)現(xiàn)的。
本文討論了不同類型的節(jié)點(diǎn):完整節(jié)點(diǎn)、輕節(jié)點(diǎn)、挖掘節(jié)點(diǎn)甚至主節(jié)點(diǎn)。設(shè)置一個(gè)節(jié)點(diǎn)來(lái)為區(qū)塊鏈網(wǎng)絡(luò)做貢獻(xiàn)在以前是很困難的,但是現(xiàn)在就像下載一個(gè)客戶機(jī)并在一臺(tái)備用計(jì)算機(jī)上運(yùn)行它一樣簡(jiǎn)單。不過(guò),除了挖掘節(jié)點(diǎn)。
有了這個(gè)新發(fā)現(xiàn)的知識(shí),任何人都可以去決定應(yīng)該支持哪個(gè)區(qū)塊鏈網(wǎng)絡(luò)以及要支持哪種節(jié)點(diǎn)了。