以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads
首頁 > BTC > Info

用 Python 進行 DeFi 應用的開發_Tezos

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

OKEx大客戶環城黑卡啟用 與大董、寶格麗酒店等達成合作:據官方消息,近日,OKEx VIP Club與大董、寶格麗、瑰麗等近百家高端酒店、黑珍珠餐廳、咖啡廳等商家達成合作,持有OKEx環城黑卡的大客戶可享有商家免單、折扣、生日驚喜、免排隊等多重福利。據悉,OKEx環城黑卡僅限OKEx鉑金和鉆石會員持有。

OKEx大客戶商務總監九妹表示,“OKEx一直是行業VIP服務的標桿企業,未來,OKEx VIP Club將持續拓展更多的服務場景,不斷提升大客戶的服務體驗。”[2020/6/19]

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

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

動態 | 以太坊網站被大量使用 FairWin合同具有嚴重風險:據以太坊國際新聞消息,最近幾周,Ethereum網站被大量使用,以至于ETH的礦商決定將區塊的容量提高25%來允許更多的交易發生。調查顯示,一份名為“FairWin”的有問題的智能合同受到了廣泛的歡迎,消耗了以太坊所有天然氣的50%。區塊鏈游戲工作室Horizo??n Games的研發人員Philippe Castonguay最近在Twitter上寫道,FairWin合同具有“嚴重風險,使所有資金都處于風險中”,然后要求其追隨者傳播這一知識。[2019/9/29]

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

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

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

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

聲音 | Block.one :利用 Elemental Battles 學習并構建 EOS 區塊鏈應用:據 IMEOS 報道,Block.one 在 Medium 平臺發文,歡迎有抱負的區塊鏈開發者,嘗試 Elemental Battles 并通過了解和學習構建自己的 EOS 區塊鏈應用。

自 10 月份發布之后,該學習教程的構建流程已經從原來的 eosiocpp 更換為 eosio.cdt,并更新支持以下幾個版本:

1.Docker version 17.06 or newer

2.EOSIO version 1.6.0

3.EOSIO.CDT version 1.5.0

4.EOSJS version 20.0.0-beta 3[2019/1/24]

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

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

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

現場 | 嘉楠耘智區塊鏈事業部負責人邵建良:比特幣是殺手級應用 ?:金色財經現場報道,2018年8月10日,在2018紛智金融科技峰會(香港)上,嘉楠耘智區塊鏈事業部負責人、比升資本創始人邵建良指出:競爭的賽道需要更多人加入才能把行業做得更好。如果我們對于區塊鏈技術的理解不到位,那么可能只是有了牽強的區塊鏈概念。目前,沒有區塊鏈技術,某些領域也能做得很好。我們探索區塊鏈技術能與哪些領域相結合是非常有意義的,金融非常需要信任機制來保證我們可以相信彼此并進行高價值的交易。比特幣是一個殺手級的應用,未來會滲透到保險、證券等領域中,未來還會延伸至知識產權等領域。[2018/8/10]

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

警告無用 投資者加速入場比特幣:比特幣快速大漲引發無數警告,稱其已經進入泡沫區域。但警告并沒能產生作用,又有數十家新的加密貨幣對沖基金進入市場,散戶投資者也紛紛涌入。據報道,一些完全不知道比特幣為何物的散戶大舉進場,其中包括年逾七十的人士。倫敦Blockchain.info是全球最大的比特幣錢包提供商之一,該公司對路透社表示,11月29日新增用戶數量創紀錄,有10萬多名用戶注冊,總用戶數量超過1900萬。[2017/12/1]

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

BTC
聽起來很瘋狂,基于這些關鍵驅動因素,柴犬可能會達到 1 美元_SHIB

Billions項目組 BoneShibaSwap推特賬戶概述了一些因素,這些因素可以推動ShibaInu(SHIB)打破歷史新高.

1900/1/1 0:00:00
盡管“致命的”比特幣對應物,但總加密貨幣市場觸發了黃金交叉_加密貨幣

Billions項目組 代表總加密貨幣市值的圖表在每日時間范圍內觸發了黃金交叉。 雖然兩條重要移動平均線的交叉通常是買入信號,但比特幣在更高、更主導的時間框架內接近于確認相反的信號——死亡交叉.

1900/1/1 0:00:00
誰能吃到香港Web3的第一波紅利?_虛擬資產

引言 同志們,幣圈又見君,吾心神搖曳。6月1日,香港有關加密貨幣的相關政策正式落地實施,為加密資產交易、發行等敞開了大門.

1900/1/1 0:00:00
USDT 崩潰或致比特幣 ETF 通過的希望破滅_比特幣

作者/LongHashNickChong 來源/LongHash 過去幾年的時間里,投資者一直在等待美國監管機構批準比特幣交易所交易基金的發行.

1900/1/1 0:00:00
為什么韓國一線交易所的比特幣交易量難以恢復?_加密貨幣

來源/LongHash 作為擁有日交易量排名第三的加密交易所的國家,韓國的加密交易活動自2018年以來就開始急劇下降.

1900/1/1 0:00:00
3.27 BTC ETH是否結束回調開始反彈_BTC

BTC分析 CleanSpark哈希率超過3EH/s,公司創下13.25 BTC的日產量高點:金色財經報道,上市比特幣礦企CleanSpark宣布,該公司的算力已正式超過3 EH/s.

1900/1/1 0:00:00
ads