央行李博:區塊鏈需要邁過的幾道坎
“區塊鏈”近期熱度不減,不管從金融應用領域還是從IT領域多得是暢想和期許,反而很多細節並沒有搞清楚有些霧裏看花。2016年伊始,《財新週刊》對中國人民銀行周小川行長的專訪從理性的角度給出了決策者對“區塊鏈”的一種態度,需要腳踏實地地看清這一事物,維持一個“好奇心”。
從我的理解而言,區塊鏈是一種“共識”實現技術,通過區塊鏈可以記錄網際間所有的交易,供區塊鏈的用戶見證實現“共識”,且鏈上信息內容“不可篡改”。而這種“不可篡改”性是通過系統內多個副本的存在增加了內容被惡意篡改的成本。以比特幣系統而言,下圖中的所有亮點代表一套內容一致的賬本。因此,當所有的記錄得到公示,就解決了現實生活中的“兩表不可測”問題。兩表不可測的原因是沒有中心,兩表數值各異觀者無從可知。但中心不是必須,當存在多只表,且多數指針指向一個時間,少數服從多數,觀者也就心知肚明。所以區塊鏈要解決的一個問題就是“少數服從多數”,少數的存在有可能是數據生成的錯誤或者是惡意篡改的內容。也就是説你要篡改成功,就必須要改變系統中51%的副本[ 即51%攻擊],由少數成為多數。可想而知,篡改成本從技術難度、時間消耗、人員使用上都是巨大的。同時,區塊鏈的另一個關鍵結合,是同智慧合約的結合。通過程式執行合約,因為前者已經做到了合約內容的“原汁原味”,後者成為“觀察者”用機器執行杜絕了合約雙方的違約和執行中斷。金融活動從最早的支付到金融衍生品的高度發展,背後都是一個個合約的簽訂和執行。同時各種金融創新絕大多數也是保證合約的執行和違約償付。如果合約的達成變得扁平且執行貫徹,那麼整個流程將更為簡潔和高效,這便是區塊鏈亦將提出就被金融領域重視的一個前提。另外,區塊鏈是一個不斷“膨脹”的記錄系統,可以記錄系統從開始到今後運營中的所以交易的記錄。這一機制也便捷了第三方,特別是金融監管者對資産交易信息的追蹤、監測和轉移。
圖1 比特幣系統中的區塊鏈副本
如果説合約是內容,當內容完成數字化,區塊鏈就成為了信息存放的載體。因此,結合梅萬妮•斯萬意見,數據的存放就形成了兩類模式。一類是數據就存放在塊中,另一類是將數據壓縮形成數字串列,也就是降維哈希過程[ 參見梅蘭妮•斯萬《區塊鏈新經濟藍圖及導讀》第21頁]。對於前者容易實現,但一致性問題突出。後者只同步數字串列,通過減少同步量解決一致性問題,但哈希過程的降維成為關鍵。數據存放的兩類模式
一致性問題
一致性問題是分佈式存儲系統一個比較難解決的問題,通常這一個環節起容災備份功能,同步操作大多放在“閒時”,是一種後臺操作。區塊鏈採用“前置”的同步操作,當一個塊生成,塊鏈的更新需要所有副本完成內容一致的複製。如果內容存儲在塊內,那麼更新的數據量為更新的內容乘以副本的數量,再加上副本間的傳輸距離和頻寬,整個操作是耗時的,整體的效率體現在系統中最長的同步時間,如圖2。
圖2 區塊鏈的降維+哈希
因此採用這種方式,將影響對高頻應用的響應,例如諸多的交易場景。所以解決一致性問題的辦法一是控制更新內容的大小,二是限定副本的數量。比特幣系統的實現是採用前者,私有鏈是應用了後者。