導航:首頁 > 以太坊區 > 以太坊私有鏈節點加入

以太坊私有鏈節點加入

發布時間:2024-10-15 02:12:24

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

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

2. 公有鏈和聯盟鏈有什麼區別

1. 公有鏈

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



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

2. 私有鏈(專有鏈)

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



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

3. 聯盟鏈

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

3. 公有鏈,私有鏈與聯盟鏈有何不同

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

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

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

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

(3)以太坊私有鏈節點加入擴展閱讀:

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

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

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

參考資料:區塊鏈 網路

4. 區塊鏈的共識機制

一、區塊鏈共識機制的目標

區塊鏈是什麼?簡單而言,區塊鏈是一種去中心化的資料庫,或可以叫作分布式賬本(distributed ledger)。傳統上所有的資料庫都是中心化的,例如一間銀行的賬本就儲存在銀行的中心伺服器里。中心化資料庫的弊端是數據的安全及正確性全系於資料庫運營方(即銀行),因為任何能夠訪問中心化資料庫的人(如銀行職員或黑客)都可以破壞或修改其中的數據。


而區塊鏈技術則容許資料庫存放在全球成千上萬的電腦上,每個人的賬本通過點對點網路進行同步,網路中任何用戶一旦增加一筆交易,交易信息將通過網路通知其他用戶驗證,記錄到各自的賬本中。區塊鏈之所以得其名是因為它是由一個個包含交易信息的區塊(block)從後向前有序鏈接起來的數據結構。


很多人對區塊鏈的疑問是,如果每一個用戶都擁有一個獨立的賬本,那麼是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬個賬本又如何保證記賬的一致性? 解決記賬一致性問題正是區塊鏈共識機制的目標 。區塊鏈共識機制旨在保證分布式系統里所有節點中的數據完全相同並且能夠對某個提案(proposal)(例如是一項交易紀錄)達成一致。然而分布式系統由於引入了多個節點,所以系統中會出現各種非常復雜的情況;隨著節點數量的增加,節點失效或故障、節點之間的網路通信受到干擾甚至阻斷等就變成了常見的問題,解決分布式系統中的各種邊界條件和意外情況也增加了解決分布式一致性問題的難度。


區塊鏈又可分為三種:


公有鏈:全世界任何人都可以隨時進入系統中讀取數據、發送可確認交易、競爭記賬的區塊鏈。公有鏈通常被認為是「完全去中心化「的,因為沒有任何人或機構可以控制或篡改其中數據的讀寫。公有鏈一般會通過代幣機制鼓勵參與者競爭記賬,來確保數據的安全性。


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


私有鏈:指其寫入許可權是由某個組織和機構控制的區塊鏈。參與節點的資格會被嚴格的限制,由於參與的節點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊、並且能夠做到身份認證等金融行業必須的要求。相比中心化資料庫,私有鏈能夠防止機構內單節點故意隱瞞或篡改數據。即使發生錯誤,也能夠迅速發現來源,因此許多大型金融機構在目前更加傾向於使用私有鏈技術。

二、區塊鏈共識機制的分類

解決分布式一致性問題的難度催生了數種共識機制,它們各有其優缺點,亦適用於不同的環境及問題。被眾人常識的共識機制有:


l PoW(Proof of Work)工作量證明機制

l PoS(Proof of Stake)股權/權益證明機制

l DPoS(Delegated Proof of Stake)股份授權證明機制

l PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯演算法

l DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯演算法

l SCP (Stellar Consensus Protocol ) 恆星共識協議

l RPCA(Ripple Protocol Consensus Algorithm)Ripple共識演算法

l Pool驗證池共識機制


(一)PoW(Proof of Work)工作量證明機制


1. 基本介紹


在該機制中,網路上的每一個節點都在使用SHA256哈希函數(hash function) 運算一個不斷變化的區塊頭的哈希值 (hash sum)。 共識要求算出的值必須等於或小於某個給定的值。 在分布式網路中,所有的參與者都需要使用不同的隨機數來持續計算該哈希值,直至達到目標為止。當一個節點的算出確切的值,其他所有的節點必須相互確認該值的正確性。之後新區塊中的交易將被驗證以防欺詐。


在比特幣中,以上運算哈希值的節點被稱作「礦工」,而PoW的過程被稱為「挖礦」。挖礦是一個耗時的過程,所以也提出了相應的激勵機制(例如向礦工授予一小部分比特幣)。PoW的優點是完全的去中心化,其缺點是消耗大量算力造成了的資源浪費,達成共識的周期也比較長,共識效率低下,因此其不是很適合商業使用。



2. 加密貨幣的應用實例


比特幣(Bitcoin) 及萊特幣(Litecoin)。以太坊(Ethereum) 的前三個階段(Frontier前沿、Homestead家園、Metropolis大都會)皆採用PoW機制,其第四個階段 (Serenity寧靜) 將採用權益證明機制。PoW適用於公有鏈。


PoW機制雖然已經成功證明了其長期穩定和相對公平,但在現有框架下,採用PoW的「挖礦」形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運算來保證工作量公平,並沒有其他的存在意義。而目前BTC所能達到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區塊GAS總額的上限,所能達到的交易頻率大約是25TPS,與平均千次每秒、峰值能達到萬次每秒處理效率的VISA和MASTERCARD相差甚遠。


3. 簡圖理解模式



(ps:其中A、B、C、D計算哈希值的過程即為「挖礦」,為了犒勞時間成本的付出,機制會以一定數量的比特幣作為激勵。)


(Ps:PoS模式下,你的「挖礦」收益正比於你的幣齡(幣的數量*天數),而與電腦的計算性能無關。我們可以認為任何具有概率性事件的累計都是工作量證明,如淘金。假設礦石含金量為p% 質量, 當你得到一定量黃金時,我們可以認為你一定挖掘了1/p 質量的礦石。而且得到的黃金數量越多,這個證明越可靠。)


(二)PoS(Proof of Stake)股權/權益證明機制


