上一篇提到區塊鏈可作為協作型資料庫,接下來要介紹另外兩種應用類別,數位資產發行平台 & 公正程式平台:

數位資產發行平台(Digital Asset Issuing Platform)

區塊鏈很適合作為數位資產的發行平台,如果你希望數位資產有以下特性,或許就適合用區塊鏈來發行數位資產:

1. 數位資產需要跨地域、跨系統的流動性
2. 數位資產需要跟其他數位資產有互操作性(前提是這些資產要發在同一條鏈上)
3. 需要公開數位資產的資訊/運作邏輯以取得信任

區塊鏈本質就是一個共享大帳本,當有越來越多的資產以 token 的形式發行在區塊鏈上,這些 token 的流動性就會越來越高,而當一個資產的流動性提升,它本身價值也會被放大。

舉例來說,如果有某企業選擇用以太坊 ERC20 標準發行點數,那這個點數從創建第一天開始就會有二級市場,用戶可以透過去中心化交易所把點數換成其他 ERC20 token。如果用中心化系統發行數位資產,用戶交易「跨單位發行的數位資產」時,往往要透過一個交易清算單位,或是 OTC (over the counter) 做線下交易,流動性就比較差。

除了流動性之外,另一個明顯的好處就是提升不同數位資產的互操作性(interoperability),譬如持有某 A 幣的用戶,每天可以分到一定數量的 B 幣,或是持有 C 幣一定數量以上的用戶,用 D 幣買東西的時候可以打折等等,這種數位資產之間的互動可以透過智能合約來實現,用中心化系統不是不能做,只是實作上會比區塊鏈麻煩很多,想想 LINE Point 如果要和樂天點數實現這種互操作性,系統上的串接會有多麻煩?

最後一點是信任,區塊鏈上數位資產的總供給量、增發邏輯、轉帳條件、持有量分佈等等,都可以被公開審計。這有什麼用呢?如果某遊戲廠商用區塊鏈發行虛擬寶物,他可以公開虛寶的總量以證明稀缺性,甚至以程式嚴格控制虛寶總量必須低於玩家總數的千分之一等等,向玩家證明不會有虛寶通膨問題,這我稱之為「可信賴稀缺性」( proven scarcity)。

有一些開源或是帶有公益性質的項目,也比較適合用區塊鏈發幣,像是 FileCoin 和 BAT(Basic Attention Token )之所以採用公有鏈作為發幣的平台,除了募資方便之外,也跟其項目本身的性質有關係,這兩個項目都是開源的項目,用中心化系統發幣未免有點奇怪,用區塊鏈發行代幣,讓代幣自行運作再適合不過。

那有沒有缺點呢?當然也是有的,如同上一篇所提到的,區塊鏈的交易速度不可能比中心化系統快,譬如 ERC20 代幣的轉移就先天就受到以太坊的限制,至少要等 2~3 分鐘才會到帳,如果很在意交易速度,建議可以使用速度較快的公鏈(如 DEXON) 或是聯盟鏈(如幣安鏈)來發行數位資產。

另外就是上手難度的問題,要在區塊鏈上交易數位資產,必須理解私鑰、地址、交易手續費、區塊確認數等知識,對一般大眾來說太難了,需要有配套措施提供更好的 UX,譬如客製化錢包、私鑰代管服務等等。

總結一下把區塊鏈當成數位資產發行平台的好處以及需要注意的地方:

好處:
1. 提升數位資產流動性
2. 提升數位資產互操作性
3. 可藉由公開數位資產的運作邏輯以取得信任,適合開源或是公益專案
需要注意的地方:
1. 交易速度較慢,如果很在意速度建議使用 DEXON 或是聯盟鏈
2. 上手難度高,可能需要搭配客製化錢包&私鑰代管服務降低使用門檻

公正程式平台(Honest Program Platform)

當區塊鏈引入圖靈完備的程式語言後,就從單純處理數字貨幣的帳本變成了一台去中心化的電腦,開發者可在其上透過智能合約實現各種更複雜的邏輯,區塊鏈的智能合約有三個特性:

1.開源
區塊鏈的智能合約代碼是公開的,每個與合約互動的人都可以檢查其代碼有沒有問題

2.不可竄改
智能合約的代碼跟交易紀錄一樣,一旦被部署在區塊鏈上之後就無法修改

3.無法被阻止
只要觸發一開始寫好的條件,智能合約就會自動執行,理論上無人能阻止代碼運作。

(2跟3都是在區塊鏈是安全的前提下才成立,如果所有節點共謀作惡,那就不成立了。)

白話一點來說,智能合約屬於一種「下好離手」、「運作方式透明公開」的程式,在一些運作機制不透明的產業,譬如線上博奕,人們很難相信程式不會偏袒莊家,畢竟後端的代碼都掌握在博弈廠商的伺服器上,但如果改用區塊鏈的智能合約就不一樣了,因為程式運作邏輯可被公開審計,玩家不用擔心莊家操縱隨機數,也可以確保莊家不會跑路,因為智能合約會保證賠付。

