什麼是智能合約(Smart Contract)?
聲明:gasolin.eth 此 Domain 已過期,我並未繼續註冊
智能合約是什麼?
在區塊鏈上運行的程式,通常稱為智能合約 (Smart Contract)📒。所以通常會把 "寫區塊鏈程式" 改稱作 "寫智能合約"。雖然比特幣 (Bitcoin) 上也能寫智能合約,但是比特幣所支援的語法僅與交易有關,能做的事情比較有限。因此目前提到寫智能合約,通常指的是支援執行圖靈完備程式的以太坊 (Ethereum) 區塊鏈⛓。
智能合約可以做什麼
目前最常見的智能合約是各種加密貨幣合約💷,開發者可以很容易地透過部署一個智能合約,來提供運行於以太坊上的新加密代幣。如果這份智能合約相容於 ERC20 標準 [^1],開發者不需要重新開發從挖礦到交易的整個代幣生態系,你的新加密代幣就可以直接使用支援以太坊的電子錢包💰來收送,大大降低了建立新加密代幣的門檻。
智能合約也讓募資💸變得更透明。參與者投資資金或提供服務,也可獲得相應的權益。這份權益可以用代幣的形式返還給參與者。同樣地如果這代幣相容於 ERC20 標準 [^2],投資者或贊助者還可以隨時交易這些代幣。讓資金的運用變得更加彈性,也降低了投資的門檻。
除此之外,智能合約也可以用來運作各式公開公正的自動服務機構 (DAO,Decentralized Autonomous Organization)🏦。透過分散在全球各節點上運作的智能合約,所有運作與決策都是公開透明的,降低了交易的不確定性 (Uncertainty)。
智能合約和一般程式的差異
以太坊智能合約確實有些和一般程式不同的特性,以下整理了四個不同點。
一,整合金流容易
一般的應用程式要整合金流是件非常不容易的事情。而智能合約極容易整合金流系統 (使用以太幣或自行建立 的新代幣合約)。
二,部署時與後續寫入時需費用
一般的應用程式需要提供網址讓使用者下載,一般的網頁應用程式也需要運行在伺服器上,開發者需要維持伺服器的運作以提供服務,這需要持續地花費(就算是免費的伺服器或網頁空間,也是廠商自行吸收了費用),程式開始運作後,除了維持費用外不需額外的花費。
智能合約在部署時需要一筆費用,這筆費用將分給參與交易驗證(挖礦)的人。而在合約部署成功後,合約會作為不可更改的區塊鏈的一部分,分散地儲存在全球各地以太坊的節點上。也因此,智能合約在部署後,並不需定期提供維持費用,同時查詢已寫入區塊鏈的靜態資料時也不需費用。只有在每次透過智能合約寫入或讀取計算結果時,需要提供一小筆交易費用。
三,儲存資料的成本更高
一般的應用程式將資料儲存在本機或伺服器上,需要資料時再從本機或伺服器上讀取,而智能合約將資料儲存在區塊鏈上,儲存資料所需的時間與成本相對昂貴。