比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > 中幣 > Info

BSP:淺析Vyper:一款受開發者歡迎的智能合約編程語言

Author:

Time:1900/1/1 0:00:00

昨夜開始,Curve 因受 Vyper 個別版本的重入鎖故障影響,導致旗下 alETH/msETH/pETH 等穩定池被黑客攻擊,由此引發一系列的 DeFi 次生災害與加密世界震蕩,至今仍在持續發酵中。

這也是 DeFi 世界罕見地直面針對智能合約語言層 Bug 的攻擊事件。不過相比于加密世界中常常見諸報端的 Solidity 語言,Vyper 其實并不那么為人所熟知。

那 Vyper 究竟是什么,它在 DeFi 世界中扮演著怎樣的角色,為什么它的 Bug 又會引起行業的高度關注?本篇文章 Foresight News 就帶大家來了解一下目前正處于風口浪尖的 Vyper 語言。 

Vyper 創建于 2017 年,在此之前,開發人員編寫智能合約最常用的語言是 Solidity。而 Vyper 和 Solidity 一樣,都是一種面向智能合約的編程語言,可編譯為以太坊虛擬機(EVM)的字節代碼,運行在 EVM 上。

Ava Labs創始人因贏得加密貨幣誹謗訴訟獲賠300萬美元:5月2日消息,Ava Labs 創始人兼首席執行官 Emin Gün Sirer 贏得了針對加密貨幣 KOL 的誹謗訴訟,并判給他 300 萬美元的賠償金。這起訴訟源于加密貨幣影響者 Emre Aksoy 在 2021 年 2 月的 YouTube 視頻中聲稱,Aksoy 將 Sirer 與土耳其政府稱為 Fethullah 恐怖組織 (FETO) 的伊斯蘭組織聯系起來。訴訟稱,Aksoy 被描述為“營銷專家”,受雇推廣與 Ava Labs 競爭的產品。[2023/5/2 14:39:04]

不過 Vyper 的編譯器使用 Python 進行編寫,是一種基于 Python 且兼容 EVM 的編程語言,具有強類型、小型編譯器代碼和高效的字節碼生成的特點,這也使其成為想要進入 Web3 的 Python 開發人員的最佳選擇之一。

這導致從采用率角度看,目前的 Vyper 也是僅次于 Solidity 的「第二大兼容 EVM 的智能合約編程語言」,截至此次攻擊事件發生前的 DeFiLlama 最新統計數據顯示:

幣安NFT市場調整NFT系列鑄造費用及關注者要求:2月10日消息,幣安在公告中表示,為了及時跟進來自社區反饋的有關NFT鑄造功能的建議,并防止鑄造低質量NFT和濫用此功能,幣安NFT已經審查并將更新NFT系列鑄造費用,以及調整幣安NFT平臺獲得NFT鑄造功能所需的關注者最低要求。該更新將于2023年02月16日07:59生效。

更新后,所有在幣安NFT上擁有至少10位關注者且完成標準身份認證的用戶均可鑄造NFT。每個NFT系列都需要支付固定的系列鑄造費用,其中包括智能合約部署費和服務費。集合鑄幣費收取如下:以太坊(ETH):0.50 ETH;BNB智能鏈(BSC):1.00 BNB。[2023/2/10 11:59:02]

在目前的 DeFi 開發格局中(TVL 占比維度),Solidity 以 94.71% 的市場份額占據絕對壟斷地位,而 Vyper 以 3.04% 的市場份額位列第二名。

而第三名開始往后的 Rust(0.9% )、Cairo(0.53% )、Haskell(0.26% )已經是斷崖式下降。

CZ:FTX投資的項目有些是可以挽救的:金色財經報道,Binance 首席執行官 CZ 在接受彭博社采訪時表示仍有可能收購 FTX 資產,他還證實,已破產的 FTX 此前收購的一些加密項目將會在其加密復蘇基金的“購物清單”上,但沒有說明具體有哪些項目。CZ 補充稱:“我們絕對想看看 FTX 的資產(We definitely want to look at those assets),他們投資了很多不同的項目,有些還好,有些則不太好,但我認為有很多資產是可以挽救的,如果這些項目可用的話,我們會仔細研究。”[2022/11/24 8:05:30]

除了基于 Python 的特點之外,Vyper 不采用面向對象模式、內聯匯編,并且不支持代碼重用、修飾符、繼承、函數重載、遞歸調用、無限長度循環和二進制定長浮點等。

此外它還針對安全性、可讀性、可審核性和 Gas 效率進行了優化:

安全性:支持在 Vyper 中構建安全的智能合約;

可讀性:Vyper 的智能合約語言和編譯器實現力求簡單,以提高代碼的可讀性,尤其是對于沒有使用 Vyper 經驗的用戶以及一般沒有編程經驗的用戶;

