一起來了解秉持開放、眾智、敏捷的現代研發理念,采用包容的技術路線,探索創建高吞吐量、低延遲和富有彈性的CBDC交易處理系統。
近年來,全球主要經濟體的貨幣當局不斷加大對中央銀行數字貨幣的研發力度并取得了諸多階段性成果。“漢密爾頓計劃”是美國波士頓聯邦儲備銀行與麻省理工學院合作開展的CBDC創新研究項目。這項計劃已持續開展數年,2022年2月3日,美國波士頓聯邦儲備銀行發布題為“為央行數字貨幣設計的高性能支付處理系統”的技術報告,總結了漢密爾頓計劃第一階段進展。本文擬透過該報告的主要內容,對美聯儲央行數字貨幣原型系統進行簡要分析。
漢密爾頓計劃第一階段的研究目標
漢密爾頓計劃第一階段的第一個目標是探討CBDC系統的性能,即從技術上研發一種高吞吐量、低延遲和富有彈性的CBDC交易處理系統。具體性能目標包括兩個方面:一是在5秒內完成99%交易,包括完成交易驗證、交易執行以及向用戶確認交易,處理速度與美國現有銀行卡支付以及銀行間即時支付系統的相應指標不相上下;二是根據美國目前現金和銀行卡交易量以及預期增長率,該系統每秒至少處理10萬筆交易,且能隨著后期支付量的增長不斷擴展。
第二個目標是探討CBDC系統的韌性。為維持公眾對CBDC的信任,CBDC系統必須確保服務連續性且資金可用。系統韌性的研究重點在于,當多個數據中心發生故障時,如何保證系統訪問不中斷,數據不丟失。
第三個目標是探討CBDC的隱私保護。研發團隊認為,最安全的隱私保護方法就是從交易伊始就減少數據收集,因此在CBDC交易系統中設計了一種盡量減少交易數據留存的方案。
姚前:央行數字貨幣將惠及沒有銀行賬戶的群體實現金融普惠:國際金融論壇(IFF)2021春季會議在北京舉行。在論壇“數字貨幣與未來數字化轉型”環節,中國證監會科技監管局局長姚前表示,央行數字貨幣研發需要在七個方面重點考量:
一、技術路線。基于賬戶,還是基于代幣?基于賬戶和基于代幣兩條技術路線不是非此即彼的關系,實質上代幣也是一種賬戶,只不過是新型賬戶——加密賬戶。相比傳統賬戶,用戶對加密賬戶的自主掌控能力更強。
二、價值屬性。央行直接負債,還是運營機構負債?本質區別在于中央銀行資產負債表負債一欄,記錄的是終端用戶的央行數字貨幣還是代理運營機構的準備金。
三、運行架構。雙層,還是單層?雙層架構正逐漸形成各國的共識。數字人民幣也采用雙層運營體系。個人以為,雙層運營與單層運營也并非二選一的關系。我們可設想,如果央行數字貨幣直接運行在以太坊、Diem等區塊鏈網絡,那么中央銀行可借助它們的BaaS服務,直接向用戶提供央行數字貨幣,而無須借助中介機構。單層運營可以使央行數字貨幣更好地惠及沒有銀行賬戶的群體,實現金融普惠。
四、是否計息。數字人民幣目前不考慮計息。
五、發行模式。發行,還是兌換?區別在于:前者由中央銀行發起,屬于主動供給;后者由貨幣使用者發起,屬于按需兌換。央行數字貨幣的生成是發行還是兌換?取決于它的定位以及貨幣政策的需要。
六、智能合約。數字貨幣不能只是對實物貨幣簡單的模擬,若要發揮“數字”的優勢,未來的數字貨幣一定會走向智能貨幣。當然,前期我們也觀察到一些由于智能合約安全漏洞而引發的系統災難,說明該技術成熟度還有待改進。所以央行數字貨幣應在充分考慮安全性的基礎上,宜從簡單的智能合約起步,逐步擴展其潛力。
七、是監管考量。在數字世界中,數字身份的真實性問題、隱私問題、安全問題或涉及更大的社會治理命題,需要我們做深入的研究。
姚前特別表示,已離開人民銀行,所說僅代表個人學術觀點,不代表人民銀行,也不代表其現所在機構。(新浪財經)[2021/5/31 22:57:43]
美聯儲數字貨幣原型系統設計
姚前:央行數字貨幣基于賬戶和基于代幣不是非此即彼的關系:證監會科技監管局、前央行數字貨幣研究所所長姚前今日在國際金融論壇(IFF)2021年春季會議上表示,央行數字貨幣基于賬戶和基于代幣的兩條技術路線不是非此即彼的關系。實際上代幣也是一種賬戶,只不過是新型的賬戶,我們稱之為加密賬戶。相比傳統賬戶,用戶對加密賬戶的自主掌控能力更強。(鳳凰網財經)[2021/5/30 22:56:47]
幣的形式:未花費的交易輸出
漢密爾頓系統有三類參與者:交易處理器、發行方和用戶。交易處理器記錄CBDC,并根據指令驗證和執行相關交易。同比特幣一樣,漢密爾頓計劃采用UTXO的貨幣表達式。CBDC僅能通過發行方的行為而進出系統,發行方鑄幣增加交易處理器中的資金,贖回則減少交易處理器中的資金。用戶執行資金轉移操作,以原子方式變更資金所有權,但存儲在交易處理器中的資金總額不變,變化的是資金的權屬。用戶使用其數字錢包的公鑰/私鑰來處理和簽署交易。資金轉移交易過程中,使用付款方的未花費資金就是交易輸入,生成新的未花費資金就是交易輸出——包括收款方和找零給付款方的未花費資金。一項有效交易必須保持平衡:交易輸入值之和須與輸出值之和相等。
未花費資金定義為三元組utxo:=。其中,v為金額,P為安全鎖鎖頭,sn為序列號。發行方的鑄幣操作會創建新的未花費資金,并將UTXO添加到交易處理器存儲的UTXO集合,而贖回操作則從UTXO集合中刪除已有的未花費資金,使其不可重復使用。發行方必須為新鑄UTXO選擇唯一序列號。將其設置為均勻隨機數或單調遞增計數器值均可。
姚前:基于現實環境,聯盟鏈或是應用落地的較優選擇:8月6日,螞蟻鏈、羅漢堂、新浪財經共同策劃的《尋找區塊鏈力量》系列訪談第一集正式開播,中國證監會科技監管局局長姚前、螞蟻集團董事長井賢棟共話區塊鏈如何賦能信任。姚前指出,基于區塊鏈的可信數據是高質量數字化轉型的關鍵,如果數字時代的數據不可信,那么所有的數字化建設都是空中樓閣。他建議要嚴把區塊鏈入口,防止大量垃圾數據和低價值數據上鏈。
姚前建議,首先,設計適應性的頂層政策。立足數字中國建設目標,開展國家層面的頂層設計,系統性地編制區塊鏈發展總體方案、路線圖、任務單和時間表;由政府主導、有組織定向的開展區塊鏈基礎研究和關鍵核心技術創新,推動協同攻關,構建新一代的數字技術生態體系;深化政企共建,走出一條產業融合發展的道路。
其次,監管與自律并重,探索公共部門與市場協同創新的機制。治理要寬嚴相濟,建設要激勵相容,要探索公共部門與市場協同創新的新命題。
最后,要牽住區塊鏈“數據治理”的牛鼻子,推動區塊鏈高質量發展。基于現實環境,聯盟鏈或許是應用落地的較優選擇。要加強國產密碼算法的應用和創新發展,以保障我國區塊鏈安全可控。
姚前指出,當前最重要的是提倡區塊鏈的高質量發展。為此,需要加強鏈上和鏈下的數據治理,建立有效的區塊鏈治理體系。[2020/8/6]
分離驗證與UTXO壓縮
在漢密爾頓系統中,交易處理器驗證交易的正確性,并通過刪除輸入和創建輸出來執行交易。驗證分為交易局部驗證和存在性驗證。對于這種分離,漢密爾頓系統設計了專用組件——哨兵,專門用于接收用戶交易并執行交易局部驗證。局部驗證內容包括:核實交易格式正確;確認每個輸入都有適用于其花費輸出的有效簽名;確認交易保持平衡。如果交易符合標準,哨兵將向負責存在性驗證的執行引擎轉發交易,否則就僅向用戶提示交易錯誤。
姚前:央行可利用區塊鏈整合分布式運營,更好實現對CBDC的中心化管控:今日,國務院參事室研究員、前中國人民銀行數字貨幣研究所所長姚前發文《姚前:區塊鏈與央行數字貨幣》指出:目前大多數國家的央行數字貨幣實驗都是基于區塊鏈技術展開的。但時至今日,CBDC是否采用區塊鏈技術依然存有爭議,一種典型的觀點是區塊鏈的去中心化與中央銀行的集中管理存在沖突,因此不建議CBDC采用該技術。筆者認為,雖然區塊鏈的技術特點是不依賴中心機構,但不代表其不能納入到現有中心機構的體系內,只要通過合理的設計,中央銀行恰恰可以利用區塊鏈將分布式運營有效整合起來,更好地實現對CBDC的中心化管控,兩者并不存在必然沖突。(第一財經)[2020/4/2]
存在性驗證主要核驗未花費資金是否存在。為了實現隱私保護,漢密爾頓系統將資金作為不透明的32字節哈希值存儲在未花費資金哈希集合,h:=H(v,P,sn),而不是存儲完整的utxo:=(v,P,sn),其中H是一個哈希函數,漢密爾頓系統使用了SHA-256算法。用UHS集合替換UTXO集合,不僅有助于隱私保護,而且減少了存儲要求并提高系統的性能。
為了進行存在性驗證,系統需要預先將通過局部驗證的交易轉換為應用于UTXO哈希集合的交易,該過程被稱為壓縮。具體而言,由哨兵計算輸入UTXO的哈希值,并將輸入UTXO與輸出安全鎖和價值一起,導出輸出UTXO的序列號,從而計算輸出UTXO的哈希值,然后將這兩個哈希列表發送給保存UHS的交易處理器,進行存在性檢查和執行。
存在性驗證與UHS互換
假定某交易已通過交易局部驗證并進行了壓縮轉換,交易處理器將按如下方式更新UHS集合:檢查UHS集合是否存在所有交易的輸入UTXO,如果有輸入UTXO缺失,那么中止進一步處理,否則,處理繼續進行;交易處理器從UHS集合中刪除該交易的輸入UTXO對應的UHS,并將新創建的與輸出UTXO對應的UHS添加到UHS集合中。上述一刪一增的操作被稱為互換。
聲音 | 姚前:央行數字貨幣可優化支付體系 提高貨幣政策有效性:據金融界消息,中國證券登記結算公司總經理姚前發文《央行數字貨幣:對貨幣體系的優化及其發行設計》,文章首先討論了現有貨幣體系的弊端,指出央行數字貨幣對優化現有法定貨幣的支付功能具有重要推動作用。一方面,這體現在央行數字貨幣能減少對私人部門提供的支付服務的依賴,可以減輕央行的監管負擔和壓力,也可以加強現有法定貨幣的權威性。另一方面,發行央行數字貨幣可以解決現代貨幣政策面臨的困境,具體包括政策傳導的低效性、逆周期調控的困難性、貨幣從實體經濟流向虛擬經濟以及政策預期管理的不足。在此基礎上,作者探討了央行數字貨幣的發行機制,指出央行數字貨幣的發行應當具有經濟狀態依存性(economic state contingency),并說明了這一特性是央行數字貨幣解決現代貨幣政策困境的關鍵所在。[2019/3/13]
高性能架構
為實現高吞吐量、低延遲以及高容錯性的交易處理,漢密爾頓計劃設計了兩種架構。第一種是原子服務器架構,系統利用排序服務器為所有交易創建線性的歷史記錄。第二種是兩階段提交架構,系統并行執行數筆無沖突交易,而不創建統一排序的交易記錄。
在這兩種架構中,UHS都可實現跨服務器分區,提高吞吐量并不斷擴展。執行單筆交易通常涉及多個服務器,每種架構使用不同技術協調一筆交易在多個服務器中的一致應用。中心化的原子服務器架構使用Raft協議對所有來自于哨兵驗證過的更新排序,然后將這些更新應用于全系統。2PC架構則利用分布式共識節點來執行原子交易和可串行化所需的鎖定,使用不同資金的交易不會沖突,可以并行執行;一旦某有效交易的資金被確認為未花費,交易就能連續進行,可同時批量處理多筆交易。
漢密爾頓計劃第一階段的實驗結果
漢密爾頓計劃在第一階段開發了兩套完整的計算源代碼或代碼庫。一個是中心化原子服務器架構的代碼庫,每秒能夠處理大約17萬筆交易,其中99%的交易尾部延遲不到2秒,50%的交易尾部延遲為0.7秒。由于原子服務器無法跨多個服務器進行分片,因此盡管可以將原子服務器狀態機中的功能簡化為只對一小部分交易進行輸入排序和去重,但該架構的系統吞吐量仍有限。也就是說,對有效交易進行強排序的設計會限制吞吐量。另一個是2PC架構的代碼庫,每秒能夠處理170萬筆交易,其中99%的交易可在1秒之內完成,50%的交易尾部延遲不到0.5秒,遠高于設定目標需要達到的每秒10萬筆交易的基本要求。此外,2PC架構若添加更多共識節點,還可進一步提高吞吐量,且不會對延遲產生負面影響。
以上代碼已經開源,漢密爾頓計劃稱之為“開源央行數字貨幣項目”,目的是促進CBDC研發合作。
比較分析
與電子現金的比較
1982年,美國計算機科學家和密碼學家大衛·喬姆發表了一篇題為《用于不可追蹤的支付系統的盲簽名》的論文。論文中提出了一種基于RSA算法的新密碼協議——盲簽名(blindsignature)。利用盲簽名構建一個具備匿名性、不可追蹤性的電子現金系統,這是最早的數字貨幣理論,也是最早能夠落地的試驗系統,得到了學術界的高度認可。其中有兩項關鍵技術:隨機配序和盲化簽名。隨機配序產生的唯一序列號可以保證數字現金的唯一性;盲化簽名能夠確保銀行對該匿名數字現金的信用背書。
漢密爾頓計劃采用了與E-cash相似的思路:一方面,通過全局唯一且每次交易都需要系統驗證的序列號,保證貨幣的唯一性;另一方面,采用中央處理模式,并利用加密算法實現系統的安全與抗攻擊性。但漢密爾頓計劃克服了E-cash的不足。在大衛·喬姆建立的E-Cash模型中,每個使用過的E-Cash序列號都會被存儲在銀行數據庫中。隨著交易量的上升,該數據庫就會變得越來越龐大,驗證過程也會越來越困難。而漢密爾頓計劃通過分離驗證和壓縮處理,盡可能減少交易處理器的存儲計算壓力,并利用分片技術和高性能架構,從而大幅提升交易性能。
簡言之,已花費的交易輸出與未花費的交易輸出,是兩種相反相成的設計思路。后者優化了前者面臨的數據無限膨脹的問題,這也是比特幣超越E-Cash的精髓所在。
與比特幣的比較
與比特幣相似,漢密爾頓計劃對幣的設計也采用了UTXO模式。但二者的區別在于:比特幣的區塊鏈存儲了所有UTXO信息;而漢密爾頓計劃沒有采用區塊鏈模式,幣不可簡單追溯,且其交易處理器并未存儲UTXO明細信息,僅存儲UTXO的哈希值。尤其是,漢密爾頓計劃的信任基礎與比特幣的分布式共識機制完全不同,其平臺將由可信任的中心機構管理,共識算法僅用于協調系統中各分區服務器的一致性,更類似于第三方支付后臺的分布式系統設計。
在防止雙重花費、無重放攻擊等威脅方面,比特幣采用的是工作量證明機制,而漢密爾頓計劃的設計則依靠哈希算法,且高度依賴發行方和交易系統的安全可信。具體來說,對于漢密爾頓交易處理器中的每次轉移,其UTXO輸出的序列號都是經過哈希算法處理后所確定,只要從原始鑄幣交易開始的序列號是全局唯一的,后續遞推得到的每個UTXO序列號也將均具有全局唯一性,不會與過去或未來UTXO集合中的任何其他項重合。序列號的全局唯一性不僅是一個技術細節,而且可達到兩個效果。一是無雙重花費。互換操作會將UTXO永久標記為已花費。由于序列號是唯一的,因此任何UTXO只能被花費一次,且在花費后不能被重建。二是防止重放攻擊。因為每筆交易都對應著具有全局唯一性的一個或多個UTXO輸入,其簽名將覆蓋整個交易,包括相關的所有輸入和輸出。因此,一個交易的簽名對除此交易外的其他任何UTXO都無效,而且,交易無法被復制,同一筆交易也不能被多次執行。漢密爾頓計劃設計的風險點在于:中心機構是否一定可信?發行方鑄幣的序列號是否全局唯一?交易處理器是否足夠安全從而可保證存儲的UHS集合不被篡改?
簡言之,雖然比特幣和漢密爾頓計劃都使用了UTXO的數據模型,但漢密爾頓計劃維護的是一套中心化的哈希登記系統,而比特幣維護的是一套分布式的區塊鏈哈希登記系統。
其他比較
漢密爾頓計劃的技術報告引用了筆者在2018年國際電信聯盟(ITU)法定數字貨幣焦點組第二次會議上的工作論文。該論文主要是對數字人民幣原型系統的綜述,核心思想為“一幣、兩庫、三中心”的技術架構,以及基于銀行賬戶與數字貨幣錢包分層并用的雙層業務架構。
漢密爾頓計劃當前的整體架構可以表達為“一幣,一錢包,一中心”。一幣指的是數字美元,即中央銀行簽名發行的以UTXO數據結構表達的加密數字串;一錢包是指個人或單位用戶使用的數字貨幣錢包,也是存儲用戶公私鑰的載體;一中心是指交易登記中心,記錄存儲數字貨幣未花費交易資金的哈希值,完成數字貨幣產生、流通及消亡全過程的權屬登記。
在數字貨幣設計方面,兩個原型項目都強調加密數字串的貨幣屬性和央行負債的屬性。在流通環節,兩個項目都以錢包為主要載體,強調用戶對數字貨幣的擁有和操作權限。在交易確權登記方面,兩個項目都設計了交易登記中心,也設計了“網上驗鈔機”。總體來說,兩個原型項目在設計理念層面有相通之處,均采用了中心化加密貨幣思路,交易處理“一次一密”,充分考慮了數字貨幣的安全性。技術路線又不囿于區塊鏈技術,既吸納了其中的先進成分,又擯棄了可能的技術堵點。兩個項目不同之處在于,漢密爾頓計劃第一階段沒有探索中介的技術角色以及如何實現用戶隱私與合規性的平衡;筆者提出的數字貨幣原型系統則考慮和設計了中介機構的角色,并提出認證中心和登記中心分離的設計思路,既可實現隱私保護又能滿足監管合規要求。值得一提的是,漢密爾頓計劃通過層層哈希計算,在登記服務器存儲的是交易信息的哈希,而不是明文信息,降低了系統開銷,在隱私保護的考慮上更為精細。
結語
總體而言,漢密爾頓計劃第一階段的原型設計并不是一個完整的系統,不具備一個有效CBDC所需的全部功能,尚不能達到實際應用標準。后續漢密爾頓計劃將繼續探索CBDC的實現路徑,不斷提高系統的安全性、可審計性、可編程性、合規性、互操作性,完善離線支付功能,明確中介機構的角色,增強抵御內部攻擊、拒絕服務攻擊、對抗量子攻擊的能力。漢密爾頓計劃給各國央行數字貨幣研發提供了兩個重要的啟示。
一是技術的包容性。漢密爾頓計劃在設計CBDC過程中,并不囿于某一技術路線。它不僅充分吸收了E-cash、比特幣等加密貨幣的優點并規避了可能的缺點,而且有效吸納了分布式系統的高性能、高容錯架構設計。由此表明,CBDC設計的選擇不應畫地為牢,無須將思路限定在某一技術框架或領域。
二是技術的開放性。目前各國CBDC的試驗基本上是比較秘密的“曼哈頓工程”,而漢密爾頓計劃則秉持開放、眾智、敏捷的現代研發理念,主動將第一階段代碼進行了開源,創建了OpenCBDC項目并在github上公開。目前,漢密爾頓計劃仍積極尋求外界對開源代碼庫的貢獻以及吸納新的工作組成員,旨在與各方一起共同推進CBDC研發。漢密爾頓計劃這種開放式創新模式,無疑值得各國在CBDC研發實踐中加以學習借鑒。
作者|姚前「中國證監會科技監管局局長」
伴隨區塊鏈、大數據、人工智能等技術的發展,以Web2.0為代表的“信息互聯網時代”也正朝著Web3.0即“價值互聯網時代”演化,在這個過程中,“數據”逐漸成為經濟發展的核心.
1900/1/1 0:00:00頭條 ▌BTC跌破36000美元BTC跌破36000美元,現報35986.0美元,日內跌幅達到9.51%,行情波動較大,請做好風險控制.
1900/1/1 0:00:00生存還是毀滅 大家好!我叫竹內遼(音),來自日本。現在我在“山古志”為一位村代表工作。也許你從未聽說過“山古志”,它是日本新潟縣重山之間一個小村落的名字。村子不大但已存續千年.
1900/1/1 0:00:00疫情背景下,發展中國家失業率持續提升,鏈游用戶數量卻在同期快速上升,從未接觸過加密的人們通過鏈游接觸加密行業。鏈游為失業人口提供生活來源,加密新人為鏈游建立玩家基礎.
1900/1/1 0:00:004月28日消息,NFT工具提供商Venly宣布完成2300萬A輪融資,本輪融資由CourtsideVentures領投.
1900/1/1 0:00:00“想象一下《星球大戰》或《權力的游戲》,如果該項目不是由迪斯尼或HBO擁有,而是由建設者、創造者和參與者組成的社區直接指導、開發和擁有,會是一種什么樣的光景.
1900/1/1 0:00:00