當前位置:首頁 » 以太坊知識 » 以太坊多節點私有鏈

以太坊多節點私有鏈

發布時間: 2024-03-09 14:40:03

區塊鏈,4種類型,知多少

——你好,我是心態,專注分享對區塊鏈的認知與投資思考。希望能幫到你。

區塊鏈根據不同的使用需求和場景,區塊鏈分為:公有鏈、聯盟鏈、私有鏈和混合鏈4種類型。

1.公有鏈

公有鏈,是指全世界任何節點的任何人,在任何地理位置,都可以進入系統讀取數據、發送交易、競爭記賬等參與共識的區塊鏈。沒有任何機構或個人可以篡改其中的數據,因此公有鏈是完全去中心化的。

比特幣以太坊都是公有鏈的代表。公有鏈一般通過發行代幣(Token)來鼓勵參與者競爭記賬(即挖礦),以確保數據的安全性和共識更新。

比特幣平均每10分鍾產生1個區塊,且其POW機制很難縮短區塊時間,POS機制相對而言可縮短區塊時間,但更易產生分叉。所以交易需要等待更多確認才被認為安全。

一般認為,比特幣中的區塊經過6個確認後才是足夠安全的,這大概需要1個小時。這樣的確認速度難以滿足商業級的應用。因此,ETH及EOS等支持更多寫入速度的公有鏈正在不斷發展。

2.聯盟鏈

聯盟鏈是指有若干機構共同參與和管理的區塊鏈,每個機構都運行N個節點。

聯盟鏈的數據只允許系統內不同的機構進行讀寫和交易,通過數字證書的方式實現基於PKI的身份管理體系交易或提案的發起,以參與方共同簽名驗證來達成共識,因此不需要工作量證明(POW),也不存在數字貨幣(代幣),提高了交易達成的效率,節約了大量計算成本(算力硬體投入和電力能源消耗)。

通常情況下,參與聯盟鏈的節點會被劃分不同的讀寫許可權,能支持每秒1000次以上的數據寫入。

3.私有鏈

私有鏈與公有鏈完全去中心化不同,私有鏈的進入許可權由某個組織進行控制,各個節點參與資格由該組織授權控制。

由於參與的各個節點是有限且可控的,私有鏈往往擁有很快的處理速度,能支持每秒1000以上的數據寫入,同時降低內部各個節點的交易成本。

節點可以實名參與,因此具有確認身份的金融屬性。私有鏈的價值主要是提供安全、可追溯、不可篡改、自動執行的運算平台,可以同時防範來自內部和外部對數據的安全攻擊或篡改,這在傳統的系統中是很難做到的。

私有鏈的應用場景一般在企業內部,如分公司的庫存管理,各地數據的匯總統計等,也可以用在政府的預算和執行等可以被公眾監督的領域。大型金融集團目前也傾向於使用私有鏈技術。

4. 混合鏈

當公有鏈和私有鏈的各自優勢相結合時,就會出現混合鏈。混合鏈的開發難度大,但前景廣闊。

未來市場上,一定會出現巨頭型的底層技術和協議開發的公司,這些巨頭公司會架設出不同用途的公有鏈、私有鏈或者聯盟鏈,基於對性能和安全性及應用場景的不同需求,然後嫁接不同行業的應用。比如一條支持高並發的通信類公有鏈,一條側重安全性的支付聯盟鏈,等等。

(感謝閱讀)

點個贊,點個關注,就是對我最大的支持,咱們明天見。

② 國內有哪些私有鏈

比特幣、以太坊都是典型的公有鏈。
私有鏈是指其寫入許可權由某個組織和機構控制的區塊鏈,參與節點的資格會被嚴格限制。由於參與節點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊,並且能做到身份認證等金融行業必需的要求。

③ 公有鏈,私有鏈與聯盟鏈有何不同

根據用戶需求和場景應用不同,區塊鏈分為公有鏈(PublicBlockchain)、私有鏈(PrivateBlockchain)以及聯盟鏈(ConsortiumBlockchain)三大類。

