作者:Sunrye
編者注:原文標題為《對央行數字貨幣(DCEP)的技術研究報告》
最近關于人行的數字貨幣DCEP的消息不斷涌現,加上Facebook的libra對數字貨幣的推波助瀾,以及政府將區塊鏈定位為核心技術自主創新重要突破口,一下子區塊鏈的風頭無出其右。在看了央行數字貨幣研究所所長穆長春先生對DCEP以及libra的分析對比后,本人對DCEP的頂層設計非常好奇,但是苦于當前關于DCEP的相關報道都是基于宏觀方面的,作為一個技術人員迫切的想知道DCEP與區塊鏈的切合點,于是在仔細閱讀了人行的數字貨幣系統的專利后,寫一篇作為一個技術人員或者說區塊鏈從業人員的角度來看DCEP的某些技術細節。
在看完數字貨幣系統專利后,整體的感覺就是,DCEP并沒有采用區塊鏈技術,而是一個以央行為中心的系統,其實也能理解,畢竟權利與義務是對等的,央行承擔著法幣兌付的義務,因此這個記賬的權利自然也應該由他承擔。當然在部分自由主義者看來,這種做法似乎不夠純粹,不夠Decentralization。但是去中心化并不是銀彈,不能夠寄希望他來解決一切問題。相反的,是否選擇去中心化是需要和當前場景的主要矛盾相符合,如果當對公平或者透明的訴求成為了主要矛盾,那么去中心化將是一個不錯的解決方法,但是在當前很多領域中,對效率的需求還是主要矛盾,所以在這些場景下,采用去中心化效果并不是會很好,反而會起到不斷消耗的反作用。
接下來,本文將根據數字貨幣系統專利,從DCEP的特征、實現細節、離線支付場景來著重介紹。
DCEP的特征
DCEP的特征主要體現在兩大方面,一個是金融上的特征,一個是技術上的特征。專利上主要闡述了技術上的特征,關于金融上的特征,主要源自穆長春先生在公開課中的報道。
關于金融上的特征
替代M0——首先DCEP是對M0的替代,也就是對現金的替代,之所以只對M0替代,是因為M1、M2已經實現了數字化,如果把M0也數字化后,那么央媽對資金的監管就比較完整了。另外,之所以從現金入手,一部分原因也是因為現金只是承擔了貨幣的功能,所以對社會的影響并不會非常大。
雙層運營模式——是指上面一層是人行對商業銀行,下面一層是商業銀行或者商業機構對老百姓。也就是說,商業銀行向人行交付100%的準備金,然后人行給與商業銀行等額的DCEP,接下來用戶通過現金或者存款等向商業銀行兌換DCEP。如果人行直接面向老百姓,理論上也是可以的,這樣的話,人行就需要面對全中國所有的消費者,他就需要設計一個既滿足用戶體驗又滿足高性能要求的系統,顯然人行是不擅長做這個的,所以最好的方式由市場經濟來決定,也就是說將面向用戶的那一端交給商業銀行或者機構來做,充分發揮市場競爭。
國務院:推進科普與區塊鏈技術深度融合:為貫徹落實黨中央、國務院關于科普和科學素質建設的重要部署,依據《中華人民共和國科學技術進步法》、《中華人民共和國科學技術普及法》制定《全民科學素質行動規劃綱要(2021-2035年)》,其中要求實施智慧科普建設工程。推進科普與區塊鏈等技術深度融合,強化需求感知、用戶分層、情景應用理念,推動傳播方式、組織動員、運營服務等創新升級,加強“科普中國”建設,強化科普信息落地應用,與智慧教育、智慧城市、智慧社區等深度融合。(新華社)[2021/7/10 0:40:52]
關于技術上的特征
這一塊是指DCEP在設計上所需要滿足的幾個特征,這幾個特征與BTC等基于區塊鏈的虛擬貨幣概念比較相似。當然,與其說和BTC等虛擬貨幣的概念比較相似,不如說滿足那幾個基本特征的才算是數字貨幣。
安全性——這個要求防止商務中任意一方更改或者非法使用數字貨幣,這個更多的是體現在對DCEP使用的監管上,甚至于說可以終止某次非法的交易。
不可重復花費性——這個是指數字貨幣只能使用一次,重復花費容易被檢查出來。之所以提這個,是因為一旦現金被數字化后,那么數據的復制就是難免了,比如有個用戶用面額是100的DCEP買了一張電影票,但是又復制了這么一份相同的DCEP去進行消費,那么就是對同一份數字貨幣進行重復花費,所以對于數字貨幣來說這個是基本特性。對于BTC來說,是通過UTXO來實現防止雙花,而對于Ethereum、libra來說則是通過交易的seq來防止雙花。對于DCEP來說,則是采用類似UTXO的方式,至于這里的UTXO與BTC的UTXO的區別,會在下一篇文章中介紹。而現金則由于難以偽造的特性,在物理上可以保證只此一份。
可控匿名性——這個意思是說,即使商業銀行和商戶相互勾結,也不能跟蹤DCEP的使用,換句話說就是除了DCEP的發行方外,其他的結構都無法追蹤用戶的購買行為。終于可以擺脫部分隱私泄露的問題了。
不可偽造性——比較好理解,除了發行方以外,不能偽造假的數字貨幣。對于現金來說,是通過物理上的防偽手段來保證。對于DCEP來說,做法比較簡單,就是只有經過央行的私鑰簽名的才是真的DCEP。岔開說下,之前Google暴出量子計算的新聞,幣圈各種自嗨,覺得BTC會被破解,量子計算真出來了,他的攻擊目標就算不是核武器,怎么也得是央行這種級別,幣圈真的是太把自己當回事了。
動態 | 鏈客社區聯合北京交通廣播推出區塊鏈技術科普節目:12月11日15:15—16:00,區塊鏈技術社區——鏈客區塊鏈技術社區將聯合北京交通廣播FM103.9從零開始為大眾科普解碼區塊鏈技術,蜻蜓FM及北京廣播網同期進行全球直播。首期做客嘉賓為鏈客區塊鏈技術社區創始人郄建軍和百度區塊鏈產品負責人于雅楠。[2019/12/11]
公平性——支付過程是公平的,保證交易雙方的交易過程要么都成功,要么都失敗,更貼切的應該是滿足交易原子性。
兼容性這個表示DCEP的發行和流通環節,要盡可能的參照現金的發行與流通。
DCEP實現細節
這里的實現細節主要針對上述的特性來展開講解。
貨幣模型
基于對當前各個專利的研究,大致能確定DCEP是一種類似UTXO結構的貨幣模型。DCEP的發行模式有三種方式1.按照最小面額產生,比如說央行發行總量為100元,并且最小面額是1分,那么央行將發行10000個面額為1分的D幣;2.根據用戶具體提款金額來生產,例如某個用戶通過轉賬得到了12.34元的D幣,那么央行相當于發行了一個面額的12.34的D幣;3.按照流通中實際貨幣面額產生,這個是最貼近當前實際現金的,例如央行發行面額為100、50、20、10、5、1元等的D幣,那么后續流通過程中都是以這些面額的D幣進行流通。關于UTXO結構,這塊與BTC有很大不同,UTXO表示未花費的交易,BTC中通過這個未花費的交易來表示你擁有的余額。
比如說Alice轉給Bob一個BTC,對于Bob來說如果沒有花掉這個BTC的話,那么Bob就擁有了一個金額為1BTC的UTXO,就像現金一樣Bob拿到了紙鈔,只要不花掉,那么就是你的錢。Bob如何證明他的確擁有這個UTXO呢?簡單地說,誰擁有解開UTXO的鎖的鑰匙,這個UTXO就是誰的,至于有哪些鎖,如何開鎖,大家可以查詢下P2PKH,P2SH等信息,我們也會在接下來的文章中詳細介紹。在DCEP中,是通過登記中心來完成UTXO的功能,至于如何做的會在下面仔細介紹。
系統核心要素
央行的DCEP系統主義功能就是對法定數字貨幣的資金轉移,它由中央銀行與各商業銀行一起聯合運營。總的來說DCEP的核心要素有:一種幣,兩類庫,三個中心。
動態 | 央行官微舊文重發“再科普”:范一飛詳解數字貨幣:據中國經濟網消息,今日,央行官微公眾號頭條重新發布央行副行長范一飛在2018年1月25日題為《關于央行數字貨幣的幾點考慮》的文章,對央行數字貨幣再次進行科普。同時,微信公眾號第二條發布支付司副司長穆長春8月10日在第三屆中國金融四十人伊春論壇上的演講。近年來,各主要國家和地區央行及貨幣當局均在對發行央行數字貨幣開展研究,新加坡央行和瑞典央行等已經開始進行相關試驗,人民銀行也在組織進行積極探索和研究。[2019/8/21]
一種幣:這里的一種幣就是指央行發行的法定數字貨幣,也就是說系統中只能轉移央行發行的這個法定數字貨幣,正如前面說的,只有央行私鑰簽名的才是法定數字貨幣,因此我們的電子錢包等都會內置央行的公鑰,用來驗證改數字貨幣是否為央行發行的。
兩類庫:兩類庫是發行庫和商業銀行庫,這兩個庫是數據庫。比如說,根據數字貨幣發行總量,央行根據上面說的方式用它的私鑰簽名生成對應總量的數字貨幣,此時這些數字貨幣是存放在央行的發行庫中。如果某個商業銀行需要提取一定量的數字貨幣,那么系統就會將對應的數字貨幣發送到該商業銀行的商業銀行庫中,即數字貨幣從發行庫到銀行庫的轉移。需要注意的是,用戶想商業銀行提取數字貨幣,是數字貨幣從銀行庫進入到電子錢包的過程,屬于流通環節。
三個中心:三個中心一共兩種類型,一個是登記中心,另外一個是認證中心。
登記中心主義負責管理數字貨幣的整個生命周期,包括印制、轉移、銷毀、回籠等過程。他主要有兩張表,一個為數字貨幣權屬登記表,另外一張為交易流水表。這個權屬登記表的作用是記錄某面額的數字貨幣是屬于誰的,每當數字貨幣發生了轉移,在央行的登記中心都會對對應的數字貨幣的屬主進行更改,通過這個表可以實現確權查詢。這里的重點是,登記中心確定用戶到底有多少錢。
認證中心分為兩類,一個是CA認證,一個IBC認證。CA認證主要用于相對來說比較高級的機構,而IBC認證則是用于個人的。這里引入認證中心的原因是,當用戶或者機構發起一筆DCEP的轉賬時,需要通過自己的私鑰進行簽名,也就是說這筆轉賬的合法性是通過簽名來保證的。在一般意義中的BTC、Ethereum或者Libra中,私鑰是用戶自己創建,由自己保管,并且用戶的地址是由私鑰對應的公鑰通過一系列運算等得到的,這種方式的優點是資產賬戶和私鑰是天然綁定的,你擁有了私鑰也就擁有了其對應的資產。但是在DCEP中,由于存在監管這個特性,資產歸屬和私鑰是分開的,也就是說央行會在用戶注冊了一個DCEP錢包后,會通過認證中心給錢包用戶分配一個私鑰,這個私鑰用來證明是這個用戶,至于這個用戶是否擁有數字貨幣,是在登記中心來確定的。所以這里的重點是,用戶私鑰是央行生成的。
動態 | 美國演說家Anthony Robbins開始科普什么是比特幣:美國演說家安東尼·羅賓(Anthony Robbins)在自己的網站上發布了一篇比特幣的科普文章,并在推特上向自己的粉絲介紹什么是比特幣,目前他的推特賬戶共有粉絲304萬人。[2019/1/1]
另外,這里簡單介紹下IBC認證,IBC是基于身份標識的密碼系統,還是基于非對稱的秘鑰體系,他與CA認證的最大區別就是不需要證書,而是通過用戶標識例如手機號碼、郵箱等作為公鑰,由IBC認證中心根據用戶標志生成對應的私鑰,由于用戶標志本身就是一個公鑰,通過用戶標志就能確認身份有效性了,從而就不用再依賴證書和證書管理系統了。當然,此時央行的公鑰還有用戶的私鑰、證書數據就相當的重要了,需要將該數據存儲在SE區域。
通過對一種幣,兩類庫,三個中心的介紹,大致可以了解DCEP的一些頂層設計原則,接下來會結合具體的場景,來實際將頂層設計的邏輯走一遍。
DCEP具體場景描述
在貨幣模型中提到了DCEP關于面額一共有三種方案,我們這里以第三種固定面額來介紹。
印制
相比紙幣的印制過程,DCEP的印制其實就是產生一串由央行簽名過的數字,這里根據數字貨幣系統專利來介紹如何生成這串分量十足的數字。
1、由央行的主密碼與面額數字1,5,10,20,50,100分別產生6個基本加密密碼。這6個加密密碼分別是用于不同面額的數字貨幣。
2、由Hash算法生成系統隨機數,這個隨機數就跟紙幣上的冠字號碼一樣。
3、由步驟1生成的基本加密密碼與隨機數加密,生成加密密碼。這個加密密碼其實就已經對應特定冠字號的數字貨幣了。
4、央行通過私鑰對加密密碼進行簽名,此時一枚新的法定數字貨幣就產生了。
下圖是印制的過程
用戶登錄
這里簡單說下登錄過程,商業銀行系統對連接央行的認證中心和登記中心。
1、用戶下載對應的某商業銀行的電子錢包APP;
聲音 | 中科院姚建銓:要加快推進區塊鏈與物聯網融合的科普 培訓:據新華網消息,日前,在區塊鏈與物聯網融合發展峰會上,中國科學院院士姚建銓說,關注區塊鏈技術里面的大數據,跟區塊鏈技術結合起來進行測量和檢測,能更好地提升激光清洗技術。姚建銓建議,無錫今后要加快推進區塊鏈與物聯網融合的科普、培訓,正確引導廣大人民群眾對技術的認知;同時,建立專業、權威,但又普適、成套的理論體系和標準,以此切入區塊鏈的實際應用。[2018/9/18]
2、用戶在APP的登錄頁注冊相關信息,例如姓名,身份證號,手機號,住址等信息;
3、商業銀行通過上述注冊信息,利用手機號作為IBC的公鑰進行登記,在IBC完成唯一性驗證后,IBC為該用戶生成私鑰;
4、用戶登錄后,下載用戶用戶私鑰和央行公鑰數據,并將這些數據存儲在SE區域。
提取
這里介紹下用戶通過商業銀行賬戶提取法定數字貨幣,例如用戶從自己的工商銀行賬戶取150元,然后兌換成D幣。
1、用戶登錄錢包APP,選擇「提取數字貨幣」,并選擇工商銀行,輸入銀行賬戶以及兌換的數字貨幣額度。
2、商業銀行驗證該請求的合法性:校驗賬戶密碼,用戶賬戶資金是否足夠,以及該商業銀行的銀行庫中的D幣是否足夠。若通過合法性校驗,那么將該用戶的在商業銀行中的賬戶扣除250元,商業銀行從銀行庫中支出D100、D50(D100表示面額為100的D幣),并將這些信息發送至央行數字貨幣系統。
3、央行數字貨幣系統收到商業銀行數字貨幣系統的請求后,進行發核心校驗,例如判斷發送過來的D100和D50是否歸屬于該商業銀,以及對應的簽名驗證等。在校驗通過后,登記中心變更商業銀行發送過來的D幣的屬主信息,將工商銀行的屬主變更為該用戶,并且記錄對應的交易流水。完成完整動作后,返回處理成功的信息給商業銀行。
4、商業銀行將D幣發送到用戶手機端,至此,用戶的手機端便有了D100和D50。需要注意的是,真正決定你是否擁有這150元D幣,不是你手機端存儲了這150D幣,而是登記中心決定的。
這里岔開一下,在另外幾篇專利中,我們發現,并不是通過更改屬主關系,而是直接將原有的D幣進行銷毀,再重新生成新的D幣,也就是說央行在收到請求并校驗通過后,是將商業銀行的那250元D幣直接銷毀,然后再重新生成一個新的250元D幣,這樣的優點在于,只要央行不公布交易流水,只單單公布一個數字貨幣確權信息,那么外部是無法將數字貨幣的轉移信息給串聯起來的,這樣既符合了匿名,又滿足了央行的監管,因此后續有可能采取銷毀的方案。
支付
這里指用戶A和用戶B之間進行D幣的在線支付,假設A用戶的電子錢包中有D100,D50總計150元的D幣,先需要支付150元給B用戶,支付步驟如下。
1、A用戶登錄APP,選擇付款功能,并輸入:付款金額,收款人,點擊發送。
2、A用戶的APP根據付款金額,自動選擇總額為150的D幣,并將信息發送至商業銀行數字貨幣系統。
3、商業銀行校驗支付信息的合法性,例如:D100和D50的合法性,交易金額與數字貨幣是否等值,以及接收用戶的相關校驗。校驗通過后,將請求發送至央行的數字貨幣系統。
4、央行數字貨幣系統收到請求后,驗證D100、D50是否為交易發起者等,在登記中心更改D100、D50的屬主為B用戶,并記錄對應的流水。最后將成功信息返回給商業銀行數字貨幣系統。
5、商業銀行收到成功信息后,將D100和D50發送到B用戶APP中,并分別向A、B用戶的APP發送交易成功的信息。
這里的支付和提取的流程基本一致,只要明白屬主信息是在央行的登記中心進行修改就可以了。
如何實現匿名、監管
因為現金交易存在匿名的特性,如果DCEP不能滿足匿名性,那么有很多的場景下,普通用戶可能還會選擇用現金,因此DCEP必然需要滿足匿名性。但是,DCEP的另外一個功能是為了滿足監管需求,因此DCEP目前對匿名也是前臺匿名后臺實名的方式。
匿名——在上面支付的場景中,交易信息M可以設計為M=交易代碼||發送者公鑰||D幣信息||支付金額||接受者公鑰,再通過Hash算法將M信息做摘要,并用發送者的私鑰對摘要進行簽名得到m,最后將M||m信息發送到商業銀行的數字貨幣系統。由于對交易雙方做了一定的匿名處理,若再采取每次轉賬都銷毀再生成的方式,商業銀行和機構是難以追蹤資金轉移的。
監管——由于在認證中心需要用戶登記身份標識作為公鑰,同時在注冊時用戶會上傳對應的信息,因此央行的后臺系統對用戶信息是一清二楚的,同時登記中心會記錄交易流水,因此通過大數據分析可以做到一定的監管。
關于雙離線支付場景分析
DCEP相比支付寶等電子支付有一個特性,就是離線支付。這個特性非常重要,因為DCEP是現金的數字化,因此需要具備現金的特性,可以想象下,如果有一天出現了極端惡劣的情況例如大地震、戰爭等,導致網絡不可用,如果DCEP不支持雙離線支付,那么就意味著普通百姓沒辦法進行正常的生活了。因此,即使出現雙離線支付的場景概率非常小,但是還是必須支持這個功能。
在數字貨幣系統專利中,提到了雙離線支付的解決方案。例如A用戶的電子錢包中有D100,現在A、B用戶都離線的情況下需要支付D100給B用戶。
1、A用戶打開APP后,選擇離線支付功能,輸入付款金額和接收方信息后點擊支付。
2、A用戶對上述信息利用自己的私鑰進行簽名,并用收款人的手機號或者其他標識收款人的信息通過NFC等近場通訊的方式進行加密傳輸。
3、B用戶APP接收到加密信息后,解密并驗證D幣的合法性,以及金額是否等值。此時對于A、B用戶來說已經完成了雙離線支付,但是此時B其實并沒有真正收到A轉給他的D幣,在APP界面上來說,接受到的D幣應該是出于不正常狀態。接下來,B用戶的APP會在聯機狀態后,將支付信息發送給商業銀行數字貨幣系統。
4、商業銀行收到這個支付信息后,在校驗了合法性后,會將這個信息發送給央行數字貨幣系統。
5、央行數字貨幣系統收到支付信息后,在完成與在線支付一樣的校驗后,就會更改屬主,將原本屬于A的D幣,變更為B用戶,最后將結果返回給商業銀行。
6、商業銀行收到成功信息后,通知A、B用戶APP發送交易成功的消息,此時B用戶接收到的D幣狀態才會變成可用狀態。
因此,如果A轉給B,那么B在聯網之前,A轉給B的D幣無法轉給C的,這個雙離線支付并不能完成鏈式的支付。總體感覺,這個解決方案只能用于臨時性的離線情況,例如在地下停車場或者網絡不好的場所進行支付。
另外,在雙離線支付場景中,若用戶利用某些漏洞實施了雙花,從專利來看,是通過事后追責的形式來處理的。
為什么要推DCEP
要推行DCEP的理由,對內一方面是加強對資金轉移的監管,提高金融穩定性,增強反腐、反洗錢的能力。對外,有利于人民幣國際化,不過人民幣國際化,不會因為人民幣數字化了而成功,國際化的背后必然是我國國力強大,堅持通過用真理說服人。但是,DCEP可以降低國際友人的使用門檻,隨著中國消費者走出國門進行境外的消費,說不定在不久的將來,我們的國際友人也可以通過手機號注冊一個錢包,直接收款,而不必再通過開通銀行賬號。在不久的將來,自上而下的通過整理說服人,自下而上的通過消費者帶動國際友人使用人民幣。
Tags:數字貨幣區塊鏈APPBTC數字貨幣交易所官方網址國內區塊鏈公司前十排名Flappy Flokilbtc幣還會爆長嗎
來源:01區塊鏈 作者:趙越?零壹智庫 ?近一年,資本方對中國區塊鏈行業投資趨于理性。融資事件數量同比下降50%,融資金額同比下滑75%;平均單筆融資金額未發生較大變化,仍維持在7000萬元以上.
1900/1/1 0:00:00作者:?LornaQ 來源:財經網鏈上財經 分布式網絡安全初創公司Gladius與美國證券交易委員會達成和解9個月后,于今日宣布團隊解散,未遵守SEC的規定償還ICO投資者資金.
1900/1/1 0:00:00前言 主要分享ZcashSapling版本的協議細節。多多指教^_^!!! Zcash 迄今為止,Zcash總共經歷了三個版本的迭代,第四次版本升級時間預計在12.11.2019,據官方介紹,此.
1900/1/1 0:00:00關于區塊鏈,我們現在更多強調的是區塊鏈系統自身技術架構的去中心化,以及將區塊鏈應用于各種業務系統,將會帶來的業務體系的去中心化和業務流程的去中介化.
1900/1/1 0:00:00在當前所有的行業中,一些行業正在經歷非常大的起伏,如手機行業和半導體行業。但一些行業因為符合人們消費趨勢的發展,特別是那些符合年輕人消費習慣的行業,卻可以一直保持著旺盛的增長趨勢.
1900/1/1 0:00:00本文作者:CoboVault安全練習生2019年9月,網絡安全公司AdaptiveMobile發現了SIM卡存在一個嚴重的漏洞「Simjacker」.
1900/1/1 0:00:00