智能合約開源特性也可以應用在群眾募資上,群眾募資一直有個痛點 — — 項目方拿了錢之後交付成果不如預期,以太坊的創辦人 Vitalik 曾經提倡過一種新型態的募資方式 — DAICO,其核心概念是投資人先把錢(ETH)打進智能合約中,這些錢會按一定的速度分批釋放給項目方,如果項目方做得不好,投資人可透過代幣投票,減慢項目方領取 ETH 的速度,甚至在必要的時候投資人可以直接撤銷專案,把剩餘存在智能合約裡的錢拿回來,藉此降低項目方跑路的風險,也保障投資人的權益。

由募資平台運行中心化的程式也可以實現上述規則,只是會產生新的信任問題,募資平台的利益跟項目方緊密掛鉤,難保募資平台不會與項目方共謀,竄改投資人的投票結果,反觀智能合約規則透明公開,沒有造假空間,更有公信力。

把區塊鏈「公正程式平台」特性發揮得最淋漓盡致的應用類別,莫過於近期大紅的 DeFi (Decentralized Finance, 分散式金融),DeFi 利用智能合約開源以及分散式網路的特性,將傳統金融產品轉變為無需信任且透明的協議,這些協議可以在無須中介機構的情況下運行,且用戶無須准入許可,是一種人人可用、運行邏輯與數據全程公開透明的金融協議。

目前最熱門的 DeFi 項目就是 MakerDAO,它是一個去中心化的抵押貸款平台,以往我們可以抵押房子來借錢,譬如抵押市價 1000 萬的房子來借 600 萬,以超額抵押來抵銷不履約的風險,而在 MakerDAO 上我們是超額抵押「以太幣」來借「Dai」(Dai 是一種 1:1 錨定美金的穩定幣),如果抵押品價值下滑,智能合約會自動觸發清算機制,最低清算率是 150%。

舉例來說,我可以抵押市價 400 美元的以太幣借 100 個 Dai, 如果以太價格崩盤,抵押的以太幣價值從 400 美元下滑到 150 美元以下,這就觸發了清算機制( $100*150%=$150),我可以選擇抵押更多的以太幣,確保抵押品的市值保持在借款的 150% 以上,或是不作為任由系統拍賣我的抵押品,而後者必須額外上繳一筆罰款。以上的這一切,都由智能合約完成,無需人力介入,這意味著更低手續費的可能性,DeFi 不但能有效降低用戶參與金融市場的成本,也讓世界上 20 億無法進入正規金融體系的人,有了另一個新的選擇。

講完了好處跟應用方向,接下來講區塊鏈智能合約的限制,區塊鏈的智能合約被儲存 & 運行在分散式網路中,這意味著每一次代碼執行,都必須在每個節點上被運行一次,假設網路有一萬個節點,同樣的代碼就必須被運行一萬次,因為以上的特性,所以區塊鏈的智能合約:

1. 只能實現簡單的邏輯:一些需要大量運算資源的程式(譬如 Deep Learning),並不適合放在智能合約裡。

2. 不適合應用在高頻場景:如果程式會在短時間內接受大量的 request,且用戶的等待耐心時間極短(低於1秒),那就不適合用區塊鏈的智能合約實現。

還有一點必須注意的是,如果你的智能合約需要外部信息輸入,那智能合約如何取得資訊就必須考量進去,實務上一般常見的作法就是投票。

譬如我們剛剛提到,當以太幣的市價滑落時可能會觸發 MakerDAO 的清算機制,那麼智能合約從哪裡得知以太幣的市價呢?如果直接拿 CoinMarketCap 的價格,那似乎有點太過武斷,如果有人跟 CoinMarketCap 官方串通共謀,那豈不是天下大亂?為了保持去中心化的特性,MakerDAO 參考了多種價格來源,並且設置了一種特別的智能合約來管理以太幣市價的 source feed,而所有 source feed 的增刪都是由 MKR (MakerDAO 的治理代幣)的持有者投票決定,有興趣的讀者可以閱讀 Maker DAO 的官方文件

事實上所謂的多重簽名簽包(Mutisig Wallet)本質上也是一個智能合約,大家把錢打進去,然後規定只有超過半數的參與者簽名後才能拿錢出來,這也是一種投票的概念。

總結一下把區塊鏈當成公正程式平台的好處以及需要注意的地方:

好處:
1. 可藉由公開程式的運作邏輯以取得信任
2. 降低人力參與/去中介機構,可降低成本
3. 條件觸發即自動執行,無人能夠阻止

需要注意的地方:
1. 只能實現簡單的邏輯,區塊鏈不適合運行太複雜的程式
2. 不適合應用在高頻場景,如果程式需要高頻、低於1秒延遲的處理速度,可能用中心化的系統更為適合
3. 觸發條件若需要外部信息輸入,需考量設計方式,如果信息輸入來源單一,那就失去用區塊鏈的意義了(控制輸入來源 = 控制程式運作)。

結論

以上就是本篇所有內容,希望能讓大家更了解區塊鏈的用途和限制。要設計出一個可以容納區塊鏈所有應用的框架,坦白講是一件很困難的事情,因為區塊鏈本身並非為了特定應用而被發明的技術,每個人看到的區塊鏈價值可能都不一樣,所以設計出的區塊鏈應用也會大異其趣,以上框架是屬於比較泛用的架構,如果你有任何想法,歡迎再回文討論。

工商時間:筆者目前服務的 DEXON Capital & Lab 有提供協助企業引入區塊鏈技術的服務,若您所屬的企業/組織對區塊鏈有興趣,歡迎聯絡我benson.sun@dexoncapitalandlab.com