公有鏈去中心化程度。這種以比特幣以及以太坊為代表的公有區塊鏈,不受第三方機構控制,世界上所有的人都可讀取鏈上的數據記錄、參與交易以及競爭新區塊的記賬權等。

程序開發者無權干涉用戶,各參與者(即節點)可自由加入以及退出網路,並按照意願進行相關操作。

私有區塊鏈則完全相反,該網路的寫入許可權由某個組織或者機構全權控制,數據讀取許可權受組織規定,要麼對外開放、要麼具有一定程度的訪問限制。

簡單來說,可以將其理解為一個弱中心化或者多中心化的系統。由於參與節點具有嚴格限制且少;與公有鏈相比,私有鏈達成共識的時間相對較短、交易速度更快、效率更高、成本更低。

而聯盟鏈則是介於公有鏈以及私有鏈之間的區塊鏈,可實現「部分去中心化」。

鏈上各個節點通常有與之相對應的實體機構或者組織;參與者通過授權加入網路並組成利益相關聯盟,共同維護區塊鏈運行。

從某種程度上來說,聯盟鏈也屬於私有鏈的范疇,只是私有化程度有所不同而已。為此其同樣具有成本較低、效率較高的特點,適用於不同實體間的交易、結算等B2B交易。

總的來說,公有鏈的進入門檻最低,而私有鏈以及聯盟鏈則在開放程度上有所限制。

④ 以太坊多節點私有鏈部署

假設兩台電腦A和B
要求:
1、兩台電腦要在一個網路中,能ping通
2、兩個節點使用相同的創世區塊文件
3、禁用ipc;同時使用參數--nodiscover
4、networkid要相同,埠號可以不同

1.4 搭建私有鏈
1.4.1 創建目錄和genesis.json文件
創建私有鏈根目錄./testnet
創建數據存儲目錄./testnet/data0
創建創世區塊配置文件./testnet/genesis.json

1.4.2 初始化操作
cd ./eth_test
geth --datadir data0 init genesis.json

1.4.3 啟動私有節點

1.4.4 創建賬號
personal.newAccount()
1.4.5 查看賬號
eth.accounts
1.4.6 查看賬號余額
eth.getBalance(eth.accounts[0])
1.4.7 啟動&停止挖礦
啟動挖礦:
miner.start(1)
其中 start 的參數表示挖礦使用的線程數。第一次啟動挖礦會先生成挖礦所需的 DAG 文件,這個過程有點慢,等進度達到 100% 後,就會開始挖礦,此時屏幕會被挖礦信息刷屏。
停止挖礦,在 console 中輸入:
miner.stop()
挖到一個區塊會獎勵5個以太幣,挖礦所得的獎勵會進入礦工的賬戶,這個賬戶叫做 coinbase,默認情況下 coinbase 是本地賬戶中的第一個賬戶,可以通過 miner.setEtherbase() 將其他賬戶設置成 coinbase。

1.4.8 轉賬
目前,賬戶 0 已經挖到了 3 個塊的獎勵,賬戶 1 的余額還是0:

我們要從賬戶 0 向賬戶 1 轉賬,所以要先解鎖賬戶 0,才能發起交易:

發送交易,賬戶 0 -> 賬戶 1:

需要輸入密碼 123456

此時如果沒有挖礦,用 txpool.status 命令可以看到本地交易池中有一個待確認的交易,可以使用 eth.getBlock("pending", true).transactions 查看當前待確認交易。

使用 miner.start() 命令開始挖礦:
miner.start(1);admin.sleepBlocks(1);miner.stop();

新區塊挖出後,挖礦結束,查看賬戶 1 的余額,已經收到了賬戶 0 的以太幣:
web3.fromWei(eth.getBalance(eth.accounts[1]),'ether')

用同樣的genesis.json初始化操作
cd ./eth_test
geth --datadir data1 init genesis.json

啟動私有節點一,修改 rpcport 和port

可以通過 admin.addPeer() 方法連接到其他節點,兩個節點要要指定相同的 chainID。

假設有兩個節點:節點一和節點二,chainID 都是 1024,通過下面的步驟就可以從節點二連接到節點一。

首先要知道節點一的 enode 信息,在節點一的 JavaScript console 中執行下面的命令查看 enode 信息:

