編者按:本文來自碳鏈價值,作者:碳鏈價值研究院,Odaily星球日報經授權轉載。摘要
第46屆世界經濟論壇達沃斯年會將區塊鏈與人工智能、自動駕駛等一并列入“第四次工業革命”。《經濟學人》曾在2015年10月的封面文章《信任的機器》中介紹區塊鏈——“比特幣背后的技術有可能改變經濟運行的方式”。區塊鏈之所以被稱為信任的機器源于其分布式和不可篡改的兩個核心特性,這也是區塊鏈有別于傳統數據庫的核心特性。這里的分布式包含兩層含義:一是傳統的分布式存儲,二是區塊鏈的底層協議帶來的協作性,這里更多的是指代其分布式協作的能力。在區塊鏈中主要通過共識算法、智能合約、治理、跨鏈、隱私等來實現其“可信協作”,所以本文將從這幾個方面并結合企業應用場景來分析底層技術的差異,來幫助企業用戶更好地做出選擇。同時也會從傳統企業軟件的可維護性、性能、開發工具、擴展性、軟件協議等方面來進行分析和對比。就聯盟鏈的歷史、以及和公鏈的區別來說,早期來看差異不大,但是現在隨著細分市場持續深化,公鏈和聯盟鏈之間的差別越來越明顯。首先,公鏈面對的是一個不可控場景,需要在安全,性能和去中心化上找到一個平衡點。而在聯盟鏈企業服務場景中,參與方數量相對來說更加的可控,聯盟鏈在性能和安全性上更容易有突破。但也正是由于參與方的可控,去中心化這個方面有自己更加獨特的設計。除此以外,在公鏈中,所有的信息都是公開透明可以被查驗的,每一個參與方相對來說比較平等。但是在工業界中,這是不可被接受的,有大量的公對公數據隱私需要處理,在企業中也存在多種組織模式需要設定權限。基于這些特征,聯盟鏈在發展上包括節點管理、共識選擇、權限控制和合約設計范式差異化多很大,同時不同的框架對于合約的設計范式理解也不盡相同。此外,區塊鏈有開源和閉源之分,但是區塊鏈創造的信任是基于開源代碼產生的,沒有開源就不是真正意義上的區塊鏈系統。因此為了研究的客觀,本文主要集中討論開源框架。目前在國內市場使用較廣泛的開源架構分別是Fabric,FISCOBCOS和CITA。HyperledgerFabric是分布式賬本解決方案的平臺,該平臺以模塊化架構為基礎,提供高度的機密性,靈活性和可擴展性。它旨在支持不同組件的可插拔實現,并適應整個經濟生態系統中存在的復雜性。Fabric最早由IBM設計和開發,2015年將其源代碼奉獻給了Linux基金會的Hyperledger項目。FISCOBCOS誕生于2017年,由金鏈盟推出,是標準的國產底層。金鏈盟是由深圳市金融科技協會、深圳前海微眾銀行、深證通等二十余家金融機構和科技企業于2016年5月31日共同發起成立的非營利性組織。CITA是一個開源的區塊鏈操作系統內核,以高穩定性,高性能,高可擴展性為設計目標。CITA開源項目由秘猿科技Cryptape于2016年發起。目前由溪塔科技等CITAHub社區企業共同維護。CITA采用微服務架構設計,提供豐富的開發工具集,靈活的區塊鏈治理工具,開發者可為不同類型的區塊鏈網絡進行二次開發或配置。為了區分區塊鏈不同的實現和設計思路,可以首先來明確一下區塊鏈本身的定義。通常區塊鏈本身的定義是一個去中心化和分布式賬本,同時也是一個記錄事件和交易的不可篡改賬本。在這個賬本中,不可篡改的特性是由共識算法保證的。由此看來,現有的聯盟鏈可以分為兩大類:以Fabric為代表,在傳統數據庫主導的分布式數據庫技術;以及更符合“區塊鏈精神”的FISCOBCOS和CITA。Fabric特性:IBMFabric保證了區塊鏈中的分布式和不可篡改性兩點,省略了去中心化的共識機制,IBMFabric在框架中并沒有真正的去中心化共識機制。在Fabric架構中,將參與方分成了三種角色即:排序節點、背書節點和提交節點。對于每一筆交易:共識狀態的過程是由客戶端、背書節點、提交節點共同參與完成的;排序節點只負責交易順序的共識,而不負責狀態共識,在交易狀態共識和排序可以分別采用不同的策略。排序節點中的共識方式是Kafka或者Raft,這實際上和已有的分布式數據庫共識方式是一致的,不具備容錯性。IBMFabric如果作為一個一體化的套件來滿足帶有角色的分布式數據庫業務,是功能非常全面的,但也正是節點的復雜性使得應用部署較重,對于環境要求較高。除此之外,由于共識算法采用的是Kafka和Raft,導致節點數量擴展上難以突破,在項目后期擴展上會比較吃力。CITA和FISCOBCOS的特性:對于FISCOBCOS和CITA來說,保證以上所述區塊鏈的所有特點,但是在使用的時候設計范式會和傳統項目差異較大。作為一個分布式賬本,可以保證數據的不可篡改同時也可以使用了去中心化的共識機制拜占庭容錯,保證了1/3的容錯率。在這兩種框架中,將鏈的參與方分成了共識節點和只讀節點兩種,共識節點即是擁有記賬權利的參與方,而只讀節點是擁有查閱所有數據的參與方。如果說以太坊代表著區塊鏈的精神,CITA和FISCOBCOS繼承自公鏈。CITA和FISCOBCOS身上對于以太坊雖然在場景和使用上已經和公鏈完全不同,但是在一些底層邏輯上還是可以看到對于公有鏈的繼承。從技術上來講,繼承了以太坊的虛擬機,也就是繼承了以太坊龐大的生態。接下來,本文將從技術實現角度對比三者的不同。共識和交易流程
騰訊云升級發布跨鏈服務平臺TBIS、至信鏈開放聯盟鏈兩款區塊鏈產品:12月1日消息,今日,在2022騰訊全球數字生態大會區塊鏈專場,騰訊云升級發布跨鏈服務平臺TBIS、至信鏈開放聯盟鏈兩款區塊鏈產品,進一步助力各行各業數字化轉型,加速數字經濟與實體經濟深度融合。此次,騰訊云區塊鏈產品的升級發布聚焦跨鏈服務和智能合約,將為各行業、各領域提供更為完整的區塊鏈產品矩陣,加速實現產業生態各個孤島的連接,推動數字經濟進入全真互聯時代。[2022/12/1 21:15:56]
共識機制作為區塊鏈的靈魂,無論是公鏈還是聯盟鏈,共識機制都從根本上限制了區塊鏈的交易處理能力和擴展性,同時也是其分布式協作能力的基礎。共識是分布式系統中節點對數據或網絡最終狀態達成的協議。由于網絡環境和節點狀態的不可控,共識機制需要同時考慮性能、可靠性、安全性等多方面問題。共識機制從大的方面,可分為NakamotoConsensus等無需準入的共識機制,和PBFT等需要準入的共識機制兩大類。Nakamoto共識在公鏈上應用廣泛,但是它的概率模型在提供較高可靠性的同時,犧牲了效率。在具體商業應用環境中,許可機制已經保證了一定程度上的節點可信度,這樣的前提下,用戶更關心執行效率和最終確定性。這是BFT類共識在聯盟鏈中流行的原因。接下來本文將先分別介紹FISCOBCOS、CITA和Fabirc共識技術實現,本文再從性能,應用場景,擴展性和安全性等幾個方面來進行對比分析。技術實現BCOS共識機制效率相對較為傳統FISCOBCOS的共識機制采用了傳統的PBFT共識,其共識流程主要包括Pre-prepare,Prepare和Commit三個階段:1.Pre-prepare:Leader節點執行區塊,產生簽名,并將Proposal廣播給其他共識節點;2.Prepare:共識節點驗證Proposal并廣播簽名,同時收集其他節點簽名,節點收集到2f+1的簽名后,開始廣播Commit包;3.Commit:Leader節點收集Commit包,節點收集滿2*f+1的Commit包后,更新本地數據庫并廣播給其他節點,其他節點收到之后更新本地數據庫。下圖為標準的一次PBFT的過程:
在區塊鏈中因為共識節點之間需要統一Commit階段的投票,所以最后的Commit階段略為不同:Leader節點收到2*f+1的Commit包之后會將最終的Commit包廣播給其他共識節點來統一投票。在整個共識流程中,交易在Pre-prepare階段執行一次,在Prepare階段驗證一次,FISCOBCOS中使用的傳統PBFT流程為先執行再驗證的模式,包含了兩個執行交易的時間長度。CITA采用自主研發的共識協議CITA實現了根據區塊鏈連續共識特點而優化的CITA-BFT。區塊鏈是一個連續共識的過程,CITA將交易的執行和共識進行拆分,避免了兩次執行的問題。根據復制狀態機的原理:起始狀態一致,執行交易順序一致,執行過程是確定的,三個條件都滿足的情況下就可以保證最終結果一定會一致。在區塊鏈中起始狀態由創世塊來保證一致,虛擬機是完全確定的,所以只要保證交易順序一致就可以保證其最終結果一定一致。在區塊鏈中Block的preHash已經包含了上個塊交易處理之后的世界狀態信息。CITA-BFT對當前區塊的交易順序和上個區塊的執行結果進行共識。這樣在共識過程中不需要去執行交易,而只需要在共識完之后進行一次交易處理,大大提高了整個鏈的吞吐量。CITA-BFT是針對區塊鏈連續共識的特點進行了優化,采用了先共識后處理的方式,使得共識的過程不必執行交易,只需要共識完成之后執行一次交易即可。經過驗證,在最簡單的存證交易時,共識性能有35%左右提升。CITA-BFT避免了共識協議最后一輪Leader廣播的過程。在傳統的PBFT中在最后的Commit階段,需要Leader收到足夠的Commit包并廣播給其他節點。區塊鏈是一個連續共識的過程,在CITA-BFT中,Block中共識投票是上一個區塊的投票,所以合并了Commit階段的Leader廣播最終區塊過程和下一個高度的Proposal階段,這樣節省了一輪廣播過程,通過下一個高度Proposal的過程統一了Commit投票信息。CITA-BFT采用Proposal預處理技術使共識和執行能夠并行進行,提高了系統性能。由于聯盟鏈在多數情況下,網絡狀況良好能在一輪共識流程中完成共識,CITA中引入了Proposal預處理的技術:在Pre-prepare階段,節點在收到Proposal之后可以直接處理交易,而不必等到共識流程完成,等到共識流程完成之后再將共識結果通知交易處理器。在傳統的PBFT的過程中,交易處理和共識是串行的,引入Proposal預處理之后,可以使得共識的Prepare階段Commit階段和交易處理并行進行,大大提高了整個系統的吞吐量。經測試,對于簡單的交易處理,有10%到20%左右的性能提升。在CITA中采用了CompactBlock的技術來壓縮共識區塊的大小,提高網絡帶寬利用率。Block中的交易已經單獨廣播過一次,所以共識Block中只需要包含交易ID即可,這樣可以大大降低區塊消息的大小。經測試在網絡條件較好的情況下,對于簡單的交易處理,有5%到10%的性能提升。Fabric共識機制限制業務效率提升Fabric將其節點角色分為:排序節點,背書節點,提交節點。客戶端首先將交易請求發送給背書節點,背書節點執行后將read/writeset及其簽名返回給客戶端,客戶端收集到足夠相同的結果后,將read/writeset、多組簽名和交易請求組成簽名后的交易,發送給排序節點,排序節點組成區塊之后,廣播給提交節點,提交節點驗證read/writeset和簽名數是否滿足,標記結果并保存合法的結果到各自的賬本。在Fabric中由于交易的執行是非確定性的,這點不同于FISCOBCOS和CITA的設計理念。所以需要背書節點先執行交易,并由客戶端根據背書策略進行對比結果,再發給排序節點,最終由提交節點驗證并更新各自的數據庫。可以理解為:共識狀態的過程是由客戶端、背書節點、提交節點共同參與完成的;排序節點只負責交易順序的共識,而不負責狀態共識。在交易狀態共識和排序可以分別采用不同的策略。比如交易狀態可以采用超過3/4的狀態一致,而排序節點的共識使用傳統的Raft或者Solo共識,采用傳統CFT共識即可滿足多數場景。這里的問題是交易中需要包含用戶的簽名,以及多個背書節點的簽名,以及read/writeset,這樣導致交易非常大。Fabric在交易狀態有沖突時,例如A和B之間頻繁轉帳這種場景,因為每筆交易都會修改AB賬戶的余額,所以會造成交易沖突。沖突交易每個塊最多只能有一個交易被處理,這將大大限制業務合約的場景。性能對比CITA共識性能好FISCOBCOS:傳統的PBFT共識過程中會重復執行交易,共識效率一般CITA:先共識再執行,只執行一次交易,整體效率較高優化Commit階段的Leader廣播過程,減少共識時間Proposal預執行技術使得共識和執行并行,提高整體性能CompactBlock技術提高帶寬利用率Fabric:執行和排序可以采用不同的共識策略,比較靈活交易需要多個背書節點簽名和read/write集合會導致交易非常大對比可以看出FISCOBCOS采用傳統PBFT,共識效率一般;CITA采用了自主研發的CITA-BFT,共識和交易處理有50%以上的性能提升;Fabric將整個流程拆分為執行、排序、驗證,增加了靈活性,但是驗證和執行的分離導致交易非常大。應用場景Fabirc共識機制限制了業務場景FISCOBCOS/CITA:都是BFT類共識,適合多數的聯盟鏈場景,由參與方、監管方和可信第三方組成共識節點。Fabric:將共識的流程拆分為執行,排序和驗證,具有更好的靈活性,但是由此帶來交易結構非常大,而且沖突交易每個塊只能上鏈一個交易,大大限制了業務合約的場景。比如對于一個統計投票的合約,有N個投票者,每個投票人員通過發送交易進行投票,因為總的投票結果是共享狀態,這種情況下每個區塊只能處理一筆交易。比如對于Randao項目,需要收集參與者的所有提交信息,這個時候就需要一個集合變量來存儲這些信息,由于每個參與者的交易都會修改這個集合變量,導致每個塊只能處理一筆提交交易,并且集合變量會導致read/writeset會非常大。擴展性
現場丨BSN開放聯盟鏈今日全球啟動:金色財經現場報道,BSN發展聯盟秘書長譚敏、火幣集團首席運營官朱嘉偉、AWS中國電信行業業務拓展總監陳濤在京宣布由BSN發展聯盟和火幣集團聯合發起的BSN開放聯盟鏈項目今日全球啟動。據了解,BSN開放聯盟鏈由BSN發展聯盟、火幣集團聯合運營,9月27日正式啟動。[2020/9/27]
安全性
可以看到,BCOS和CITA都使用類BFT的共識,所以在安全性方面分析現有的BFT協議即可,有用比較高的安全邊界。對于Fabric,由于執行、排序、提交節點職能的分離,且執行和排序可以分別采用不同的共識策略,安全策略可以由用戶自由把握,客戶端參與狀態和執行的共識。智能合約
智能合約一詞有一定的誤導性,智能往往給人帶來一定的神秘色彩,就其合約功能本身來講并無”智能性”。在區塊鏈出現之前,所有的系統都是采用中心化的架構,監管機構和用戶無法驗證和保證系統功能的正確性,無法確保數據未被惡意修改,無法保證數據的安全性。由于區塊鏈的出現,使得在不依賴于第三方的情況下,能夠可信地進行交易,而且交易可追蹤無法逆轉。智能合約的核心含義在于:在區塊鏈基礎上實現可信計算,并由區塊鏈協議保證的可追蹤和無法逆轉。在比特幣中交易主要用于點對點的現金支付,以太坊由于引入圖靈完備的智能合約被稱為區塊鏈2.0。雖然理論上以太坊上的智能合約是圖靈完備的,但是受限于交易手續費、合約指令、區塊Gas上限、節點可信度等,公鏈智能合約并不適用于現有的企業開發。聯盟鏈由于節點數量有限,且節點運營方可以采用高性能的硬件設備,以及底層協議支持等,更適合企業開發。首先本文介紹三者智能合約的技術實現,再分別從安全性、易用性、可用性三方面進行對比分析。技術實現BCOS和CITA均支持EVM和預編譯合約。借助于Ethereum智能合約的完善的生態系統,兩者都在其基礎之上做了定制化,有豐富的合約編寫和測試工具。對于預編譯合約需要開發者對區塊鏈系統有一定的了解,需要較高的門檻。當前支持EVM的語言主要是Solidity,Solidity合約可以通過交易進行部署,在調用時將合約代碼加載到虛擬機中。Fabric的合約通過ChainCode的方式以Docker的方式進行線下安裝,然后通過交易進行激活。ChainCode合約的部署相對較重,但支持多種語言,合約的部署和更新以線下方式進行更新,合約代碼并沒有進行共識,可以將合約看成黑盒,只需要保證其輸入和輸出正確即可,并不關心其內部邏輯的具體實現。由于Fabric采用了傳統的語言進行合約編寫,雖然開發者不需要學習新的語言,但是由于虛擬機的不確定性,ChainCode的方式只適合Fabric的先執行再共識再驗證的共識方式,并不具備通用性。安全性安全性是智能合約有別于其他程序的主要特征,這里的安全性,包含確定性、可驗證、可審計、可追蹤等特性。由于BCOS和CITA在智能合約設計理念上接近,本文將兩者放入同一欄中。
聲音 | 肖風:聯盟鏈、公鏈最終會走到一起:萬向區塊鏈股份公司董事長肖風在接受澎湃新聞采訪時表示,現在有一個趨勢,即公鏈與聯盟鏈之間在靠近,比如萬向區塊鏈、微眾銀行、矩陣元三家一起做的聯盟鏈BCOS(BlockChain OpenSource),我們拿來做商業應用,微眾銀行拿去做金融應用。微眾銀行副行長馬智濤在兩年前就曾說過要做“公眾聯盟鏈”。聯盟鏈最后一定會在技術條件許可、合規條件許可的時候,逐漸走向更開放。其實螞蟻金服在講到聯盟鏈的時候,也提到了“開放聯盟鏈”。聯盟鏈有它獨到的地方,但公鏈也有只有它才能實現的東西。因此,不少人在實踐過程中,慢慢就會發現,聯盟鏈也會要求開放、變得公眾化。而公鏈在某種程度上也需要跟現有的監管體系、法律體系、合規體系對接,一個完全跟現實世界所有體系不對接的鏈,不可能有巨大的價值。(澎湃新聞)[2019/11/5]
對比可以看出由于BCOS/CITA交易是鏈上執行的,所以BCOS/CITA的智能合約更具有確定性、可驗證、可審計、不可逆、可追蹤的特點。Fabric在合約代碼由背書節點各自部署和升級,驗證性、審計性、可追蹤性無法保證。但是由于在Fabric的設計理念中,合約執行后再由客戶端進行驗證,本文可以認為合約最終的結果是由客戶端和背書節點共同決定的,只要交易結果符合背書策略并且符合用戶預期,對于合約代碼的驗證性要求相對就沒有那么重要了。易用性BCOS/CITA在合約易用性上略勝于Fabric
BCOS/CITA支持以太坊EVM并且對其工具鏈進行深度優化,對開發者更友好,合約的部署、調用、升級都通過交易進行,更輕量和方便。可用性
BCOS/CITA/Fabric都可以應對企業復雜的業務邏輯,支持比較復雜的合約計算和處理,同時CITA支持鏈上定時任務。性能
經過區塊鏈底層技術最近幾年的發展,聯盟鏈的性能已經不再是其最主要的瓶頸。BCOS官方文檔并未提供性能數據,本文只能根據第三方提供的數據來判斷,我們找到了兩個相對可靠的信息來源。中國信通院可信區塊鏈最新評測,BCOS單鏈TPS超2萬。(undefined)當測試團隊說區塊鏈性能達到10000TPS的那一刻,張開翔在微信群里給團隊發出了人生中最大的紅包。“。因為兩次測試數據均未提供測試用的環境、節點數、使用的共識協議等,推測這里可能是分別使用了不同的共識方法和節點數進行的測試。CITA在官方文檔中最新版本的交易性能已經可以達到15,000+TPS,數據來自CITA0.16版本,在四臺32核,64G的云服務器上部署4個節點,每臺服務器配置百兆帶寬。Fabric官方并未提供其性能數據。根據第三方提供的數據,在32核CPU,10節點的情況下,性能可以到3400左右。根據這份報告背書節點數對性能影響并不大,因為背書節點并不實際參與共識。現階段聯盟的性能已經有了長足的進步,相對落地場景而言,性能已經不再是最主要的瓶頸。同時國產聯盟鏈在性能方面已經不輸于國外的大品牌,甚至已經領先于國外。存儲
聲音 | 蔡釗:未來公有鏈的生命力可能高于聯盟鏈:據雷鋒網報道,近日在金融區塊鏈技術與應用峰會上,中國農業銀行軟件研發中心總經理蔡釗認為,“未來,就像如今公有云的發展遠遠大于私有云,隨著技術的成熟,公有鏈的生命力可能更加高于聯盟鏈——更加完善的治理機制和激勵機制、統一的開放服務體系、開放的服務生態體系,人人都是參與方,人人都可以貢獻價值、挖掘價值和價值的升華,不管是金融的服務、政府的部門還有非金融服務,大家都貢獻價值,來分享價值、使用價值、升華價值。”[2018/10/11]
區塊鏈的存儲從內容方面講主要包括兩個方面:區塊和交易存儲、世界狀態存儲。本文先分別介紹各自的實現方式,再從支持數據庫類型、存儲效率、可擴展性、數據維護等方面進行對比分析。實現方式BCOS的狀態存儲支持兩種存儲模式對于區塊的保存,BCOS交易列表,交易回執等都采用了傳統的MPT方式保存。對于世界狀態,BCOS采用了兩種存儲模式:storagestate和MPTstate。MPTstate支持RocksDB和External存儲,MPT存儲在保存歷史狀態的同時,最大化減少存儲數據。StorageState支持RocksDB、MySQL、External,使用storagestate存儲時,犧牲了部分的可追溯性,但帶來了性能上的提升,同時能支持SQL語句的查詢和統計。因為世界狀態始終是可以通過交易進行還原,所以對于犧牲部分可追溯性而換取性能的提升和狀態查詢是可以接受的。CITA支持RocksDB、External存儲。使用MPT保存狀態,使用SimpleMerkleTree保存交易和交易回執。對于狀態存儲CITA選擇了經典的MPT存儲,保存歷史狀態的同時,最大化減少存儲數據。而對于交易和交易回執使用SimpleMerkleTree存儲,可以優化存儲數據量和減少Hash計算。Fabric的區塊存儲,同樣采用了MPT的方式進行保存。對于世界狀態的存儲支持KV和CouchDB存儲,在世界狀態存儲時,Fabric不支持歷史狀態的保存,同時有性能上的提升,并支持豐富的條件查詢和統計。對比分析
對比來看:CITA在交易的存儲結構上做了優化和改進,提供了快照功能對世界狀態的歷史進行裁剪。BCOS世界狀態的存儲模式上,支持兩種不同的模式,允許在犧牲一部分狀態可追溯性上,提升性能和支持豐富的SQL查詢。Fabric的世界狀態存儲不保留歷史狀態,支持世界狀態的條件查詢。本文認為在交易存儲方面,節點必須要保留歷史記錄,而對于世界狀態的歷史存儲,可以通過交易進行還原,在這種情況下BCOS/Fabric為用戶提供較好的查詢功能和較高的性能是一個不錯的取舍。治理
聯盟鏈不同于公鏈的最大不同之處在于其治理方式的不同,對于公鏈來講由于其是開放的系統需要一定的經濟激勵來協調不同角色間的關系,而聯盟鏈由于節點是準入機制,所以其治理方式與公鏈有非常大的不同。對于聯盟鏈來講,其治理主要包含:節點管理、帳號權限、經濟模型。節點管理對于BCOS和CITA來講,節點主要分為兩類:共識節點和普通節點。共識節點負責共識出塊,普通節點只能同步數據并驗證數據而沒有打包交易的權力。對于Fabric,節點分為背書節點,排序節點,提交節點。背書節點負責執行交易并返回結果,排序節點負責對交易排序并打包出塊,提交節點負責驗證交易并更新狀態。
動態 | 金山云發布區塊鏈云 欲基于聯盟鏈進行游戲開發:據華爾街見聞消息,9月25日,在GIEC 2018 全球互聯網經濟大會上,金山云正式發布區塊鏈企業級產品“金山區塊鏈云”,包含一站式區塊鏈技術服務平臺KBaaS和區塊鏈生態合作計劃Project-X。KBaaS用聯盟鏈作為游戲等互聯網應用的底層平臺。[2018/9/26]
對于共識節點BCOS/CITA均采用了系統合約的方式進行管理,節點的增刪需要共識節點進行共識。而Fabric的節點增刪,可以由節點管理員修改配置,無需共識,但是激活新的配置文件需要發送交易并進行共識。本文認為通過白名單/黑名單的方式或者CA的方式管理節點身份,均能滿足聯盟鏈的大多數場景,CA在對節點身份的驗證方面更加嚴格。用戶權限管理對于聯盟鏈來將,聯盟各個角色以及聯盟內均需要比較復雜的權限管理,這樣不同的角色只能訪問屬于自己授權的資源。在CITA/BCOS中都通過復雜的權限管理,來對用戶的交易權限進行管理,包括發送交易,創建合約,合約方法調用權限等等。Fabric通過配置文件的方式(Policy)的方式進行管理用戶的權限。BCOS/CITA權限管理通過交易的方式進行管理,比Fabric通過配置文件的方式修改,更加區塊鏈化,治理操作會保留痕跡。經濟模型CITA支持兩種不同的經濟模型在公鏈中,礦工打包用戶的交易往往需要用戶支付一定的手續費;對于聯盟鏈來講,情況有所不同。
BCOS、CITA和Fabric均支持向用戶提供免費服務的模式,同時在BCOS/CITA中會通過系統合約控制用戶單個區塊內對系統資源的使用情況,防止對系統濫用。而CITA又可以支持收費模式,節點對用戶交易精確計費并收取Token手續費。而Token即可以是節點免費分配給用戶,也可以需要用戶有償使用,這樣可以更加精細地控制用戶對系統資源的使用情況。跨鏈和隱私
跨鏈和隱私方案,距離生產環境依然有可優化空間BCOS引入了群組的方式,使一個節點可以屬于不同群組,而群組的消息、交易、存儲、執行等等完全隔離。Fabric的群組概念和BCOS類似,一個節點可以屬于不同群組,不同群組可以使用不同的背書策略。在BCOS和Fabric中,群組的數據和通信等都是隔離的,并且可以使用不同的共識策略,所以可以將其看成多鏈。當前對于多鏈最大的問題在于鏈間通信,兩者在這方面均沒有非常成熟方案。在CITA中,引入了側鏈技術,側鏈和主鏈之間可以互相通信,側鏈技術距離生產環境依然有可優化的空間。無論群組或者側鏈等技術,本質上都是一種多鏈技術,當前多鏈技術只能解決節點的隱私問題,暫時無法處理交易和用戶級別的隱私。CITA已經開源其零知識證明和SGX的實現。對于同態加密、零知識證明,SGX等等,都處于發展階段,距離生產環境依然有可優化的空間。密碼學支持
CITA在密碼學支持上更全面
對比可以看到BCOS/CITA均支持國密,對國內監管需求較友好;在密碼學算法支持上CITA更全面,除了支持常見的Keccak/Secp256k1之外,也支持更安全性能更好的Keccak/Secp256k1。系統架構
CITA采用了微服務架構BCOS和Fabric均采用了單一系統的架構,這種架構要求節點必須在單一的物理機器上。而CITA采用了微服務架構,而且CITA也是全球第一個使用微服務架構的開源區塊鏈。采用微服務架構,可以使節點不僅僅限制在單個物理機器上,這樣對于企業用戶可以用更好的硬件設備去支持節點,有更好的擴展性。由于微服務間通過消息訂閱進行通信,企業用戶可以方便地替換或者增加定制化的服務,方便進行功能擴展。開源協議
BCOS的開源協議對商業應用不夠友好
這里簡單介紹下相關的開源協議。GPL協議的主要內容是只要在一個軟件中使用(”使用”指類庫引用,修改后的代碼或者衍生代碼)GPL協議的產品,則該軟件產品必須也采用GPL協議,既必須也是開源和免費。這就是所謂的”傳染性”。由于GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對于使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發的基礎。ApacheLicence也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業產品發布/銷售。由此可以看出,BCOS的開源協議對商業應用不夠友好。語言實現
CITA使用更現代的語言Rust,性能更高同時安全性更可靠BCOS:使用C++進行開發,C++性能高,但是由于其歷史原因,系統容易有內存安全的隱患;Fabirc:Go實現,由于垃圾回收機制性能比C++弱;CITA:Rust實現,現在相對主流的區塊鏈界的語言,Rust在內存安全方面有保證,性能可以和C++媲美。總結經過以上的分析,本文匯總其最主要的優缺點:
今天在幣乎上看到一篇文章《趙東活了下來,又有多少人爆倉后沒能東山再起呢?讓你激動的那些成功經驗可能只是“幸存者偏差”而已》.
1900/1/1 0:00:00Odaily星球日報譯者|Moni 以太坊是一種加密貨幣協議,由于與比特幣、萊特幣、以及其他支付技術有很大不同,也為其帶來了更多價值和潛力.
1900/1/1 0:00:00編者按:本文來自白話區塊鏈,作者:郭立芳,Odaily星球日報經授權轉載。閃電網絡和雷電網絡看起來非常相近,它們有著基本相同的技術基因和奮斗目標,但又演繹著各自的生命軌跡,為不同的老板服務,閃電.
1900/1/1 0:00:00編者按:本文來自區塊鏈大本營,責編:Carol,Odaily星球日報經授權轉載。縱觀人類歷史,族群化、社區化、社群化是社會演化的自然結果.
1900/1/1 0:00:00編者按:本文來自IOSG,作者:Jasmine,Odaily星球日報經授權轉載。本文旨在傳遞更多市場消息,不構成任何投資建議.
1900/1/1 0:00:00編者按:本文來自白話區塊鏈,編譯:Peter,Odaily星球日報經授權轉載。在發行自己的數字貨幣這個問題上,央行們總是雷聲大雨點小.
1900/1/1 0:00:00