幾大主流區(qū)塊鏈開源技術的比較。研究ing

一、比特幣體系

比特幣(BitCoin)是最早也是全球最廣泛使用和真正意義的去中心化區(qū)塊鏈技術,因此他的開源技術體系非常值得參考。

比特幣區(qū)塊鏈的核心技術框架采用C++語言開發(fā),共識算法采用POW算法,工作量(挖礦)證明獲得記賬權,容錯50%,實現全網記賬,公網性能TPS<7。

開源地址為:https://github.com/bitcoin/bitcoin

雖然說POW算法比較低效率和耗能,比特幣區(qū)塊鏈由于推出時間比較早又不夠強大(如不支持智能合約),但不可否認的是,目前市場上相對成熟和穩(wěn)定的區(qū)塊鏈體系還是比特幣。市面上群魔亂舞的山寨幣,正是基于比特幣的源代碼照搬或小改動而創(chuàng)造的,在比特幣區(qū)塊鏈的體系基礎上,還創(chuàng)造了幾種區(qū)塊鏈技術體系:

彩色幣(染色幣),彩色幣本身就是比特幣,是在歷史上的創(chuàng)世交易里面被轉移過的比特幣。在技術上將比特幣網絡從其貨幣價值中抽離出來,它們具有一些特殊的屬性,比如支持代理或聚集點,從而具有與比特幣面值無關的價值。彩色幣可以用作替代貨幣、商品證書、智能財產以及其他金融工具,如股票和債券等。

閃電網絡,是為了解決比特幣區(qū)塊鏈的瓶頸處理能力而生的,他可以有效解決時延、容量擴展、最終性的問題,為比特幣區(qū)塊鏈提供了一個可擴展的微支付通道網絡,使用閃電網絡后,TPS最大可以擴展到300。交易雙方若在區(qū)塊鏈上預先設有支付通道,就可以多次、高頻、雙向地通過軋差方式實現瞬間確認的微支付;雙方若無直接的點對點支付通道,只要網絡中存在一條連通雙方的、由多個支付通道構成的支付路徑,閃電網絡也可以利用這條支付路徑實現資金在雙方之間的可靠轉移。

比特幣側鏈

側鏈是以錨定比特幣為基礎的新型區(qū)塊鏈,就像美金錨定到金條一樣。比特幣的在區(qū)塊鏈相當在貨幣體系的黃金地位,因為他是最去中心化、最多分布節(jié)點、最公平區(qū)塊鏈。側鏈是以融合的方式實現加密貨幣金融生態(tài)的目標,而不是像其它加密貨幣一樣排斥現有的系統(tǒng)。利用側鏈,我們可以輕松的建立各種智能化的金融合約,股票、期貨、衍生品等等。你可以有成千上萬個錨定到比特幣上的側鏈,特性和目的各不相同,所有這些側鏈依賴于比特幣主區(qū)塊鏈保障的彈性和稀缺性。比較著名的比特幣側鏈是Rootstock和BlockStream推出的元素鏈。

Rootstock是一個基于比特幣側鏈的開源智能合約平臺,他使得比特幣擁有了智能合約,基于Rootstock的智能合約能夠運行無數應用,為核心比特幣網絡增加價值和功能。Rootstock使用一種比特幣雙向掛鉤技術,這種雙向掛鉤以一種固定的轉換率輸送或輸出Rootstock上的比特幣,Rootstock雙向掛鉤是一種混合驅鏈和側鏈的技術。更值得關注的是,Rootstock向后兼容以太坊,實現了以太坊虛擬機的一個改進版本,所以以太坊發(fā)布的DApps程序能夠輕松地在Rootstock上使用,實現比特幣級別的安全性和以太坊大量Dapps的復用性,更快的執(zhí)行性并和比特幣發(fā)生更強的相互作用。使用Rootstock可以將性能擴展到TPS為300。

元素鏈(Elements)是Blockstream的開源側鏈項目,同樣使用比特幣雙向掛鉤技術,除了智能合約外,他還給比特幣快速帶來許多創(chuàng)新技術,包括私密交易、證據分離、相對鎖定時間、新操作碼、簽名覆蓋金額等等特性。核心技術框架采用C++語言開發(fā),開源地址為:https://github.com/ElementsProject/elements

二、以太坊ETH

剛結束的以太坊全球開發(fā)者大會DEVCON2,吸引了無數大牛到上海,可以看到,以太坊生態(tài)系統(tǒng)正在高速地成長著,正朝著成為“世界計算機”的目標前進。無論是the? DAO眾籌到攻擊,還是ETH與ETC 分道揚鑣,或者是各種以太坊生態(tài)的開發(fā)框架和應用,以太坊目前在區(qū)塊鏈平臺是最吸引眼球的。