admin.nodeInfo.enode
" enode://@[::]:30303 "

然後在節點二的 JavaScript console 中執行 admin.addPeer(),就可以連接到節點一:

addPeer() 的參數就是節點一的 enode 信息,注意要把 enode 中的 [::] 替換成節點一的 IP 地址。連接成功後,節點一就會開始同步節點二的區塊,同步完成後,任意一個節點開始挖礦,另一個節點會自動同步區塊,向任意一個節點發送交易,另一個節點也會收到該筆交易。

通過 admin.peers 可以查看連接到的其他節點信息,通過 net.peerCount 可以查看已連接到的節點數量。

除了上面的方法,也可以在啟動節點的時候指定 --bootnodes 選項連接到其他節點。 bootnode 是一個輕量級的引導節點,方便聯盟鏈的搭建 下一節講 通過 bootnode 自動找到節點

參考: https://cloud.tencent.com/developer/article/1332424

⑤ 以太坊私有鏈如何更新版本

以太坊私有鏈更新版本的方法:
1、獲取以太坊私有鏈系統的當前版本對應的當前版本號;
2、基於所述當前版本號,確定所述以太坊私有鏈系統的升級版本的升級版本號;
3、將所述以太坊私有鏈系統升級為所述升級版本號對應的升級版本。

⑥ 公有鏈的安全主要由什麼等方式負責維護

公有鏈:是指全世界任何人都可以隨時進入到系統中讀取數據、發送可確認交易、競爭記賬的區塊鏈。例如:比特幣、以太坊。

私有鏈:是指其寫入許可權由某個組織和機構控制的區塊鏈,參與節點的資格會被嚴格限制。

聯盟鏈:是指有若干個機構共同參與管理的區塊鏈,每個機構都運行著一個或多個節點,其中的數據只允許系統內不同的機構進行讀寫和發送交易,並且共同來記錄交易數據。

聯盟鏈是一種將區塊鏈技術應用於企業的相對較新的方式。公有鏈向所有人都開放,而私有鏈通常只為一個企業提供服務,聯盟鏈相對公鏈來說有更多限制,通常為多個企業之間的共同協作提供服務。

聯盟鏈與公有鏈的不同之處在於,它是需要獲得事先許可的。因此並不是所有擁有互聯網連接的任何人都可以訪問聯盟區塊鏈的。聯盟鏈也可以描述為半去中心化的,對聯盟鏈的控制權不授予單個實體,而是多個組織或個人。

對於聯盟鏈,共識過程可能與公有鏈不同。聯盟鏈的共識參與者可能是網路上的一組預先批準的節點,而不是任何人都可以參與該過程。聯盟鏈允許對網路進行更大程度的控制。

那說到聯盟鏈的優點:

首先,聯盟鏈受一個特定群體的完全控制,但並不是壟斷。當每個成員都同意時,這種控制可以建立自己的規則。

其次,具有更大的隱私性,因為來驗證區塊的信息不會向公眾公開,只有聯盟成員可以進行處理這些信息。它為平台客戶創造了更大的信任度和信心。

最後,與公共區塊鏈相比,聯盟鏈沒有交易費用,更靈活一些。公共區塊鏈中大量的驗證器導致同步和相互協議的麻煩。通常這種分歧會導致分叉,但聯盟鏈不會出現這種狀況。

聯盟鏈技術可以用來優化大多數傳統信息化系統的業務流程,特別適用於沒有強力中心、多方協作、風險可控的業務場景。聯盟鏈的共享賬本機制可以極大降低該類場景下的對賬成本、提高數據獲取效率、增加容錯能力、鞏固信任基礎、以及避免惡意造假。

隨著區塊鏈技術的不斷發展,越來越多的機構與企業開始加大對區塊鏈的研究與應用。相比公鏈而言,聯盟鏈具有更好的落地性,受到了許多企業與政府的支持。

聯盟鏈可以理解為是為了滿足特定行業需求,內部機構建立起來的一種分布式賬本。這個賬本對內部機構是公開透明的,但如果有相關業務需求,對該賬本的數據進行修改,則還是是需要智能合約的加入。