1.基本介紹


PoS要求人們證明貨幣數量的所有權,其相信擁有貨幣數量多的人攻擊網路的可能性低。基於賬戶余額的選擇是非常不公平的,因為單一最富有的人勢必在網路中佔主導地位,所以提出了許多解決方案。


在股權證明機制中,每當創建一個區塊時,礦工需要創建一個稱為「幣權」的交易,這個交易會按照一定比例預先將一些幣發給礦工。然後股權證明機制根據每個節點持有代幣的比例和時間(幣齡), 依據演算法等比例地降低節點的挖礦難度,以加快節點尋找隨機數的速度,縮短達成共識所需的時間。


與PoW相比,PoS可以節省更多的能源,更有效率。但是由於挖礦成本接近於0,因此可能會遭受攻擊。且PoS在本質上仍然需要網路中的節點進行挖礦運算,所以它同樣難以應用於商業領域。



2.數字貨幣的應用實例


PoS機制下較為成熟的數字貨幣是點點幣(Peercoin)和未來幣(NXT),相比於PoW,PoS機制節省了能源,引入了" 幣天 "這個概念來參與隨機運算。PoS機制能夠讓更多的持幣人參與到記賬這個工作中去,而不需要額外購買設備(礦機、顯卡等)。每個單位代幣的運算能力與其持有的時間長成正相關,即持有人持有的代幣數量越多、時間越長,其所能簽署、生產下一個區塊的概率越大。一旦其簽署了下一個區塊,持幣人持有的幣天即清零,重新進入新的循環。


PoS適用於公有鏈。


3.區塊簽署人的產生方式


在PoS機制下,因為區塊的簽署人由隨機產生,則一些持幣人會長期、大額持有代幣以獲得更大概率地產生區塊,盡可能多的去清零他的"幣天"。因此整個網路中的流通代幣會減少,從而不利於代幣在鏈上的流通,價格也更容易受到波動。由於可能會存在少量大戶持有整個網路中大多數代幣的情況,整個網路有可能會隨著運行時間的增長而越來越趨向於中心化。相對於PoW而言,PoS機制下作惡的成本很低,因此對於分叉或是雙重支付的攻擊,需要更多的機制來保證共識。穩定情況下,每秒大約能產生12筆交易,但因為網路延遲及共識問題,需要約60秒才能完整廣播共識區塊。長期來看,生成區塊(即清零"幣天")的速度遠低於網路傳播和廣播的速度,因此在PoS機制下需要對生成區塊進行"限速",來保證主網的穩定運行。


4.簡圖理解模式




(PS:擁有越多「股份」權益的人越容易獲取賬權。是指獲得多少貨幣,取決於你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。)


(在純POS體系中,如NXT,沒有挖礦過程,初始的股權分配已經固定,之後只是股權在交易者之中流轉,非常類似於現實世界的股票。)


(三)DPoS(Delegated Proof of Stake)股份授權證明機制


1.基本介紹


由於PoS的種種弊端,由此比特股首創的權益代表證明機制 DPoS(Delegated Proof of Stake)應運而生。DPoS 機制中的核心的要素是選舉,每個系統原生代幣的持有者在區塊鏈裡面都可以參與選舉,所持有的代幣余額即為投票權重。通過投票,股東可以選舉出理事會成員,也可以就關系平台發展方向的議題表明態度,這一切構成了社區自治的基礎。股東除了自己投票參與選舉外,還可以通過將自己的選舉票數授權給自己信任的其它賬戶來代表自己投票。


具體來說, DPoS由比特股(Bitshares)項目組發明。股權擁有著選舉他們的代表來進行區塊的生成和驗證。DPoS類似於現代企業董事會制度,比特股系統將代幣持有者稱為股東,由股東投票選出101名代表, 然後由這些代表負責生成和驗證區塊。 持幣者若想稱為一名代表,需先用自己的公鑰去區塊鏈注冊,獲得一個長度為32位的特有身份標識符,股東可以對這個標識符以交易的形式進行投票,得票數前101位被選為代表。

代表們輪流產生區塊,收益(交易手續費)平分。DPoS的優點在於大幅減少了參與區塊驗證和記賬的節點數量,從而縮短了共識驗證所需要的時間,大幅提高了交易效率。從某種角度來說,DPoS可以理解為多中心系統,兼具去中心化和中心化優勢。優點:大幅縮小參與驗證和記賬節點的數量,可以達到秒級的共識驗證。缺點:投票積極性不高,絕大部分代幣持有者未參與投票;另整個共識機制還是依賴於代幣,很多商業應用是不需要代幣存在的。


DPoS機制要求在產生下一個區塊之前,必須驗證上一個區塊已經被受信任節點所簽署。相比於PoS的" 全民挖礦 ",DPoS則是利用類似" 代表大會 "的制度來直接選取可信任節點,由這些可信任節點(即見證人)來代替其他持幣人行使權力,見證人節點要求長期在線,從而解決了因為PoS簽署區塊人不是經常在線而可能導致的產塊延誤等一系列問題。 DPoS機制通常能達到萬次每秒的交易速度,在網路延遲低的情況下可以達到十萬秒級別,非常適合企業級的應用。 因為公信寶數據交易所對於數據交易頻率要求高,更要求長期穩定性,因此DPoS是非常不錯的選擇。



2. 股份授權證明機制下的機構與系統


理事會是區塊鏈網路的權力機構,理事會的人選由系統股東(即持幣人)選舉產生,理事會成員有權發起議案和對議案進行投票表決。


理事會的重要職責之一是根據需要調整系統的可變參數,這些參數包括:


l 費用相關:各種交易類型的費率。

l 授權相關:對接入網路的第三方平台收費及補貼相關參數。

l 區塊生產相關:區塊生產間隔時間,區塊獎勵。

l 身份審核相關:審核驗證異常機構賬戶的信息情況。

l 同時,關繫到理事會利益的事項將不通過理事會設定。