Glassnode:以太坊期權未平倉合約歷史首次超過比特幣期權未平倉合約:金色財經報道,據區塊鏈分析公司Glassnode最新分析顯示,衍生品交易商正在關注以太坊“合并”,當前以太坊期權未平倉合約為66億美元,比比特幣的48億美元期權未平倉合約還要高,屬于歷史上頭一次。雖然還沒有達到歷史最高點,但ETH期權的未平倉合約已經接近創造新的歷史,而比特幣的未平倉合約仍然遠遠低于峰值,僅為歷史最高值的35%。市場上已經堆積了巨量的看漲期權,讓看跌期權相形見絀,交易者們似乎看好以太坊價格上漲至2200美元,大量未平倉合約甚至達到5000美元。[2022/8/10 12:16:20]

可審核性:Vyper 代碼最大限度地讓人可讀,且其簡單架構減少了軟件錯誤,提升了智能合約的可審計性;

Vyper 的創始人 John Max Skaller 曾表示,構建 Vyper 有兩個原因:「首先,我喜歡 Python,特別是它的簡單性,但我不喜歡它缺乏范圍確定性,凡事都需要做大量更改來取得進展,因此我決定在保留與 Python 兼容性的同時,通過建造高級得多的編程語言,并在其中建造函數性編程語言的某些概念來改正這些問題。

Aglaé Ventures將推出1億歐元的web3基金:金色財經報道,由LVMH董事長兼首席執行官Bernard Arnault 支持的風險投資公司Aglaé Ventures將推出一個專門的加密基金。其啟動的確切時間尚不清楚,兩位知情人士表示,該基金的規模將在 1 億歐元(1.02 億美元)至 1.1 億歐元之間。 總部位于巴黎的Aglaé此前曾支持Airbnb、Netflix、Slack 和 Spotify 等科技巨頭,這是首次涉足加密領域,與加密做市商Flowdesk共同領導了3000萬美元的融資。目前該基金尚未公開投資。

該基金將專注投資于加密初創公司、Web3基礎設施、Layer 1公鏈及Layer 2項目等。[2022/8/3 2:57:26]

第二個原因是性能。我有一個稱之為 interscript 的主要 Python 程序,一個有讀寫能力的編程工具,它受到 Python 中缺乏良好結構和性能問題的困擾」。

總的來說,Vyper 的設計初衷是為了創建出智能合約參與方易懂的透明智能合約簡化流程,以主打可讀性與可審核性,從而確保安全。

本章節談及的 Vyper 優劣勢,主要是相比 Solidity 語言,畢竟從上文提到的市場份額維度,其它的智能合約語言暫時還未形成較大的氣候。

首先,Vyper 相比 Solidity 的最大優勢之一,就是它基于 Python 開發的特性,因此雖然 Vyper 的功能和流行程度不如 Solidity,但對于熟悉 Python 的開發人員來說,它是理想的可選語言。

同時,Vyper 編譯器還選擇將局部變量存儲在內存中而不是堆棧上,這使得合約更加簡單和高效,并解決了其他高級語言中常見的「堆棧過深」的問題。

Vyper 也提供了更多內置函數,以確保幾乎每個 Solidity 和 Yul 中的功能在 Vyper 中也可以實現。開發者通過內置函數可以訪問低級位運算、外部調用和代理合約操作,通過編譯時提供覆蓋文件可以實現自定義存儲布局。

而 Vyper 相比 Solidity 的劣勢也很明顯,主要源于它是一種相對 Solidity 較新的語言,所以首當其沖自然是開發者維護和社區工具層面的短板:

Vyper 至今仍然缺乏 Solidity 所擁有的廣泛社區支持——Solidity 有大量優秀的開發工具可供使用,像 OpenZeppelin 為安全的智能合約開發提供開源庫,以及 Remix 在線 IDE 和本地開發人員環境 Hardhat 等 IDE,為其提供了允許輕松開發 DApp 的工具和功能。

截至發文時,GitHub 數據顯示,Solidity 的貢獻者為 568 人,而 Vyper 為 189 人,相差 3 倍。

不過 Vyper 雖然沒有豐富的的開發工具套件,但它有更緊密集成的工具,并且也可以插入到 Solidity 開發工具中——如 Titanaboa 解釋器,具有許多與 EVM 和 Vyper 相關的內置工具,可用于實驗和開發;Dasy,作為一種基于 Vyper 的 Lisp,具有編譯時代碼執行功能。

此外從技術細節角度,Vyper 缺少修飾符、類繼承和遞歸調用,并且編程語言不是圖靈完備的。

