買以太坊 買以太坊
Ctrl+D 買以太坊
ads

Tezos:用 Python 進行 DeFi 應用的開發_區塊鏈

Author:

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

來源/LongHash

Tezos作為著名的PoS公鏈,其亮點并不僅僅只是Staking,Tezos的形式化驗證特征同樣也是其主要技術亮點之一。形式化驗證能讓DeFi的安全性方面如虎添翼,讓用戶對資金的智能合約安全更加有信心。

形式化驗證方法和DeFi安全

DeFi的爆發式增長吸引了不少開發者,著名的DeFi協議如Compound、Uniswap、Syntheix累計收獲了上億美元的資金。但是,DeFi存在一個重大漏洞:安全性。

這個漏洞的代價是昂貴的,它給一些區塊鏈項目的網絡效應帶來了負面的影響。過去幾個月被攻擊的DeFi項目就包括Curve.fi、Lendf.Me、PegNet等,其損失從數十萬美元到數千萬美元不等。tBTC在上線幾天后通過自查及時發現了bug并凍結了存幣,避免了一場災難。

而對于注重安全性的DeFi開發者來說,Tezos的形式化驗證方案能夠在加強安全性的同時賦能DeFi應用。

卡巴斯基CEO:禁用 iMessage 可避免 iOS 設備遭遇 Triangulation 間諜攻擊:6月5日消息,網絡安全解決方案 Kaspersky CEO Eugene Kaspersky 發推稱,發現一種針對 iOS 的新型網絡攻擊,名為 Triangulation。該攻擊從帶有惡意附件的 iMessage 開始,利用 iOS 中的一些漏洞安裝間諜軟件,無需用戶操作。Triangulation 將私人信息傳輸給遠程服務器:麥克風錄音、即時通訊工具的照片、地理位置和其他一些活動的數據。Kaspersky 表示,Triangulation 與已知的 Pegasus、Predator 或 Reign 并沒有重疊,同時,禁用 iMessage 可防止 iOS 設備遭受 Triangulation 攻擊。[2023/6/5 21:16:45]

在傳統互聯網應用中,如果服務器被黑客攻擊,只需要對服務器端用戶數據進行回滾就可以挽回用戶損失。因此,重視用戶體驗的傳統互聯網應用可以以犧牲安全性換取速度和功能上的快速迭代。然而在DeFi應用中,由于區塊鏈的不可篡改性,智能合約一旦上線并出現安全隱患,對用戶造成的損失是巨大且不可挽回的。

Web3 追蹤工具 Context 將停用 Context.app:金色財經報道,Web3 追蹤工具 Context 宣布將于 4 月 15 日停用 Context.app。Context 允許用戶導出關注列表至其同類產品——鑄造聚合器 mint.fun。

Context 于 2022 年年 4 月份完成 1950 萬美元融資,Variant Fund 與 OpenAI 首席執行官 Sam Altman 領投,Dragonfly Capital 等參投。[2023/3/17 13:09:53]

因此,DeFi應用開發的過程需要用大量的測試和昂貴的審計以獲取足夠的安全性,而反過來會犧牲迭代的速度,影響了產品的易用性。并且,因為安全審計的價格昂貴,很多開發者并沒有能力發起DeFi應用。

區塊鏈開發人員目前仍然是稀缺的,導致人工審計的成本非常高昂。因此越來越多地使用機器輔助驗證是目前的趨勢,而機器輔助審計中的形式化驗證方法更是確保安全性的不二法寶。

形式化驗證指的是用數學中的形式化方法對算法的性質進行證明或證偽,方法有兩種:

Polkadot:波卡適合企業級應用 Kusama適合早期初創項目:公鏈項目波卡Polkadot撰文介紹Kusama與波卡兩個項目的具體區別,Kusama和波卡是兩個獨立的網絡,但都是基于類似的代碼庫建立,Kusama擁有更快的治理參數和進入門檻,而波卡相對更保守,以更慢和更有條理的治理和升級過程來優先考慮穩定性和可靠性。Kusama更適合進行大膽的實驗和早期的部署,而波卡是為了高價值和風險規避的應用程序所設計的。從具體的用戶案例來說,波卡認為,推薦企業級或B2B應用、金融應用或需要銀行級別安全性、穩定性和健壯性的高價值應用在波卡網絡中運行,推薦早期的初創網絡、實驗性想法在Kusama網絡中運行。[2020/4/17]

一種是模型檢驗,即把系統所有可能的狀態列出并進行一一檢驗,此種方法全自動化但只適合小型系統;

