我是馬克周,一個(gè)對(duì)數(shù)字加密貨幣和區(qū)塊鏈深感興趣的撰稿人床绪;熱衷編程學(xué)習(xí)和幣價(jià)技術(shù)分析断凶。
你可以在這里找到我
LinkedIn:www.linkedin.com/in/mark-zhou-ab01b637
TradingView:www.tradingview.com/u/xiucat
作為整個(gè)生態(tài)鏈的一環(huán)尔许,網(wǎng)絡(luò)節(jié)點(diǎn)一直擔(dān)任著交易確認(rèn)和廣播的工作。
網(wǎng)絡(luò)節(jié)點(diǎn)有很多種案狠,但也有不同的分類方法。按照最常見的一種分法钱雷,網(wǎng)絡(luò)節(jié)點(diǎn)有三種:
第一種叫做完整節(jié)點(diǎn) (Full node)骂铁;
第二種是完整節(jié)點(diǎn)的變體,叫做修剪節(jié)點(diǎn) (Pruning node)急波;
第三種則不是完整節(jié)點(diǎn)从铲,通常被稱作 SPV 節(jié)點(diǎn),也稱輕量節(jié)點(diǎn) (Lightweight node)澄暮。
這種分類方式基于兩點(diǎn)差異:一是這個(gè)節(jié)點(diǎn)是否下載了最新最完整的比特幣區(qū)塊鏈名段;第二個(gè)區(qū)別阱扬,也是更為重要的一點(diǎn),是該節(jié)點(diǎn)能否獨(dú)立驗(yàn)證比特幣的轉(zhuǎn)賬交易伸辟,即能否獨(dú)立實(shí)現(xiàn)作為一個(gè)節(jié)點(diǎn)的基本功能麻惶。
在細(xì)說這三種節(jié)點(diǎn)前,有一個(gè)前提需要明確信夫,那就是任何一種比特幣節(jié)點(diǎn)窃蹋,都需要遵守比特幣的共識(shí)規(guī)則 (Consensus rules)。分散共識(shí)機(jī)制 (Distributed Consensus) 是比特幣的根基之一静稻,是所有節(jié)點(diǎn)必須遵守的警没,共識(shí)規(guī)則的細(xì)則有不少,比如下面這些:
每個(gè)區(qū)塊僅能產(chǎn)生特定數(shù)量的比特幣 (當(dāng)前是 12.5 比特幣/區(qū)塊)振湾。Blocks may onlycreatea certain number of bitcoins. (Currently 12.5 BTC per block.)
在一條區(qū)塊鏈內(nèi)杀迹,任意一筆轉(zhuǎn)賬都不能夠被二次轉(zhuǎn)出 (雙花,Double-spending)押搪。Within a single?block chain, a transaction output cannot be double-spent.
來源:
接下來我們?cè)敿?xì)介紹一下這三種節(jié)點(diǎn)。
先來看看第一種完整節(jié)點(diǎn)大州。顧名思義续语,完整的比特幣節(jié)點(diǎn)就是那些下全了最新區(qū)塊鏈的計(jì)算設(shè)備。完整節(jié)點(diǎn)是比特幣網(wǎng)絡(luò)的主心骨厦画。因?yàn)榭梢元?dú)立完成交易確認(rèn)和廣播疮茄,它是支撐著比特幣轉(zhuǎn)賬交易的核心力量。如果沒有人運(yùn)行完整節(jié)點(diǎn)了苛白,比特幣網(wǎng)絡(luò)便會(huì)瞬間崩塌娃豹。使用完整節(jié)點(diǎn)的主要包括兩類人,一是獨(dú)立挖礦的礦工购裙,二是那些使用默認(rèn)設(shè)置運(yùn)行比特幣軟件 (Bitcoin core) 的用戶 (比特幣軟件同時(shí)也是一個(gè)錢包懂版,因此運(yùn)行比特幣軟件的個(gè)人用戶里,有不少也會(huì)用它存儲(chǔ)比特幣)躏率。
獨(dú)立挖礦的礦工需要完整的區(qū)塊鏈賬本躯畴,以便隨時(shí)驗(yàn)證新交易。比特幣軟件默認(rèn)會(huì)自行同步當(dāng)前完整的區(qū)塊鏈薇芝。
最近兩天蓬抄,我終于把比特幣軟件裝好,開始同步區(qū)塊鏈了夯到。這時(shí)候嚷缭,很多跟我一樣使用個(gè)人電腦運(yùn)行完整節(jié)點(diǎn)的人,會(huì)遇到一個(gè)共同的問題,那就是硬盤容量不夠大阅爽。目前比特幣的區(qū)塊鏈已經(jīng)超過了 150 GB路幸。隨著比特幣交易不斷增加,這個(gè)數(shù)字會(huì)越來越大付翁。面對(duì)這樣的情況简肴,從 0.12.0 版本開始,Bitcoin core 軟件增加了一個(gè) “修剪 (Pruning)” 功能百侧,用來減少本地硬盤使用量砰识。
前面提到的第二種修剪節(jié)點(diǎn),就是啟用了?“修剪” 功能的完整節(jié)點(diǎn)佣渴。修剪節(jié)點(diǎn)同樣可以獨(dú)立完成比特幣轉(zhuǎn)賬的確認(rèn)辫狼,但是它并沒把整個(gè)區(qū)塊鏈都下載到本地。盡管沒有圖形化的開啟/關(guān)閉按鈕辛润,啟用修剪功能也不麻煩:在第一次啟動(dòng) Bitcoin core 軟件時(shí)予借,軟件會(huì)要求用戶選擇存放區(qū)塊鏈的文件夾位置 (可以理解為迅雷存放下載文件的位置)。用戶只需在這個(gè)文件夾的根目錄下频蛔,自行創(chuàng)建一個(gè)名為 “bitcoin.conf” 的設(shè)置文檔,并且寫入 prune=N 這行代碼即可秦叛。其中晦溪,N 便是本地存儲(chǔ)的區(qū)塊鏈大小,N=0 意味著不設(shè)限制挣跋,完整下載三圆;若需設(shè)限,最小可用值為 550 避咆。N 的單位是 MB舟肉。
如果打算啟用 “修剪” 功能,或者因?yàn)槠渌虿榭猓枰薷?bitcoin.conf 文檔路媚,推薦大家使用這個(gè) Github 上的開源工具進(jìn)行相應(yīng)操作。這個(gè)工具設(shè)計(jì)了圖形化設(shè)置選項(xiàng)樊销,更改某項(xiàng)后整慎,會(huì)自動(dòng)生成對(duì)應(yīng)的代碼,避免因?yàn)榇a錯(cuò)誤而造成不必要的麻煩围苫。
鏈接地址:
https://jlopp.github.io/bitcoin-core-config-generator/
第三種節(jié)點(diǎn)叫做 SPV 節(jié)點(diǎn)裤园,或稱輕量節(jié)點(diǎn)。如果你在自己的手機(jī)上安裝了比特幣錢包 APP剂府,你的手機(jī)便成為一個(gè) SPV 節(jié)點(diǎn)拧揽。在這些移動(dòng)計(jì)算設(shè)備上,由于容量限制,以及對(duì)于便攜性的高要求淤袜,人們通常不會(huì)下載區(qū)塊鏈到本地痒谴。因此,錢包的運(yùn)營者會(huì)通過 SPV (Simple payment verification) 協(xié)議饮怯,將每個(gè)用戶錢包中的轉(zhuǎn)賬與網(wǎng)上的完整區(qū)塊鏈進(jìn)行核對(duì)與確認(rèn)闰歪。
比特幣開發(fā)者通常會(huì)建議用戶使用完整節(jié)點(diǎn)或者修剪節(jié)點(diǎn)作為比特幣錢包,即使不把它們當(dāng)做錢包來用蓖墅,也不妨運(yùn)行一個(gè)完整節(jié)點(diǎn)库倘。從整個(gè)比特幣生態(tài)的角度來看,運(yùn)行完整節(jié)點(diǎn)是對(duì)比特幣網(wǎng)絡(luò)很好的支持论矾,完整節(jié)點(diǎn)越多教翩,比特幣網(wǎng)絡(luò)就越安全。從個(gè)人使用的角度來看贪壳,使用完整節(jié)點(diǎn)作為錢包饱亿,可以避開信任問題:無需將自己的比特幣托付給第三方錢包軟件,自己的軟件就可以獨(dú)立驗(yàn)證和確認(rèn)交易闰靴”肓可以這樣說,運(yùn)行完整節(jié)點(diǎn)蚂且,是比特幣創(chuàng)立之初所推崇的去中心化原則的體現(xiàn)配猫。
- [ THE END ] -
你可以在這里找到我
LinkedIn:www.linkedin.com/in/mark-zhou-ab01b637
TradingView:www.tradingview.com/u/xiucat