全節點是是擁有完整區塊鏈賬本的節點,全節點需要占用記憶體同步所有的區塊鏈數據,能夠獨立校驗區塊鏈上的所有交易並實時更新數據,主要負責區塊鏈的交易的廣播和驗證。
基本介紹
- 中文名:全節點
- 外文名:Full Node
- 別名:完整節點
相關介紹,什麼是比特幣全節點,廣播通信:,信息的加解密:,共識機制:,交易驗證:,
相關介紹
節點 (Node)
節點是區塊鏈分散式系統中的網路節點,是通過網路連線的伺服器、計算機、電話等,針對不同性質的區塊鏈,成為節點的方式也會有所不同。以比特幣為例,參與交易或挖礦即構成一個節點。
什麼是比特幣全節點
因為區塊鏈交易網路擁堵,作者通過提出通過調整廣播通信、信息加解密、共識機制、交易驗證機制來解決問題。
主要影響區塊鏈的交易性能包括廣播通信、信息加解密、共識機制、交易驗證機制等幾個環節。
廣播通信:
由於區塊鏈的核心技術之一就是P2P網路,因此P2P網路通信的效率是對性能的影響非常重要。首先,為了能最大程度的改善交易性能,推薦你採用聯盟鏈而不是公鏈,假如你的套用是高頻套用,如果運行基於比特幣或以太坊的公鏈,那用戶體驗會比較差。由於公鏈必須保持高度的去中心化,節點軟體必須能夠在標準的消費級電腦上運行,並且每個節點機器的性能和網路情況都是千差萬別的,導致交易性能形成一個天然的限制。而對於聯盟鏈,我們可以指定節點機器的物理配置和節點數量,並儘量以高速網路進行連線,則可以很大程度改善區塊鏈的交易性能。
信息的加解密:
信息的加解密是區塊鏈的關鍵環節,主要是哈希函式和非對稱加密兩部分的算法。哈希函式目前主要有SHA家族算法、MD5、SCRYPT、RIPEMD、WHIRLPOOL、CUCKOO HASH、HAVAL、Tiger、LYRA2、Equihash、Hashimoto、Dagger、Ethash(以太坊目前Pow機制下的算法)等多種算法,還有其中算法的串聯和並聯使用。由於商業套用一般都不考慮挖礦問題和更注重性能問題,更推薦大家採用常用的SHA256算法為主。而非對稱加密部分,主要有非對稱加密算法包括RSA、DSA、橢圓曲線算法等,區塊鏈一般使用橢圓曲線算法,包括ECDSA和SCHNORR,還有國密算法(SM2橢圓曲線公鑰密碼算法、SM3密碼雜湊算法、SM4分組密碼算法),其中,比特幣使用的簽名算法是ECDSA,而Schnorr簽名的驗證速度比ECDSA簽名的快,而且這種簽名體積可以更小,還原生地支持多重簽名。
共識機制:
共識機制是分散式賬本為了使得所存儲信息的準確性與一致性設計的一套機制,機制的設計主要由業務與性能的需求決定,從PoW到PoS再到DPoS和各種拜占庭容錯算法,共識機制不斷創新,區塊鏈平台性能也得到大幅提升。在類似DPoS或PBFT的共識機制下,區塊鏈上交易的確認很迅速,交易吞吐量也滿足現有的金融交易規模,部分私鏈性能達到萬筆/秒,能夠滿足絕大多數業務需求。
交易驗證:
從交易驗證機制角度出發,目前有幾種最佳化處理方式:
1.分片處理(sharding),總體思路是每個節點只處理一部分交易,比如一部分賬戶發起的交易,從而減輕節點的計算和存儲負擔。
2.閃電網路(LightningNetwork)和狀態通道(State Channels),這兩種策略是保持底層的區塊鏈協定不變,儘可能將交易放到鏈外執行,通過改變協定用法的方式來解決擴展性問題。在這種策略下,分散式賬本上只是記錄粗粒度的賬本,而真正細粒度的雙邊或有限多邊交易明細,則不作為交易記錄在分散式賬本上。
3.北航鏈設計了獨有的ABC(賬戶區塊鏈)和TBC(交易區塊鏈),當有新的銀行成立或者原有銀行需要進行擴展時,可以設立ABC來解決;當交易量較大時,系統可以增加TBC來增加處理速度,通過這兩種途徑來解決可擴展性方面的需求。
從比特幣到以太坊,從Ripple到HyperLedger fabric或Corda,通過共識算法的創新以及聯盟鏈的部署使得吞吐量等性能得到大幅的提升,當前延時已能夠控制在秒級別,吞吐量達萬筆每秒,單節點的存儲空間需求也能夠進行相應的最佳化與壓縮,性能瓶頸已經被逐步突破。