寫在前面:
比特幣距其第三次“產量減半”完成已過去了兩個月的時間,而這段適應期,為defi、filecoin等熱點的爆發提供了機會,但加密貨幣市場真正的主角,從來都是比特幣,隨著傳統金融市場的投機潮進入尾聲,比特幣有望重回大眾的視線,那關于比特幣,有哪些知識是需要我們去掌握的呢?
在這篇文章中,作者GloriaZhao將介紹比特幣的四大節點類型,并描述它們之間形成的P2P連接,旨在幫助大家更好地理解比特幣的概念。
這是一份對初學者友好的比特幣“圖譜”,它可以幫助你理解各種各樣的節點、軟件以及比特幣網絡的參與者。
比特幣網絡通常被描述為點對點、分布式或去中心化的,也經常會有人把它錯誤地繪制成下面這個樣子:
實際上,它可能更像是下面這個樣子:
那什么是節點,它是做什么的?節點是一個服務器還是一個客戶端…或者兩者兼而有之?鑒于比特幣軟件有很多種,什么才算是一個節點?比特幣的所有參與者,它們是如何相互作用的?
本文繪制了一張比特幣網絡圖,闡明了這些定義并進行了簡化。我們將根據服務器/客戶端功能對不同類型的節點進行分類,并描述它們之間形成的P2P連接。本文沒有提供整個網絡的統計數據,而是主要關注于列舉網絡中的各種可能性。
比特幣礦企Bit Digital反駁J Capital的“虛假指控”:1月21日消息,納斯達克上市比特幣礦業公司BitDigital(BTBT)就美國做空機構JCapitalResearch的虛假指控進行了反駁。JCapital的報告稱BitDigital的備案文件中顯示該公司在中國經營著近23000臺比特幣礦機“純粹是一個謊言”。JCapital還稱BitDigital是一個“虛假的比特幣業務”,并聲稱已與中國當地政府官員核實BitDigital在中國沒有“比特幣礦機”,這讓人對其在中國的亞洲采礦業務的合法性產生了質疑。對此,BitDigital表示,其在中國大陸的所有采礦業務均由XMAX香港管理,所有“公用事業賬單和其他費用”均已支付給中國香港供應商。
據統計,在JCapital的報告發布后,BitDigital的市值已縮水1.3億美元。(CoinDesk)[2021/1/21 16:38:37]
簡短的答案
首先,那些標有比特幣標志的圓點是P2P網絡中的節點,而邊則是這些節點之間的P2P連接。實際上,比特幣網絡當中有很多不同類型的節點,這可以根據它們為其他對等方和客戶端提供服務的能力進行分類,節點可以在任何給定的時間點充當服務器、客戶端或兩者兼而有之。
節點=P2P網絡上實施比特幣P2P協議的參與者,只要節點遵循比特幣的協議,它無需運行任何特定的軟件。
P2P連接=使用比特幣P2P協議通信的兩個節點之間直接建立的網絡連接。我們經常使用“peer”來指代與某個節點有P2P連接的其他節點,也翻譯成對等節點。
節點的類型
委內瑞拉銀行無限期關閉,比特幣交易量經歷今年最大的增長:為對抗冠狀病委內瑞拉已宣布在全國范圍內實施隔離,此舉導致整個國家銀行系統無限期關門,與此同時,委內瑞拉境內的比特幣交易正在上升。點對點交易所LocalBitcoins上的比特幣交易量目前正經歷今年最大的增長。2月底,交易量約為491BTC。到上周,該數字已增加到540BTC。除委內瑞拉之外,其他的拉美國家的加密貨幣交易量也在上升。其中,哥倫比亞,隔離開始僅一周內,比特幣交易量就從289BTC升至403BTC,達到2019年中期以來峰值。在阿根廷,比特幣交易突破了每周50BTC的關口,增幅約為過去3年的10倍。(decrypt)[2020/3/18]
從廣義上講,節點根據其維護的狀態及可提供的服務分為四類。
1、全節點=能夠驗證交易和區塊的節點。全節點不會每次都在區塊數據庫中進行搜索,而是保留某種狀態,即設置一個UTXO。
因此,只要比特幣節點維護一些區塊元數據和最新的UTXO集,它們就不必為驗證而需要完整的區塊鏈副本。修剪節點實現了這種精確的行為:它們下載并處理區塊以構建必要的數據庫進行驗證,然后丟棄舊區塊以節省磁盤空間。因為它們擁有所有的信息并且可以驗證所有新的區塊和交易,因此它們也是全節點。
2、存檔節點=具有區塊鏈整個歷史副本的節點。這些節點能夠驗證傳入的交易和區塊,以及從歷史上的任何點查詢區塊和交易數據,包括那些不再與驗證相關的數據。存檔節點的存在是至關重要的,因為新節點需要跟上整個歷史記錄,才能成為全節點。它們只能通過從存檔節點一次一個區塊地下載歷史記錄來實現這一點。
3、挖礦節點=生成新區塊的節點。這包括維持一個未確認交易的存儲池,驗證新交易,以及解決工作量證明哈希難題來構造區塊。挖礦節點通常使用額外的硬件來協助它們解決哈希難題,或者說參與到礦池當中。從技術上講,還有一些非全節點會加入礦池,連接到管理該礦池的全節點,并幫助解決PoW難題,而無需進行任何驗證。
比特幣中國楊林科:區塊鏈底層技術還不很成熟:臺海網6月4日訊,上周末,GDS2018全球數字峰會在廈門舉行。樂東資本創始人、比特幣中國(BTCChina)創始人楊林科表示,區塊鏈天然的去中介化能夠為這個社會帶來很大的價值,也能夠降低很大的成本。目前區塊鏈的底層技術還不是特別的成熟,像以太坊的智能合約,每秒的TPS只有7米,也就是說大的應用跑不起來,完善底層技術還有很大空間。他還表示,未來區塊鏈的信息服務平臺、整個獎勵經濟都有很大市場。[2018/6/4]
4、輕客戶端=這種節點不保留完整驗證所需的完整狀態,而是信任其他全節點來執行此操作。輕客戶端可能會保留有限數量的數據,以驗證其自身的交易,但不能完全驗證所有區塊。在BitcoinCore中,“輕客戶端”通常與簡化支付驗證節點同義,但不要把它和修剪節點混淆。在某些情況下,輕客戶端并不能稱作節點,因為它們不執行全節點通常執行的大多數操作。
節點的其他概念
節點可能還具有影響其參與網絡的其他特征,但彼此之間或以上四個類別中的任何一個都不互斥。由于去中心化的性質,以及對比特幣生態系統中可訪問性的關注,因此,只要節點實施P2P協議并遵守共識規則,節點運營者就可以自行決定實施細節和采用特征。
初始區塊下載:這是一種臨時狀態,在該狀態下,節點尚未達到當前區塊的高度,并需要下載舊區塊。而全節點在沒有下載相關區塊時無法告知你相關的交易。而getblockchaininfoRPC會返回節點是否在IBD中。
沒有比特幣 區塊鏈也能存活:《華爾街日報》刊文稱,區塊鏈將會存活下去,即使比特幣沒有存活。作為底層技術,區塊鏈有望給貨運、房地產、鉆石等領域中的關鍵職能帶來亟需的改變。[2018/3/14]
僅區塊模式:一種非臨時模式,在此模式下,全節點僅驗證區塊及其中的交易,它不驗證任何未確認的交易,不保留mempool,并要求其對等節點不要向其中繼交易。
BitcoinCore:這一開源軟件最初是由中本聰編寫,目前由眾多貢獻者在負責維護,你可以從bitcoincore.org上找到相關的軟件。我們要知道的是,BitcoinCore并不是比特幣P2P網絡中唯一存在的軟件,一些節點運行實現特定行為的自定義補丁,而某些節點可能會使用舊版本的BitcoinCore。重要的是要認識到哪些新功能需要全面的網絡合作,不要指望節點正確或誠實地運行,并且要考慮到節點運營者在升級軟件時會猶豫不決,或者采用新軟件的進程會很緩慢。
惡意行為:故意傷害網絡的任何類型行為。比特幣假設了一個高度敵對的環境,包括可能遭到拒絕服務攻擊,旨在進行雙花的女巫攻擊/日蝕攻擊,試圖對地址去匿名化的間諜節點攻擊等。
節點作為服務器
我們已經看到,每個單獨的節點都依賴于它的對等節點來發送它需要的信息。此外,節點通常通過非P2P接口為許多用戶和客戶端軟件提供服務。
可將節點用作服務器的非節點客戶端的一些示例:
運行節點的用戶發送和接收比特幣;
管理密鑰、創建交易,并可能保留與這些密鑰相關聯的一些UTXO狀態的錢包,但沒有區塊鏈的副本,而是依靠節點來獲取最新信息;
北加州最大的比特幣ATM服務商Coinucopia 在灣區ATM推出實時比特幣交易服務:北加州最大的比特幣ATM服務商Coinucopia在灣區ATM推出實時比特幣交易服務。[2017/12/18]
面向用戶的軟件服務和應用程序,例如區塊瀏覽器、交易所以及商家,它們查詢全節點以獲取信息并將其顯示在網頁或應用程序上;
開發人員在regtest模式下創建節點來測試功能或接口本身;
面向開發人員的軟件,如SDK、API和其他接口。例如,BitcoinCoreCLI(bitcoin-cli)使用RPC接口來實現命令行接口;
雖然P2P網絡上節點的對等方看不到這些連接,但它們卻構成了比特幣功能的重要部分。BitcoinCore開發者在開發新功能或決定支持哪些功能時,會認真考慮這些參與者。
現在,我們將節點理解為服務器和客戶端,下面是單個節點的視圖:
節點的簡化視圖
P2P連接類型
比特幣中的P2P連接都說“相同的語言”,因為它們都使用P2P協議進行通信,但其對話內容卻多種多樣。BitcoinCore的實現試圖通過促進對等節點發現和仔細管理連接來平衡穩定性和可訪問性。BitcoinCore基于連接的發起方式,來區分三種主要類型的連接。
1、出站=節點通過對等發現發起的自動連接。節點發現首先要獲取已建立節點的IP地址列表,然后是一個連續的動態過程,即公布自己的地址并嘗試連接到你知道的地址。根據你的節點需要什么,它可以優先考慮能夠提供特定服務的連接。
2、入站=對等方發起的自動連接。為了安全起見,入站流量在默認情況下是禁用的,你需要配置一些網絡和防火墻設置才能啟用它。
3、手動=手動而自動建立的連接。你可能會創建一個手動連接,比如你需要連接到一個你信任之人操作的節點,或者你正在測試軟件,并且需要控制這些連接。
P2P連接的其他概念
1、出站連接的多樣性
出站連接可根據接收到的信息和連接的持續時間,細分為更多的類別。
全中繼出站連接希望傳達所有信息,包括區塊、交易以及地址。僅區塊中繼出站連接僅期望接收區塊,不要將其和僅區塊模式混淆。對于全節點,建立與1-2個對等節點的僅區塊中繼連接,以及對其他所有人建立全中繼連接是完全正常的。
One-Shot和Feelers是用于節點發現的臨時出站連接。One-Shot連接用于請求可用于查找新對等方的地址列表。Feelers連接用于驗證地址是否與實際節點相對應。
2、個體差異
如我們所見,每個節點可能提供不同的服務,并從其對等節點查找特定的信息。每個連接都是從version握手開始,其中節點發送有關其自身的信息并協商要談論的內容。連接也可能會通過后續消息發生變化,以表明它們僅對以最低費用率中繼的交易感興趣。
3、勸阻,斷開和禁止
BitcoinCore節點會跟蹤對等方的行為,以表明它們可能是惡意的或運行了故障軟件。作為對此類行為的響應,節點可能會選擇阻止、斷開連接或禁止對等方節點。
4、權限和白名單
節點還可以保持一份每個對等方擁有的權限列表,例如允許它請求的特定服務,或對通常會受到處罰的不當行為的容忍度。通常會為自定義的個人輕客戶端,和由彼此信任的人操作的節點手動添加允許的不當行為。相關的節點也可以將特定的IP地址列入白名單。
5、不對稱的重要性
請注意,每個單獨的連接是雙向的,但它們是不對稱的:發起對等方可能會將連接理解為出站、僅區塊中繼、feeler或one-shot連接,但接收對等方只看到具有某些既定規則的入站連接。這通過含糊不清的方式,隱藏了有關節點行為是揭示其內部機制還是僅反映了連接性質的信息。
例如,如果一個節點知道它的對等方處于blocksonly模式,那么很明顯,從該對等方發送的所有交易都對應于其自己的錢包地址。相反,接收節點只看到關閉了交易中繼的入站連接。
這可能意味著blocksonly模式,僅區塊中繼連接或連接的特性。單個節點更詳細的視圖如下所示:
稍完整一些的節點視圖
“完整”圖譜
每個節點對整個網絡所了解的信息是有限的,節點實際上只看到了自己的對等節點,而對等節點可能會謊稱自己是什么類型的節點。在日蝕攻擊事件中,所有對等節點甚至可能都來自于同一個人。這對于隱私和安全性來說是一個優勢,因為它同樣適用于對手方。信息有限會使定向攻擊更加困難,通過創建大量臨時連接,可以收集有關網絡中有多少個節點的大概信息,但這些信息遠非全面。
例如,網絡上不會立即顯示節點是否參與了礦池。通過大致了解哪些節點是礦池的一部分,并觀察它們“挖掘”了多少區塊,一些網站就能夠生成計算能力比例的分析。但是,它們可能會產生誤導,因為節點組甚至多個礦池完全可能是由一個實體操作。
綜上所述,我們可以想象出這張簡化的網絡圖譜:
簡化的比特幣網絡圖譜
該圖表示了各種可能性,而沒有展示網絡規模或拓撲結構。請注意,可能性包括:
具有通過非P2P接口連接的各種客戶端的BitcoinCore全節點。例如從bitcoincore.org下載該軟件,并使用命令行或GUI來發送和接收幣的用戶。
輕量級客戶端盡其所能連接到各種全節點,以便為自己的客戶提供服務。
一個服務于一個或多個輕客戶端的全節點,也許是一個比特幣狂熱者,他使用一些云服務提供商在其個人設備上運行一個全節點,并使用一個更輕量級的應用程序。
通過P2P網絡和某些專用網絡連接到一組自定義輕客戶端的自定義全節點。
結論
希望這篇文章有助于澄清人們所說的“節點”和“P2P網絡”的含義,并將網絡中所有參與者如何相互作用的要點聯系起來。我希望它也為BitcoinCore如何實現點對點連接以保護隱私,以及如何使得新節點能夠參與進來,提供一些見解,謝謝閱讀!
非常感謝JohnNewbery和AmitiUttarwar,他們幫助我理解和記錄了這些信息。
Tags:比特幣BITOINCOIN比特幣是什么東西怎么產生的Bitcoin Volatility Index Tokencoinbase網頁版Super Cat Coin
作者|哈希派分析團隊 數據:逾3億美元ETH從未知錢包地址轉移至幣安:Whale Alert數據顯示,北京時間5月19日19:33:36.
1900/1/1 0:00:00一杯茶一包煙,一個大盤看一天。常年這樣盯盤的你是否偶爾感到空虛、疲憊、腰酸背疼、嘴淡、無聊、頭發變少.
1900/1/1 0:00:00撰文:HaseebQureshi,DragonflyCapital管理合伙人編譯:PerryWang想象一下,有個大學時的朋友聯絡你說:「嘿,我有個商業設想。我想開發一個做市機器人.
1900/1/1 0:00:00寫在前面: 對于以太坊當前高昂的gas費問題,Vitalik明確提出短期應通過Rollup方案解決,然而,Rollup會面臨明顯的孤島問題,這與DeFi的可組合性而言是對立的.
1900/1/1 0:00:00Gasper是一個由信標鏈協議實現的抽象的權益證明協議層。Gasper的關鍵部分就是一套終局性機制,用于保證交易的持存性和系統的不間斷運作不會被攻擊破壞.
1900/1/1 0:00:00作者:廖飛強|微眾銀行區塊鏈核心開發者來源:微眾銀行區塊鏈微信公眾號數字簽名是否只能由單一主體簽署?在涉及多方授權的場景中.
1900/1/1 0:00:00