比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

Polygon在Nothing Phone智能手機中啟用 Web3 功能:7月6日消息,Polygon已與科技初創公司Nothing達成合作,將Polygon的技術整合到該公司智能手機Nothing Phone(1)中,為基于Android的Nothing Phone(1)注入輕松訪問Polygon平臺上的應用程序、游戲、以及Polygon ID。

此外,雙方還將推出一個NFT會員俱樂部,為眾籌Nothing發布的人以及預購Nothing Phone(1)的人提供基于Polygon區塊鏈的NFT系列Nothing's Black Dot NFT。(Decrypt)[2022/7/6 1:53:30]

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

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

FTX 將禁用 ERC-20 UST 存款:金色財經消息,FTX將于5月24日10:00起禁用ERC-20 UST存款,Terra網絡上的UST存款、提現不受影響。[2022/5/24 3:37:33]

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

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

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

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

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

央行公示成都金融科技創新試點應用 包含基于區塊鏈的安全代付服務:央行公示成都市金融科技創新監管試點應用,包含基于區塊鏈技術的靈活用工資金安全代付服務等創新應用。(財聯社)[2020/8/24]

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

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

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

動態 | P網Poloniex全新費率結構正式啟用 支持波場TRON生態:2020年1月8日起,P網Poloniex新的費率結構正式生效。P網用戶在享受最低交易費率的同時,成為TRX持有者還能在此基礎上享最高30%的手續費減免。新費率的推出將為波場TRON社區成員提供優惠,TRX的持有者和使用者還可享受到空投和活動等福利。[2020/1/8]

Michelson語言的安全特性

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

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

1)是一種stack語言

2)使用鏈上存儲

3)采用gas費用模型

4)圖靈完備

動態 | MtGox索賠新系統可用 客戶可提出索賠:據Financefeeds報道,已破產交易所MtGox索賠的新系統已經可用,MtGox的民事受托人Nobuaki Kobayashi宣布開始提交復原索賠證明的程序,鼓勵用戶使用在線方法提交與交易相關的復原索賠證明。[2018/8/24]

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 件事_FUD

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

1900/1/1 0:00:00
中國是“以太坊”谷歌搜索量占比最高的國家之一_加密貨幣

作者/LongHashCharlieCuster 來源/LongHash 無庸置疑,無論從全球交易量還是從民眾的普遍興趣來看,比特幣都是全球領先的加密貨幣.

1900/1/1 0:00:00
比特幣在 24,000 美元左右的十字路口,哪一方會先破解?_比特幣

Billions項目組 比特幣在其當前交易水平上形成了一個區間,從23,500美元的支撐位反彈,避免跌至22,000美元區域。比特幣正處于十字路口,因為多頭和空頭正在努力決定哪一方會領先.

1900/1/1 0:00:00
簡單聊聊近期的L0和測試網GETH_GETH

Billions項目組 1LayerZero的Medium中對這次的測試用的形容詞很明確雖然他的措辭中是說“一系列公共產品的第一個版本,其重點是支持以太坊開發者社區.

1900/1/1 0:00:00
以太坊價格分析:ETH 面臨下行風險_以太坊

以太坊價格在兌美元的1,885美元阻力位下方獲得看跌勢頭。ETH價格現在低于1,885美元和55條簡單移動平均線。在4小時圖上,價格跌破關鍵看漲趨勢線,支撐位在1,885美元.

1900/1/1 0:00:00
區塊鏈大潮來臨,A股有多少公司涉足區塊鏈?_區塊鏈

來源/LongHash 10月24日下午,中央就區塊鏈技術發展現狀和趨勢進行第十八次集體學習,強調了要加快推動區塊鏈技術和產業創新發展.

1900/1/1 0:00:00
ads