不可不知 何謂「智能合約」?

簡單地來說,智能合約(smart contract)是區塊鏈中一種制訂合約時所使用的特殊協議,主要用於提供驗證及執行智能合約內所訂定的條件。智能合約中內含了程式碼函式,亦能與其他合約進行互動、做決策、儲存資料及傳送以太幣等功能。

比較特別的是,這些交易具有可追蹤、難以竄改與不可逆轉的特性,使智能合約能在沒有第三方的情況下,仍能進行安全的交易。此外,智能合約由創建者定義、由區塊鏈網路執行所建構而成,其當中與合約條款相關的所有訊息,全都是按照合約當中所設定的操作自動執行。

「智能合約」由來

智能合約的概念,最早來自身兼電腦科學家及密碼學專家的 Nick Szabo 在 1994 年所提出。Szabo 在當時已訂定智能合約的主要運作方式,只可惜沒有合適的環境來實現。

自從中本聰在 2008 年《比特幣白皮書》中提出「區塊鏈」的概念後,Nick Szabo 的想法才得以被逐步實現。比特幣區塊鏈訂定了「區塊鏈合約」的基礎,但因其基礎於當時無法滿足所有需求下,出現了以太坊區塊鏈。以太坊為每個交易需求,特別打造了「智能合約」。

智能合約運作方式

智能合約的運作概念、方式為何?我們可以把智能合約想像成「自動販賣機」,這樣比較容易理解它的功用及運作方式。

自動販賣機能接受並執行外部所給的指令,顧客選定欲購商品並按下選擇鍵,隨後付款即可。智能合約的運作方式也與自動販賣機有點相似──它會自動執行合約上的指令。首先,我們將資產與擬定的合約條款編碼放入區塊鏈的區塊中,智能合約會在區塊鏈平台中的節點之間多次複製與傳遞資訊。一旦合約中觸發時間被啟動,智能合約就能按照其內容所設定的條款執行,並自動檢查所承諾的條款實施情形如何。

那麼,創造一份智能合約有哪些構成要素呢?──合約主體(Subject of Contract)、數位簽名、合約條款及去中心化平台(decentralized platform)。

  • 合約主體:智能合約中必須要有合約主體,如此一來才能在智能合約的程式中自動鎖定及解開合約中的相關商品及服務。
  • 數位簽名:智能合約需要所有參與者透過他們的私鑰(private key)進行認證之後,才能被啟動。
  • 合約條款:智能合約中的條款所有的操作順序,皆須由所有參與者認同並簽署後才可執行。
  • 去中心化平台:智能合約被放入去中心化的區塊鏈平台,並分佈於各個節點之間,等待執行合約。

智能合約的實際應用

智能合約能夠應用在於許多領域,例如,選舉、後勤、管理、銀行系統、保險、房地產及物聯網等。區塊鏈網路上的數據都是加密、匿名的,而這個特點能夠降低操縱選票的可能性;因此,區塊鏈對於投票機制的改善上很有幫助。此外,區塊鏈技術在物聯網的供應上亦有重大突破,物聯網的供應鏈又長又雜,透過智能合約,每個在鏈上的參與者都能夠看到物流追蹤,使得交易更快、更有效率。

智能合約的優缺點

優點:

  • 一、安全性高:智能合約經過加密並儲存於區塊鏈節點上,因此能夠確定在未經許可的情況下不會有更改、遺失的狀況。
  • 二、交易效率高:智能合約的流程幾乎為自動化,讓交易效率提高,許多中介都可能會被淘汰。
  • 三、可客制化:現在存有的智能合約種類多樣,並能依照客戶需求進行修改。

缺點:

  • 一、人為因素:代碼是工程師所寫,因此有誤寫的可能;一旦智能合約放到區塊鏈上則無法更改。
  • 二、法律因素:智能合約在目前不受任何任何政府監管,倘若政府機構介入立法則可能出現潛在問題。
  • 三、實施成本:智能合約必須經過編碼過後才能執行,因此,擁有豐富經驗編碼、能夠寫出沒有執行問題之智能合約工程師變得非常重要;相對地,因為技術緣故,公司成本也會相對提高。

區塊客致力於發掘和整理各種與區塊鏈技術有關的內容,只要與區塊鏈或區塊客網站有關的合作和/或建議,我們都非常歡迎。請您發電郵至 [email protected] 與我們聯繫。

圖片: Wikipedia

你也可能對這些主題有興趣...