在Finchain系統中,見證人負責收集網路運行時廣播出來的各種交易並打包到區塊中,其工作類似於比特幣網路中的礦工,在採用 PoW(工作量證明)的比特幣網路中,由一種獲獎概率取決於哈希算力的抽彩票方式來決定哪個礦工節點產生下一個區塊。而在採用 DPoS 機制的金融鏈網路中,通過理事會投票決定見證人的數量,由持幣人投票來決定見證人人選。入選的活躍見證人按順序打包交易並生產區塊,在每一輪區塊生產之後,見證人會在隨機洗牌決定新的順序後進入下一輪的區塊生產。


3. DPoS的應用實例


比特股(bitshares) 採用DPoS。DPoS主要適用於聯盟鏈。


4.簡圖理解模式





(四)PBFT(Practical Byzantine Fault Tolerance)實用拜占庭容錯演算法


1. 基本介紹


PBFT是一種基於嚴格數學證明的演算法,需要經過三個階段的信息交互和局部共識來達成最終的一致輸出。三個階段分別為預備 (pre-prepare)、准備 (prepare)、落實 (commit)。PBFT演算法證明系統中只要有2/3比例以上的正常節點,就能保證最終一定可以輸出一致的共識結果。換言之,在使用PBFT演算法的系統中,至多可以容忍不超過系統全部節點數量1/3的失效節點 (包括有意誤導、故意破壞系統、超時、重復發送消息、偽造簽名等的節點,又稱為」拜占庭」節點)。



2. PBFT的應用實例


著名聯盟鏈Hyperledger Fabric v0.6採用的是PBFT,v1.0又推出PBFT的改進版本SBFT。PBFT主要適用於私有鏈和聯盟鏈。


3. 簡圖理解模式




上圖顯示了一個簡化的PBFT的協議通信模式,其中C為客戶端,0 – 3表示服務節點,其中0為主節點,3為故障節點。整個協議的基本過程如下:


(1) 客戶端發送請求,激活主節點的服務操作;

(2) 當主節點接收請求後,啟動三階段的協議以向各從節點廣播請求;

(a) 序號分配階段,主節點給請求賦值一個序號n,廣播序號分配消息和客戶端的請求消息m,並將構造pre-prepare消息給各從節點;

(b) 交互階段,從節點接收pre-prepare消息,向其他服務節點廣播prepare消息;

(c) 序號確認階段,各節點對視圖內的請求和次序進行驗證後,廣播commit消息,執行收到的客戶端的請求並給客戶端響應。

(3) 客戶端等待來自不同節點的響應,若有m+1個響應相同,則該響應即為運算的結果;



(五)DBFT(Delegated Byzantine Fault Tolerance)授權拜占庭容錯演算法


1. 基本介紹


DBFT建基於PBFT的基礎上,在這個機制當中,存在兩種參與者,一種是專業記賬的「超級節點」,一種是系統當中不參與記賬的普通用戶。普通用戶基於持有權益的比例來投票選出超級節點,當需要通過一項共識(記賬)時,在這些超級節點中隨機推選出一名發言人擬定方案,然後由其他超級節點根據拜占庭容錯演算法(見上文),即少數服從多數的原則進行表態。如果超過2/3的超級節點表示同意發言人方案,則共識達成。這個提案就成為最終發布的區塊,並且該區塊是不可逆的,所有裡面的交易都是百分之百確認的。如果在一定時間內還未達成一致的提案,或者發現有非法交易的話,可以由其他超級節點重新發起提案,重復投票過程,直至達成共識。



2. DBFT的應用實例


國內加密貨幣及區塊鏈平台NEO是 DBFT演算法的研發者及採用者。


3. 簡圖理解模式




假設系統中只有四個由普通用戶投票選出的超級節點,當需要通過一項共識時,系統就會從代表中隨機選出一名發言人擬定方案。發言人會將擬好的方案交給每位代表,每位代表先判斷發言人的計算結果與它們自身紀錄的是否一致,再與其它代表商討驗證計算結果是否正確。如果2/3的代表一致表示發言人方案的計算結果是正確的,那麼方案就此通過。


如果只有不到2/3的代表達成共識,將隨機選出一名新的發言人,再重復上述流程。這個體系旨在保護系統不受無法行使職能的領袖影響。


上圖假設全體節點都是誠實的,達成100%共識,將對方案A(區塊)進行驗證。



鑒於發言人是隨機選出的一名代表,因此他可能會不誠實或出現故障。上圖假設發言人給3名代表中的2名發送了惡意信息(方案B),同時給1名代表發送了正確信息(方案A)。


在這種情況下該惡意信息(方案B)無法通過。中間與右邊的代表自身的計算結果與發言人發送的不一致,因此就不能驗證發言人擬定的方案,導致2人拒絕通過方案。左邊的代表因接收了正確信息,與自身的計算結果相符,因此能確認方案,繼而成功完成1次驗證。但本方案仍無法通過,因為不足2/3的代表達成共識。接著將隨機選出一名新發言人,重新開始共識流程。




上圖假設發言人是誠實的,但其中1名代表出現了異常;右邊的代表向其他代表發送了不正確的信息(B)。


在這種情況下發言人擬定的正確信息(A)依然可以獲得驗證,因為左邊與中間誠實的代表都可以驗證由誠實的發言人擬定的方案,達成2/3的共識。代表也可以判斷到底是發言人向右邊的節點說謊還是右邊的節點不誠實。


(六)SCP (Stellar Consensus Protocol ) 恆星共識協議


1. 基本介紹


SCP 是 Stellar (一種基於互聯網的去中心化全球支付協議) 研發及使用的共識演算法,其建基於聯邦拜占庭協議 (Federated Byzantine Agreement) 。傳統的非聯邦拜占庭協議(如上文的PBFT和DBFT)雖然確保可以通過分布式的方法達成共識,並達到拜占庭容錯 (至多可以容忍不超過系統全部節點數量1/3的失效節點),它是一個中心化的系統 — 網路中節點的數量和身份必須提前知曉且驗證過。而聯邦拜占庭協議的不同之處在於它能夠去中心化的同時,又可以做到拜占庭容錯。