智能合約(Smart contract )是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。

總體來說,目前聯盟鏈智能合約的主流架構是:系統合約 + 業務合約。

系統合約:在節點啟動前配置完成,一般用於系統管理(如BCOS的預編譯合約(許可權管理、命名管理等),由項目方編寫,安全性較高。

業務合約:根據實際業務編寫而成,需要部署,類似公鏈智能合約,由一般內部機構參與方編寫,需遵守一定的要求,安全性一般。

聯盟鏈合約相較於常規公鏈在規范性、和安全性都有一定的提升,但在以下幾個方面的安全性問題,仍可能存在安全風險:

(1)、代碼語言安全特性

一種是繼續沿用主流公鏈編程語言,並在其基礎上改進(如:BCOS使用的solidity),另一種則是以通用編程語言為基礎,指定對應的智能合約模塊(如:fabric的Go/Java/Node.js),不管使用什麼語言對智能合約進行編程,都存在其對應的語言以及相關合約標準的安全性問題。

(2)、合約執行所帶來的安全性問題

整型溢出:不管使用的何種虛擬機執行合約,各類整數類型都存在對應的存儲寬度,當試圖保存超過該范圍的數據時,有符號數就會發生整數溢出。

堆棧溢出:當定義方法參數和局部變數過多,位元組過大,可能使程序出現錯誤。

拒絕服務攻擊:主要涉及到的是執行合約需要消耗資源的聯盟鏈,因資源耗盡而無法完成對應的交易。

(3)、系統機制導致的合約安全問題

這里主要是指多鏈架構的聯盟鏈:

合約變數的生成如果依賴於不確定因素(如:本節點時間戳)或者某個未在賬本中持久化的變數,那麼可能會因為各節點該變數的讀寫集不一樣,導致交易驗證不通過。

全局變數不會保存在資料庫中,而是存儲於單個節點。因此,如果此類節點發生故障或重啟時,可能會導致該全局變數值不再與其他節點保持一致,影響節點交易。因此,從資料庫讀取、寫入或從合約返回的數據不應依賴於全局狀態變數。

在多鏈結構下進行外部鏈的合約調用時,可能僅會得到被調用鏈碼函數的返回結果,而不會在外部通道進行任何形式的交易提交。

合約訪問外部資源時,可能會暴露合約未預期的安全隱患,影響鏈碼業務邏輯。

(4)、業務安全問題

聯盟鏈的智能合約是為了完成某項業務需求執行某項業務,因此在業務邏輯和業務實現上仍是可能存在安全風險的,如:函數許可權失配、輸入參數不合理、異常處理不到位。

我們對聯盟鏈安全的建議:

(1)、簡化智能合約的設計,做到功能與安全的平衡

(2)、嚴格執行智能合約代碼審計(自評/項目組review/三方審計)

(3)、強化對智能合約開發者的安全培訓

(4)、在區塊鏈應用落地上,需要逐步推進,從簡單到復雜,在此過程中不斷梳理合約與平台相關功能/安全屬性

(5)、考慮DevSecOps(Development+Security+Operations)的思想

鏈平台安全包括:交易安全、共識安全、賬戶安全、合規性、RPC安全、端點安全、P2P安全等。

黑客攻擊聯盟鏈的手法包括:內部威脅、DNS攻擊、MSP攻擊、51%的攻擊等。

以MSP攻擊為例:MSP是Fabric聯盟鏈中的成員服務提供商(Membership Service Provider)的簡稱,是一個提供抽象化成員操作框架的組件,MSP將頒發與校驗證書,以及用戶認證背後的所有密碼學機制與協議都抽象了出來。一個MSP可以自己定義身份,以及身份的管理(身份驗證)與認證(生成與驗證簽名)規則。

針對MSP的攻擊,一般來說,可能存在如下幾個方面:

(1)、內部威脅:a)當前版本的MSP允許單個證書控制,也就是說,如果某個內部人員持有了可以管理MSP的證書,他將可以對Fabric網路進行配置,比如添加或撤消訪問許可權,向CRL添加身份(本質上是列入黑名單的身份),過於中心化的管理可能導致安全隱患。 b)如果有感測器等物聯網設備接入聯盟鏈,其可能傳播虛假信息到鏈上,並且因為感測器自身可能不支持完善的安全防護,可能導致進一步的攻擊。

