以太坊部署多個私鏈
㈠ 什麼是區塊鏈技術服務
區塊鏈技術服務是指利用區塊鏈技術,去構建一個新的區塊鏈,去替代傳統互聯網架構的服務。目前在區塊鏈領域,主要是HyperLedger,multichain,以太坊私有鏈等多個框架去構建多個實例,去解決已經被證明使用傳統互聯網技術能很好解決的問題,一般稱「強行區塊鏈」。這些應用也有典型特點,希望構建屬於自己的區塊鏈系統,其實稱之為分布式賬本技術更合適些。
在這種情況下,更推薦一個更好的技術棧:pingcap/tidb,或者是基於PBFT協議的分布式資料庫,而不是私有區塊鏈系統。所以把區塊鏈技術服務稱之為 BaTS。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
㈡ 以太坊的 ChainId 與 NetworkId
ChainId 是 EIP-155 引入的一個用來區分不同 EVM 鏈的一個標識。如下圖所示,主要作用就是避免一個交易在簽名之後被重復在不同的鏈上提交。最開始主要是為了防止以太坊交易在以太經典網路上重放或者以太經典交易在以太坊網路上重放。在以太坊網路上是從 2675000 這個區塊通過 Spurious Dragon 這個硬分叉升級激活。
引入 ChainId 後,帶來了哪些影響呢?
NetworkId 主要用來在網路層標識當前的區塊鏈網路。NetworkId 不一致的兩個節點無法建立連接。
NetworkId 無法通過配置文件指定,智能通過參數 --networkid 來指定。所以我們啟動自己私鏈節點上需要記得加上這個參數。如果不加這個參數也不指定網路類型,默認 NetworkId 的值和以太坊主網一致。
不是。
這個根據上面的介紹可以很明顯的看出,兩者並沒有非常高的關聯度。
網上幾乎所有提到搭建以太坊私鏈的文章,都要強調 NetworkId 需要和 genesis 文件里 ChainId 的值相同。事實上是沒必要的。
就像下面這張圖展示的這樣,很多已經在主網運行的 EVM 鏈,它們的 ChainId 和 NetworkId 並不相同。比如以太經典,它的 ChainId 是 61,但 NetworkId 和以太坊主網一樣都是 1。
之所以很多文章強調 ChainId 和 NetworkId 要保持一致,可能因為在某一段時間內,一些開發工具比如 MetaMask,會把 NetworkId 當作 ChainId 來用。不過現在 MetaMask 已經支持自定義 ChainId,以太坊也添加了 「eth_chainId」 這個 RPC API,相信兩者誤用的情況會越來越少。
㈢ 區塊鏈私鏈是什麼(區塊鏈私有鏈百度百科)
區塊鏈的私鏈是什麼意思?可以理解成是網吧的區域網。
少數一些人自己用,用的人多了,更開放一些還是需要許可授權,就是聯盟鏈。
完全不需要許可授權,誰都能用就是公鏈。
什麼是公有鏈?什麼是私有鏈?什麼是聯盟鏈?1、聯盟鏈
聯盟鏈開放程度和去中心化程度是有所限制的。其參與者是被提前篩選出來或者直接指定的,資料庫的讀取許可權可能是公開的,也可能像寫入許可權一樣只限於系統的參與者。數字貨幣交易所幣匯
2、公有鏈
公有鏈是區塊鏈當中每一個節點都是公開的,每個人都可以參與區塊鏈的計算,而且每個人都可以通過下載得到完整的區塊鏈數據,也稱區塊鏈賬本。
公有鏈是指世界上任何人都可讀取的、且能發送交易,而且交易能夠在區塊鏈上得到有效的確認,任何人都可參與其中共識過程。共識過程決定某個區塊可以添加到區塊鏈中,以及確切的當前狀態。
3、私有鏈
202、什麼是私鏈?
私鏈是指其寫入許可權僅在一個組織手裡的區塊鏈。讀取許可權或者對外開放,或者被任意程度地進行了限制。相關的應用囊括資料庫管理、審計、甚至一個公司,盡管在有些情況下希望它能有公共的可審計性,但在很多的情形下,公共的可讀性並非是必須的。可以說著3個鏈各有各的優點吧。
區塊鏈的鏈分類前兩天有朋友微信上問了許多關於區塊鏈的一些問題,其中一個問題就是區塊鏈的這個鏈怎麼去分類。區塊鏈目前可以分為四類:公鏈,私鏈,聯盟鏈以及側鏈。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面帶大家了解區塊鏈這幾個鏈各自的特點以及如何應用,希望對大家有所幫助。
1.公鏈——人人可參與
公鏈是指任何人都可讀取的、任何人都能發送交易且交易能獲得有效確認的、任何人都能參與其中共識過程的區塊鏈。
公鏈採取了採取工作量證明機制(POW)、權益證明機制(POS)、股份授權證明機制(DPOS)等方式,並將經濟獎勵和加密數字驗證結合了起來,並建立一個原則就是每個人從中可獲得的經濟獎勵與工作量成正比。這些區塊鏈通常被認為是完全去中心化的。
特性:
1.開源,由於整個系統的運作規則公開透明,這個系統是開源系統;2.保護用戶免受開發者的影響,在公有鏈中程序開發者無權干涉用戶,所以區塊鏈可以保護使用他們開發的程序的用戶;3.訪問門檻低,任何擁有足夠技術能力的人都可以訪問,也就是說,只要有一台能夠聯網的計算機就能夠滿足訪問的條件;4.所有數據默認公開,盡管所有關聯的參與者都隱藏自己的真實身份,這種現象十分的普遍。他們通過他們的公共性來產生自己的安全性,在這里每個參與者可以看到所有的賬戶余額和其所有的交易活動。
案例:公有鏈中有許多我們熟悉的身影:BTC,ETH,EOS,AE,ADA等
2.私鏈——權利掌握在少數人手裡
私鏈是指其寫入許可權僅在一個組織手裡的區塊鏈。讀取許可權或者對外開放,或者被任意程度地進行了限制。相關的應用囊括資料庫管理、審計、甚至一個公司,盡管在有些情況下希望它能有公共的可審計性,但在很多的情形下,公共的可讀性並非是必須的。
特性:
1.交易速度快,一個私鏈的交易速度可以比任何其他的區塊鏈都快,甚至接近了並不是一個區塊鏈的常規資料庫的速度。這是因為就算少量的節點也都具有很高的信任度,並不需要每個節點來驗證一個交易。2.隱私性好,給隱私更好的保障私有鏈使得在那個區塊鏈上的數據隱私政策像在另一個資料庫中似的完全一致;不用處理訪問許可權和使用所有的老辦法,但至少說,這個數據不會公開地被擁有網路連接的任何人獲得。3.交易成本低交易成本大幅降低甚至為零私有鏈上可以進行完全免費或者至少說是非常廉價的交易。如果一個實體機構控制和處理所有的交易,那麼他們就不再需要為工作而收取費用。
案例:Linux基金會、R3CEVCorda平台以及GemHealth網路的超級賬本項目(Hyperledgerproject)或在開發或在使用私鏈。
3.聯盟鏈——部分去中心化
聯盟鏈開放程度和去中心化程度是有所限制的。其參與者是被提前篩選出來或者直接指定的,資料庫的讀取許可權可能是公開的,也可能像寫入許可權一樣只限於系統的參與者。
特性:
1.交易成本低,交易只需被幾個受信的高算力節點驗證就可以了,而無需全網確認;2.節點容易連接,若是出了問題,聯盟鏈可以迅速通過人工干預來修復,並允許使用共識演算法減少區塊時間,從而更快完成交易;3.靈活,如果需要的話,運行私有區塊鏈的共同體或公司可以很容易地修改該區塊鏈的規則,還原交易,修改余額等。
案例:瑞波用於日韓國際匯款及日本本國銀行間匯款建立了聯盟鏈,同時之前火過一陣子的迅雷鏈克也是一種半開放的聯盟鏈。
4.側鏈——拓展協議
側鏈」從嚴格上來說,其本身並不是區塊鏈,可以理解為區塊鏈的一種擴展協議。早期「側鏈」是為了解決比特幣區塊鏈技術的限制問題。側鏈就像是一條條通路,將不同的區塊鏈互相連接在一起,以實現區塊鏈的擴展。側鏈完全獨立於比特幣區塊鏈,但是這兩個賬本之間能夠「互相操作」,實現交互。
特性:
1.獨立性,側鏈架構的好處是代碼和數據獨立,不增加主鏈的負擔,避免數據過度膨脹。側鏈有獨立的區塊鏈,有獨立的受託人或者說見證人,同時也有獨立的節點網路,就是說一個側鏈產生的區塊只會在所有安裝了該側鏈的節點之間進行廣播。2.靈活性,側鏈所有的區塊鏈參數是可以定製的,簡單的比如區塊間隔、區塊獎勵、交易費的去向等,高級用戶還可以修改共識演算法。
案例:LSK,RDN,ARDR等幣種是利用的側鏈技術。
對於目前整個數字貨幣領域而言,今年可能仍然是底層公有鏈項目的競爭大賽,原因是目前公鏈作為區塊鏈的基礎設施還是存在明顯的不足,尚且無法實現真正的安全、可靠和高效。這也明顯制約著整個區塊鏈產業的發展。
區塊鏈中公有鏈、聯盟鏈、私有鏈的區別根據參與者的不同,可以分為公有(Public或Permissionless)鏈、聯盟(Consortium或
Permissioned)鏈和私有(Private)鏈。
公有鏈,顧名思義,任何人都可以參與使用和維護,參與者多為匿名。典型的如比特幣和以
太坊區塊鏈,信息是完全公開的。
如果進一步引入許可機制,可以實現私有鏈和聯盟鏈兩種類型。
私有鏈,由集中管理者進行管理限制,只有內部少數人可以使用,信息不公開。一般認為跟
傳統中心化記賬系統的差異不明顯。
聯盟鏈則介於兩者之間,由若干組織一起合作(如供應鏈機構或銀行聯盟等)維護一條區塊
鏈,該區塊鏈的使用必須是帶有許可權的限制訪問,相關信息會得到保護,典型如超級賬本項
目。在架構上,現有大部分區塊鏈在實現都至少包括了網路層、共識層、智能合約和應用層
等分層結構,聯盟鏈實現往還會引入額外的許可權管理機制。
目前來看,公有鏈信任度最高,也容易引發探討,但短期內更多的應用會首先在聯盟鏈上落
地。公有鏈因為要面向匿名公開的場景,面臨著更多的安全挑戰和風險;同時為了支持互聯
網尺度的交易規模,需要更高的可擴展性。這些技術問題在短期內很難得到解決。
對於信任度和中心化程度的關系,對於大部分場景都可以繪制如下所示的曲線。一般地,非
中心化程度越高,信任度會越好。但兩者的關系並非線性那麼簡單。隨著節點數增加,前期
的信任度往往會增長較快,到了一定程度後,信任度隨節點數增多並不會得到明顯改善。這
是因為隨著成員數的增加,要實現共謀作惡的成本會指數上升。
另外,根據使用目的和場景的不同,又可以分為以數字貨幣為目的的貨幣鏈,以記錄產權為
目的的產權鏈,以眾籌為目的的眾籌鏈等,也有不局限特定應用場景的所謂通用鏈。通用鏈
因為要兼顧不同場景下的應用特點,在設計上需要考慮更加全面。
如果將聯盟鏈比作互聯網的話,私有鏈更類似於各個企業內部的區域網
㈣ 如何創建私鏈
創建創世配置文件:
首先需要創建一個「創世」json配置文件,此文件描述了創世區塊的一些參數。下面就是文件中的內容:
{
"coinbase": "",
"config": {
"homesteadBlock": 5
},
"difficulty": "0x20000",
"extraData": "0x",
"gasLimit": "0x2FEFD8",
"mixhash": "",
"nonce": "0x0",
"parentHash": "000000000000000000000000",
"timestamp": "0x00",
"alloc": {
"":
{
"balance":""
}
}
}12345678910111213141516171819
將上面這段代碼復制到一個文本文件里並起名為genesis.json
創世!:
為了不和主鏈的數據沖突,這里建議建立自己的私鏈數據文件夾。在我的電腦上在E盤建了一個EthDBSpace作為以太坊實驗工作區,並在裡面創建了一個PrivChain文件夾作為我的第一個私鏈的數據存放文件夾
這里為了方便管理將genesis.json放在了EthDBSpace文件夾下
打開Windows命令行
鍵入如下命令
geth --datadir "E:\EthDBSpace\PrivChain" init "E:\EthDBSpace\genesis.json"1
–datadir 選項用來指定我們私鏈的數據目錄。在我的電腦上是E:\EthDBSpace\PrivChain
init 命令為創世命令,後面緊跟著我們的創世配置文件路徑。
點擊回車後執行結果如下
此時創世完成!
創建賬戶:
為了在私鏈上做實驗,我們還需要在私鏈上建立自己的賬戶
Windows命令行鍵入
geth --datadir "E:\EthDBSpace\PrivChain" console1
我們由於已經創世成功所以第二次進入客戶端時我們不用再次指定genesis.json文件路徑,而是直接–datadir 指明私鏈數據路徑即可。
console命令用來開啟geth的命令行。
點擊回車後,客戶端會先經過一陣初始化。在命令提示符出現後,說明已經進入geth console
在geth命令行中鍵入
personal.newAccount('Your Password')1
personal.newAccount 函數用來創建賬戶,其中參數為賬戶密碼
點擊回車後會出現
賬戶創建成功後會在命令下方以綠色字元列明創建賬戶的地址,也即賬戶的公鑰
我們可以先查下賬戶余額,在geth命令行中鍵入:
my=eth.accounts[0]
eth.getBalance(my)12
my=eth.accounts[0],此句的目的是將我們剛創建的賬戶地址賦值給my變數。這樣可以簡化後續賬戶地址輸入。其中eth.accounts記錄了本機上所有賬戶地址。由於我們第一次創建賬戶,所以目前電腦上只有一個賬戶。所以這里我們用eth.accounts[0]提取第一個賬戶地址。eth.getBalance函數用來獲得賬戶余額,參數填入賬戶地址。這里的my變數記錄的就是第一個賬戶的地址。
希望我的回答可以幫到您哦
㈤ 以太坊區塊鏈搭建與使用(二)-私有鏈配置與啟動
搭建與使用以太坊私有鏈
在開始之前,選擇一個目錄,通過命令行工具 vim 創建一個名為 genesis.json 的文件。確保你已經准備好配置文件,以定義私有鏈的初始狀態。
二、初始化
完成配置後,進入初始化階段。使用特定命令來設置私有鏈,確保所有參數正確無誤。這一過程需要耐心等待,因為它涉及初始化節點和驗證配置。
三、啟動
啟動私有鏈需要運行特定命令,通常涉及到啟動節點和網路同步。確保你的環境已經配置好,並且有足夠的時間讓網路正常運行。
四、基本命令
熟悉私有鏈的基本命令是確保高效管理和操作的關鍵。這些命令可能包括添加新節點、檢查網路狀態、管理交易等。
五、相關工具
使用輔助工具可以簡化私有鏈的管理和維護。例如,安裝 MetaMask 插件可以方便地與以太坊網路交互,即使在無法訪問 Chrome 商店的情況下,通過網路搜索國內鏡像獲取 Chrome 插件。此外,Ethscan 提供了一個易於訪問的區塊信息查看界面,只需輸入 IP 和埠號即可。
注意:在導入私有鏈的本地賬戶時,請查看相關教程以獲取詳細步驟。Ethscan 通常是一個簡潔的 HTML 頁面,通過輸入 IP 和埠號即可查看區塊信息。
㈥ 公鏈,私鏈,聯盟鏈,側鏈傻傻分不清楚;公鏈私鏈有什麼區別
區塊鏈世界裡,公鏈、私鏈、聯盟鏈、側鏈等概念常讓人感到困惑。作為專業解答的助手,我將為您澄清這些術語的區別。
公鏈是一種對公眾開放的、無中心控制的區塊鏈,任何人都可以參與網路節點。公鏈的典型代表是比特幣和以太坊,它們允許任何人進行交易和創建智能合約。然而,公鏈存在交易速度慢、成本高以及安全性和隱私性較低的問題。
私鏈則是一種只允許特定用戶參與的區塊鏈。在私鏈中,所有交易由節點集體驗證,通常用於企業內部或特定團體的交易。私鏈提供了更高的隱私保護和定製化功能,但由於其封閉性,靈活性較低。
聯盟鏈,又稱企業鏈,介於公鏈和私鏈之間。它允許多個組織共同參與並驗證交易,通常用於跨行業的合作場景。聯盟鏈旨在提高效率、降低成本,並在不同企業間建立信任。
側鏈則是一種連接兩個區塊鏈的技術,允許資產、交易或智能合約在兩個鏈之間進行安全轉移。側鏈技術能夠促進不同區塊鏈生態系統的交互,提高整體的流動性。
測試鏈是用於開發和測試區塊鏈技術的實驗平台。它們為開發者提供了一個安全的環境,以構建和驗證新功能或協議,確保在實際應用前的穩定性和安全性。
通過理解這些區塊鏈類型的特點和應用場景,我們能夠更好地選擇適合自身需求的技術方案。希望本文能為您提供清晰的指引,如有任何疑問,歡迎隨時聯系我。