區塊鏈技術與零知識證明,將會對審計與記賬流程帶來何種革新?

原文標題:《觀點 | 密碼學如何爲償付能力提供保障》(How can Cryptographic Proofs Provide a Guarantee of Financial Solvency?)
作者:Eli Ben Sasson
翻譯 & 校對:周瑾 & 閔敏

本文於 2018 年 9 月 19 日首次發表於 CoinCenter。

在技術的輔助下,任何人都能獨立驗證一項密碼貨幣業務是否能持續健康發展,再也不需要依賴於專業的審計師。

由於密碼學貨幣交易所一直是黑客攻擊的重災區,業內領先的幾家交易所不得不定期進行償付能力審計,讓客戶和監管機構確信交易所處於盈利狀態,或是擁有 「全額準備金」 。這一過程需要消耗大量的人力和財力,並且極易被濫用。本文介紹了一種可以更好地解決償付能力審計以及其他財務報表問題的方法,這需要利用區塊鏈以及計算完整性零知識證明技術。

觀點 | 密碼學如何爲償付能力提供保障rawpixel 發表於 Unsplash 的照片

Mt. Gox 被黑及其後果

Mt. Gox 曾是當時最大的比特幣交易所,經手 70% 以上的比特幣交易。然而,在 2014 年的第一季度,有關其償付能力的謠言開始廣爲流傳,到了 2014 年第二季度,該交易所突然關閉並宣佈破產,之前的謠言都得到了證實。爲什麼?因爲他們丟了 85 萬枚比特幣。晴天霹靂。按今天的價格算,這些比特幣價值 58 億美元。到底是員工監守自盜、還是遭遇外部黑客攻擊,還是二者兼而有之,迄今爲止還都是未解之謎,但有一點很明確,就是在長達幾個月的時間裏,交易所的資金慢慢流向了外部賬戶地址,而客戶一直被矇在鼓裏。

這麼大一筆錢是如何神不知鬼不覺地被偷走的?面對快速增長的比特幣交易量和金額, Mt. Gox 顯然措手不及,沒有充分的時間強化其操作安全性。一部分原因在於公有鏈是不可逆的——一旦交易在鏈上發生,除非對整個系統造成巨大的破壞,否則幾乎不可能篡改鏈上的交易。但是,如果當時存在某種方法可以讓客戶有能力監控交易所的償付能力,他們就能更早地發現問題,從而避免這場危機。

由於這一事件的影響(當時還有一些小型交易所也遭到了黑客攻擊),業內領先的幾家加密貨幣交易所開始定期邀請外部審計師代表監管機構以及客戶進行償付能力審計。在審計過程中,交易所會向審計師證明其(通過密鑰)控制的資產多於對客戶的負債。審計師必須準備一份資產負債表,將該交易所的償付能力下限發表在某個公共論壇上,並宣佈:「截至今日,該交易所處於盈利狀態。」(請注意,償付能力審計檢查的是交易所是否具有全額準備金,但我們接下來要討論的方法可以根據對商業銀行的要求用於部分準備金償付能力審計。)

人工進行償付能力審計的缺點

這種償付能力審計有一些缺陷。一方面,它需要消耗人力和財力資源;另一方面,它不具備操作安全性,由於價值數十億美元的密碼學資產是通過密鑰控制的,關於密鑰的使用信息將被披露給外部人員(審計師);最令人擔憂的是,受到攻擊的交易所可以從資產負債表中刪除一部分對客戶的負債,以此掩蓋事實。畢竟,審計師很難知道是否每一筆負債都登記在賬簿上,因此他們只能選擇相信交易所。

償付能力審計的注意事項

基於上述問題,償付能力審計應該達到什麼樣的目標?首先,應當避免泄漏交易所的商業機密。其次,應該讓每一位客戶都能驗證交易所是否將對他們的負債記入了資產負債表中,以供償付能力審計,從而提高透明度並強化公共監督。第三,這一過程不應交由任何外部審計師執行,從而減少開支並降低遭受攻擊的可能性;換句話說,我們需要一種由加密貨幣交易所獨立執行的自審計流程。最後,即使沒有外部人員參與審計,也要能防止流氓交易所做假帳。等等,第一個目標中提到的隱私性不是和第二個目標中提到的透明度相矛盾嗎?第三個目標中提到的自審計不也和第四個目標提到的健全性相矛盾嗎?是否可以同時實現這些目標?令人驚訝的是,答案是肯定的;我們接下來將作出解釋。

加密信封、區塊鏈以及計算完整性

不考慮隱私問題的話,監管機構可以簡單粗暴地要求交易所對外披露詳細的資產負債表。這樣就可以利用公共監督防止交易所通過漏記負債來做假帳,因爲那些被漏記負債的客戶會引起轟動。可惜的是,出於對隱私的保護,這種簡單的方案行不通。

解決該問題的第二種嘗試是,由監管機構來要求交易所向客戶私下展示詳細的資產負債表,如,向每個客戶發送月度報告。即使不考慮私人商業信息泄露的問題,資不抵債的流氓交易所也有辦法騙過客戶,即,每位客戶看到的資產負債表裏都記入了自己的負債,但是刪去了其他客戶的負債,以此營造出一種盈利的假象。如果要防止這一行爲,需要客戶公開他們的(保密的)財務數據,這顯然是行不通的。因此,我們的下一個方案就是,要求交易所爲每份(月度)資產負債表發佈一個唯一的公共 「錨點」,然後針對每個客戶提供個性化信息。這樣一來,客戶就可以利用這個公共錨點來驗證他所收到的信息。此外,這個錨點會將交易所與資產負債表 「綁定」 起來,不會損害該交易所的財務隱私。