(2)、私鑰泄露,節點或者感測器的證書文件一般存儲在本地,可能導致私鑰泄漏,進而導致女巫攻擊、雲中間人攻擊(Man-in-the-Cloud attack)等

(3)、DNS攻擊:當創建新參與者的身份並將其添加到MSP時,在任何情況下都可能發生DNS攻擊。向區塊鏈成員創建證書的過程在許多地方都可能發生攻擊,例如中間人攻擊,緩存中毒,DDOS。攻擊者可以將簡單的DNS查詢轉換為更大的有效載荷,從而引起DDoS攻擊。與CA攻擊類似,這種攻擊導致證書篡改和/或竊取,例如某些區塊鏈成員將擁有的許可權和訪問許可權。感測器網路特別容易受到DDOS攻擊。智慧城市不僅面臨著實施針對DDOS攻擊的弱點的感測器網路,而且面臨著弱點的伴隨的區塊鏈系統的挑戰。

(4)、CA攻擊:數字證書和身份對於MSP的運行至關重要。Hyperledger Fabric允許用戶選擇如何運行證書頒發機構並生成加密材料。選項包括Fabric CA,由Hyperledger Fabric,Cryptogen的貢獻者構建的過程,以及自己的/第三方CA。這些CA本身的實現都有其自身的缺陷。 Cryptogen在一個集中的位置生成所有私鑰,然後由用戶將其充分安全地復制到適當的主機和容器中。通過在一個地方提供所有私鑰,這有助於私鑰泄露攻擊。除了實現方面的弱點之外,MSP的整體以及因此區塊鏈的成員資格都在CA上運行,並且具有信任證書有效的能力,並且證書所有者就是他們所說的身份。對知名第三方CA的攻擊如果成功執行,則可能會損害MSP的安全性,從而導致偽造的身份。Hyperledger Fabric中CA的另一個弱點是它們在MSP中的實現方式。 MSP至少需要一個根CA,並且可以根據需要支持作為根CA和中間CA。如果根CA證書被攻擊,則會影響所有根證書簽發的證書。

成都鏈安已經推出了聯盟鏈安全解決方案,隨著聯盟鏈生態的發展,2020年成都鏈安已配合多省網信辦對當地政企事業單位的聯盟鏈系統進行了從鏈底層到應用層多級安全審計,發現多場景多應用多形態的聯盟鏈系統及其配套系統的漏洞和脆弱點。

並且,成都鏈安已與螞蟻區塊鏈開展了合作,作為螞蟻區塊鏈優選的首批節點加入開放聯盟鏈,我們將發揮安全技術、服務、市場優勢,與開放聯盟鏈共拓市場、共建生態、並為生態做好安全保駕護航。

一方面我們的智能合約形式化驗證產品VaaS將持續為開放聯盟鏈應用提供『軍事級』的安全檢測服務,為應用上線前做好安全檢測,預防其發生安全和邏輯錯誤;我們的『鷹眼』安全態勢感知系統採用AI+大數據技術,為開放聯盟鏈及其應用提供全面及時的『安全+運營』態勢感知、鏈上合約風險監測、安全預警、報警、防火牆阻斷及實時響應處理能力。

另一方面,我們的安全產品已經積累了數十萬的客戶群體,我們將發揮我們的全球客戶資源和市場優勢,與開放聯盟鏈共拓市場。

在聯盟鏈平台上,我們能提供全生命周期的整體安全解決方案,成都鏈安以網路安全、形式化驗證、人工智慧和大數據分析四大技術為核心,打造了面向區塊鏈全生態安全的『Beosin一站式區塊鏈安全服務平台』。

『Beosin一站式區塊鏈安全服務平台』包含四大核心安全產品和八大明星安全服務,為區塊鏈企業提供安全審計、虛擬資產追溯與AML反洗錢、安全防護、威脅情報、安全咨詢和應急等全方位的安全服務與支持,實現區塊鏈系統『研發→運行→監管』全生命周期的安全解決方案。

