金色財經區塊鏈11月27日訊隨著DeFi的快速增長,提供DeFi服務的平台和產品也如雨後春筍般紛紛冒頭。作為衡量DeFi協議管理資金規模的標準之一,DeFi“總鎖倉量”在過去兩年一路從100億美元增長到超400億美元,期間更是一度衝上1800億美元的巔峰。但直到今天,智能合約編程語言功能並沒有足夠完善到可以安全地創建和管理資產。面對這頭“房間裡的大象”,我們無法選擇視而不見,因為DeFi要想稱為主流,編程語言就必須要具備“資產導向”功能,只有這樣DeFi智能合約的開發才能更加安全和直觀。
截至2022 年11 月,DeFi 的總鎖倉量。數據來源: DefiLlama
DeFi編程語言尚未融入“資產”概念
要想解決DeFi常年遭受黑客攻擊的問題,編寫“審計代碼”就是一個很好的方法。如果細數歷史上規模最大的十次DeFi黑客攻擊,那麼你會發現其中有9次都是由“未審計”惹的禍。所以從某種程度上來說,審計的確是一種避免攻擊非常有效的方法。假如沒有審計,那麼即便在黑客攻擊問題上投入再多的資源也無濟於事。這就好比為了解決一輛方形輪胎汽車的性能問題而安裝大量發動機一樣,這樣做雖然可以讓它跑得更快一些,但是沒有找到突破性能的關鍵點。
同理,如今的DeFi編程語言,比如Solidity,並沒有融入“資產”這個概念。代幣、NFT這類資產僅僅只是智能合約中的一個變量(可以被更改的數字,如以太坊的ERC-20),而至於這些變量該如何被保護以及被驗證則需要開發人員對每個智能合約進行重新定義。比如,該變量不應被使用兩次;不應被未經授權用戶耗盡;轉移時應該始終保持平衡且淨值為零。 。 。 。 。 。
隨著智能合約變得越來越複雜,所需的保護和驗證也正在變得越來越複雜。然而,人無完人,金無赤足,發生錯誤在所難免,資產也會因此而丟失。就連DeFi領域最佳藍籌協議之一的Compound也無法倖免於難。 2021年9月,Compound智能合約中的一個Bug導致其錯誤分發了8000萬美元代幣,原本應通過該合約緩慢分發給所有流動性提供者的COMP代幣被錯誤釋放,部分用戶收到了遠高於正常數量的代幣。
連鎖反應
智能合約之間的交互(如代幣之間的交換)是通過發送消息到各合約來實現的。智能合約在收到消息之後會更新其內部變量列表,而結果則反映出了一個較為複雜的平衡過程。至於智能合約之間的所有交互是否能正確處理則完全取決於DeFi開發人員。由於Solidity和以太坊虛擬機(EVM)在設計初期沒有考慮到防護問題,因此DeFi 開發人員必須在後期通過一定的設計來確保必需的防護和驗證。
為了降低安全風險,DeFi 開發人員幾乎將所有時間都花在了確保代碼安全上。那些開發人員表示,他們在寫完代碼後一定會進行反复仔細檢查,甚至不惜花費高達90%的時間進行驗證和測試,而只留下10%的時間在構建產品性能和功能上。令人費解的是,開發人員將自己的大部分時間都花在了與不安全代碼作鬥爭上,再加之開發人員短缺,DeFi為何還能發展得如此之快?
很顯然,儘管當今的可編程化貨幣存在著風險和挑戰,但這種能夠實現自我主權、無需許可以及自動化的可編程化貨幣仍然是無法阻擋的大趨勢。我們可以想像一下,假如DeFi開發人員能夠將他們的生產力集中在開發產品功能性方面而不是整天忙於處理各種漏洞,那麼該有多少創新力量可以被釋放出來。這種創新很可能會帶來一個驚人的結果,那就是使一個剛剛起步的460億美元行業顛覆一個468萬億美元的全球金融大行業。
2002年至2020年全球金融機構總資產。資料來源:Statista
創新與安全
DeFi要想做到既創新又安全,關鍵一點在於要為開發人員提供一種簡單的方法來創建資產並與其進行交互,與此同時將基本功能轉換為編程語言的原生功能。最重要的是,創建的任何資產都應始終具有可預測性並符合常識性財務原則。
其實,在以資產為導向的編程範例中,創建資產就像調用原生功能一樣簡單。平台知道什麼是資產,比如.initial_supply_fungible(1000)創建了一個固定供應量為1000的同質化代幣(除了供應之外,還有更多的代幣配置選項可用),而.take和.put等功能則從某個地方獲取到代幣後再將它們放置在其他地方。
在以資產為導向的的編程中,任何人都會很自然地期望有關DeFi的基礎操作已包含進了該語言的原生功能,而不是開發人員通過編寫複雜的程序來指示智能合約用錯誤檢查來更新變量列表。在這種情況下,有了以資產為導向的編程來做保證,代幣就不會丟失或被耗盡。
以上就是在DeFi領域獲得創新和安全性的方法。只有一切以資產為導向,來自主流的看法才會又所改變,人們也才會從遠遠觀望這個令人生畏的DeFi轉變為爭先恐後地要將自己的資產投入其中。不然,你就輸了。
本文部分內容編譯自cointelgraph