按:原文發(fā)表于2016年4月13日
作為英國(guó)央行和倫敦大學(xué)學(xué)院合作發(fā)起的加密法幣實(shí)驗(yàn)項(xiàng)目,RSCoin在公布后受到了各方關(guān)注。本文嘗試從業(yè)務(wù)目標(biāo)和技術(shù)方案角度對(duì)其進(jìn)行了簡(jiǎn)評(píng)。
本文只代表作者個(gè)人觀點(diǎn),不代表上海證券交易所官方立場(chǎng)。
朱立,謝晗劍
E-mail: lzhu@sse.com.cn
RSCoin項(xiàng)目(代碼[注1] 、論文[注2])據(jù)稱背后有英國(guó)央行的影子,筆者沒有親見英國(guó)央行的相關(guān)公告。鑒于近期Bitcoin Magazine一篇文章[注3]中明確提及英格蘭銀行是于2016年2月21日發(fā)布的報(bào)告,那不妨就先接受這個(gè)說法。
作為首個(gè)發(fā)達(dá)國(guó)家央行公布的加密法幣實(shí)驗(yàn)項(xiàng)目,RSCoin無論受到何種程度的關(guān)注可能都并不過分。本文將對(duì)此項(xiàng)目的業(yè)務(wù)目標(biāo)和技術(shù)方案進(jìn)行檢視和評(píng)論。
一.RSCoin業(yè)務(wù)目標(biāo)評(píng)論
貨幣供應(yīng)集中化
RSCoin的首要業(yè)務(wù)目標(biāo),是確保央行能通過加密貨幣繼續(xù)行使貨幣政策,為此RSCoin并不準(zhǔn)備通過挖礦方式創(chuàng)建貨幣。
這點(diǎn)本是意料中事,畢竟行使貨幣政策的權(quán)力是難以抵御的誘惑。一國(guó)央行如果當(dāng)真要放棄貨幣政策,大可直接從回歸金本位開始,不必等到加密貨幣出現(xiàn)。
有限的法幣支持
很可能對(duì)于大部分基于區(qū)塊鏈的金融應(yīng)用而言法幣交收都是一道難以繞過的坎。作為區(qū)塊鏈金融應(yīng)用的必要潤(rùn)滑劑,一國(guó)央行在設(shè)計(jì)其加密法幣之初就應(yīng)該立意高遠(yuǎn),不應(yīng)只把目標(biāo)局限于實(shí)現(xiàn)一套安全可靠、防篡改、可審計(jì)的獨(dú)立轉(zhuǎn)賬支付系統(tǒng),還應(yīng)嘗試為其他區(qū)塊鏈提供更為快捷成本更低的法幣交收支持,畢竟央行一家的區(qū)塊鏈系統(tǒng)不能包打天下,未來一定會(huì)出現(xiàn)多種獨(dú)立的金融聯(lián)盟鏈,它們都可能需要央行加密法幣的支持。
很遺憾的是,在目前的RSCoin設(shè)計(jì)中看不到太多這方面的創(chuàng)新。不能說設(shè)計(jì)者完全沒有考慮到這個(gè)問題,畢竟在附錄中提及了原子跨鏈交易,但通過這種方式實(shí)現(xiàn)的銀貨對(duì)付交收效率低下,且對(duì)手方如果惡意超時(shí)雖可自動(dòng)觸發(fā)交易回滾,但金融行情瞬息萬變,必須鎖定資產(chǎn)至超時(shí)會(huì)帶來很大的機(jī)會(huì)成本。因此,RSCoin不足以幫助實(shí)現(xiàn)其他金融資產(chǎn)的實(shí)時(shí)逐筆交收,可能會(huì)抵消區(qū)塊鏈技術(shù)帶來的潛在收益。
變化的領(lǐng)域模型
對(duì)RSCoin業(yè)務(wù)目標(biāo)的另一批評(píng)是:RSCoin照搬了Bitcoin的UTXO模型,這意味著銀行等機(jī)構(gòu)要摒棄長(zhǎng)期以來的習(xí)慣,將其領(lǐng)域模型從賬戶/余額轉(zhuǎn)向UTXO。區(qū)塊鏈/分布式總賬的本質(zhì)是拜占庭容錯(cuò)的只追加總賬,并不需要也并不應(yīng)該限制用戶的業(yè)務(wù)模型。RSCoin的設(shè)計(jì)者若要削足適履去挑戰(zhàn)用戶的業(yè)務(wù)領(lǐng)域模型,很可能會(huì)影響該項(xiàng)目的推廣和成功。
二.RSCoin技術(shù)方案評(píng)論
可擴(kuò)展性的幻像
RSCoin的主要技術(shù)亮點(diǎn)是宣稱突破了比特幣的可擴(kuò)展性限制,打造了完全可擴(kuò)展的分布式賬本。RSCoin的測(cè)試數(shù)據(jù)看起來確實(shí)不錯(cuò),隨著分區(qū)數(shù)量的上升系統(tǒng)吞吐量呈現(xiàn)完美的線性增長(zhǎng),這一切的關(guān)鍵,其實(shí)是因?yàn)镽SCoin試圖通過client的主動(dòng)參與和協(xié)調(diào)實(shí)現(xiàn)類似2PC的某種算法。
RSCoin協(xié)議目前看還很粗糙。作為一個(gè)關(guān)鍵應(yīng)用的分布式算法,協(xié)議居然并未說明其假設(shè)的網(wǎng)絡(luò)通信模型是異步、同步還是部分同步。FLP不可能性定理早已證明:在純異步的網(wǎng)絡(luò)通信模型下(也即消息傳輸和處理時(shí)間無法預(yù)設(shè)上限),哪怕單個(gè)進(jìn)程的失效-終止也會(huì)破壞共識(shí)的達(dá)成。與之相對(duì)的是,通篇論文都沒有看到超時(shí)的使用,也沒有對(duì)于單個(gè)分區(qū)最多能容忍的拜占庭節(jié)點(diǎn)數(shù)進(jìn)行假設(shè),一切似乎都是發(fā)生于完美的世界。但很明顯,比特幣POW的電力開銷、傳統(tǒng)拜占庭算法的復(fù)雜通信,都只是為了能在一個(gè)不完美的世界中達(dá)成共識(shí)。必須假設(shè)一個(gè)完美世界的算法,是不能用于實(shí)際業(yè)務(wù)的。
實(shí)際世界是復(fù)雜的,即使同一分區(qū)的不同mintette都是沒有拜占庭故障的正常節(jié)點(diǎn),從client到mintette的網(wǎng)絡(luò)也可能中斷,mintette也可能失效,因此client可能只能及時(shí)聯(lián)絡(luò)到同一分區(qū)的大部分mintette,因此同一分區(qū)中各mintette之間的通信及同步是必不可少的,RSCoin中完全沒有體現(xiàn)這部分必要的設(shè)計(jì)。不僅僅是論文中沒有,其開源代碼中也沒有。
在mintette彼此互不通信的情況下,算法的活動(dòng)性和正確性存在一種矛盾。假設(shè)有100筆不同的交易都向地址A轉(zhuǎn)入資金,其中10筆轉(zhuǎn)入交易的txid經(jīng)查屬于同一個(gè)分區(qū)F照看,再假設(shè)分區(qū)F由5個(gè)mintette負(fù)責(zé)照管。
如果這5個(gè)mintette永遠(yuǎn)不會(huì)出現(xiàn)拜占庭故障(節(jié)點(diǎn)停機(jī)或不響應(yīng)也是一種拜占庭故障),則這10筆轉(zhuǎn)入交易的發(fā)起方只要聯(lián)絡(luò)上這5個(gè)mintette、傳送完畢轉(zhuǎn)入交易的全部核準(zhǔn)信息就可以了。但如果有1個(gè)mintette就是不回復(fù)應(yīng)答,轉(zhuǎn)入方是否應(yīng)該無限期等待其響應(yīng)?如果回答是需要不斷等待,就是犧牲算法的活動(dòng)性。
如果允許5個(gè)mintette中個(gè)別節(jié)點(diǎn)出現(xiàn)故障,假設(shè)允許1臺(tái)好了,故障節(jié)點(diǎn)比例將只有20%,小于通常拜占庭容錯(cuò)算法所容忍的33%上限。那么交易發(fā)起方每次只需接洽到5個(gè)mintette中的4個(gè)算法就可以繼續(xù)。這時(shí)又可能出現(xiàn)下面的問題,從而犧牲算法的正確性。
TX 1到TX 5各自給A地址轉(zhuǎn)入100元,每次通過不同的4個(gè)mintette轉(zhuǎn)入。5筆資金轉(zhuǎn)入后,在此分區(qū)中,地址A名下應(yīng)該至少有500元。TX 6準(zhǔn)備通過該分區(qū)從地址A轉(zhuǎn)出500元,但其接洽的4個(gè)mintette一致認(rèn)為該地址中只有400元從而轉(zhuǎn)出失敗!這個(gè)問題正是由于mintette可能失效且又互不通氣引起的。
因此,如果同一分區(qū)的不同mintette各自可能有不同的賬本及最終狀態(tài),系統(tǒng)設(shè)計(jì)者將面臨一個(gè)兩難問題:如果央行需要要收集、比對(duì)、匯總各分區(qū)的低層塊,然后構(gòu)成高層賬本,就將被迫進(jìn)行復(fù)雜的比對(duì)和整合(都是在其他協(xié)議中應(yīng)該且可以由mintette事先完成的),此時(shí)央行將成為整個(gè)體系的瓶頸;如果央行只想做最簡(jiǎn)單的合并,就需要靠mintette完成這些瑣碎的整合,RSCoin的可擴(kuò)展性就不免要打折扣。無論何者,可擴(kuò)展性問題都沒有得到解決。再加上RSCoin的代碼和論文都未說明央行所執(zhí)行算法的邏輯為何,當(dāng)然更沒有測(cè)試過。所以RSCoin的擴(kuò)展性云云,其實(shí)也沒有真的得到驗(yàn)證和解決。
較弱的智能合約
RSCoin的原型實(shí)現(xiàn)尚未顯示其是否考慮應(yīng)用某種類比特幣腳本技術(shù)。從其計(jì)劃支持跨鏈原子合約來看這是很可能的事情。但過于拘泥比特幣的UTXO模型,很可能即使有了圖靈完備的腳本也很難實(shí)現(xiàn)比較復(fù)雜的智能合約,Vitalik對(duì)此已有專文[注4]分析。
當(dāng)然,只要這和RSCoin的業(yè)務(wù)定位相符,就不能算是設(shè)計(jì)缺陷。
三.總結(jié)
RSCoin項(xiàng)目的推出體現(xiàn)了加密貨幣技術(shù)向傳統(tǒng)金融及政府機(jī)構(gòu)的滲透,也反映了英國(guó)央行對(duì)加密貨幣技術(shù)的重視,從這點(diǎn)上說具有重要的意義。
但就RSCoin項(xiàng)目的業(yè)務(wù)目標(biāo)和技術(shù)實(shí)現(xiàn)看,該項(xiàng)目的象征意義目前大于實(shí)際意義。其要真正進(jìn)入現(xiàn)實(shí)金融世界,尚有許多有待解決的障礙。
注1: https://github.com/gdanezis/rscoin
注2: http://www0.cs.ucl.ac.uk/staff/G.Danezis/papers/ndss16currencies.pdf
注3: https://bitcoinmagazine.com/articles/the-bank-of-england-s-rscoin-an-experiment-for-central-banks-or-a-bitcoin-alternative-1459183955 (需翻墻)
注4: https://medium.com/@ConsenSys/thoughts-on-utxo-by-vitalik-buterin-2bb782c67e53#.trse0k21k
作者簡(jiǎn)介
- 朱立,上海證券交易所技術(shù)公司規(guī)劃部執(zhí)行經(jīng)理
- 謝晗劍(Jan),Cryptape公司聯(lián)合創(chuàng)始人,ruby-ethereum及pyethereum開發(fā)者