我們會積極發揮區塊鏈安全頭部企業優勢,共同構建安全的區塊鏈商業網路,推動區塊鏈產業健康、安全的發展,探索區塊鏈未來的無限可能。

⑦ 公有鏈和聯盟鏈有什麼區別

1. 公有鏈

公有鏈上的各個節點可以自由加入和退出網路,並參加鏈上數據的讀寫,讀寫時以扁平的拓撲結構互聯互通,網路中不存在任何中心化的服務端節點。



像大家所熟悉的比特幣和以太坊,都是一種公有鏈。公有鏈的好處是沒有限制,你可以自由參加。

2. 私有鏈(專有鏈)

私有鏈中各個節點的寫入許可權收歸內部控制,而讀取許可權可視需求有選擇性地對外開放。專有鏈仍熱具備區塊鏈多節點運行的通用結構,適用於特定機構的內部數據管理與審計。



其中,R3CEV Corda平台以及超級賬本項目(Hyperledger project)等都是私有鏈項目,對交易效率、隱私保障和監管控制有著更高要求的場景,私有鏈的應用是主要方向。

3. 聯盟鏈

聯盟鏈的各個節點通常有與之對應的實體機構組織,通過授權後才能加入與退出網路。各機構組織組成利益相關的聯盟,共同維護區塊鏈的健康運轉。

⑧ 公有鏈,私有鏈與聯盟鏈有何不同

公有鏈向所有人開放,私有鏈向滿足特定條件的個人開放,聯盟鏈向授權的組織或機構開放。

公有鏈,也就是公共區塊鏈(Public blockchains),是指全世界任何一個人都可以讀取、任何一個人都可以發送交易且交易能夠獲得有效確認的共識區塊鏈。

私有鏈,也就是完全私有區塊鏈(Fully private blockchains),是指寫入許可權完全在一個組織手裡的區塊鏈,所有參與到這個區塊鏈中的節點都會被嚴格控制。

聯盟鏈,即聯盟區塊鏈(Consortium blockchains),是指有若干組織或機構共同參與管理的區塊鏈,每個組織或機構控制一個或多個節點,共同記錄交易數據,並且只有這些組織和機構能夠對聯盟鏈中的數據進行讀寫和發送交易。

(8)以太坊多節點私有鏈擴展閱讀:

區塊鏈有公有鏈,私有鏈與聯盟鏈三種。

區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。

區塊鏈(Blockchain)是比特幣的一個重要概念,它本質上是一個去中介化的資料庫,同時作為比特幣的底層技術,是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網路交易的信息,用於驗證其信息的有效性(防偽)和生成下一個區塊。

參考資料:區塊鏈 網路

⑨ 公有鏈、聯盟鏈、私有鏈是什麼意思

公有鏈是指全世界任何人都可讀取、發送交易且交易能獲得有效確認的、也可以參與其中共識過程的區塊鏈。
聯盟鏈,只針對某個特定群體的成員和有限的第三方,其內部指定多個預選節點為記賬人,每個塊的生成由所有的預選節點共同決定。
私有鏈指的是對單獨的個人或實體開放。
希望對你有幫助,望採納。

熱點內容
TpC幣挖礦 發布:2024-11-15 11:48:20 瀏覽:137
比特幣價格最新價格 發布:2024-11-15 11:47:36 瀏覽:920
2080ti礦機 發布:2024-11-15 11:43:56 瀏覽:205
從西麗去南山文體中心小劇場 發布:2024-11-15 11:35:04 瀏覽:25
比特幣等民間數字貨幣是什麼 發布:2024-11-15 11:34:21 瀏覽:825
注冊實名認證免費領一台礦機 發布:2024-11-15 11:31:52 瀏覽:324
幣圈鏈游能兌換人民幣嗎 發布:2024-11-15 11:31:44 瀏覽:476
虛擬機跑挖礦 發布:2024-11-15 11:28:48 瀏覽:426
是三甲醫院體檢還是去體檢中心比較好 發布:2024-11-15 11:04:51 瀏覽:443
礦機結構圖 發布:2024-11-15 11:03:28 瀏覽:935