以太坊是一個圖靈完備的區(qū)塊鏈一站式開發(fā)平臺,采用多種編程語言實現協(xié)議,采用GO語言寫的客戶端作為默認客戶端(即與以太坊網絡交互的方法,? 支持其他多種語言的客戶端)?;谝蕴黄脚_之上的應用是智能合約,這是以太坊的核心。智能合約配合友好的界面和外加一些額外的小支持,可以讓用戶基于合約搭建各種千變萬化的DApp應用,這樣使得開發(fā)人員開發(fā)區(qū)塊鏈應用的門檻大大降低。

以太坊ETH的開源地址:https://github.com/ethereum/。以太坊的整個技術生態(tài)系統(tǒng)比較強大,同時迭代周期比較快,所以有比較強的生命力,但事物都有兩面,對于依賴于以太坊特別是以太坊公網的商業(yè)應用來說,頻繁的迭代升級和處于風口浪尖(被攻擊),使得基于以太坊的商業(yè)應用,有時候不得不打足精神去跟以太坊一起升級維護和補丁。

目前以太坊正在正式運行1.0版本,采用的是POW挖礦的共識算法,目前公網的TPS是25筆,在開發(fā)中的1.5版本,將采用類POS的Casper算法,以使區(qū)塊鏈的確認速度相對于POW的線性效率,達到指數級。采用Casper后將會更好的確認機制,以及大幅降低能量消耗。在規(guī)劃的? 2.0版本目標,TPS有望可以達到2000TPS。

以太坊的進一步開發(fā)介紹你可以參考我另外一篇文章《區(qū)塊鏈應用開發(fā)入門》。

三、IBM HyperLedger fabric

IBMHyperLedger,又叫? fabric,是一個帶有可插入各種功能模塊架構的區(qū)塊鏈實施方案,他的目標是打造成一個由全社會來共同維護的一個超級賬本。Elwin個人感覺fabric分層設計比較合理,模塊化程度非常不錯,雖然目前還是在完善階段,并沒有真正商用(最近IBM攜手中國銀聯(lián)打造區(qū)塊鏈為基礎的忠誠積分交易系統(tǒng),但還是屬于探索試樣項目),但以IBM的多年技術底蘊,fabric應該是大企業(yè)構建區(qū)塊鏈底層的選擇之一。

fabric架構核心邏輯有三條:Membership、Blockchain和Chaincode。MembershipServices這項服務用來管理節(jié)點身份、隱私、保密性、可審計性。Blockchain? services使用建立在HTTP/2上的P2P協(xié)議來管理分布式賬本,提供最有效的哈希算法來維護區(qū)塊鏈世界狀態(tài)的副本。采取可插拔的方式來根據具體需求來設置共識協(xié)議,比如PBFT,Raft,PoW和PoS等等,IBM首選PBFT算法。Chaincode? services? 會提供一種安全且輕量級的沙盒運行模式,來在VP節(jié)點上執(zhí)行chaincode邏輯,類似以太坊的EVM虛擬機及其他上面運行的智能合約。

開源地址:https://github.com/hyperledger/fabric。Fabric的主要框架核心開發(fā)語言是GO語言,系統(tǒng)目標是15個驗證節(jié)點下最理想情況下可以有100K? TPS的性能,更適合于聯(lián)盟鏈。

四、比特股BitShare

比特股(BitShares)是區(qū)塊鏈歷史上里程碑式的產品之一,截至目前仍然是完整度最高、功能最豐富、性能最強大的區(qū)塊鏈產品之一。比特股是可以看作是一個公司、貨幣甚至是一個社區(qū)。它提供的BitUSD等錨定資產是虛擬幣歷史上的一個最重要變革之一,能夠極大消除虛擬貨幣被人詬病的波動性大的問題。

比特幣低效率高能耗的POW算法,使得比特股及其DPos共識算法應運而生。有別于比特幣特定的共識機制,DPos有一個內置的實時股權人投票系統(tǒng),就像系統(tǒng)隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。與比特幣相比,比特股系統(tǒng)的投票權牢牢掌握在股東手里,而不是雇員。比特股系統(tǒng)的去中心化程度緊緊掌握在比特股持有者們的手中,他們決定了出塊受托人的個數。同時,作惡的受托人不會得到任何好處,并且很快就會被投票出局。此外,比特股內置了強大的賬戶權限設定、靈活的多重簽名方式、白名單等特性,足以滿足企業(yè)級的功能定制需求。

比特股的1.0開源地址是:https://github.com/bytemaster/bitshares,2.0開源庫在:http://github.com/bitshares。他的核心技術框架采用C++語言開發(fā),既適用于公有鏈,也適合于聯(lián)盟鏈,只需要少量節(jié)點進行記賬,TPS>500,容錯50%,在比特股2.0中如果在最優(yōu)的網絡和硬件情況下可以達到最高100K的TPS。

五、公證通Factom

