比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 酷幣 > Info

用 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應用。

通用 Layer2 基礎設施 Eclipse 完成 1500 萬美元融資:金色財經報道,通用 Layer2 基礎設施 Eclipse 宣布以上億美元估值完成 1500 萬美元的Pre-seed和種子輪融資,其中,900 萬美元種子輪融資由 Tribe Capital 和 Tabiya 共同領投,Tabiya 是一家由幣安前高管創辦的加密風險投資基金,該輪的其他參與者包括Caballeros Capital、 Infinity Ventures Crypto、Soma Capital、Struck Capital 和 CoinList。600 萬美元 Pre-seed 輪融資由 Polychain Capital 牽頭,參與方包括 Tribe Capital、Tabiya、Galileo、Polygon Ventures、The House Fund 和 Accel。據悉,Eclipse 是一個可定制的 Rollup,與多個第 1 層區塊鏈兼容。該平臺使開發人員能夠部署他們自己的由 Solana 操作系統提供支持的Rollup,使用任何鏈進行安全或數據存儲。(coindesk)[2022/9/28 5:55:52]

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

巴西比特幣銀行集團領導人因涉嫌挪用 3 億美元加密貨幣而被捕:金色財經報道,巴西聯邦警察逮捕了比特幣銀行集團的成員和一名領導人,罪名是他們涉嫌參與貪污計劃。在周一直播的新聞發布會上,任命商人和自稱為“比特幣之王”的Claudio Oliveira為該組織的領導人。據稱,該集團貪污了 15 億雷亞爾(3 億美元)。根據周一發布的新聞稿,Daemon 行動由庫里提巴和大都市區的大約 90 名聯邦警察執行。該行動是基于一項為期三年的調查收集的情報,該調查指控該組織從事欺詐性詐騙和挪用公款。(coindesk)[2021/7/6 0:29:39]

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

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

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

三部委:探索區塊鏈等技術應用 推進農商旅文娛體跨界融合:6月1日,財政部辦公廳、商務部辦公廳、國務院扶貧辦綜合司發布關于做好2020年電子商務進農村綜合示范工作的通知。《通知》提出,大力發展農村電商 支持完善物流配送體系。其中還提到,因地制宜,鼓勵創新。探索大數據、云服務、區塊鏈等現代信息技術應用,推進農商旅文娛體跨界融合。(第一財經)[2020/6/1]

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

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

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

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

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

聲音 | 萬事達卡中東總裁:即使底層區塊鏈技術有前景應用 但加密仍像賭博一樣:據Arabian Business消息,萬事達卡中東和非洲地區總裁Raghu Malhotra稱,即使底層區塊鏈技術具有許多潛在和有前景的應用,加密也是“像賭博一樣”。加密貨幣是投機的。他說,如果你想這樣使用這項技術,你不妨去某個地方賭博或做一些大宗商品交易。它不能解決現實世界中的問題。并補充道,他相信區塊鏈是尋找問題的解決方案。他說:“我不認為人們真正了解區塊鏈是如何被分解的,以及它在哪些地方可以有效運作。在已經存在的更好、更高效的解決方案中,再嘗試將區塊鏈應用到它是一個壞主意。[2018/10/1]

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

知名股票交易移動應用 Robinhood推出十六種數字貨幣免傭金交易:知名股票交易移動應用 Robinhood 推出包括比特幣、以太幣、比特幣現金、比特幣黃金、萊特幣、瑞波幣、以太經典、門羅幣、達世幣、恒星幣、Zcash、NEO、Lisk、Dogecoin等16種數字貨幣免傭金交易。[2018/1/26]

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幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢以太坊幣是什么幣

酷幣
在比特幣熊市期間做什么?– 你應該知道的 5 件事_比特幣

自收購以來資產價值的減少,僅在資產以低于原始購買價格的價格出售時確認。有幾種方法可以讓你在比特幣熊市中幸存下來而不會遭受重大損失.

1900/1/1 0:00:00
XMR看漲突破?多頭還有希望嗎?_USD

Billions項目組 XMR跌至1月份的低點。它的下跌形成了一個看漲的下降楔形。Monero的在1月份上漲了27%,從147美元升至188美元的高位.

1900/1/1 0:00:00
胡欣穎已成為Pi核心團隊的軟件工程師!_PAR

胡欣穎,這位來自Pi網絡的新成員,是一名出色的軟件工程師。她畢業于美國加州大學柏克萊分校,擁有著扎實的計算機科學基礎和卓越的編程技能.

1900/1/1 0:00:00
比特幣、以太坊、瑞波幣:當所有跡象都指向多頭時_比特幣

比特幣價格從一個表明更多上升趨勢潛力的關鍵指標中獲得支撐。以太坊價格顯示出強烈的看漲信號,并可能反彈至1,800美元。XRP價格仍未確定,因為它被限制在0.40美元的擁堵區內.

1900/1/1 0:00:00
購買卡爾達諾是否為時已晚?專家給出他們的 ADA 價格預測_ADA

Billions項目組 ADA是支持智能合約的Cardano區塊鏈的代幣,周二一直在飆升。根據CoinMarketCap的數據,這種加密貨幣是全球市值第八大的加密貨幣,當天最新上漲約8.5%,A.

1900/1/1 0:00:00
巴西足球代幣在四分之一決賽失利后暴跌 60.5%_BPT

根據CoinGecko的數據,在FIFA世界杯四分之一決賽中輸給克羅地亞之后,巴西國家隊的球迷代幣BPT下跌了60%以上.

1900/1/1 0:00:00
ads