RSCoin作為一個(gè)學(xué)術(shù)研究模型具有較好的借鑒價(jià)值,但作為法定數(shù)字貨幣的生產(chǎn)系統(tǒng)還有很多細(xì)節(jié)需要進(jìn)一步完善
在英格蘭銀行的建議下,英國(guó)倫敦大學(xué)學(xué)院的研究人員提出并開發(fā)了一個(gè)法定數(shù)字貨幣原型系統(tǒng),即中央銀行加密貨幣(Centrally Banked Cryptocurrencies)——RSCoin系統(tǒng)。
對(duì)于這一有一定典范性的中央銀行數(shù)字貨幣原型構(gòu)想,實(shí)有研究的必要。本文詳細(xì)分析了RSCoin系統(tǒng)的核心功能、體系架構(gòu)、關(guān)鍵實(shí)現(xiàn)技術(shù)和交易模型,對(duì)其功能擴(kuò)展進(jìn)行了展望,并且在此基礎(chǔ)上對(duì)RSCoin的優(yōu)缺點(diǎn)進(jìn)行了剖析。
RSCoin作為一個(gè)學(xué)術(shù)研究模型具有較好的借鑒價(jià)值,但作為法定數(shù)字貨幣的生產(chǎn)系統(tǒng)還有很多細(xì)節(jié)需要進(jìn)一步完善。
RSCoin項(xiàng)目的研發(fā)者認(rèn)為,比特幣不適用于中央銀行發(fā)行數(shù)字貨幣的應(yīng)用場(chǎng)景,這源于比特幣內(nèi)在機(jī)制存在的一些問題,主要包括如下方面:一是比特幣網(wǎng)絡(luò)的可擴(kuò)展性差,無法承載大容量、高速率的貨幣交易,目前比特幣網(wǎng)絡(luò)中每秒最多進(jìn)行7筆交易;二是去中心化的貨幣發(fā)行體系,導(dǎo)致中央銀行無法對(duì)貨幣供應(yīng)進(jìn)行宏觀調(diào)控,比特幣本身的價(jià)格極度不穩(wěn)定,不利于在更大范圍、更大規(guī)模上的應(yīng)用,尤其是不利于在主權(quán)貨幣上使用。
針對(duì)以上問題,RSCoin的設(shè)計(jì)目標(biāo)是站在中央銀行的視角,實(shí)現(xiàn)一種受中央銀行控制的、可擴(kuò)展的數(shù)字貨幣,為中央銀行發(fā)行數(shù)字貨幣提供一套發(fā)行流通的參考框架和系列準(zhǔn)則。
RSCoin解決方案的核心內(nèi)容主要有:
一是將貨幣的發(fā)行和交易總賬的維護(hù)分開,采用中心化的貨幣政策,貨幣由中央銀行統(tǒng)一發(fā)行,而交易賬本分布式存儲(chǔ),由多個(gè)可信的mintettes(可理解為商業(yè)銀行)來記錄維護(hù),最后由中央銀行進(jìn)行統(tǒng)一對(duì)賬和管理。簡(jiǎn)言之,系統(tǒng)總體設(shè)計(jì)采用了中央銀行—商業(yè)銀行的二元分層體系結(jié)構(gòu),基于區(qū)塊鏈技術(shù)實(shí)現(xiàn)了分層管理的分布式賬本;
二是mintettes由中央銀行授權(quán)接入系統(tǒng),中央銀行對(duì)mintettes的行為進(jìn)行審查,故不需要采用比特幣的工作量證明來達(dá)成共識(shí);
三是RSCoin采用了一種稱為兩階段提交(Two-Phase Commit:2PC)的共識(shí)機(jī)制來進(jìn)行分布式記賬,使得每秒可處理的交易能達(dá)到2000筆,通過提高mintettes的數(shù)量,每秒可處理的交易上限還能不斷提高,從而實(shí)現(xiàn)了系統(tǒng)的可擴(kuò)展性。
RSCoin系統(tǒng)中包含中央銀行、mintettes和最終用戶三類角色,其總體結(jié)構(gòu)如圖1所示。中央銀行完全控制貨幣的產(chǎn)生,并通過生成全局賬本(higher-level block)向整個(gè)系統(tǒng)發(fā)布最終交易數(shù)據(jù),全局賬本是最終交易賬本。中央銀行對(duì)mintettes進(jìn)行授權(quán)認(rèn)證,并定期向整個(gè)系統(tǒng)發(fā)布授權(quán)的mintettes列表。
mintettes得到授權(quán)后,在某個(gè)時(shí)間周期內(nèi)負(fù)責(zé)維護(hù)交易賬本。mintettes收集、校驗(yàn)用戶提交的交易信息,經(jīng)驗(yàn)證的交易由mintettes打包生成低層賬本(lower-level block)。mintettes定期將低層賬本交易數(shù)據(jù)提交到中央銀行,由中央銀行匯總生成全局賬本,并對(duì)外發(fā)布確認(rèn)的交易數(shù)據(jù)。
最終用戶和央行之間不直接發(fā)生信息交互,而是通過mintettes這一中間層代為傳遞,匯總交易記錄;央行更多是沖突調(diào)解者、最后確認(rèn)人,以及全局賬本這樣一個(gè)角色。
RSCoin和比特幣類似,采用的不是基于用戶賬號(hào)余額這樣的系統(tǒng)設(shè)計(jì),而是基于交易流水(UTXO),即系統(tǒng)只記錄有效的轉(zhuǎn)賬憑證(可以拿支票做類比),只要用戶能夠證明其合法持有該轉(zhuǎn)賬憑證,就可以把該憑證轉(zhuǎn)讓給其他人。
RSCoin采用了分片的設(shè)計(jì)思想來提高系統(tǒng)的處理能力,具體做法是把mintettes分為若干小組,每組mintettes只維護(hù)系統(tǒng)全局賬本中的部分;然后把需要處理的交易按照一定的規(guī)則分發(fā)給不同的mintettes小組進(jìn)行處理,從而提高整個(gè)系統(tǒng)的處理能力。這也是淘寶、微信這類高負(fù)載、海量數(shù)據(jù)的系統(tǒng)通常所使用的方法,而這類系統(tǒng)的難點(diǎn)是要解決數(shù)據(jù)一致性的問題,在RSCoin中,就是要解決“雙花”的問題。
RSCoin系統(tǒng)的另一部分?jǐn)U展性來源于,系統(tǒng)讓最終用戶承擔(dān)了較多的任務(wù),很多的信息同步和協(xié)調(diào)工作是由用戶來完成。舉個(gè)例子,可以通過讓用戶自行辦理的辦法實(shí)現(xiàn)跨行轉(zhuǎn)賬系統(tǒng):銀行之間不直接傳遞交易信息,而是由轉(zhuǎn)出行給用戶出具證明(由加密算法保證其不可纂改),用戶再跑去轉(zhuǎn)入行執(zhí)行存款,最終實(shí)現(xiàn)跨行轉(zhuǎn)賬,減輕銀行跨行信息系統(tǒng)的壓力。
下面以用戶發(fā)起一筆轉(zhuǎn)賬請(qǐng)求為例,描述RSCoin系統(tǒng)的交易模型(見圖2):
(一)用戶首先找到自己的轉(zhuǎn)賬憑證,然后根據(jù)該轉(zhuǎn)賬憑證上的編號(hào),根據(jù)一個(gè)確定性的規(guī)則得到該轉(zhuǎn)賬憑證的所屬mintettes組,類似于根據(jù)身份證號(hào)我們能推算出出生地。因?yàn)橐粋€(gè)mintettes組只持有部分賬本數(shù)據(jù),所以正確找到保存該轉(zhuǎn)賬憑證的mintettes組是必須的。
(二)然后用戶發(fā)送自己合法持有該憑證的證明(即用戶簽名)給一個(gè)mintettes組中的所有成員,該組成員各自核準(zhǔn)并給用戶出具證明(mintettes的簽名)。
(三)用戶收集到足夠多的mintettes簽名后,就可以把所有mintettes簽名連同憑證和自己的簽名一起發(fā)送給本次交易接受方的mintettes組中的一個(gè),獲得一個(gè)確認(rèn)簽名。
(四)對(duì)于用戶而言,轉(zhuǎn)賬過程到此就完成了,最后得到的這個(gè)簽名可以作為轉(zhuǎn)賬完成的證據(jù)。
對(duì)于接受交易的mintettes而言,還要負(fù)責(zé)把該筆交易數(shù)據(jù)寫入到其所在mintettes組的低層賬本中去,最后再統(tǒng)一匯總到央行的全局賬本中。
RSCoin的論文中沒有涉及在一個(gè)mintettes組中,各個(gè)mintettes如何互相同步保證數(shù)據(jù)一致性,也沒有談及mintettes的賬本如何匯總到央行的賬本,二者恰恰是最需要關(guān)注的部分。
如果忽略上述兩個(gè)未被描述的細(xì)節(jié),RSCoin還是能實(shí)現(xiàn)如下的安全標(biāo)準(zhǔn):一是沒有發(fā)生貨幣“雙花”;二是不可否認(rèn)記賬:用戶收到的來自交易輸出所有者mintettes發(fā)送的確認(rèn)信息后,交易一定會(huì)被加入到賬本。若交易未加入到賬本,該確認(rèn)信息可用于投訴mintettes;三是定時(shí)的個(gè)人審計(jì):用戶有查看mintettes的低層賬本的權(quán)利,以確保mintettes沒有做出違法操作;四是普遍的審計(jì):任何有查看權(quán)利的用戶都能查看mintettes的低層賬本,而mintettes不能進(jìn)行篡改、遺漏、添加交易等行為;五是任何有查看權(quán)利的用戶可以監(jiān)察mintettes是否正確遵循協(xié)議,而這可以作為mintettes獲得交易費(fèi)多少的證明。
根據(jù)中央銀行需要,通過在基本RSCoin系統(tǒng)基礎(chǔ)上設(shè)計(jì)運(yùn)行機(jī)制、修改系統(tǒng)運(yùn)行參數(shù),可以實(shí)現(xiàn)一些擴(kuò)展功能。
(一)激勵(lì)機(jī)制。通過設(shè)計(jì)適當(dāng)?shù)募?lì)機(jī)制,mintettes會(huì)完成更多的工作,例如生成更多的低層賬本,減輕中央銀行的負(fù)擔(dān);可以要求mintettes在中央銀行繳存交易準(zhǔn)備金,并規(guī)定mintettes只能校驗(yàn)小于準(zhǔn)備金大小的交易金額,mintettes如果有不誠(chéng)實(shí)的行為就會(huì)受到懲罰等。
(二)快速交易確認(rèn)。中央銀行定期發(fā)布包含該周期內(nèi)所有交易的全局賬本,在這個(gè)時(shí)間點(diǎn)交易會(huì)被正式記錄到賬本中。但mintettes可以在更短的時(shí)間周期內(nèi)就提供證明,證明用戶的交易是有效的,并且對(duì)用戶承諾交易會(huì)被記錄到中央銀行的賬本中,用戶可以在一個(gè)記賬周期內(nèi)進(jìn)行多筆交易,而不像其他加密數(shù)字貨幣需要等待區(qū)塊鏈生成幾個(gè)數(shù)據(jù)塊后才能確認(rèn)交易,這樣處理使得用戶體驗(yàn)更好。
(三)多重銀行與外匯。如果多個(gè)中央銀行采用此框架部署自身的數(shù)字貨幣系統(tǒng),全球用戶就可以使用不同的數(shù)字貨幣進(jìn)行交易。這些貨幣之間保持獨(dú)立性,中央銀行不能跟蹤其他中央銀行范圍內(nèi)的交易。在第三方機(jī)構(gòu)介入的情況下,可以進(jìn)行外匯兌換交易。
RSCoin采用多項(xiàng)獨(dú)特設(shè)計(jì)以區(qū)別于以往的加密數(shù)字貨幣:
(一)中心化貨幣發(fā)行。RSCoin模型框架與以比特幣為代表的加密數(shù)字貨幣最重要的區(qū)別就是貨幣可控發(fā)行。在RSCoin模型設(shè)計(jì)中,中央銀行使用密碼技術(shù)控制數(shù)字貨幣的生成,貨幣生成后存放在中央銀行,由中央銀行實(shí)施集中管控,并根據(jù)策略向mintettes或最終用戶投放。這種可控發(fā)行機(jī)制的設(shè)計(jì)能滿足中央銀行貨幣政策調(diào)控的需要。
(二)分布式賬本維護(hù)。RSCoin模型框架采用貨幣發(fā)行控制與賬本維護(hù)相分離的設(shè)計(jì),mintettes由中央銀行授權(quán)進(jìn)行交易賬本的維護(hù),采用分片策略為每個(gè)授權(quán)機(jī)構(gòu)分配用戶,以增加可靠性和安全性。
(三)交易容量可擴(kuò)展。通過分析消息交互情況,在理論上可以得出交易處理容量會(huì)隨著mintettes數(shù)量的增加而線性增長(zhǎng)的結(jié)論。這意味著mintettes數(shù)量越多,系統(tǒng)交易容量就會(huì)越大。其原型系統(tǒng)在亞馬遜云上的測(cè)試結(jié)果表明,在3個(gè)mintettes的情況下,系統(tǒng)交易的容量為每秒400筆左右。每增加一個(gè)mintettes,交易容量每秒增加66筆左右,部署30個(gè)mintettes,可提供2000筆/秒的交易容量及少于1秒的交易速度。
(四)交易賬本可審計(jì)。RSCoin使用交叉日志機(jī)制保證賬本具有較高的透明度和可審計(jì)性。日志內(nèi)容包括授權(quán)機(jī)構(gòu)與用戶交互、用戶提交交易憑證等關(guān)鍵行為的簽名記錄,任何試圖修改交易記錄或攻擊行為都會(huì)造成日志信息不一致,中央銀行或?qū)徲?jì)機(jī)構(gòu)就能及時(shí)發(fā)現(xiàn)問題。
但RSCoin也存在如下一些不足:
(一)RSCoin使用二層分布式賬本,通過增加mintettes數(shù)量提高系統(tǒng)的處理能力,但并沒有減少總賬本的數(shù)據(jù)量。而對(duì)于更為龐大和復(fù)雜的系統(tǒng),總賬本的數(shù)據(jù)量和系統(tǒng)的可靠性及效率之間需要找到一個(gè)平衡點(diǎn),RSCoin對(duì)此僅做了簡(jiǎn)單的處理,并未深入探究;
(二)在二層分布式記賬方法中,RSCoin將大量的對(duì)賬工作交由中央銀行來處理,中央銀行可能成為系統(tǒng)的瓶頸,因此這一方案是否最優(yōu)也有待商榷;
(三)RSCoin沒有進(jìn)一步對(duì)中央銀行應(yīng)該如何對(duì)賬、中央銀行對(duì)賬結(jié)果如何反饋給底層mintettes進(jìn)行描述,從協(xié)議角度看是不完備的;
(四)RSCoin照搬了比特幣記錄交易流水的記賬模式,沒有使用銀行業(yè)應(yīng)用的復(fù)式記賬法,因此有觀點(diǎn)認(rèn)為銀行業(yè)務(wù)人員是否習(xí)慣這種體系,有待觀察;
(五)RSCoin只是一個(gè)概念原型系統(tǒng),并未能實(shí)現(xiàn)現(xiàn)實(shí)世界中的眾多支付、交易功能。
從業(yè)務(wù)角度出發(fā),RScoin隱含了一個(gè)全局賬本,即央行負(fù)責(zé)每筆交易最終的確認(rèn),這就存在著全社會(huì)統(tǒng)一賬戶體系的概念,對(duì)于中央銀行—商業(yè)銀行的二元體系有可能構(gòu)成沖擊。
另外由于采用的是DLT技術(shù),而且是記錄交易的UTXO方式,所以身份認(rèn)證是系統(tǒng)不可分割的一部分,這也會(huì)帶來狹義銀行的風(fēng)險(xiǎn)及另起爐灶的質(zhì)疑。為解決這些潛在的問題,筆者給出了數(shù)字貨幣錢包基于銀行賬戶分層并用的思路,希望借此可將數(shù)字貨幣這一業(yè)界寵兒有機(jī)融入現(xiàn)存體系。
法定數(shù)字貨幣當(dāng)然不會(huì)依賴于某一特定技術(shù),包括區(qū)塊鏈。但不管怎么說,RSCoin作為一個(gè)學(xué)術(shù)研究模型具有較好的借鑒價(jià)值,比如金融區(qū)塊鏈聯(lián)盟R3提出的Corda模型在架構(gòu)上隱含了對(duì)其思想的參考。
RSCoin模型還有很多細(xì)節(jié)需要進(jìn)一步推敲和完善,最近國(guó)際上央行對(duì)于法定數(shù)字貨幣模型的測(cè)試工程(如加拿大銀行的Jasper)也有在不同架構(gòu)和應(yīng)用場(chǎng)景上的探索,法定數(shù)字貨幣發(fā)行及流通體系的研究大幕已徐徐拉開。
(姚前,工學(xué)博士、教授級(jí)高工,現(xiàn)任職于中國(guó)人民銀行。本文為作者學(xué)術(shù)觀點(diǎn),與所在單位無關(guān)。編輯:王東)