當然這些大部分是 Vyper 特意提供更少的功能,旨在提升安全性和可審計性,以使合約更安全和易于審核,但這也使得開發人員需要額外的工作來解決這些限制,從而意味著本就不占人力優勢的 Vyper 注定開發效能偏低。

目前來看,此次 Vyper 故障只涉及 0.2.15、 0.2.16 和 0.3.0 等幾個特定版本,且從上文也可知,使用 Vyper 編寫的頭部 DeFi 項目的體量并不大,僅占不到 5% 的 TVL 市場份額。

那為何此次 Vyper 的故障卻造成了如此大的影響?

簡言之,雖然在主流 DeFi 協議中,主動使用 Vyper 語言進行開發的項目并不多,且此次出現問題的是 Vyper 的幾個特定版本,但有一個頭部 DeFi 項目卻是基于 Vyper 開發:

沒錯,正是 Curve,主要原因似乎與上文提到的 Gas 優化特性有關——因為 Curve 合約較為復雜,Vyper 使得這些復雜性變得更易于管理,并進一步節省 Gas(其它基于 Vyper 開發的知名項目則屈指可數,如 Uniswap v1 版本、第一個 ETH 2.0 存款合約等)。

由于 Curve 已經成為 DeFi 世界甚至整個鏈上金融的關鍵基礎設施,所以在層層嵌套之下,Curve 的穩定池本質上就是絕大部分協議的底層資金與收益來源,這也是此次安全事件發生至今,JPEG'd、Alchemix、Metronome、deBridge、Ellipsis Finance 等余震不斷的關鍵原因。

不過 Vyper 的新版本已經修復這個漏洞,但由于受影響的 Curve 穩定池合約不可升級,因此無法進行部署升級,只能選擇廢棄對應合約,將資金撤出。

總的來看,此次安全事件之所以大家會心有余悸,主要是因為智能合約語言層的 Bug 風險,已經遠超 DeFi 協議本身或者說智能合約邏輯的范疇。

試想一下,如果此次不只是 Vyper,而是連 Solidity 也同樣出了問題,那么鏈上所有的 DeFi 協議可能都幾難幸免,我們甚至會真的面臨「DeFi 不存在了」的風險。

但禍兮福之所倚,這次 Curve 也算被動掀開了對智能合約語言層進行攻擊的問題蓋子,讓大家意識到了這個可能,對 DeFi 世界而言,是一次大考,也是一場自我救贖的機會。

Foresight News

企業專欄

閱讀更多

金色財經 Jason.

白話區塊鏈

金色早8點

LD Capital

-R3PO

MarsBit

深潮TechFlow

Tags:BSPNBSDITSOLIDBSPAY幣NBS價格LBRY CreditsSOLID幣

中幣
DOT:解讀Polkadot 2.0:放棄插槽拍賣機制 以NFT的形式出售核時間并可進行切割和組合

Gavin Wood為Polkadot提出了一種新的租賃方案,核時間將以NFT的形式進行租賃,它將向NFT一樣可以任意切割和組合.

1900/1/1 0:00:00
MIC:MicroStrategy計劃出售股票籌集7.5億美元購買比特幣

作者:FELIX NG,COINTELEGRAPH;編譯:松雪,金色財經總部位于美國的軟件開發公司 MicroStrategy 計劃通過股票發行籌集最多 7.5 億美元.

1900/1/1 0:00:00
TRA:長推:土狗盤場內互割 —— 市場終于到了深熊區域

作者:2898,來源:作者推特:@punk2898刻 19 年的舟,這波熊市到底了么?我判斷熊市到底的方式和其他人都不太一樣。根據 19 年的資金盤和 23 年的土狗盤的共性可以找到線索.

1900/1/1 0:00:00
ANC:CZ重發6年前文章:千里之行始于足下 創業從小事做起

作者:CZ, Binance;編譯:TechFlow 深潮7 月 24 日,Binance 創始人 CZ 在推特發布了他曾于 6 年前寫的長文《I Don't Like Big ICOs.

1900/1/1 0:00:00
SEM:Semafor:美國司法部考慮對幣安提出欺詐指控

來源:Semafor;編譯:比推BitpushNews Mary Liu據知情人士透露,美國司法部官員正在考慮對加密貨幣交易所幣安提出欺詐指控,但擔心市場產生"踩踏效應".

1900/1/1 0:00:00
WEB:Web3融資周報:總融資額約2.59億美元 OKX Ventures宣布投資首個Web3操作協議 dappOS

文/董諾 Web3融資周報由鏈茶館編輯整理最近一周全球的web3項目融資情況,內容都是由公開媒體信息發布,暫時無法逐一向項目方核實,請謹慎參考.

1900/1/1 0:00:00
ads