公證通(Factom)利用比特幣的區(qū)塊鏈技術來革新商業(yè)社會和政府部門的數據管理和數據記錄方式,也可以被理解為是一個不可撤銷的發(fā)布系統(tǒng),系統(tǒng)中的數據一經發(fā)布,便不可撤銷,提供了一份準確、可驗證、且無法篡改的審計跟蹤記錄。利用區(qū)塊鏈技術幫助各種各樣應用程序的開發(fā),包括審計系統(tǒng),醫(yī)療信息記錄,供應鏈管理,投票系統(tǒng),財產契據,法律應用,金融系統(tǒng)等。

建立在Factom基礎之上的應用程序尋求能夠直接利用區(qū)塊鏈實現追蹤資產和實現合約,而不用將交易記錄寫入區(qū)塊鏈,Factom在自己的架構中記錄條目。跟以太坊類似,Factom系統(tǒng)會創(chuàng)造一個叫Factoids的電子幣。持有Factoids意味著有權使用Factom系統(tǒng)。只要把Factoids轉化成輸入積分便有權把數據寫入Factom系統(tǒng)中。同時運行著Factom的聯(lián)邦服務器也能收獲Factoids作為維護系統(tǒng)的回報。Factom雖然同樣基于比特幣網絡,但卻并不是之前提到側鏈或染色幣的技術架構,Factom只將目錄區(qū)塊的哈希值錨定到比特幣區(qū)塊鏈。Factom很好地解決了比特幣三個核心的約束和問題,速度、成本和區(qū)塊鏈膨脹。

Factom中的政策和獎勵機制與POS機制有相似之處。與其不同之處在于,Factom中只有一小部分的用戶權益能夠被認可。只有已經提交到系統(tǒng)的權益有投票權,而可轉移的Factoid權益沒有投票權,避免了POS機制的“股份磨損”和“沒有人進行POS”問題。

公證通的開源地址是:https://github.com/FactomProject/FactomCode。他的核心技術框架采用GO語言開發(fā),TPS是27筆左右(待考究)。

最新情況,Factom將不會只依賴于比特幣區(qū)塊鏈,他將會同樣會通過整合以太坊區(qū)塊鏈,以來確保存放的數據時時刻刻都是安全的。

六、瑞波Ripple

瑞波(Ripple)是世界上第一個開放的支付網絡,是基于區(qū)塊連的點到點全球支付網絡。通過這個支付網絡,使你輕松、廉價并安全的把你的金錢轉賬到互聯(lián)網上的任何一個人,無論他在世界的哪個地方,他可以轉賬任意一種貨幣,包括美元、歐元、人民幣、日元或者比特幣,簡便易行快捷,交易確認在幾秒以內完成,交易費用幾乎是零,沒有所謂的跨行異地以及跨國支付費用。

Ripple有兩個重要概念,其一是推出Ripple幣瑞波幣——XRP,它作為Ripple網絡的基礎貨幣,就像比特幣一樣可以整個網絡中流通,主要是燃料Gas的作用,每產生一筆交易就會消耗一些? XRP;其二是引入網關(Gateway)系統(tǒng),它類似于貨幣兌換機構,允許人們把法定貨幣注入、抽離Ripple網絡,并可充當借、貸雙方的橋梁。

Ripple引入了一個共識機制RPCA,通過特殊節(jié)點的投票,在很短的時間內就能夠對交易進行驗證和確認。Ripple客戶端不需要下載區(qū)塊鏈,它在普通節(jié)點上舍棄掉已經驗證過的總帳本鏈,只保留最近的已驗證總帳本和一個指向歷史總帳本的鏈接,因而同步和下載總帳本的工作量很小。

Ripple的作用并不僅僅只負責清算貨幣兌換,它可以是各種虛擬貨幣、數字資產或任意一種有價值的東西。

Ripple的開源地址是:https://github.com/ripple/rippled,他的核心技術框架采用C++語言開發(fā),TPS<1000。

七、未來幣NXT

未來幣(Nxt、Nextcoin)是第二代去中心化虛擬貨幣,它使用全新的代碼編寫,不是比特幣的山寨幣。它第一個采用100%的股權證明POS算法,有資產交易、任意消息、去中心化域名、帳戶租賃等多種功能,部分實現了透明鍛造功能。

Nxt是且是第一個100%的股權證明機制的電子貨幣,Nxt不再通過消耗大量的資源“挖礦”產生新貨幣,而是通過現有賬戶的余額去“鍛造”區(qū)塊,并給與成功“鍛造”區(qū)塊的賬戶交易費用獎勵。

Nxt具有一個非常靈活的特性,稱為“透明鍛造”。這一機制使得每一個用戶客戶端可以自動決定哪個服務器節(jié)點能夠產生下一個區(qū)塊。這使得客戶端可以直接將交易發(fā)送到這個節(jié)點,從而使得交易的時間達到最短。實時和高優(yōu)先級的交易可以通過支付額外的費用來被優(yōu)先處理。