[…]


(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共識演算法


1. 基本介紹


RPCA是Ripple(一種基於互聯網的開源支付協議,可以實現去中心化的貨幣兌換、支付與清算功能)研發及使用的共識演算法。在 Ripple 的網路中,交易由客戶端(應用)發起,經過追蹤節點(tracking node)或驗證節點(validating node)把交易廣播到整個網路中。追蹤節點的主要功能是分發交易信息以及響應客戶端的賬本請求。驗證節點除包含追蹤節點的所有功能外,還能夠通過共識協議,在賬本中增加新的賬本實例數據。


Ripple 的共識達成發生在驗證節點之間,每個驗證節點都預先配置了一份可信任節點名單,稱為 UNL(Unique Node List)。在名單上的節點可對交易達成進行投票。共識過程如下:


(1) 每個驗證節點會不斷收到從網路發送過來的交易,通過與本地賬本數據驗證後,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidate set)。交易候選集裡面還包括之前共識過程無法確認而遺留下來的交易。

(2) 每個驗證節點把自己的交易候選集作為提案發送給其他驗證節點。

(3) 驗證節點在收到其他節點發來的提案後,如果不是來自UNL上的節點,則忽略該提案;如果是來自UNL上的節點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內,當交易獲得超過50%的票數時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。

(4) 驗證節點把超過50%票數的交易作為提案發給其他節點,同時提高所需票數的閾值到60%,重復步驟(3)、步驟(4),直到閾值達到80%。

(5) 驗證節點把經過80%UNL節點確認的交易正式寫入本地的賬本數據中,稱為最後關閉賬本(last closed ledger),即賬本最後(最新)的狀態。


在Ripple的共識演算法中,參與投票節點的身份是事先知道的,因此,演算法的效率比PoW等匿名共識演算法要高效,交易的確認時間只需幾秒鍾。這點也決定了該共識演算法只適合於聯盟鏈或私有鏈。Ripple共識演算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網路中20%的節點出現拜占庭錯誤而不影響正確的共識。



2. 簡圖理解模式


共識過程節點交互示意圖:



共識演算法流程:



(八)POOL驗證池共識機制


Pool驗證池共識機制是基於傳統的分布式一致性演算法(Paxos和Raft)的基礎上開發的機制。Paxos演算法是1990年提出的一種基於消息傳遞且具有高度容錯特性的一致性演算法。過去, Paxos一直是分布式協議的標准,但是Paxos難於理解,更難以實現。Raft則是在2013年發布的一個比Paxos簡單又能實現Paxos所解決問題的一致性演算法。Paxos和Raft達成共識的過程皆如同選舉一樣,參選者需要說服大多數選民(伺服器)投票給他,一旦選定後就跟隨其操作。Paxos和Raft的區別在於選舉的具體過程不同。而Pool驗證池共識機制即是在這兩種成熟的分布式一致性演算法的基礎上,輔之以數據驗證的機制。






5. 「官方」搭建Web3:Filecoin與以太坊攜手共進


這是Protocol Labs創始人Juan Benet在EthCC 2021上的演講概要,查看完整內容:

https://www.bilibili.com/video/BV1eb4y1r7E1

Filecoin網路是面向生態的,它與Protocol Labs搭建模塊化解決方案的傾向是一致的。因為它本來就是設計給其他人使用,所以Filecoin在Web3領域的其他棧、應用和生態里如魚得水。自從其在2020年10月的啟動開始,Filecoin已經增長到超過8 exbibytes的可用存儲空間,有超過400個項目進入了這個生態。以太坊就是一個能持續證明其可協作性和共同利益的生態系統。

Filecoin + 以太坊

>>>>Filecoin和以太坊虛擬機(EVM)

Filecoin生態意識到網路支持智能合約的好處。最初,開發者社區相信架設在以太坊和Filecoin之間的橋服務足夠在Filecoin上支持智能合約了。不過,通過橋來使用智能合約是很笨重的方式,相比於直接在以太坊實現智能合約的功能和可組合性更是不足。有一個提議是在Filecoin上加入以太坊虛擬機(EVM),從而在存儲層啟用對智能合約的支持,以及為這兩個生態的結合提供更多機會。


>>>>開發者工具和資源

Fleek:讓用戶能為去中心化網路架設網站、存儲和分發文件及開發dapp。Fleek可以讓每一個人(從專業的開發者到日常的互聯網用戶)更容易以去中心化的方式創建app和存儲文件,從而加速去中心化網路的採用率。Fleek可以在Filecoin上進行自動化存檔,並通過ENS(以太坊域名服務)這樣的應用來利用以太坊的生態系統。

https://fleek.co/

Web3.Storage:是一個讓開發者在Filecoin去中心化存儲網路上存取數據的簡單介面。Web3.Storage為開發者(包括以太坊dapp開發者)提供了搭建應用的簡單方式,這些應用可以帶有冗餘的去中心化的存儲以及安全的內容定址數據。

http://web3.storage/

PowerLoom:以去中心化的方式將鏈上和鏈下數據聚合起來以生成帶有密碼學證明的快照。它旨在通過一個豐富的節點和利益相關者生態系統(他們被激勵參與到協議里)來搭建信任,並按需提供洞見。PowerLoom特別適用於以太坊DeFi這樣的生態,這類系統是非常復雜的,而且需要基於驗證的信任。

https://powerloom.io/

>>>>DeFi應用