確實,交易所可以獲取所有隱私數據——密鑰、資產、客戶賬戶和對客戶的負債,並將它們放進一個密封的小信封中,然後放到公司無法篡改的地方。這個信封就是上文所說的 「錨點」,用於獲取資產負債表。現在,交易所將運用新的密碼學工具(下文會解釋)來模擬一個可信的審計員,賦予其訪問信封內容的權限。這些工具的神奇之處在於,誠實的交易所可以使用它們來爲每個客戶提供可信證明,同時不會泄露信封裏的內容。流氓交易所則很難利用它們來爲不符合信封中信息的資產負債表創建可信證明。這種 「自審計」 能力是區塊鏈和零知識證明的強大組合所帶來的產物。

用作加密信封的承諾方案

源自加密信封概念的數字化模擬方案已經被計算機安全地使用了數十年。密碼學家稱其爲密碼學承諾(cryptographic commitments)。無論原始數據大小如何,轉化成加密信封(承諾)之後通常都會變得非常小,僅有 32 個字符。

幸好有了去中心化的區塊鏈技術,我們可以把交易所的加密信封放到防篡改的地方了。由中本聰開創的區塊鏈技術的核心是,創建一個不受任何一方控制且不可逆的公共賬本。這種不可逆性是通過強大的計算要求和經濟激勵機制實現的。確實,比特幣區塊鏈已經成爲了一種值得信賴的時間戳服務。因此,交易所在將實行個性化償付能力審計所必需的客戶數據放入加密信封(承諾)之後,就可以通過一種安全有效的方式來保存這些信封。唯一不足之處是,如何向監管機構以及公衆證明,信封中的數據是有效的,並且不會透露其他任何可能侵犯客戶隱私的信息。這正是零知識證明發揮作用的地方。

作爲可信審計師的零知識證明

打一個極端的比方,零知識 (ZK) 證明就好比雜貨店收據。每個證明都是一串字符(像收據一樣),用來保證計算完整性,也就是說,這個證明會讓我們(驗證者)相信最終的計算結果是正確的。雜貨店收據會讓我們相信我們所需支付的總金額是對的,而零知識證明(其增強版本)強大到足以處理任何計算,並讓我們相信計算結果是對的。此外,零知識證明保障了隱私性,這就意味着該證明(字符串)不會泄漏輸入值。它與雜貨店收據的相似之處是:1. 只顯示總金額;2. 不顯示單個物品的價格和數量;3. 使客戶相信其應付款金額是對的。最後,一些零知識證明非常有效:通過智能手機檢驗它們只需要不到一秒,即使計算過程冗長且繁瑣;可以將零知識證明看作一張列有數百萬物品的收據,只需要眨眼的時間就能覈對完。

現在總結一下我們爲償付能力審計問題設計的方案,可以實現上文提到的四大目標(隱私性、透明性、自審計性、健全性)。它包括三個步驟。前兩步很容易通過現有技術實現;而第三步則使用正興起的零知識證明來實現:

  1. 交易所將本應提供給可信審計師的所有數據放入加密信封中,以證明其對每個客戶都具有償付能力。這些數據包含該交易所控制下的所有密鑰、所有資產以及對客戶的負債。再強調一遍,加密信封非常簡短(只有 32 個字符),而且不會向查看它的人透露任何信息。
  2. 交易所將該加密信封(全部 32 個字符)發佈到區塊鏈上,如比特幣。
  3. 交易所會讀取加密信封裏的內容,爲每位客戶都生成一個專屬的償付能力零知識證明(即 「收據 」)。這一計算得到兩個公共的輸出(同時所有輸入都被 「刪除」 以保護隱私),分別是:1. 表示交易所處於盈利還是虧損狀態的一比特數據,以及 2. 特定客戶的賬戶餘額。

該證明具有隱私保護性,這意味着客戶對加密信封中的信息一無所知(除了他們自己的賬戶信息)。零知識證明的神奇之處在於,它們是用數學語言表示的 「證明」:真命題都能被證明,能被證明的都是真命題。因此,處於虧損狀態的交易所無法欺騙客戶說它自己是盈利的,也不能通過改變信封中客戶的賬戶信息來欺騙客戶。交易所有且只有一種解決方案:證明其提供的信息是正確的,並進行個性化的償付能力審計。

零知識證明技術的現狀

零知識證明於 20 世紀 80 年代中葉提出。在過去的幾年中,這一技術得到了突飛猛進的發展,已經應用於商業領域。如今有三大優秀的零知識證明系統:ZK-SNARK (由 Zcash 等密碼學貨幣使用)、ZK-STARK (由 StarkWare 商業化,並由以太坊基金會贊助)和 Bulletproofs (正由 Monero 幣開發中)。

總結

上述實現個性化償付能力審計的免信任型三步流程可以應用於任何其他類型的財務報表(包括收入、股權以及現金流量表)。自從人類開始記錄以來,財務報表已經存在了上千年了,可以追溯到文字記錄誕生之時。記賬技術已經從 4000 年前的黏土片發展到紙片,再到使用數字簽名的文件。至今爲止,如果要確保其正確性,要麼選擇信任財務報表的發佈者,要麼信任爲其提供擔保的外部(人類)審計員。將區塊鏈技術、承諾方案以及最重要的零知識證明結合起來,可能會在將來真正實現免信任,並從公衆的立場出發,由公衆來進行透明、民主的審覈。

延伸閱讀

  • 隱私保護性型比特幣交易所償付證明 [Dagher, Bunz, Bonneau, Clark, Boneh; ACM CCS 2015]
  • zkLedger: 基於隱私保護的分佈式賬本審計 [Narula, Vasquez, Virza; NSDI 2018]

來源鏈接:medium.com