Nxt區(qū)塊鏈2.0已經在討論和計劃實施中了,其核心思路就是要通過主鏈(Main Chain)和子鏈(Child Chain)的這種架構來增加Nxt區(qū)塊鏈的可擴展性和可刪減性,從而解決長期存在的區(qū)塊鏈膨脹等問題;

Nxt的開源地址是:https://bitbucket.org/JeanLucPicard/nxt/overview,他的核心技術框架采用JAVA語言開發(fā),TPS<1000。

八、其他

此外,還有幾個區(qū)塊鏈技術體系也介紹一下:

英特爾的鋸齒湖(Sawtooth? Lake),目前是用于建造、部署和運行分布式賬本的高度模塊化平臺,重點領域在數字資產,在鋸齒湖的數據模型和交易事務語言中,是由稱為“transaction? family”的體系來實現的, 給用戶可以有開箱即用的功能齊全的市場數字資產管理體系。采用PoET和Quorum? Voting兩種共識算法,框架核心開發(fā)語言Python,開源地址為https://github.com/intelledger

布比區(qū)塊鏈,目前采用的是對聯(lián)盟鏈內定向開源,共識算法采用自研發(fā)的Pool驗證池,可以集成Byzantine Paxos、Byzantine、Raft等商用共識算法,實現免Gas費用的秒級共識驗證,框架核心開發(fā)語言是C++,應用場景比較廣泛。

小蟻區(qū)塊鏈,開源地址為https://github.com/antshares/antshares,采用改進的拜占庭容錯算法-dBFT共識算法,支持智能合約,目前重點領域在數字資產應用,框架核心開發(fā)語言C#。

最后,匯總一下幾大主流開源技術的比較。


名稱

公識算法

適合場景

開發(fā)語言

智能合約

TPS

比特幣1.0

POW

公鏈

C++

7

以太坊ETH 1.0

POW

公鏈/聯(lián)盟鏈

GO

25

IBM HyperLedger fabric

PBFT為主

聯(lián)盟鏈

GO

100K

比特股BitShare

DPos

聯(lián)盟鏈

C++

500

公證通Factom

Factom自有共識機制,類Pos

公鏈/聯(lián)盟鏈

C++

27

瑞波Ripple

RPCA

公鏈/聯(lián)盟鏈

C++

1000

未來幣NXT

Pos

公鏈/聯(lián)盟鏈

JAVA

1000

*附注[共識算法解釋]:

共識機制是區(qū)塊鏈技術的關鍵點。共識機制的核心是在分布式網絡中,利用一種規(guī)則(算法)來保證全網對于Block的創(chuàng)建是一致的,下面是主要的共識算法。

1、Pow工作量證明,就是大家熟悉的挖礦,通過與或運算,計算出一個滿足規(guī)則的隨機數,即獲得本次記賬權,發(fā)出本輪需要記錄的數據,全網其它節(jié)點驗證后一起存儲;

2、Pos權益證明,Pow的一種升級共識機制;根據每個節(jié)點所占代幣的比例和時間;等比例的降低挖礦難度,從而加快找隨機數的速度。

3、DPos股份授權證明機制,類似于董事會投票,持幣者投出一定數量的節(jié)點,代理他們進行驗證和記賬。

4、Pool驗證池,由布比構建,基于傳統(tǒng)的分布式一致性技術,加上數據驗證機制;是目前行業(yè)鏈大范圍在使用的共識機制

5、PoET(Proof ofElapsed Time),也就是‘消逝時間量證明’,它是由英特爾構建在可信執(zhí)行環(huán)境的一種彩票協(xié)議。

6、QuorumVoting,屬于Quorum拜占庭協(xié)議,仲裁投票算法,它采用了瑞波和恒星的共識協(xié)議,用來解決需立即交易定局的需求。”

7、Casper,以太坊社區(qū)提出的正在研發(fā)中的類POS共識協(xié)議。Casper的基本思路是,任何人抵押足夠多的以太幣到系統(tǒng)中就可以成為礦工參與到挖礦過程。共識算法要求所有的礦工誠實工作,如果一個礦工有意破壞,不遵守協(xié)議,系統(tǒng)就會對礦工做出懲罰:沒收之前抵押的以太幣。有人把Casper這樣的挖礦機制稱為“虛擬挖礦”。

8、PBFT(PracticalByzantine Fault Tolerance)算法,拜占庭容錯算法,屬于狀態(tài)機拜占庭協(xié)議,IBM? HyperLedger fabric實現和推薦的共識算法,采取一個節(jié)點一票的方案確定記賬結果,少數服從多數投票,性能較好,主要用于聯(lián)盟鏈。

作者:高志豪(weibo.com/elwingao)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容