近日,美國總統拜登簽發了旨在改善國家網絡安全的行政命令,同時在拜登總統令中強調,聯邦政府網絡安全現代化的關鍵舉措之一便是邁向零信任架構。政府部門向雲技術的遷移應在可行情況下採用零信任架構。 CISA 應對其當前的網絡安全計劃、服務和功能進行現代化升級,使其能夠在具有零信任架構的雲計算環境中完全發揮作用。
受該政策影響,“零信任”成為頗受安全領域關注的一個技術方向。在“零信任”領域,智能合約無疑是不可忽略的一項技術。
大家對應用和應用商店都很熟悉:在商店中瀏覽、下載所需的應用,然後離開。在可愛的UX 和UI 界面之後,這些應用正在執行其創建者制定的一組特定指令。智能合約執行著與此非常相似的指令。智能合約是一種用一段代碼來表達的合約,旨在執行一組指令。
唯一的區別是,在智能合約中沒有中間人。沒有任何人或公司持有用戶信息或對其進行驗證,進行驗證和記錄保存的是區塊鏈。
Vitalik Buterin 和以太坊社區相信這就是區塊鏈的未來。如果說比特幣是商業世界的黃金,那麼智能合約就是商業世界賴以生存的石油。
誰創建了智能合約?
“智能合約”一詞是在1990 年代由著名計算機科學家和密碼學家Nick Szabo 撰寫的一篇學術論文中提出,這位科學家還是開發比特幣的先驅之一,即Bit Gold。 Szabo 最初描述的智能合同旨在執行一些基本任務,例如減少欺詐和執行合同安排,但後來他在1996 年的一篇論文中詳細闡述了這一技術在數字現金、智能財產等方面的潛在用例。
在沒有智能合約的時候,如果想要在線上購買一輛汽車,你需要:
一個展示網站,可保存你想要查看的所有汽車的信息一種與賣家溝通的渠道一種付款系統,你在找到心儀的汽車後用它來付款如果交易失敗,那麼還需要退款系統你還需要在管理部門註冊汽車所有權的轉移情況
這個過程中,用戶需要對這些可能由不同公司或個人控制的站點或服務保持信任,但懷有惡意的個人或組織無需花費太多時間就可以篡改任何一項信息,從而讓整個流程失效。智能合約則消除了在購買商品的過程中需要信任如此多參與方的要求。這主要源於智能合約本身的幾個特點:
安全:智能合約使用加密技術來阻止人們更改記錄。透明:每個人都可以在區塊鏈上看到智能合約及其用途。第三方免費使用:智能合約不需要中間人驗證。自治 智能合約會自動運行,不必等待別人來執行操作。準確:由於智能合約是用代碼編寫的,因此它們不依賴會產生歧義的自然語言。
智能合約的執行機制
智能合約的核心往往是這樣一種機制(用計算機代碼表示):“如果發生這種情況,那就這樣做”。對應到指令執行程序,即根據提供的信息使用if/else 語句和其他條件邏輯,自動產生結果。
其實,現代社會已經有這種機制了。比如你要使用借記卡或信用卡支付費用,銀行的軟件將通過以下方式執行“如果發生這種情況,那就這樣做”的機制:
如果銀行帳戶中的金額大於要求的金額,請釋放資金。如果銀行帳戶中的金額少於要求的金額,請不要釋放資金。
使用智能合約的區別在於,決定權在區塊鏈,而不是由銀行(或任何第三方)。因此,如果用構建在區塊鏈上的智能合約來執行,將看到以下內容:
如果數字錢包中的金額大於要求金額且尚未用完,請釋放資金。如果數字錢包中的金額小於要求金額或已用完,請勿釋放資金。
使用智能合約意味著任何人可以與任何人達成協議,區塊鏈會記錄整個交易過程。
像常規合同一樣,智能合約就是要執行協議條款——無論是身份證明、交換數字貨幣還是其他事務。滿足預定條件時,智能合約將自動執行。可以使用三大術語來簡要描述智能合約的操作:
互連性:每個智能合約通常具有一組受限制的功能。可以設置多個智能合約來相互連接,並且形成更複雜的機制,這被稱為去中心化應用(DApps)。對象:這是與智能合約和由智能合約根據預定義或新提交條款修改的主題進行交互的簽名者。環境:智能合約依賴於底層密碼環境來確保運行的安全,並且其數據是透明、不可變的。
儘管一些區塊鏈支持更新智能合約,但大多數區塊鏈智能合約的基礎代碼是不可變的。
智能合約的廣泛應用
DApps 或去中心化應用可以被視為打包在一起的智能合約組合。單獨的智能合約只能用於一種類型的交易,但是DApp 可以將多個智能合約打包在一起來執行更複雜的事務。
目前也有一些在業內比較知名的DApp:
Augur:一種工具,使任何人都可以投機於金融衍生品MakerDAO:一種去中心化金融(DeFi)DApp,使用戶無需中間人就可以藉出和借用加密貨幣。 Uniswap:一個基於以太坊的交易平台,使任何人都可以交易ERC20 代幣。 CryptoKitties:獨特的基於NFT 的加密貨幣收藏品,可以使用智能合約對其進行“繁殖”。 gentArgent:一種以太坊錢包,使用智能合約擺脫了地址和私鑰等概念。
智能合約雖然是一種相對較新的技術,但卻是整個去中心化金融(DeFi)革命的核心,並被用來為一些流行的DeFi 協議提供支持,如Compound、Aave、Uniswap 以及其他數百種協議。同時,智能合約也被許多公司採用,甚至一些政府也已經開始進行嘗試。
視頻遊戲巨頭育碧在很大程度上擁抱了區塊鏈。育碧為其眾多的區塊鏈計劃精心設計了專用智能合約,允許用戶基於其廣受歡迎的Rabbids 遊戲系列擁有、轉讓和申領稀有的不可替代令牌(NFT);荷蘭銀行ING 聯合創建了基於區塊鏈智能合約的貿易結算系統Fnality,同時還參與了許多區塊鏈計劃;瑞典政府已經測試了基於區塊鏈的土地註冊系統,用來對土地所有權進行確認。
智能合約並不總是完美
儘管智能合約被普遍認為是執行協議和邏輯的“零信任”方式,但它並不是沒有問題。
一方面,智能合約在許多區塊鏈上都是不可變的,這意味著一旦啟動就不能對其進行更改或升級,如果代碼存在根本性問題就可能導致災難性的後果。 2016 年的以太坊DAO 黑客事件就是一個絕佳的佐證,當時身分不明的黑客利用DAO 拆分函數中的漏洞偷走了數百萬以太坊(ETH)。
另一方面,未知和新穎的攻擊媒介也經常被利用,從而導致投資者損失。在2020 年9 月,Yearn Finance 的Andre Cronje 一個項目Eminence 的測試版本崩潰時就出現了這種災難。在大量投資者將資金投入其中之後,它被一位不知名的黑客成功攻破,投資者損失高達1500 萬美元。
同樣,簡單的錯誤代碼也能讓智能合約化作廢紙。 2020 年8 月DeFi 挖礦項目YAM 的崩潰就可以證明這一點,該項目使用了未經審計的智能合約,並受到了一個嚴重錯誤的影響,導致其治理功能失效。
儘管智能合約是通過底層區塊鏈技術來進行保護,但它們也需要通過設計來確保其安全性——因為其代碼中的某些功能或錯誤可以被惡意利用。
這種情況過去已經發生過多次,並且仍然是智能合約通向更廣泛採用目標時面臨的最大挑戰之一。已經有總計價值上億美元的資產從不安全的智能合約中流失,其中包括上述的Eminence 黑客攻擊和2020 年4 月的黑客攻擊,導致2500 萬美元從dForce 被盜。
區塊鏈調查公司CipherTrace 在2020 年11 月的一份報告中發現,僅DeFi 項目一個月就浪費了大約1000 萬美元。
為了幫助最大程度地減少這種風險,有許多第三方開發和安全公司提供智能合同審核服務,包括仔細檢查智能合約代碼以識別任何漏洞,然後開發者對這些漏洞進行修復。這一步通常在智能合約公開之前完成。流行的DApp 通常會在其網站的頁腳中發布其智能合同審核信息,從而為沒有時間或專業知識自行檢查其代碼的用戶提供信心。
如今,大多數區塊鏈都具有智能合約功能,很多活躍的開發者社區使用上面的智能合約來創建DApp,智能合約的能力範圍從簡單變得日益複雜。現在仍處於智能合約和DApp 現實應用的早期階段,但是已經有公司甚至政府在數字身份、供應鏈管理、保險、數據存儲等領域進行嘗試,智能合約在未來還有很大的可能。
附:按市值排名的十大智能合約平台
在撰寫本文時,這10 個領先的智能合約平台的總市值超過1760 億美元,它們分別是:
以太坊(Ethereum):以太坊被設計為去中心化的“世界計算機”,可以用作運行DApp 的大平台。
Cardano:Cardano 是一個開源公共區塊鏈項目。它的USP 自稱是世界上第一個經過同行評審的區塊鏈,由一批學者和科學家在協議發布之前對其做了仔細檢查。
Polkadot:Polkadot 由以太坊聯合創始人Gavin Wood 創建,是一個“多鍊網絡”,旨在將區塊鍊網絡連接在一起。
EOS:EOS 以商業用戶為目標,旨在解決圍繞區塊鏈的常見問題,例如速度和可擴展性。
TRON:Tron 是一種“去中心化虛擬機”,最初被設計為社交媒體和娛樂平台,現在其崇高目標是支持去中心化互聯網。
NEM:NEM 平台是新經濟運動的縮寫,旨在為企業提供一種更有效的方式來驗證和轉移區塊鏈資產。
Tezos:以太坊的競爭對手Tezos 是從頭開始設計的,是基於鏈上治理的權益證明型區塊鏈。代幣所有者可以對提案投票,以更改Tezos 區塊鏈的工作方式。
VeChain:VeChain 旨在改善和簡化供應鏈管理,幫助企業消除製造和交付過程中的欺詐行為。
NEO:NEO 通常被稱為“中國以太坊”,它與以太坊的不同之處在於前者沒有交易費。它也更快,每秒支持約10,000 個事務。
Cosmos:Cosmos 是“區塊鏈的互聯網”,這是一種區塊鍊網絡的網絡,旨在使用區塊鏈間通信協議進行無縫通信。