另一種是演繹驗證,首先把系統代碼標記成抽象數學模型,然后對定理進行證明,此種方法適合大型系統,但是首先需要人工將系統的運作方法轉換成驗證系統可以理解的語言。

形式化驗證方法在很長一段時間里,由于其成本較高昂,主要應用于學術、國防軍工、航空航天等領域,在商業領域應用較少。由于傳統互聯網應用與區塊鏈應用的運行環境有著本質的不同,其開發流程也應當相應地進行調整,其中最關鍵點在于安全驗證環節的投入比例。

聲音 | Blockstream首席執行官:Libra只是一款現代銀行應用 與加密貨幣無關:Blockstream創始人兼首席執行官Adam Back表示,在他看來任何穩定幣都無法與比特幣相比。雖然對于某些加密用例來講,穩定幣是可行且有用的,但由于存在托管風險,這些用例本質上不符合比特幣的要求。而Facebook的加密項目Libra與加密貨幣無關,只是一款“具有現代感的銀行應用”。(Cointelegraph)[2019/11/26]

函數式語言在公鏈領域的應用

許多區塊鏈項目為了保證安全性,在底層架構、虛擬機或智能合約的語言方面,選擇了函數式語言,如Ocaml、Haskell、Erlang等。函數式語言由于其嚴格的變量類型定義和編譯檢驗,以及擁有較好的形式化驗證工具鏈,在安全領域擁有很好的口碑。常見過程式語言編寫的代碼,一般必須重新用函數式語言標記方能進行形式化驗證。

我們看到,在以上項目中,Tezos支持的智能合約高級語言的種類最豐富,不僅包括Pascal,Ocaml,Haskell等多種函數式語言,也包括了Python這一應用普遍的語言。而Cardano、Aeternity都需要開發者學習一門新的函數式語言,使得開發門檻變得較高。

聲音 | V神:區塊鏈金融應用或首先實現大規模采用 其他區塊鏈應用則面臨更大難度:據Cointelegraph消息,V神在香港舉行的加密活動Token 2049上表示,金融實際上是第一個可能實現大規模采用的區塊鏈應用,權力下放基本上是此類應用的增值,作為區塊鏈可以在金融之外的領域流行的用例,V神提到了數字身份、聲譽和數字證書。另外,V神還呼吁與會者識別目前正在開發的“不僅存在于理論中,也切實會落地”的實際應用。[2019/3/14]

Michelson語言的安全特性

在智能合約語言的設計上,Tezos采用了一種取長補短的創新方案。Tezos的智能合約底層采用基于Ocaml的Michelson語言,而開發者實際接觸的是Python等高級語言,并不需要了解Michelson語言本身。如此以來,可以結合Michelson語言更好的安全性與可審計性,與Python等高級語言的易于編程性。

Michelson在架構上對標的是以太坊EVM,與EVM相比其相似之處有

1)是一種stack語言

2)使用鏈上存儲

3)采用gas費用模型

4)圖靈完備

Michelson與EVM的主要區別是,

1)靜態類型

所有進入Michelson智能合約的數據,都需要明確定義其類型。避免了跟類型不匹配有關的程序bug,如浮點溢出、除以0等。

2)原子計算

一個Michelson智能合約必須完成執行后才能調用其它智能合約。這一點避免了以太坊上經常發生的re-entrancy攻擊(如著名的DAO攻擊)。

3)明確的調用失敗

執行期發生的失敗只有三種,明確失敗、gas耗盡、數量溢出。這一點避免了以太坊上常出現的隱含模代數、錯誤指令、stack溢出等類型的常見執行期攻擊。

4)嚴格的語義

大小寫、空格、短行都有嚴格規范的要求,讓代碼審計變得更方便。

可以看到Michelson相比EVM在安全上有諸多的改進,可以更好地抵御以太坊上經常出現的攻擊類型。

SmartPy開發工具包

Tezos上的Dapp開發者并不需要掌握Michelson語言。這是因為開發者可以使用基于Python的SmartPySDK,并將Python代碼寫的智能合約編譯成Michelson語言。因此Dapp開發者只需要會Python就可以輕松上手。