SecuredFinance(https://secured-finance.com/)是一個綜合平台,整合了基於智能合約的點對點固定利率貸款、抵押品管理服務、貨幣間交易和其他類型的利率產品。Secured Finance的協議是去中心化的點對點金融協議,提供了由以太坊智能合約賦能的區塊鏈上的中後台銀行業務。Secured Finance可以滿足Filecoin網路內的需求,它提供的解決方案能夠滿足Filecoin存儲提供者對FIL貸款的強烈需求。

>>>>數據市場

OceanProtocol(https://t.co/misApE3ggc?amp=1)是一個在Filecoin上搭建的數據市場。Ocean的數據token(data tokens)是以太坊ERC-20 token,可以輕易地用於發布和消費數據服務。如果你有1個數據token,你可以訪問一個特定的數據服務。Ocean market是一個專門為數據服務的去中心化交易所,它分叉了一個Balancer AMM(自動化做市商)來降低gas成本。在這個市場中,用戶可以對數據進行發布、購買、銷售、消費和stake操作。

通過Filecoin,用戶可以利用Ocean來發起自己的Filecoin數據市場,或創建一個Filecoin dataDAO或指數基金。通過Ocean Protocol的工具和Filecoin的去中心化存儲資料庫,我們正見證新生的開放數據經濟。


>>>>視頻應用

LivePeer:是一個去中心化的在線視頻流媒體基礎設施,由以太坊區塊鏈確保安全性。將Filecoin和IPFS結合提供存儲和內容分發功能後,去中心化視頻應用就成為可能了。

https://livepeer.org/

Voodfy:正為私有的視頻架設服務提供去中心化工具。這是一個多功能的安全流媒體解決方案,讓用戶能完全控制自己的內容,這包括了訪問權的設定以及變現的方式。它利用了Livepeer、Ethereum、Textile Powergate和Filecoin.

https://voodfy.com/

VideoCoin:正搭建一個能可靠地創建、存儲和交易基於視頻的NFT解決方案,它可以繞過在以太坊上存儲實際內容時固有的復雜性和費用。VideoCoin正將其去中心化視頻處理網路與Filecoin整合起來,以搭建首個專門為創建和交易視頻NFT服務的平台。這個平台是新生的全球數字收藏品市場急需的一部分。

https://videocoin.io/


>>>>NFT

nft.storage(http://nft.storage/)是一個由Protocol Labs實驗室和Pinata支持的服務,它專門為存儲NFT數據而設計。

nft.storage讓開發者通過內容定址和去中心化存儲來保護其NFT資產和相關的元數據,確保所有的NFT遵循最佳實踐以實現長期的可訪問性。

未來的使用場景


隨著Filecoin和Ethereum生態系統的成長和重疊,會出現更多的新生用例和開發者機會。一些可以進行創新的用例包括:

>>>>可組合的DeFIL

將存儲和Defi的世界結合可以產生一些機會。人們可以將市場訂單(如要價、出價和交易)帶到一個去中心化交易所上,以觀察市場是如何評判這些訂單的價值的。通過這樣的能力,生態系統可以開始想像硬體期貨(hardware futures)和時空期貨(spacetime futures)等的出現。


>>>>數據豐富的NFT

NFT將會越來越復雜,而Web3社區需要 探索 採用數據豐富(data-rich)的NFT的方式。VideoCoin已經將其視頻處理引擎與Filecoin連接起來,以結合以太坊對NFT的支持能力及Filecoin的存儲能力。像VideoCoin這樣的工具可以用來創建一類新型的NFT,如短電影、視頻片段和完整長度的專題特寫。


>>>>按觀看次數支付的媒體

通過在Filecoin上存儲的信息,我們可以利用以太坊的token支持能力去創建由token保護的頁面和媒體(文章、電影和音樂等)。我們可以復制Web2時代的按觀看次數支付模式,而無需復制數據和廣告模型。


這只是一個開始!Filecoin和以太坊生態有長期的協作 歷史 和機會,未來可期。

6. 以太坊多節點私有鏈部署

假設兩台電腦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

7. 大區塊鏈中節點有哪些類型,區塊鏈節點什麼意思

區塊鏈的鏈分類

前兩天有朋友微信上問了許多關於區塊鏈的一些問題,其中一個問題就是區塊鏈的這個鏈怎麼去分類。區塊鏈目前可以分為四類:公鏈,私鏈,聯盟鏈以及側鏈。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面帶大家了解區塊鏈這幾個鏈各自的特點以及如何應用,希望對大家有所幫助。

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等幣種是利用的側鏈技術。

對於目前整個數字貨幣領域而言,今年可能仍然是底層公有鏈項目的競爭大賽,原因是目前公鏈作為區塊鏈的基礎設施還是存在明顯的不足,尚且無法實現真正的安全、可靠和高效。這也明顯制約著整個區塊鏈產業的發展。

淺析FabricPeer節點

HyperledgerFabric,也稱之為超級賬本,是由IBM發起,後成為Linux基金會Hyperledger中的區塊鏈項目之一。

Fabric是一個提供分布式賬本解決方案的平台,底層的賬本數據存儲使用了區塊鏈。區塊鏈平台通常可以分為公有鏈、聯盟鏈和私有鏈。公有鏈典型的代表是比特幣這些公開的區塊鏈網路,誰都可以加入到這個網路中。聯盟鏈則有準入機制,無法隨意加入到網路中,聯盟鏈的典型例子就是Fabric。

Fabric不需要發幣來激勵參與方,也不需要挖礦來防止有人作惡,所以Fabric有著更好的性能。在Fabric網路中,也有著諸多不同類型的節點來組成網路。其中Peer節點承載著賬本和智能合約,是整個區塊鏈網路的基礎。在這篇文章中,會詳細分析Peer的結構及其運行方式。

在本文中,假設讀者已經了解區塊鏈、智能合約等概念。

本文基於Fabric1.4LTS。

區塊鏈網路是一個分布式的網路,Fabric也是如此,由於Fabric是聯盟鏈,需要准入機制,所以在網路結構上會復雜很多,下面是一個簡化的Fabric網路:

各個元素的含義如下:

對於Fabric網路,外部的用戶需要通過客戶端應用,也就是圖中的A1、A2或者A3來訪問網路,客戶端應用需要通過CA證書表明自己的身份,這樣才能訪問到Fabric網路中有許可權訪問的部分。

在上面的網路中,共有四個組織,R1、R2、R3和R4。其中R4是整個Fabric網路的創建者,網路是根據NC4配置的。

在Fabric網路中,不同的組織可以組成聯盟,不同的聯盟之間數據通過Channel來隔離。Channel中的數據只有該聯盟中的組織才能訪問,每一個新的Channel都可以認為是一條新的鏈。與其他的區塊鏈網路中通常只有一條鏈不一樣,Fabric可以通過Channel在網路中快速的搭建出一個新的區塊鏈。

上面R1和R2組成了一個聯盟,在C1上交易。R2同時又和R3組成了另外一個聯盟,在C2上交易。R1和R2在C1上交易時,對R3是不可見的,R2和R3在C2上交易時,對R1是不可見的。Channel機制提供了很好的隱私保護能力。

Orderer節點是整個Fabric網路共有的,用來為所有的交易排序、打包。比如上面網路中O4節點。本文不會對Orderer節點進行詳細說明,可以把這個功能理解為比特幣網路中的挖礦過程。

Peer節點表示網路中的節點,通常一個Peer就表示一個組織,Peer是整個區塊鏈網路的基礎,是智能合約和賬本的載體,Peer也是本文討論的重點。

一個Peer節點可以承載多套賬本和智能合約,比如P2節點,既維護了C1的賬本和智能合約,也維護了C2的賬本和智能合約。

為了可以更深入了解Peer節點的作用,先了解一下Fabric整體的交易流程。整體的交易流程圖如下:

Peer節點按照功能來分可以分為背書節點和記賬節點。

客戶端會提交交易請求到背書節點,背書節點開始模擬執行交易,在模擬執行之後,背書節點並不會去更新賬本數據,而是把這個交易進行加密和簽名,然後返回給客戶端。

客戶端收到這個響應之後就會把響應提交到Orderer節點,Orderer節點會對這些交易進行排序,並打包成區塊,然後分發到記賬節點,記賬節點就會對交易進行驗證,驗證結束之後,就會把交易記錄到賬本裡面。

一筆交易是否能成功是根據背書策略來指定的,每一個智能合約都會指定一個背書策略。

Peer節點代表著聯盟鏈中的各個組織,區塊鏈網路也是由Peer節點來組成的,而且也是賬本和智能合約的載體。

通過對上面交易過程的了解可以知道,Peer節點是主要的參與方。如果用戶想要訪問賬本資源,都必須要和peer節點進行交互。在一個Peer節點中,可以同時維護多個賬本,這些賬本屬於不同的Channel。每個Peer節點都會維護一套冗餘賬本,這樣就避免了單點故障。

Peer節點根據在交易中的不同角色,可以分成背書節點(Endorser)和記賬節點(Committer),背書節點會對交易進行模擬執行,記賬節點才會真正將數據存儲到賬本中。

賬本可以分成兩個部分,一部分是區塊鏈,另一部分是CurrentState,也被稱之為WorldState。

區塊鏈上只能追加,不能對過去的數據進行修改,鏈上也包含兩部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的記錄。每一個區塊記錄前一個區塊的信息,然後連成鏈,如下圖所示:

第一個區塊被稱之為genesisblock,其中不存儲交易信息。每個區塊可以被分為區塊頭、區塊數據和區塊元數據。區塊頭中存儲著當前區塊的區塊號、當前區塊的hash值和上一個區塊的hash值,這樣才能把所有的區塊連接起來。區塊數據中包含了交易數據。區塊元數據中則包括了區塊寫入的時間、寫入人及簽名。

其中每一筆交易的結構如下,在Header中,包含了ChainCode的名稱、版本信息。Signature就是交易發起用戶的簽名。Proposal中主要是一些參數。Response中是智能合約執行的結果。Endorsements中是背書結果返回的結果。

WorldState中維護了賬本的當前狀態,數據以Key-Value的形式存儲,可以快速查詢和修改,每一次對WorldState的修改都會被記錄到區塊鏈中。WorldState中的數據需要依賴外部的存儲,通常使用LevelDB或者CouchDB。

區塊鏈和WorldState組成了一個完整的賬本,WorldState保證的業務數據的靈活變化,而區塊鏈則保證了所有的修改是可追溯和不可篡改的。

在交易完成之後,數據已經寫入賬本,就需要將這些數據同步到其他的Peer,Fabric中使用的是Gossip協議。Gossip也是Channel隔離的,只會在Channel中的Peer中廣播和同步賬本數據。

智能合約需要安裝到Peer節點上,智能合約是訪問賬本的唯一方式。智能合約可以通過Go、Java等變成語言進行編寫。

智能合約編寫完成之後,需要打包到ChainCode中,每個ChainCode中可以包含多個智能合約。ChainCode需要安裝,ChainCode需要安裝到Peer節點上。安裝好了之後,ChainCode需要在Channel上實例化,實例化的時候需要指定背書策略。

智能合約在實例化之後就可以用來與賬本進行交互了,流程圖如下:

用戶編寫並部署實例化智能合約之後,就可以通過客戶端應用程序來向智能合約提交請求,智能合約會對WorldState中數據進行get、put或者delete。其中get操作直接從WorldState中讀取交易對象當前的狀態信息,不會去區塊鏈上寫入信息,但put和delete操作除了修改WorldState,還會去區塊鏈中寫入一條交易信息,且交易信息不能修改。

區塊鏈上的信息可以通過智能合約訪問,也可以在客戶端應用通過API直接訪問。

Event是客戶端應用和Fabric網路交互的一種方式,客戶端應用可以訂閱Event,當Event發生時,客戶端應用就會接受到消息。

事件源可以兩類,一類是智能合約發出的Event,另一類是賬本變更觸發的Event。用戶可以從Event中獲取到交易的信息,比如區塊高度等信息。

在這篇文章中,首先介紹了Fabric整體的網路架構,通過對Fabric交易流程的分析,討論了peer節點在交易中的作用,然後詳細分析了peer節點所維護的賬本和智能合約,並分析了peer節點維護賬本以及peer節點執行智能合約的流程。

文/Rayjun

[1]

[2]

[3]

區塊鏈的分類

目前區塊鏈分為三類,其中混合區塊鏈和私有區塊鏈可視為:廣義私有鏈,公共區塊鏈公共區塊鏈。意味著世界上任何個人或團體都可以發送交易,交易可以由區塊鏈有效確認,任何人都可以參與其共識過程。公共區塊鏈是目前最早的區塊鏈,也是使用最廣泛的區塊鏈。每個比特幣系列的虛擬數字貨幣都以公共的區塊鏈為基礎,世界上只有一個區塊鏈對應這種貨幣。

拓展資料

1.工業區塊鏈行業blockchains:組內多個預選節點指定為記賬員,每個區塊的生成由所有預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不幹擾核算過程(本質上,它是管理簿記,但它成為分布式簿記。多少預先選擇的節點和如何確定每個塊的簿記員成為區塊鏈的主要風險點),其他任何人都可以通過區塊鏈的開放API進行有限的查詢。私人區塊鏈Private區塊鏈((privateblockchains)):只有區塊鏈的總賬技術用於記賬。它可以是一個公司或個人獨家書面許可的區塊鏈。這個鏈與其他分布式存儲方案沒有太大的不同。目前(2015年12月),保守的巨頭(傳統金融)想要嘗試私有的區塊鏈,而公共鏈的應用,如比特幣,已經產業化,私有鏈的應用產品還在探索中。區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密演算法等計算機技術的一種新的應用模式。區塊鏈是比特幣的一個重要概念。本質上,它是一個去中心化的資料庫。

2.同時,作為比特幣的底層技術,它是一系列與加密方法相關聯的數據塊。每個數據塊包含一批比特幣網路交易信息,驗證其信息的有效性(防偽)並生成下一個區塊。事實上,區塊鏈這個詞並沒有出現在英文原版的比特幣白皮書中,而是出現在區塊鏈中。在最早的比特幣白皮書中,區塊鏈被翻譯為區塊鏈。這是漢語「區塊鏈」最早出現的時間。國家互聯網信息辦公室於2019年1月10日發布《區塊鏈信息服務管理條例》,自2019年2月15日起施行。從狹義上講,區塊鏈是一種按時間順序組合數據塊的鏈式數據結構,以及由密碼學保證的防篡改和可偽造的分布式分類帳。廣義上講,區塊鏈技術是一種新的分布式基礎設施和計算方法,它使用區塊鏈數據結構來驗證和存儲數據,使用分布式節點共識演算法來生成和更新數據,使用密碼學來確保數據傳輸和訪問的安全性,採用由自動腳本代碼組成的智能契約對數據進行編程和操作。

節點的類型有哪些?

比特幣P2P網路中的各個節點相互對等,但是根據所提供的功能不同,各節點可能具有不同的分工,每個比特幣節點都是錢包、礦工、完整區塊鏈、網路路由節點的功能集合。

主流區塊鏈技術有哪些

本文試圖對區塊鏈有關技術流派和主流平台進行一個概覽,作為學習區塊鏈技術體系的導覽,意在拋磚引玉,促進區塊鏈開發社區的討論與共識。區塊鏈技術的流派未戰先謀局,你想投入區塊鏈開發這個領域,至少先要搞清楚現在有哪些玩家,各自的主張和實力如何。劃分區塊鏈技術流派並無一定之規,據我所見,或可有以下四種方式:第一是按照節點准入規則,劃分為公有鏈、私有鏈和聯盟鏈。公有鏈的代表自然是比特幣和以太坊,私有鏈則以R3Corda聲名最盛,聯盟鏈的代表作品是Hyperledger名下的Fabric。公有鏈注重匿名性與去中心化,而私有鏈及聯盟鏈注重高效率,而且還往往設置了准入門檻。公有鏈、私有鏈與聯盟鏈之間的這些不同都在技術中有所體現,比如私有鏈和聯盟鏈假設節點數目不大,可以採用PBFT演算法來形成共識。而公有鏈假設有大量且不斷動態變化的節點網路,用PBFT效率太低,只能採用類似抽彩票的演算法來確定意見領袖。這就意味著,私有鏈與聯盟鏈很難變成公有鏈,而用公有鏈來作聯盟鏈或私有鏈雖然容易,卻也並非即插即用。此種差異,學者不可不察。第二是按照共享目標,劃分為共享賬本和共享狀態機兩派。比特幣是典型的共享賬本,而Chain和BigchainDB也應屬此類,這幾個區塊鏈系統在各個節點之間共享一本總賬,因此對接金融應用比較方便。另一大類區塊鏈系統中,各個節點所共享的是可完成圖靈完備計算的狀態機,如以太坊、Fabric,它們都通過執行智能合約而改變共享狀態機狀態,進而達成種種復雜功能。第三是按照梅蘭妮·斯旺所描述的代際演進,將區塊鏈系統分為1.0、2.0和3.0三代。其中1.0支撐去中心化交易和支付系統,2.0通過智能合約支撐行業應用,3.0支撐去中心化的社會體系。比特幣和Chain應屬於區塊鏈1.0系統,而以太坊和Fabric是區塊鏈2.0系統,目前尚無成功的區塊鏈3.0系統出現,不成功的嘗試倒是有那麼一個,就是著名的TheDAO。第四是按照核心數據結構,分為區塊鏈和分布式總賬兩派。區塊鏈這一派在系統中真的實現了一個區塊的鏈作為核心數據結構,而分布式總賬這一派,只是吸取了區塊鏈的精神,並沒有真用一條區塊鏈作為核心數據結構,或者雖然暫時用了,但聲明說吾項庄舞區塊鏈,意在分布式總賬耳,若假以時日,因緣際會,未嘗不可取而代之也。主流區塊鏈技術平台了解流派劃分,仍是只能用來指點江山,吹牛論道,要動手,總要有個切入點。區塊鏈貨幣據說已經有上千個了,但值得關注的技術平台大概只有數十個,而如果要進入區塊鏈開發領域,打下一個好基礎,練出一身好功夫,撈到幾個好offer,則值得深入研究學習的平台,屈指可數。首先當然是比特幣。比特幣作為區塊鏈的第一個也是目前為止最成功、最重要的樣板工程,已經上線運行了八年多,本身沒有發生任何嚴重的安全和運維事故,其穩定與強悍堪稱當代軟體系統典範。比特幣BitcoinCore是一個代碼質量高、文檔良好的開源軟體,從學習區塊鏈原理、掌握核心技術的角度來說,BitcoinCore是最佳切入點,能夠學到原汁原味的區塊鏈技術。當然,BitcoinCore是用C++寫的,而且用了一些C++11和Boost庫的機制,對學習者的C++水平提出了較高的要求。學習比特幣平台開發還有一個優勢,就是可以對接繁榮的比特幣技術社區。目前圍繞比特幣進行改進和提升的人很多,人多力量就大,諸如隔離驗證、閃電網路、側鏈等比較新的想法和技術,都率先在比特幣社區里落地。比如側鏈技術的主要領導者Blockstream是由密碼學貨幣元老AdamBack領銜的,而Blockstream是BitcoinCore最大的貢獻者之一,所以一些有關側鏈的技術在比特幣社區里討論最充分。但比特幣作為一個典型的區塊鏈1.0系統,是不是支撐其他類型區塊鏈應用的最佳技術平台,存在很大的爭議。另外,也不是所有人都有能力和必要精通區塊鏈底層技術。所以對那些急於沖到區塊鏈領域里做(quān)事(qián)的人來說,可能更直截了當的學習目標是以太坊和HyperledgerFabric。在以太坊上面用Solidity進行的智能合約開發是切入區塊鏈開發最簡單的方式,沒有之一。以太坊的理想非常宏大,由於配備了強大的圖靈完備的智能合約虛擬機,因此可以成為一切區塊鏈項目的母平台,是馱住整個區塊鏈世界的大烏龜。在以太坊上開發一個類似比特幣的加密貨幣,是一個不折不扣的小目標。一般有經驗的開發者在文檔指導下,半天到一天即可入門。問題在於,入門以後又如何?靠寫Solidity是否就可以包打天下?這是大大存疑的。我們也可以反過來說,如果以太坊+Solidity是區塊鏈的終極解決方案,那麼怎麼還會出現那麼多區塊鏈技術門派呢?特別是,以太坊似乎並沒有給現實世界中巨型的中心化組織們留下一條活路,這種徹底不妥協的革命態度有可能也成為以太坊推廣的障礙。當前以太坊項目的開發進展並不順利。一個比較突出的問題是項目過多,力量分散,導致項目質量參差不齊。但盡管如此,跟其他區塊鏈2.0平台相比,以太坊提供的開發環境是最簡單最完善的。初學區塊鏈的人絕對有必要學習以太坊,從而對區塊鏈和智能合約建立起一個最「正宗」的認識。主流區塊鏈技術平台的第三支就是Fabric,它是Hyperledger的第一個也是最知名的孵化項目。Fabric最早來自IBM的OpenBlockchain項目,到2015年11月,IBM將當時已經開發完成的44,000行Go語言代碼交給Linux基金會,並入Hyperledger項目之中。在2016年3月一次黑客馬拉松中,Blockstream和DAH兩家公司將各自的代碼並入OpenBlockchain,隨後改名為Fabric。到目前為止,Fabric與Intel提供的SawtoothLake並列為Hyperledger的一級孵化項目,但前者得到的關注遠超後者。從技術角度來說,Fabric思路不錯,重點是滿足企業商用的需求,比如解決交易量問題。眾所周知,比特幣最大的短板是它每秒鍾7個交易的上限,完全無法滿足現實需要。而Fabric目標是實現每秒鍾10萬交易,這個量接近剛剛過去的雙十一交易量瞬時峰值,完全可以滿足正常條件下的行業級應用。Fabric用Go語言開發,也提供多種語言的API。特別值得一提的是,Fabric比較充分地運用了容器技術,比如其智能合約就運行在容器當中。這也是Go語言帶給Fabric的一項福利,因為Go語言靜態編譯部署的特徵很適合開發容器中的程序。Fabric還有一些特點,比如其membership服務可以設置節點准入審查,這是典型的聯盟鏈特徵。再比如其共識演算法是可定製的。Fabric的短板是體系較為復雜,雖有文檔,但缺少經驗的開發者學習起來障礙比較大。然而由於其定位清楚,迎合了不少企業的心態,所以已經有多家機構在基於Fabric秘密研發行業內的聯盟鏈項目。

8. 公有鏈,私有鏈與聯盟鏈有何不同

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

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

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

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

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

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

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

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

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

閱讀全文

與以太坊私有鏈節點加入相關的資料

熱點內容
gpu礦機比特幣 瀏覽:659
以太坊虛擬機是誰發明的 瀏覽:687
以太工坊app什麼時候上線的 瀏覽:38
以太坊礦池抽水正常抽多少 瀏覽:718
比特幣杠桿交易需要多長時間 瀏覽:572
以太坊eth怎麼買賣 瀏覽:216
以太坊小額購買 瀏覽:275
比特幣幣價大跌 瀏覽:386
每個比特幣下降一摩爾 瀏覽:295
45btc摺合人民幣 瀏覽:56
數字貨幣kyc是什麼意思 瀏覽:294
比特幣挖不完么 瀏覽:45
以太坊怎麼手機下載和注冊 瀏覽:732
央行虛擬貨幣的政策 瀏覽:77
以太坊貨幣有升值空間嗎 瀏覽:536
虛擬貨幣看盤軟體APP 瀏覽:123
btc挖礦機最新消息 瀏覽:41
dnf骨戒的攻擊力怎麼算的 瀏覽:654
區塊鏈股票在哪裡找 瀏覽:260
比特幣是消耗性幣嗎 瀏覽:188