6月18日,Facebook發布Libra項目白皮書,旨在建立一個簡單的全球性貨幣且為數十億人賦能的金融基礎設施。
FacebookLibra在全球被普遍關注,金融監管者、從業者和學者紛紛從不同角度進行解讀。還有很多人從哲學、學或是經濟學等角度分析Libra。正如一千個人眼中有一千個哈姆雷特,一千個人心中也有一千種貨幣觀點。
我們作為一個技術驅動的公司,更關注這次Libra發布的智能合約語言Move,這個被很多人都譽為Libra最大的創新,Move和以太坊的Solidity、以及可驗證智能合約的DeepSEA語言到底有哪些區別呢?
眾所周知,基于以太坊的編程語言Solidity是目前區塊鏈領域中最常用的開發語言之一。
即使Solidity在安全性方面存在一定的缺陷,并在近幾年發生了不少類似合約溢出的安全事件,并導致用戶大量損失。但由于其良好的適應性和可擴展性,已被廣大開發者和社區用戶所積極采用。
而這次Libra攜Move強勢歸來,便是主打的安全牌。基于Rust和100%靜態類型驗證的全新思路,從底層內存和智能合約編程的代碼層面,來提高了安全性,以期避免發生在以太坊的安全事件。這也是這次Libra發布后,不少人都認為,Move語言才是Libra最大的創新。
以太坊信標鏈質押總量突破2000萬枚ETH 質押率達16.72%:5月16日消息,據Dune Analytics數據顯示,以太坊信標鏈質押總量達20,003,770枚ETH,質押ETH占ETH總供應量的16.72%。其中,流動性質押協議Lido的質押份額達31.48%。此外,自上海升級后凈流入逾82萬枚ETH。[2023/5/16 15:05:15]
但可能我們不太了解的是,由美國區塊鏈安全公司CertiK、耶魯大學實驗室和哥倫比亞大學實驗室共同研發的編程語言DeepSEA的研發也將于近期開發完成。
該語言利用植入其編程語言本身的形式化驗證技術,自動創建數學原理來證明源代碼的安全性,并獲得了以太坊基金會、IBMBlockchain和量子鏈基金會的科研獎金。DeepSEA語言在主打安全性的同時,也在尋求兼容除EVM之外的更多虛擬機,實現信息和資產的跨鏈共享。
今天來自CertiK的安全專家團隊對Move、Solidity、DeepSEA進行了分析比較,解釋這三種編程語言之間的差異,并詳細說明其中的優缺點和復雜性。
Solidity
以太坊成功地在應用場景中引入了智能合約的概念:
當比特幣將儲存在區塊鏈上的數據類型進行編碼時,以太坊的用戶就可以上傳任意一個程序來定制該系統。與比特幣相比,以太坊最大的不同點是:它可以支持更加強大的腳本語言,允許開發者在上面開發任意應用,實現任意智能合約,就是基于這個圖靈完備編程語言——Solidity用以執行這些智能合約。
富達全球宏觀總監:比特幣是一種理想的強力通脹對沖工具:金色財經報道,富達全球宏觀總監表示,比特幣是一種理想的強力通脹對沖工具。[2023/5/13 15:00:26]
在Solidity上發行一個應用程序其實十分的簡單,它可以讓用戶創建一個自己的Token,用戶可以自行持有或者將其轉移至任何以太坊的賬戶上,也就是我們常說的發幣程序。
簡而言之,實現這個功能的方法只需要上傳一個儲存表格的程序,表中需要顯示每個用戶持有多少代幣,并列出一些功能即可。
比如將一個賬戶上的代幣轉移至另一賬戶上的代碼如下:
但是,在實際運行過程中,Solidity的使用并沒有我們想象的那么順利。比如經常出現的整數溢出漏洞會導致Token無限增發、重入風險會導致智能合約遭受到類似DAO攻擊的嚴重損失等。
2018年4月,就有黑客利用以太坊ERC-20智能合約中整數溢出漏洞攻擊BEC智能合約,成功向兩個地址轉出了天量級別的BEC代幣,導致市場上大量增發的BEC被拋售。此事使得當日BEC的價值幾乎歸零,64億人民幣瞬間蒸發。
另一個Solidity可能存在的錯誤是在編譯器中仍存在一些漏洞,這些漏洞可能會導致智能合約存在巨大的安全風險。通常程序員只查看程序的源代碼,如果編譯器有一個bug導致它打出的字節是錯誤的,這樣的錯誤非常難以防范,即便經過了完善的人工測試和靜態分析也仍然不可避免。
基于元宇宙的Web3 SaaS參與平臺Vatom完成戰略輪融資:金色財經報道,基于元宇宙的Web3 SaaS參與平臺Vatom宣布完成戰略輪融資,London Real Ventures參投,但具體融資金額暫未披露。Vatom的Web3元宇宙參與解決方案可以通過無縫沉浸式體驗幫助企業更好地與客戶、員工和利益相關者建立聯系,其客戶包括谷歌、百事可樂、寶潔、德勤、Verizon、iHeart Media、State Farm、WPP 等。(Cryptoslate )[2023/4/26 14:28:46]
整體而言Solidity是一個功能強大并且非常靈活的編程語言——但是仍舊存在安全風險。Solidity不提供任何證明代碼安全性的功能。因此由第三方提供智能合約代碼審計、或者第三方的形式化驗證是證明代碼正確的最有效的方式。目前基于以太坊的智能合約應用廣泛,Solidity的安全性是值得我們重視的。
Move
Libra的智能合約編程語言Move,通過Rust語言固有的安全機制和Move語言100%的靜態類型驗證等措施來達到提高安全的能力。但是經過CertiK的安全專家團隊研究發現,與Solidity相比,Move擁有以下三個重要的不同之處:
Zhu Su:FTX和Alameda自成立以來就混在一起,SBF自7月以來就已資不抵債:12月1日消息,Zhu Su發推稱,FTX和Alameda自成立以來就混在一起。SBF自7月以來就已資不抵債,他有很多瘋狂的行為,包括:對貸方的虛假救助;籌集下一輪資金激怒前投資者等。Zhu Su還表示,了解FTT的起源,Alameda/FTX的整個商業模式是向其他交易公司提供短期流動性上虧損,以吸引交易量和交易員,再通過掠奪性的自由交易賺回利潤。[2022/12/1 21:14:47]
首先,Move通過省略某些特征——動態調度和一般指針——來限制語言的表達,而對語言靈活性的大規模限制可能會引發重入錯誤。Move的設計者表示,這些限制會讓編寫Move的形式化驗證工具更加簡單,但是目前這些工具并不存在,Facebook團隊表示已經充分認識到形式化驗證的優勢和重要性。
一個人口味最好雜一點,耳音要好一些,能多聽懂幾種方言。口味單調一點,耳音差一點,也不要緊,最要緊的是對生活的興趣要廣一點。
“我們將創建一種邏輯規范語言和自動形式化驗證工具,利用Move的驗證友好設計(參見第3.4節)。
驗證工具鏈將有檢查特定程序功能正確性的屬性,這些屬性超出了Move字節碼驗證器執行的安全保證(參?見5.2節)。”
SushiSwap將在Kava上部署DeFi工具:9月9日消息,SushiSwap發推稱,Sushi正在與Kava Network合作,很快將部署一套DeFi工具。[2022/9/9 13:19:20]
——Facebook團隊
其次,Move支持“資源類型”。模塊可以定義特定類型的數據為“資源”,這意味著模塊外部的任何代碼都不能查看該類型值的內容:它們只能在變量之間移動并傳遞給函數,這雖然能夠幫助Move的開發人員確保資源得到保存,但它們還不足以確保功能的正確性——Move設計者也同意這一點,并認為最終他們將需要使用形式化驗證。
第三,關于執行的問題:Move的編譯器會生成類型化的字節碼,同時,有一個可以檢查輸出類型是否正確的“字節碼驗證器”。需要說明的是,這種“驗證器”與形式化驗證無關,它僅是對輸出類型進行一次完整性的檢查。當然,仍然可能會存在它創建類型正確但內容錯誤的編譯器bug。
綜上而言,Libra的Move語言額外添加了一層規范,可以避免很多Solidity的漏洞,然而這些安全性和正確性的保障仍舊是單獨存在的壁壘加持。
DeepSEA
DeepSEA是一個將安全性放在首位的函數式編程語言,使用形式化驗證對源代碼進行安全保護。允許用戶在高抽象的層面上對代碼進行推理,實現無縫驗證代碼安全性的過程。
DeepSEA編譯器能夠為每個程序自動輸出兩個重要信息:
1.一個可執行的字節碼。
2.一個可以加載到Coq中的程序模型。
作為Coq的本機編程語言。由于Coq是一個完全通用的定理證明環境,因此可以與任何類型的人工編寫規范相關聯,除了安全性之外,也具備靈活性和兼容性。
圖為將DeepSEA語言寫到EVM編譯器中的例子:
與Solidity相比,DeepSEA語言與Move類似,在程序模型上會有所限制。目前來看,在第一個版本中還未引用,所以開發團隊將會用與Move使用相同的“樹狀結構儲存”結構,它具有與Move談及的相同的“驗證友好設計”。
DeepSEA系統的另一個主要優勢是其編譯器本身是由Coq編寫的,并已證明其正確性。這意味著它在基礎上就與其他的系統不同。我們可以確保高級語言的語義將會保留在字節碼中。這與僅檢查輸出類型是否正確的Move不同,DeepSEA檢查輸出的內容是否正確。
DeepSEA的設計理念是為了提供一個高于其他語言能夠提供的保護層。在區塊鏈世界中,系統具有去中心化、可自我執行、永久、開源等特性,這讓哪怕是最微小的錯誤都有可能導致巨大且嚴重的問題。作為一個新時代的編程語言,DeepSEA的開發團隊運用過去的經驗和知識,致力于為創造一個更加安全和可信賴的區塊鏈生態鋪路。
雖然Move語言比標準編程稍稍先進一些,提供了“驗證友好”的設計。但它仍舊需要創造額外的工具,這與繼承了形式化驗證語言本身的DeepSEA不同,DeepSEA語言允許開發者在一個交互式輔助證明工具的環境下開發自己的智能合約。
未來
綜上所述,我們發現在智能合約編程語言這個底層技術支撐中,不同的安全實現方式,將會給我們的應用帶來不同的安全保障。Solidity的動態靈活、應用廣泛卻安全性不夠;Move語言的安全性提升但是還沒有做到全方位的安全保障機制;DeepSEA的安全機制相對領先,但是還沒有在足夠多的應用上使用。
隨著區塊鏈生態環境的不斷成熟,新的編程語言開始浮現,和過去幾年間所發生的安全問題相抗衡。Solidity作為先行者,擁有了巨大的采用度和公眾熟悉度等優勢,Move和DeepSEA等新語言也緊隨其后,取其精華,去其糟粕,學習其一路走來的經驗,避免歷史上的錯誤重演。
隨著這三個語言的先后問世,智能合約開發者擁有了更大程度的選擇自由的同時,在安全的前提下,未來的區塊鏈世界將會變得更加豐富多彩。這值得每一個人拭目以待。
關于CertiK
CertiK公司于2017年底成立于紐約和硅谷,2019年初成立北京辦公室,我們是由來自耶魯大學和哥倫比亞大學的科研團隊攜數十年研究成果成立,通過形式化驗證科技為智能合約和區塊鏈應用及協議提供代碼安全解決方案。團隊迄今已經成功守護了價值近45億美元的數字資產免受黑客攻擊。
GeneralInformation:
Audit&Partnerships:
Website:certik.org
Twitter:@certik.org
Telegram:t.me/certik.org
Medium:medium.com/certik
幣乎:bihu.com/people/1093109
原文鏈接點擊:號稱Libra最大創新的Move與Solidity、DeepSEA到底有何區別?
機構市場洞察-2019年第二季度幣安機構和VIP客戶最新調查結果分析幣安研究院&BinanceTrading-2019年6月21日 要點 在首次機構和VIP客戶調查中.
1900/1/1 0:00:00比特幣價格在昨日突破了11,000美元,FOMO的情緒也開始不斷醞釀。買入訂單的不斷增加,讓比特幣處于超買狀態,從而導致價格的上漲.
1900/1/1 0:00:00據Coinpost報道,6月21日,日本金融廳對加密貨幣行業相關業務指導方針的第三卷的部分內容進行修訂.
1900/1/1 0:00:00Facebook要發幣,這個幣的名字叫Libra。近日,國內國外,圈內圈外,大大小小各家媒體無一不在聚焦這件大事.
1900/1/1 0:00:00火星財經APP一線報道,美國眾議院金融服務委員會將于7月17日就社交媒體巨頭Facebook推出的加密貨幣項目Libra舉行聽證會.
1900/1/1 0:00:00近日,由全球領先的數字資產交易平臺OKEx舉辦的“2019開放共贏大會全球行——越南站”在越南胡志明市隆重舉行.
1900/1/1 0:00:00