周瑞珍 陳媛 李幼娟
中國人民銀行海口中心支行
區(qū)塊鏈?zhǔn)且环N底層開源技術(shù),具有去中心化、去信任、透明、安全等特點(diǎn),被視為繼互聯(lián)網(wǎng)之后最有可能引發(fā)具顛覆性技術(shù)革命和產(chǎn)業(yè)變革的技術(shù)之一。經(jīng)過近十年的發(fā)展,已經(jīng)從最初的數(shù)字貨幣領(lǐng)域擴(kuò)展到社會(huì)領(lǐng)域的方方面面,各種各樣的區(qū)塊鏈技術(shù)方案不斷涌現(xiàn)。
以太坊是一個(gè)運(yùn)行智能合約的去中心化平臺(tái),用于構(gòu)建和發(fā)布分布式應(yīng)用。它具備開放通用的特性,且內(nèi)置有圖靈完備虛擬機(jī),可以運(yùn)用任何貨幣、協(xié)議和區(qū)塊鏈。合約執(zhí)行過程語句占用的CPU和內(nèi)存消耗Gas,Gas則由以太幣兌換而來。以太坊采用公有鏈,工作量證明(POW)作為共識(shí)機(jī)制,以太幣和比特幣一樣通過挖礦產(chǎn)生。網(wǎng)絡(luò)上的每一個(gè)節(jié)點(diǎn)都可以運(yùn)行以太坊虛擬機(jī)來發(fā)布分布式智能合約程序。
以太坊前三個(gè)階段采用的是POW共識(shí)機(jī)制,為了提高性能、避免挖礦造成的能源浪費(fèi),根據(jù)規(guī)劃將于第四個(gè)階段將切換到稱為Casper的權(quán)益證明(PoS)系統(tǒng),旨在解決比特幣挖礦高能耗等問題。Casper 是一種基于保證金的經(jīng)濟(jì)激勵(lì)共識(shí)協(xié)議。協(xié)議中的節(jié)點(diǎn),作為“鎖定保證金的驗(yàn)證人(bonded validators)”,必須先繳納保證金(這一步叫做鎖定保證金,“bonding”)才可以參與出塊和共識(shí)形成。Casper共識(shí)協(xié)議通過對(duì)這些保證金的直接控制來約束驗(yàn)證人的行為。如果一個(gè)驗(yàn)證人作出了讓Casper認(rèn)為“無效”的事情,他的保證金將被罰沒,記賬和參與共識(shí)的權(quán)利也會(huì)被取消。保證金的引入解決了"nothing at stake",即經(jīng)典POS協(xié)議中做壞事的代價(jià)很低的問題。為了實(shí)現(xiàn)平穩(wěn)過渡,將先使用一個(gè)融合POW和POS的Hybrid Casper機(jī)制,其原理是利用節(jié)點(diǎn)手中的以太幣數(shù)量,把共識(shí)機(jī)制分開。持有ETH在1500個(gè)以上的,用POS的共識(shí)機(jī)制挖礦,否則使用POW的共識(shí)機(jī)制。
瑞波幣(Ripple)技術(shù)是基于區(qū)塊鏈技術(shù)的跨境支付領(lǐng)域分布式網(wǎng)絡(luò)。Ripple 系統(tǒng)提供全球統(tǒng)一的網(wǎng)絡(luò)金融傳輸協(xié)議,支持任何一種貨幣,用戶可以自由使用任何貨幣完成支付或者兌換。各方參與者擁有相同的一本賬本,以 Ripple 作為各種貨幣兌換的中介橋梁貨幣,實(shí)現(xiàn)實(shí)時(shí)的點(diǎn)對(duì)點(diǎn)跨境支付,無需中心化組織管理,從而加快貨幣流通的速度,降低了流通的難度,滿足跨境電商對(duì)支付清算服務(wù)的及時(shí)性、便捷性需求。Ripple 的主要參與者包括金融機(jī)構(gòu)、流動(dòng)性提供方(做市商、央行)和運(yùn)維機(jī)構(gòu)。Ripple Network 負(fù)責(zé)維護(hù)整個(gè)交易賬簿,接收金融機(jī)構(gòu)發(fā)起的交易,獲取做市商的報(bào)價(jià),并向全網(wǎng)廣播。
Ripple平臺(tái)采用瑞波共識(shí)算法,節(jié)點(diǎn)分為兩類,追蹤節(jié)點(diǎn)只負(fù)責(zé)轉(zhuǎn)發(fā)交易,驗(yàn)證節(jié)點(diǎn)負(fù)責(zé)驗(yàn)證和生成賬簿,每個(gè)驗(yàn)證節(jié)點(diǎn)都維護(hù)一份信任節(jié)點(diǎn)列表(特殊節(jié)點(diǎn)列表,Unique Node List),只接收列表中節(jié)點(diǎn)傳遞的交易。記賬節(jié)點(diǎn)基于該列表中其他節(jié)點(diǎn)的投票結(jié)果驗(yàn)證交易。如果一筆交易獲得特殊節(jié)點(diǎn)列表中超過 80%的節(jié)點(diǎn)認(rèn)可后,記賬節(jié)點(diǎn)就將該筆交易記入總賬簿。驗(yàn)證交易只需要信任節(jié)點(diǎn)列表中的絕大多數(shù)節(jié)點(diǎn)認(rèn)可,而非全網(wǎng)共識(shí),因此與聯(lián)邦民主體制非常相似。與工作量證明機(jī)制相比,投票機(jī)制更簡(jiǎn)單,但由于形成了部分的中心化,仍然削弱了系統(tǒng)整體安全性。目前,Ripple 通過監(jiān)控的方式提高系統(tǒng)的可靠性, 如果特殊節(jié)點(diǎn)列表中的驗(yàn)證節(jié)點(diǎn)有明顯惡意行為,比如對(duì)每筆交易都投反對(duì)票、持續(xù)提交無法通過投票驗(yàn)證的交易等,將有可能被列為安全隱患,甚至從網(wǎng)絡(luò)中剔除。
超級(jí)賬本(hyperledger)是Linux基金會(huì)于2015年發(fā)起的推進(jìn)區(qū)塊鏈數(shù)字技術(shù)和交易驗(yàn)證的開源項(xiàng)目,是面向企業(yè)應(yīng)用場(chǎng)景的開源分布式賬本平臺(tái),主要為透明、公開和去中心化的企業(yè)級(jí)分布式賬本技術(shù)提供參考,目標(biāo)是推動(dòng)區(qū)塊鏈和分布式賬本的相關(guān)協(xié)議、規(guī)范和標(biāo)準(zhǔn)的發(fā)展。
Hyperledger提供多個(gè)區(qū)塊鏈平臺(tái)。其中最受關(guān)注的是Fabirc,由IBM主力開發(fā),主要用于運(yùn)行智能合約,用可插拔方式來實(shí)現(xiàn)各種商業(yè)應(yīng)用場(chǎng)景。Fabric 區(qū)塊鏈采用聯(lián)盟鏈結(jié)構(gòu),可基于Go和Java語言開發(fā)智能合約,每秒能夠處理超過 1000 筆交易。在權(quán)限控制方面,F(xiàn)abric按照聯(lián)盟鏈的思路來設(shè)計(jì),對(duì)系統(tǒng)中的成員能否發(fā)起交易進(jìn)行了嚴(yán)格的權(quán)限控制。系統(tǒng)參與者需要從RA(注冊(cè)中心)處取得注冊(cè)許可,然后通過CA(認(rèn)證中心)頒發(fā)的證書來獲取交易安全證書。只有被上述注冊(cè)中心和驗(yàn)證中心簽名后的節(jié)點(diǎn)才有權(quán)力發(fā)起交易。
Fabric采用Kalfka共識(shí)算法。包括兩個(gè)應(yīng)用:Orderer和Peer,其中Orderer負(fù)責(zé)交易共識(shí)并生成區(qū)塊,Peer節(jié)點(diǎn)負(fù)責(zé)模擬執(zhí)行交易和記賬。共識(shí)過程如下:
1.客戶端構(gòu)造交易提案,發(fā)送給一個(gè)或多個(gè)Peer節(jié)點(diǎn)。2.Peer節(jié)點(diǎn)收到交易提案后,模擬執(zhí)行交易,將原始交易提案和執(zhí)行結(jié)果打包,進(jìn)行簽名并發(fā)回給客戶端。3.客戶端收到應(yīng)答,打包組成一個(gè)交易并簽名,發(fā)送給Orderer。4.Orderer對(duì)接收到的交易進(jìn)行共識(shí)排序,然后按照區(qū)塊生成策略,將一批交易打包到一起,生成新的區(qū)塊,發(fā)送給Peer節(jié)點(diǎn)。5.Peer節(jié)點(diǎn)收到區(qū)塊后,會(huì)對(duì)區(qū)塊中的每筆交易進(jìn)行校驗(yàn),檢查交易依賴的輸入輸出是否符合當(dāng)前區(qū)塊鏈的狀態(tài),完成后將區(qū)塊寫入賬本。
以下對(duì)比特幣和上述三個(gè)區(qū)塊鏈解決方案進(jìn)行比較。
BTC 以太坊 Hyperledger Fabric Ripple區(qū)塊鏈技術(shù)方案管理機(jī)構(gòu) 所有節(jié)點(diǎn)自發(fā)運(yùn)行 以太坊開發(fā)者 Linux基金會(huì) Ripple公司授權(quán)機(jī)制 無授權(quán),公有無授權(quán),可公開,也可私有 有授權(quán),私有 有授權(quán),私有區(qū)塊鏈類型 公有鏈 公有鏈 聯(lián)盟鏈 聯(lián)盟鏈采用的共識(shí)機(jī)制POW POW,Hybrid Casper瑞波共識(shí)機(jī)制(Ripple Consensus)每秒交易數(shù)(TPS) 7 15 PBFT(0.6)Kafka共識(shí)算法(1.0)200-2000(0.6)10000(1.0)1500交易確認(rèn)時(shí)間 1小時(shí) 15秒 3-6秒;數(shù)百毫秒RocksDB/SQLite是否支持智能3-6秒底層數(shù)據(jù)庫 Level DB Level DB Level DB/Couch DB合約不支持智能合約代碼(例如,Solidity)不支持智能合約代碼(例如,Go、Java)
無需消耗額外電力去中心化程度 完全 完全 部分 部分是否全節(jié)點(diǎn)記賬能源消耗約為比特幣的三分之一無需消耗額外電力每年消耗57.91TWh電力自定義 否開源程度 完全 完全 有開源版本 完全貨幣 比特幣 以太幣 無 瑞波幣(XRP)建立時(shí)間 2009年 2013 年 2015 年 2012年是是