ADAC 區塊淺釋 | 一文讀懂 智能合約及其運作原理

編輯: ADAC

智能合約是區塊鏈革命的核心,為去中心化應用程序(dApps)提供構建模塊。

“Smart contract” (智能合約)一詞是在 1990 年代由 Nick Szabo 撰寫的一篇學術論文中被首次提出的。簡單來說,智能合約是通過一段代碼來撰寫旨在執行一組特定指令的合約。

DApps (去中心化應用程序)的本質上就是一系列鏈接的智能合約。這樣打個比方,我們都對應用程序和應用程序商店的使用很熟悉:瀏覽、下載想要的應用程序,然後就擁有它的功能——在這些應用程序可愛的 UX 和 UI 界面背後,這些應用程序正在執行其創建者制定的一組特定指令——它們可以是遊戲、日曆或購買商品和服務的方式。智能合約執行的功能非常相似,因此簡單來說智能合約是通過一段代碼來撰寫旨在執行一組特定指令的合約。

唯一的區別是,智能合約沒有中間方,即沒有個人或公司會持有或驗證您的信息,而是其中的區塊鏈為你驗證並保存信息記錄。 Vitalik Buterin 和以太坊(Ethereum)社區相信這是區塊鏈的未來。如果把比特幣(BTC)比作是商業世界的黃金,那麼智能合約就是商業世界賴以生存的石油。

 

智能合約如何運作?

假設你打算在網上購買一輛二手車,在沒有智能合約的情況下,你需要:

  • 一個可以列出所有二手車放售信息的網站
  • 一種與賣家溝通的方式
  • 一個支付系統
  • 一個退款機制
  • 向相關當局登記汽車的所有權

以上每一項,你都會需要給予該選定的網站或服務商一定程度的信任方才能完成。很多時候,每個部分都由不同的公司或個人控制,而只要其中一家公司或個人別有居心,很有可能可以讓你的整個計劃搞砸。

而智能合約就消除了在購買一個東西的過程中需要信任這麼多方的需要。

因為智能合約是:

  • 安全的🔒:使用密碼學來阻止人們更改記錄
  • 透明的🔍:每個人都可以在區塊鏈上看到智能合約的內容以及它的用途
  • 不需要第三方的🙋:無需中間方驗證,使用區塊鏈驗證
  • 自動化的⚙️:自動化運作,無需等待某位員工按下按鈕
  • 準確的💯:用代碼編寫,不依託於語言文字表達時出現的灰色地帶和單詞釋疑

智能合約的中心機制是一個類似於 “如果發生這種情況,請執行此操作” 的概念。

這個概念在今天已經存在,假設你想使用借記卡或信用卡付款,銀行運行的軟件將通過以下方式使用“如果發生這種情況,請執行此操作”:

  • 如果銀行帳戶中的金額大於要求的金額,請釋放資金。
  • 如果銀行帳戶中的金額小於要求的金額,請不要釋放資金。

智能合約的不同之處在於,它不是由銀行或任何第三方作為該決定的控制者,而是由區塊鏈決定。因此,將上面的案例應用於構建在區塊鏈上的智能合約就會是:

  • 如果數字錢包中的金額大於要求的金額且尚未使用,請釋放資金。
  • 如果數字錢包中的金額小於要求的金額,或者已經使用,請不要釋放資金。

智能合約令人興奮的一點是它意味著任何人都可以與其他人達成協議,而區塊鏈會記錄下整個事情。

 

智能合約設計

與常規合約一樣,智能合約旨在執行協議條款,包括加密貨幣交換、代幣化權利、身份證明,等。當滿足預定義的條件時,智能合約將自動執行。智能合約的操作可以用三個主要術語來簡要描述:

  • 互聯性🔗:每個智能合約通常都有一組有限功能,設置多個智能合約相互連接時可以形成功能更複雜的去中心化應用程序(dApps)
  • 對象🧿:與智能合約交互的以及智能合約根據預定義或新提交的條款修改的主體對象
  • 環境🌍:智能合約依賴於其底層加密環境來確保運行安全性,所用數據的透明度和不可變性

在大多數區塊鏈上,智能合約的代碼是不可變的,儘管一些區塊鏈也支持可更新的智能合約。

dApps 如何應用智能合約?

去中心化應用程序(DApps)可以理解為一堆捆綁在一起的智能合約。單獨的智能合約只能用於一種類型的交易,然而,一個DApp 可以將多個智能合約捆綁在一起來完成更複雜的事情,並給用戶一個友好的使用界面,就像今天的很多應用程序一樣。

