一周以前我們在盧旺達開會的時候,新加坡MAS 在現場發布了Purpose Bound Money (PBM) 的技術白皮書。行業媒體發了幾條新聞,然後就放過去了。實際上PBM 代表著貨幣當局對於數字貨幣編程問題迄今為止最深度的思考,其白皮書所反映思考深度和技術規範的詳細與成熟度,簡直不像是出自政府機構,而像是出自專業的數字貨幣和區塊鏈學術機構。由於PBM 似乎尚未引起圈內的高度關注,因此我覺得有必要簡單介紹一下其基本要點。
PBM 要解決的問題是對貨幣進行編程。在現實世界支付中,設定各種支付條件和邏輯,比如什麼時候可以支付、什麼時候不能支付、可以支付給誰、什麼時候支付、一次能支付多少等等,是非常普遍的需求。數字貨幣的一大賣點就是programmable money,照理說這個應用應該很快推廣開。但是具體實施的時候,對貨幣編程並不簡單。在PBM 之前,有兩個對貨幣編程的主要模式:一是可編程支付(programmable payment),相當於是在支付函數上附加編程邏輯,比如運用數據庫觸發器和存儲過程,或者區塊鏈智能合約來對支付過程加以約束和引導。二是可編程貨幣(programmable money),直接把支付條件和邏輯內置到數字貨幣裡面了。舉例子比較容易說明。在Web3 裡,大多數面向ERC-20 的支付、結算、交易智能合約都是屬於可編程支付,它們處理的ERC-20 token 本身都是中立、自由、無邏輯的,支付邏輯都寫在智能合約裡。而專門為表達Security Token 所創建的ERC-1400/1404 是典型的可編程貨幣,把限制白名單支付的邏輯直接內置在token 合約內部了。可編程支付的優點是適應能力強,可以處理多種資產,缺點是難以在靈活性、安全性與簡單性之間達成平衡。要靈活,合約就得寫得特別複雜,複雜以後必然帶來安全隱患。而要簡單,就可能應對不了未來的新變化。我們在Web3 之所以要花大錢去請人審計智能合約,就是因為功能稍微強大一點,智能合約就會變得非常複雜,安全性隱患就會非常突出。可編程貨幣的缺點則是流動性的碎片化。一種貨幣天生只能在某一個範圍和條件內流轉,幾百幾千種這樣的「局部貨幣」就破壞了貨幣的同質化(fungibility),在市場上就會帶來嚴重的流動性摩擦和估值困難,破壞貨幣作為價值媒介的功能。
PBM 就是為了解決以上問題而尋找的第三條路線。其核心要點是用一個「包裝合約」來包裹和管理通用的數字貨幣,把支付邏輯放在這個「包裝合約」裡,去管理其中的數字貨幣。對應不同的應用場景,我們可以選擇不同的「包裝合約」來約束和管理被包裝的數字貨幣,從而起到對支付過程和條件進行編程的效果。但這些被包裝的數字貨幣本身都是統一的、中立的、自由的、同質化的,一旦條件滿足,收款人可以從包裝中提出數字貨幣,恢復數字貨幣自身的「無條件」天性。

我在這裡的介紹十分簡略而不全面,只是擇要而論。MAS 的論文中詳細討論了三種模式的優缺點,而且詳細定義了PBM 應該具有的接口和特徵,有興趣的讀者絕對應該仔細閱讀一遍。

熟悉ERC-3525 的讀者看到這裡,應該恍然大悟了,我對於PBM 的關注不僅是作為區塊鏈創業者的一般性的興趣,而是「暗藏私貨」,是出於PBM 與ERC-3525 的神契合。ERC-3525 就是作為這樣的對數字資產進行編程管理的包裝性技術提出的。我們所謂的「數字票據」,不就是對數字貨幣(也包括未來的數字貨幣現金流)進行包裝、管理、約束和編程的工具嗎?因此我可以毫不謙虛地說,ERC-3525 是目前實現PBM 最好的協議,應該沒有之一。讀完白皮書,我覺得ERC-3525 簡直是為實現PBM 量身定做的協議,然而事實上卻是ERC-3525 設計發佈在前,而PBM 發表在後。提前預判了重大的創新方向,對於做技術創新的團隊來說,這毫無疑問也是人生一大快事。
當然,MAS 自己的PBM 實現應該不是使用ERC-3525,但我還是很高興MAS 從另一個完全不同的角度為ERC-3525 確立了一個主要的應用場景和發展方向。我們將會積極支持PBM。不久之後大家將會看到我們推出完全支持白皮書規定的所有接口的ERC-3525 PBM。
附:PBM 白皮書可從以下頁面下載: