智慧合約在區塊鏈上運作目前面臨的問題?不論區塊鏈技術的最終結局會是如何,在區塊鏈上所執行的智慧合約都需要大量的技術支援。在區塊鏈的技術浪潮中,,一些輔助技術正處於悄無聲息的研發當中,它們將對區塊鏈技術的擴張產生至關重要的意義。
“一旦獲得了智慧合約,便會出現大量的問題。”康奈爾大學IC3主任阿里•朱爾斯(Ari Juels)如是說。這些問題可以歸為幾大類。
首先,區塊鏈無法儲存太多的資料。例如,透過區塊鏈進行直播影片——不論是將影片內容釋出在哪個網站——對很多專案來說都是一個大問題。
比特幣區塊鏈記錄了網際網路上的每一個比特幣的輸入與輸出情況,以及附加欄位的內容。在每筆交易中,此類附加欄位僅可准許40位元組的後設資料。情況就是這樣。
將智慧合約遷移至區塊鏈的另一個問題便是,區塊鏈本身並不知道真實世界的情況。如果你的智慧合約是一個飛行保險制度的話,那問題就來了。契約需要知道你的航班應在何時起飛、目的地是哪。但區塊鏈的設計並不適用於查詢網站。“外部世界的資訊必須被注入到區塊鏈內。”朱爾斯如是說。
最理想的情況是開發人員設計出相關方案來儲存與處理資料,且不會重新引入區塊鏈力圖避免的弱點,比如易受審查機構的影響、需依靠或信賴狡猾的人類。為了達成這一目標,研發人員必須仔細考慮誰是值得他們信賴的“受委託方”。
靜態資料的儲存問題可以透過分散式檔案共享服務來解決。例如,協議實驗室的星際資料庫(Interplanetary Database)或StorjLabs的分散式雲端儲存系統。這些系統能使世界範圍內的人們出租硬碟上的一些剩餘空間。由於資料會冗餘地儲存在世界範圍內的若干個計算機上,進而保持可獲取性而又難以被審查,因此這種機制可以適用於基於區塊鏈的智慧合約。
有關如何將實時資料傳輸至區塊鏈上的問題,可以採用被區塊鏈開發人員所謂的oracle來解決。oracle作為一系列服務,透過有效查詢實時資料獲得支付,並將資料傳輸至區塊鏈上的智慧合約。
在IC3.朱爾斯使用了一種被稱為“Town Crier”的自動化oracle,旨在確保傳輸到區塊鏈上的資料均來自可信賴的來源,且不會被篡改。該服務採用英特爾處理器上的“可信軟體”。雖然晶片在加密盾牌後方執行程式碼,但仍能提供讓程式如約執行的證明。