較著名的 DApp 例子:

  • MakerDAO:一個去中心化金融 (DeFi) dapp,使用戶能夠在不需要中間人的情況下進行加密貨幣借貸
  • Uniswap:基於以太坊的交易所,允許任何人交易ERC-20 代幣
  • Axie Infinity: 一款 Play-to-Earn 遊戲,玩家在其中收集和繁殖用來戰鬥的NFT 怪物

 

誰在使用智能合約?

智能合約是一項相對較新的技術,但它們已經得到廣泛應用——尤其是在純加密項目中。智能合約是整個去中心化金融 (DeFi) 革命的核心,現已用於推動 Compound、Aave、Uniswap 等數百種流行的 DeFi 協議。它們也被許多公司採用,甚至一些政府也開始試驗智能合約,例如:

  • Ubisoft:遊戲巨頭 Ubisoft 專門設計的智能合約允許用戶擁有、轉讓和索取其廣受歡迎的遊戲 Rabbids 的稀有NFT
  • 瑞典政府:瑞典政府已經測試了一個基於區塊鏈建立在智能合約之上,用於證明土地的所有權的土地登記處

 

智能合約並不是完美的

智能合約在許多區塊鏈上是不可變的。這意味著一旦啟動,它們就無法更改或升級,如果代碼存在潛在問題,可能會導致災難性後果。 2016 年,以太坊 DAO 黑客就曾利用 DAO 拆分功能中的漏洞竊取了數百萬以太幣 (ETH)。

未知和新穎的攻擊矢量也經常被利用,使投資者損失慘重。 2020 年 9 月, 大量投資者向Yearn Finance 的項目 Eminence 投入了資金,一名黑客成功利用測試版系統崩潰盜取了 1,500 萬美元。

同樣,簡單的代碼錯誤可以使整個智能合約變得毫無用處。 2020 年 8 月,DeFi抵押代幣收息(Yield Farming)項目 YAM 因為使用未經審計的智能合約,被一個使其治理功能失效的關鍵性代碼錯誤導致項目失敗。

 

智能合約審計

儘管智能合約受到其底層區塊鏈技術的保護,但它們也需要在設計上保持安全性,避免其代碼中的某些功能或錯誤被惡意利用。由於過去已經發生過多次安全性引起的問題,設計上的安全性仍然是智能合約更廣泛被採用的最大挑戰之一。根據區塊鏈安全公司 CertiK 數據,僅在 2021 年,DeFi 黑客攻擊就導致了 13 億美元損失。總共有數十億美元的資產從無擔保的智能合約中流失,包括前面提到的 Eminence 黑客攻擊和 2022 年 1 月對 DeFi 項目 Wormhole 進行的價值 3.25 億美元的黑客攻擊。

為了降低這種風險,現在許多第三方開發和安全公司,如 Mythx 和 ConsenSys Diligence,提供智能合約審計服務。服務涉及仔細檢查智能合約代碼以識別任何漏洞,使可以對其進行修復。所以這通常發生在智能合約公開之前。一些 dApp 會在官方網站的頁腳附上其智能合約審計,為沒有時間或專業知識自行檢查代碼的用戶提供信心。

 

市值排名前 10 的智能合約平台

智能合約平台已發展成為加密經濟中最重要的領域之一。基於 CoinMarketCap 的數據,在市值排名前 10 位的加密資產中,三個是智能合約平台,其中一個是以太坊,僅次於比特幣(BTC)本身。

截至 4 月底,10 個領先的智能合約平台的總市值已超過 4,800 億美元,其中包括:

  • Ethereum:以太坊,可以作為 dApp 運行的平台
  • BNB Chain:加密貨幣交易所Binance開發的智能合約鏈
  • Cardano:Cardano 是一個開源的公共區塊鏈項目,它的獨特之處在於它聲稱自己是“世界上第一個經過同行評審的區塊鏈”,在其協議發佈之前,有一堆學者和科學家先去檢查了協議
  • Avalanche:由 Ava Labs 開發的新金融原語和dApp應用的開源平台

 

智能合約的未來

如今,大多數區塊鏈都具有智能合約功能,並有活躍的開發者社區使用例如 Cosmos 和 Hyperledger 等區塊鏈上的智能合約創建 dApp。智能合約的應用範疇可以非常廣泛, 我們仍處於應用智能合約和 dApp 的早期階段,但可以看到的是公司甚至政府已經在試驗他們的潛力,把他們應用在廣泛的任務中,包括數碼身份、供應鏈管理、保險、數據存儲,等等。

 

相關:ADAC 區塊淺釋 | 為什麼Oracles對 DeFi 的發展至關重要?

相關:值得注意: 5 個 NFT 智能合約漏洞!

 

🌈一按加入ADAC Telegram社區🌈即時交流 Web3研究💬

你可能感興趣