SmartPy是一個Python庫,而SmartPy.io讓用戶能夠在一個瀏覽器中執行Python腳本。Smartpy的官方網站提供了一個在線編輯器(https://smartpy.io/demo/),Dapp開發者可以直接用Python編寫代碼并編譯成Michelson智能合約,然后部署到Tezos主網上。其使用界面設計相比以太坊的Remix在線編輯器更簡潔明了,非常容易上手。Smartpy還自帶了一些現成的開發模版,方便開發者參考學習。

SmartPy.io的界面如下。屏幕左側區域是代碼編寫區,開發者可以輕松地使用Python來寫入并編輯合約的代碼。Smartpy不需要像Remix一樣分兩步編譯和執行,按一下代碼區上方的執行按鈕就一步搞定,非常方便。執行結果立馬就可以在屏幕右側顯示出來,包括合約調用的入口、存儲狀態、編譯的Michelson代碼等。

除了在線編輯器,SmartPy還有一個命令行版本SmartPyBasic,讓開發者在本地環境也可以編譯運行SmartPy代碼。

部署的智能合約可以用SmartPyContractExplorer進行查看,合約的當前狀態和歷史操作都一覽無余。

目前SmartPy已經支持Python常見的許多功能,如本地變量,變量類型判斷,Lambda函數等。少數不支持的功能如array,可以用map來代替。這也就意味著學習SmartPy不需要投入很多的時間和精力,開發者可以專注于實現更好的功能。

以下是一些關于SmartPy入門的訓練課程:

CryptoverseWars:https://cryptocodeschool.in/tezos/overview/

BlockmaticsSmartPyDevelopercourse:https://cryptocodeschool.in/tezos/overview/

總結

Tezos通過智能合約語言分層的設計,在虛擬機層采用基于Ocaml的Michelson智能合約腳本語言,增強了可讀性與安全性。這樣的設計對Dapp開發者來說非常便利。

另一方面還提供了SmartPySDK,這樣就可以用Python編寫智能合約然后編譯成Michelson語言,充分發揮Python的簡潔與易懂的優點。這些特性的組合可以幫助DeFi應用跨過目前安全問題的障礙,為用戶提供更優質的服務,并幫助他們省下一筆昂貴的安全審計費用。

附:Michelson與SmartPy語言特征詳細說明及dapp開發實例

一個簡單的托管合約:https://smartpy.io/demo/

tic-tac-toe井字游戲dapp:https://smartpy.io/demo/

本文是LongHash與Tezos基金會之間合作關系的一部分,但文中的觀點不代表Tezos基金會。

LongHash,用數據讀懂區塊鏈。

Tags:Tezos區塊鏈以太坊Tezos幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢以太坊幣是什么幣

萊特幣最新價格
BLO:長期主義為什么很難?_blockchain錢包下載

這里面有兩個點值得得注意第一點,長期主義需要的是什么,長期主義需要的是資源,因為大部分人并沒有資源,所以很難堅持長期主義,為什么這么說,這里的考驗人脈的資源、資本的資源、信息的資源.

1900/1/1 0:00:00
BTC:隨著價格飆升至 1.95 萬美元以上,超過 1.41 億比特幣空頭被清算_BTC

數據顯示,今天早些時候,一個實體購買了價值40億美元的比特幣(BTC),引發了主要交易所的空頭清算浪潮.

1900/1/1 0:00:00
ATO:SparkPool 成 cosmos 最受歡迎的驗證全節點_TOM幣是什么幣ATO價格

作者/LongHashCryptoLi 來源/LongHash 在cosmos網絡中心化程度較高文章中,我們簡單介紹了cosmos的網絡治理方式.

1900/1/1 0:00:00
TRX:波點錢包4次大額轉賬疑似套現,或影響TRX幣價,投資者如何自救?_區塊鏈

作者/LongHash 來源/LongHash LongHash之前曾報道波點錢包余額驟降99%,正常轉賬or攜款潛逃?,波點錢包自稱是波場官方合作的錢包.

1900/1/1 0:00:00
比特幣:比特幣實際市值已達到歷史最高水平_區塊鏈比特幣中國官網聯系方式

作者/AndyHao 來源/LongHash 人們對加密貨幣的估值方法有一定的誤解。加密貨幣是一種新型的、未經證實的資產類別,常常在不受監管的新型交易所進行交易,每天的交易量在數千美元至數十億美.

1900/1/1 0:00:00
數字資產:Facebook 的加密貨幣如何利好比特幣?_全球十大加密貨幣數字資產和數字貨幣的區別

作者/LongHashNickChong 來源/LongHash 在周二凌晨發布的公告以及新上線的引人注目的網站上,Facebook公開了旗下數字資產「Libra」.

1900/1/1 0:00:00
ads