我經常聽到人們談論區塊鏈。自2009年比特幣誕生以來,基於區塊鏈的各種區塊鏈系統或應用不斷被開發並應用於大量場景,區塊鏈技術本身也在不斷變化和完善。
區塊鏈又稱分布式賬本,對應的是集中式賬本,比如銀行。與集中式賬簿不同,分布式賬簿依靠在所有參與節點冗余存儲賬簿數據來保證賬簿的安全性。簡單來說,區塊鏈將使用三種底層技術:對等網絡技術、密碼技術和分布式壹致性算法。通常,區塊鏈系統還會“贈送”壹個叫做智能合約的功能。雖然智能合同不是區塊鏈系統的必要組成部分,但由於區塊鏈的分散性質,它可以為智能合同提供可信的計算環境。
為了滿足不同場景的需求,區塊鏈系統在實際應用過程中往往需要進行改造,以滿足特定業務的要求,如身份認證、認證機制、密鑰管理、交易頻率、響應時間、隱私保護和監管要求等。而實際應用區塊鏈系統的公司往往沒有能力進行這種改造,所以市場上逐漸出現了壹些定制專用區塊鏈系統的框架。有了這些框架,可以方便地定制適合企業自身業務的區塊鏈系統。
本文將對目前市場上幾種典型的區塊鏈框架進行橫向比較,看看它們各有什麽特點,又有什麽區別。為了保持比較的公正性,本文將只討論開源的區塊鏈框架。
各區塊鏈建築簡介
1,比特幣
比特幣起源於壹個名叫中本聰的人在2008年發表的壹篇題為《比特幣:壹個點對點的電子現金系統》的論文,這篇論文描述了壹種他稱之為“比特幣”的電子貨幣及其算法。隨後幾年,比特幣不斷發展成熟,其底層技術逐漸被認識和抽象,這就是區塊鏈技術。比特幣作為區塊鏈的鼻祖,在區塊鏈這個大家庭中舉足輕重。基於比特幣技術開發的altcoins數量就像天上的星星。
從論文中可以看出,中本聰設計比特幣的目的是為了實現壹個完全基於點對點網絡的電子現金系統,使得在線支付可以由壹方直接發起,支付給另壹方,不需要任何中介。綜上所述,他希望比特幣的設計能夠達到以下目標:
●沒有中央機構也可以發行貨幣。
●無需中介即可支付。
●保持用戶匿名。
●交易不可撤銷。
從電子現金系統的角度來看,這些目標在比特幣中已經基本實現,但仍有壹些技術問題需要解決,如可擴展性攻擊、塊容量限制、塊分叉和可擴展性等。
在應用場景方面,目前大量的數字貨幣項目都是基於比特幣架構設計的,也有壹些實際的應用案例,比如彩幣、T?等等。
通過仔細追蹤壹些特定比特幣的來龍去脈,可以將彩幣與其他比特幣區分開來。這些特定的比特幣被稱為有色幣。它們有壹些特殊的屬性,所以它們有與比特幣面值無關的價值。利用彩色硬幣的這壹特性,開發者可以在比特幣網絡上創建其他數字資產。彩幣本身就是比特幣,存儲和轉移不需要第三方,可以利用比特幣的現有基礎。
t?它是比特幣區塊鏈在金融領域的應用,是美國在線零售商Overstock推出的基於區塊鏈的私人和公共股權交易平臺。
2.以太坊
以太坊的目標是提供壹個具有圖靈完整語言的區塊鏈。使用這種語言,可以創建契約來編寫任意的狀態轉換函數。用戶只需用幾行代碼實現邏輯,就可以創建壹個基於區塊鏈的應用,並將其應用於貨幣以外的場景。
以太坊的設計思想並不是直接“支持”任何應用,但圖靈的完整編程語言意味著理論上可以創建任何契約邏輯和任何類型的應用。綜上所述,除了比特幣的設計目標,以太坊還需要實現以下目標:
圖靈的完全契約語言
●內置持久狀態存儲
目前基於以太坊的簽約項目有數百個,其中比較著名的有Augur、TheDAO、Digix、FirstBlood等。
Augur是壹個基於以太坊區塊鏈技術的分散式市場預測平臺。用戶可以使用數字貨幣進行預測和投註,依靠群眾的智慧來預測事件的發展結局,可以有效消除交易對手的風險和服務器中心化的風險。
限於篇幅,基於以太坊智能合約平臺的項目就不多介紹了。也有很多基於以太坊代碼的區塊鏈項目,但幾乎都是閉源項目,只能通過壹些公共特征來推斷,本文就不討論了。
3、面料
Fabric是IBM和DAH共同開發的區塊鏈框架,是超級賬本的項目成員之壹。其功能類似以太坊,也是壹個分布式智能合約平臺。但與以太坊和比特幣不同的是,它從壹開始就是壹個框架,而不是公鏈,也沒有內置令牌。
Hyperledger是Linux基金會於2015發起的壹個開源項目,旨在推廣區塊鏈技術和標準。其成員包括ABN·AMRO、埃森哲和十多個不同的利益相關者。目標是讓會員* * *互相合作,* * *搭建開放平臺,滿足來自不同行業的各種用戶案例,簡化業務。
作為壹個區塊鏈框架,Fabric采用了松耦合的設計,將* * *認證機制和認證等組件模塊化,這樣在應用過程中就可以很容易地被用戶自定義的模塊替代。此外,Fabric還采用了容器技術,在docker中運行智能合約代碼,使得智能合約幾乎可以用任何高級語言編寫。
以下是Fabric的壹些設計目標:
●組件可更換的模塊化設計。
docker中運行的智能合同
目前已經有很多用Fabric架構開發的概念證明(POC)項目在實施過程中,包括金融機構的壹些嘗試,但是由於項目剛剛起步,還沒有成熟的應用。
4、DNA
DNA(Distributed Network Architecture)是由總部位於上海的區塊鏈初創公司“分布式技術”開發的區塊鏈架構,可同時支持公鏈、聯盟鏈、私鏈等不同應用類型和場景,並與業務系統快速集成。
與以太坊和Fabric不同,DNA支持系統底層的多種數字資產。用戶可以直接在鏈上創建自己的資產類型,並用智能合約控制其分配邏輯。對於大多數區塊鏈應用場景來說,數字資產是必不可少的,為每個數字資產開發壹套基於智能合約的轉移和分發邏輯是非常浪費和低效的。因此,有必要從區塊鏈的底部提供直接的數字資產功能。對於那些完全不需要數字資產的應用場景,也可以基於DNA提供的智能合約架構,編寫任意自定義邏輯。
DNA的設計目標主要包括以下幾點:
●各種數字資產的底層支持。
●圖靈的完全智能契約和狀態持久性
●跨鏈互操作性
●交易的終結
目前,許多金融機構已經采用DNA架構開發區塊鏈概念驗證產品。此外,還有壹些已經落地的區塊鏈項目,如小蟻區塊鏈、法律鏈等。
Antshares是壹個位於資產數字化的公鏈,它將物理世界的資產和權利數字化,並通過對等網絡進行註冊、發行、轉讓交易、清算和交付等金融服務的去中心化網絡協議。它采用了與DNA在架構上壹致的社區開發模式,從而可以與任何基於DNA的區塊鏈系統互操作。
法律鏈是世界上第壹個大型商業法律存款區塊鏈,這是壹個基於DNA區塊鏈技術的證據記錄和保存系統,由多家機構建立和運營。系統無中心控制點,數據壹旦錄入,單個機構或節點無法篡改,滿足司法存管要求。
5、科達
Corda由總部位於紐約的區塊鏈初創公司R3CEV開發,由其發起的R3區塊鏈聯盟吸引了數十家巨頭銀行的參與,包括富國銀行、美國銀行、紐約梅隆銀行、花旗銀行、德國商業銀行、德意誌銀行、匯豐銀行、三菱UFJ金融集團、摩根士丹利、澳洲國民銀行、加拿大皇家銀行、SEB和SEB。
從R3成員的構成也可以看出,Corda是壹個致力於同業業務的區塊鏈架構。雖然R3聲稱Corda不是區塊鏈,但從各種特征來看,它具有區塊鏈的壹些特征。
技術比較
1,數字資產
接下來將對上壹篇文章中提到的這些區塊鏈框架進行壹系列的技術比較,從多個維度介紹它們的異同。
區塊鏈的內置代幣通常是壹種經濟激勵模式,也是防止垃圾交易的壹種手段。比特幣天生只有壹個內置令牌,所以比特幣系統中的所有“交易”本質上都是轉賬行為,除非通過外部協議層給比特幣添加額外的數字資產。
以太坊和DNA內置了代幣,不僅提供了經濟激勵和防止上面提到的垃圾交易,還為系統內置的功能提供了收費的渠道。比如以太坊的智能契約操作需要消耗氣體,DNA的數字資產的創造也需要消耗壹定的令牌。
以太坊和Fabric沒有內置的數字資產支持,而是通過智能合約實現相應的功能。這種方法的優點是系統設計可以非常簡單,資產的行為可以任意指定,自由度很高。但是這種設計也會帶來壹系列的負面影響,比如所有的資產創建者都要自己編寫重復的業務邏輯,用戶也沒有辦法統壹操作自己的資產。
相比之下,DNA和Corda在底層支持多種數字資產,因此資產創建者可以輕松創建自己的資產類型,用戶也可以在同壹個客戶端管理所有資產。對於邏輯更復雜的業務場景,他們也可以使用智能合約來增強資產的功能,或者創建壹個與資產無關的業務邏輯。
2.帳戶系統
UTXO(未花交易輸出)是壹種機制:每壹種數字貨幣都會登記在壹個賬戶的所有權下,壹種數字貨幣有兩種狀態,即未花或已花。當需要使用某個數字貨幣時,會將其標記為已花,並創建壹個相同金額的新數字貨幣,其所有權會登記在新賬戶下。在這個過程中,標記為已花的數字貨幣稱為交易的輸入,新產生的數字貨幣稱為交易的輸出。在壹個事務中,它可以包含多個輸入和多個輸出,但輸入的總和與輸出的總和必須相等。要計算壹個賬戶的余額,只需將該賬戶下註冊的所有數字貨幣的面額相加即可。
比特幣和Corda采用的是UTXO之類的賬戶機制,而以太坊采用的是更直觀的余額機制:每個賬戶都有壹個狀態,在狀態中直接記錄賬戶的當前余額。轉賬的邏輯是從壹個賬戶中減去壹部分余額,將相應的余額加到另壹個賬戶中。減去的部分和加上的部分必須相等。DNA在賬戶機制上兼容這兩種模式。
那麽UTXO模型和balance模型各有什麽優缺點呢?UTXO最大的優勢是基於UTXO的事務可以並行驗證,任意排序,因為所有的UTXO都是不相關的,這對區塊鏈未來的可擴展性很有幫助,而基於余額的設計沒有這個優勢;反過來,平衡設計的好處是設計思路非常簡潔直觀,便於程序實現,尤其是在智能合約中,處理UTXO的狀態非常困難。這也是以智能合約為主要功能的以太坊選擇平衡設計,而以數字資產為基礎的比特幣、OnchainDNA、Corda更傾向於UTXO設計的原因。
關於身份認證,比特幣和以太坊基本都沒有身份認證的設計,原因很簡單,兩者的設計思路都是強調私密性和匿名性,反對監管和集權,而身份認證必然會引入壹些中央或弱化的中央機構。Fabric、DNA和Corda都選擇使用數字證書來認證用戶的身份,因為它們都有應用於現有金融系統的設計目標,金融系統必須考慮合規性並接受監管。此外,現有的金融系統已大規模采用數字證書,因此可以迅速與區塊鏈系統整合。