iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
1
自我挑戰組

新手101入坑區塊鏈系列 第 23

Day23 - 什麼是智能合約?

  • 分享至 

  • xImage
  •  

今天這篇呢,就來跟大家科普甚麼是智能合約(smart contract)。
其實「智能合約」,這個取名連當初的命名者V神都在推特上發文表示:我很後悔採用了這樣的命名,應該把它取得無聊但準確一些,叫做「永久保存在鏈上的紀錄」(persistent scripts)。

智能合約非常諷刺,既不夠智能,也不是日常生活我們理解的合約。

它是一種可以用程式實作區塊鏈上的每一筆交易紀錄,能和交易對象設定交易條件,執行不需信任第三方。智能合約是全天候進行的,並不像銀行三點半關門。因為運作在區塊鏈上,所以每個節點都有維護數位帳本的義務,並且追蹤最新狀態,所以「部署合約」(把合約上鏈)需要「手續費」(即:燃料)。當前很流行的去中心化應用(DApp),就能夠用多個智能合約組合在一起,彼此互相操作、互動,因為是用程式碼寫的,所以有保證交易過程透明(公開)和不可竄改的特性(可審計)。

智能合約是怎麼運作的呢?

一旦滿足某項條件,智能合約就會執行,有點像是if怎麼樣,then執行甚麼的概念。舉例來說,A想發給B貨幣基金2400美元,在接下來的24個月內,每個月的10號都會發給B100美金,那麼A就必須在智能合約上提及(等於說是code要寫到這些「變數」):

  1. 現在的日期
  2. 條件:每月10號自動給 B 發100美元,重複合約24次,直到錢耗盡為止
  3. 計算累加發出基金期數的函數

「合約」有點像是建立一套「遊戲規則」,時間一到且觸發條件,程式就會執行。很特別的是運作在鏈上,就有了區塊鏈的價值,包括簽合約、將其部署上鏈,都是用區塊鏈的加密方法。雖然說很透明公開,但它若有一方違約,是不是在現實生活中有法律保障,這就有待立法商榷了。


上一篇
Day22 - 什麼是ERC-20、ERC-721、ERC-1155?
下一篇
Day24 - 關於共識演算法與容錯機制
系列文
新手101入坑區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言