6月18日,Facebook發布Libra項目白皮書,旨在建立一個簡單的全球性貨幣且為數十億人賦能的金融基礎設施。
FacebookLibra在全球被普遍關注,金融監管者、從業者和學者紛紛從不同角度進行解讀。還有很多人從哲學、學或是經濟學等角度分析Libra。正如一千個人眼中有一千個哈姆雷特,一千個人心中也有一千種貨幣觀點。
我們作為一個技術驅動的公司,更關注這次Libra發布的智能合約語言Move,這個被很多人都譽為Libra最大的創新,Move和以太坊的Solidity、以及可驗證智能合約的DeepSEA語言到底有哪些區別呢?
眾所周知,基于以太坊的編程語言Solidity是目前區塊鏈領域中最常用的開發語言之一。
即使Solidity在安全性方面存在一定的缺陷,并在近幾年發生了不少類似合約溢出的安全事件,并導致用戶大量損失。但由于其良好的適應性和可擴展性,已被廣大開發者和社區用戶所積極采用。
而這次Libra攜Move強勢歸來,便是主打的安全牌。基于Rust和100%靜態類型驗證的全新思路,從底層內存和智能合約編程的代碼層面,來提高了安全性,以期避免發生在以太坊的安全事件。這也是這次Libra發布后,不少人都認為,Move語言才是Libra最大的創新。
Tether CTO:加密貨幣交易所應該將部分利潤投資于比特幣:9月4日消息,Tether CTO Paolo Ardoino在X平臺發文表示,從比特幣中獲益匪淺的加密貨幣交易所應該制定一項政策,將部分利潤再投資比特幣中,就像是我們Bitfinex一樣,投資閃電網絡、RGB等比特幣生態。[2023/9/4 13:16:12]
但可能我們不太了解的是,由美國區塊鏈安全公司CertiK、耶魯大學實驗室和哥倫比亞大學實驗室共同研發的編程語言DeepSEA的研發也將于近期開發完成。
該語言利用植入其編程語言本身的形式化驗證技術,自動創建數學原理來證明源代碼的安全性,并獲得了以太坊基金會、IBMBlockchain和量子鏈基金會的科研獎金。DeepSEA語言在主打安全性的同時,也在尋求兼容除EVM之外的更多虛擬機,實現信息和資產的跨鏈共享。
今天來自CertiK的安全專家團隊對Move、Solidity、DeepSEA進行了分析比較,解釋這三種編程語言之間的差異,并詳細說明其中的優缺點和復雜性。
Solidity
以太坊成功地在應用場景中引入了智能合約的概念:
當比特幣將儲存在區塊鏈上的數據類型進行編碼時,以太坊的用戶就可以上傳任意一個程序來定制該系統。與比特幣相比,以太坊最大的不同點是:它可以支持更加強大的腳本語言,允許開發者在上面開發任意應用,實現任意智能合約,就是基于這個圖靈完備編程語言——Solidity用以執行這些智能合約。
薩爾瓦多總統:采用比特幣以來旅游業已增長95%:金色財經報道,Bitcoin Magazine在社交媒體發文稱,薩爾瓦多總統表示,“我們已經看到了采用比特幣的好處。旅游業增長了95%,我們獲得了很多私人投資。”[2023/3/6 12:43:57]
在Solidity上發行一個應用程序其實十分的簡單,它可以讓用戶創建一個自己的Token,用戶可以自行持有或者將其轉移至任何以太坊的賬戶上,也就是我們常說的發幣程序。
簡而言之,實現這個功能的方法只需要上傳一個儲存表格的程序,表中需要顯示每個用戶持有多少代幣,并列出一些功能即可。
比如將一個賬戶上的代幣轉移至另一賬戶上的代碼如下:
但是,在實際運行過程中,Solidity的使用并沒有我們想象的那么順利。比如經常出現的整數溢出漏洞會導致Token無限增發、重入風險會導致智能合約遭受到類似DAO攻擊的嚴重損失等。
2018年4月,就有黑客利用以太坊ERC-20智能合約中整數溢出漏洞攻擊BEC智能合約,成功向兩個地址轉出了天量級別的BEC代幣,導致市場上大量增發的BEC被拋售。此事使得當日BEC的價值幾乎歸零,64億人民幣瞬間蒸發。
另一個Solidity可能存在的錯誤是在編譯器中仍存在一些漏洞,這些漏洞可能會導致智能合約存在巨大的安全風險。通常程序員只查看程序的源代碼,如果編譯器有一個bug導致它打出的字節是錯誤的,這樣的錯誤非常難以防范,即便經過了完善的人工測試和靜態分析也仍然不可避免。
數據:165,163枚LTC從Binance轉移到未知錢包:金色財經報道,據WhaleAlert數據,165,163 枚LTC (14,908,934 美元) 從Binance轉移到未知錢包。[2023/1/24 11:28:02]
整體而言Solidity是一個功能強大并且非常靈活的編程語言——但是仍舊存在安全風險。Solidity不提供任何證明代碼安全性的功能。因此由第三方提供智能合約代碼審計、或者第三方的形式化驗證是證明代碼正確的最有效的方式。目前基于以太坊的智能合約應用廣泛,Solidity的安全性是值得我們重視的。
Move
Libra的智能合約編程語言Move,通過Rust語言固有的安全機制和Move語言100%的靜態類型驗證等措施來達到提高安全的能力。但是經過CertiK的安全專家團隊研究發現,與Solidity相比,Move擁有以下三個重要的不同之處:
首先,Move通過省略某些特征——動態調度和一般指針——來限制語言的表達,而對語言靈活性的大規模限制可能會引發重入錯誤。Move的設計者表示,這些限制會讓編寫Move的形式化驗證工具更加簡單,但是目前這些工具并不存在,Facebook團隊表示已經充分認識到形式化驗證的優勢和重要性。
Cornerstone Advisory和Wagner Wealth Management四季度對首個比特幣期貨ETF BITO建倉:10月10日消息,年內有多家私人投資公司在首個比特幣期貨ETF ProShares 比特幣戰略 ETF(BITO)中建倉,其中Wagner Wealth Management LLC和Cornerstone Advisory LLC在第四季度分別購買了25,000美元和49,000美元的ProShares比特幣策略ETF新頭寸,Wedbush Securities Inc.在第二季度購入BITO 13,550 股新頭寸,價值約 157,000 美元,BDO Wealth Advisors LLC、San Luis Wealth Advisors LLC則是在第一季度分別購買了33,000美元和39,000美元的ProShares比特幣策略ETF新頭寸。(etfdailynews)[2022/10/10 12:52:17]
一個人口味最好雜一點,耳音要好一些,能多聽懂幾種方言。口味單調一點,耳音差一點,也不要緊,最要緊的是對生活的興趣要廣一點。
“我們將創建一種邏輯規范語言和自動形式化驗證工具,利用Move的驗證友好設計(參見第3.4節)。
數據:過去7天Uniswap上交易費用超過以太坊網絡轉賬費用:6月24日消息,據彭博社援引數據追蹤機構Crypto Fees的數據,過去7天,Uniswap上產生的日平均交易費用為410萬美元,超過了以太坊網絡的日平均轉賬費用390萬美元。而在2022年1月1日,以太坊的日轉賬費用是Uniswap的近10倍。
加密資產管理公司Arca的研究主管Katie Talati表示,近期市場波動性加劇,以及Uniswap在Layer2和Polygon上交易量的大幅增加,導致了Uniswap的交易費用超過了以太坊轉賬費用。[2022/6/24 1:29:28]
驗證工具鏈將有檢查特定程序功能正確性的屬性,這些屬性超出了Move字節碼驗證器執行的安全保證(參?見5.2節)。”
——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到底有何區別?
本周著名網絡安全公司卡巴斯基發布了一項旨在研究消費者對加密貨幣態度的調查報告。報告中稱全球有19%的人購買過加密貨幣,對加密貨幣缺乏足夠的理解和信任正成為消費者使用加密貨幣的障礙.
1900/1/1 0:00:00Circle首席執行官:我們將看到比特幣等非主權貨幣繼續增長 ◇金色盤面 BTC最近成交價11042.88美元,24小時變化0.9%;ETH最近成交價311.33美元.
1900/1/1 0:00:00幾乎所有中國人都要面對的一項投資就是房子了,說好聽點,叫“購置房產”,說難聽點,就是“做房奴”.
1900/1/1 0:00:00Libra就像一顆地雷,炸醒沉悶了近一年的區塊鏈世界。Libra是由Facebook主導、聯合全球28家各行業巨頭推出的加密貨幣項目,白皮書于北京時間6月18日發布.
1900/1/1 0:00:00談到區塊鏈,你在網上檢索的話,能看到它一些特性,比如說去中心化、不可篡改、數據一致性等等,這些都是它特別好的技術點.
1900/1/1 0:00:00作者:笑巖 牛來了嗎?切確的說在今年3月就已經緩緩進入牛市了,如今比特幣已經突破了一萬,離上輪牛市的頂峰價格只有不到一倍的距離.
1900/1/1 0:00:00