買比特幣 買比特幣
Ctrl+D 買比特幣
ads

SAFE:一個案例說明高層屬性形式化驗證-ODAILY_CHEQD Network

Author:

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

驗證軟件功能介紹

01

Beosin-VaaS的業務邏輯驗證軟件,是一款用來檢測智能合約上層業務邏輯漏洞的軟件。

基于合約的白皮書,軟件利用形式化方法,首先對單個函數進行屬性的描述,在對單個函數進行屬性的驗證并通過后,基于這些已驗證屬性,抽取出高層的狀態屬性,進而對上層屬性進行自動推理和驗證,若屬性不滿足,則會返回一條反例路徑。

案例介紹

02

我們可以以下面這個案例來舉例說明。

Cardano巨鯨在過去一個月購買了大約1.3億枚ADA:金色財經報道,據鏈上分析師Ali監測,Cardano巨鯨在過去一個月購買了大約1.3億枚ADA ,價值超過3900萬美元。[2023/8/9 21:33:36]

這里我們考慮進行一次眾籌,目標是在部署后deadline時間內,收集fundingGoal個以太幣。如果在該期間收集到相應數額個以太幣,則表明眾籌成功,在這種情況下,受益人可以提取資金。否則,將認為眾籌失敗,并允許用戶要求退款。眾籌合約本身繼承了token合約,并直接收集眾籌期間投入的所有資金。

InsurAce :與加密貨幣相關的保險是一個巨大的未開發市場:金色財經報道 ,InsurAce首席營銷官Dan Thomson表示,DeFi保險是一個沉睡的巨人。由于覆蓋的所有加密貨幣不到1%,DeFi不到 3%,仍有巨大的市場機會有待實現,InsurAce 表示,它已向 155 名客戶支付了 1170 萬美元,這些客戶在 5 月的TerraUSD (UST) 崩盤期間向整個行業帶來了沖擊波。一些加密貨幣交易所已經開始為用戶提供保險資金。

根據區塊鏈分析公司 Chainalysis 2 月份的一份報告,2021 年約有 32 億美元的加密貨幣被盜,幾乎是 2020 年的六倍。[2022/9/12 13:24:48]

具體合約和函數說明

Pacific中國社區負責人:收藏品有可能從單純的興趣愛好到一個大的金融行為的轉變:4月8日,《共識52》第16期由幣贏CoinW CMO Lorreta洛一主持, 參與嘉賓有Pacific中國社區負責人 Sophie 、Enft. one核心開發者 Golden。

在直播間,Pacific中國社區負責人Sophie介紹,Pacific是新一代跨鏈多生態NFT聚合器和金融基礎協議。關于牛市,Sophie認為,是大盤帶來的牛市,頭部的藝術家和平臺的牛市,而NFT并沒有“出圈”。但是,隨著市場價值的不斷提升,意味著收藏品有可能從單純的興趣愛好到一個大的金融行為的轉變。藝術品數字化上鏈以后將有更大的空間和想象力承載社會上的資金涌入。

《共識52》由幣贏Coinw團隊傾力打造,以線上直播的形式呈現,直播內容包括主題演講、圓桌論壇、大咖對話、百家爭鳴等,共同探討區塊鏈行業新趨勢、新格局、新風向。[2021/4/8 19:58:22]

03

聲音 | Zeppelin聯合創始人德米安布雷納:需要一個可升級 不可變的區塊鏈:據btcmanager消息,Zeppelin聯合創始人德米安布雷納(Demian Brener)說:“如果區塊鏈永遠不變,或者區塊鏈以及智能合約應用程序隨著時間的推移而升級,那將是真正的兩難選擇,”。

在任何合同或法律協議中,始終有一項條款允許所有相關人員對合同進行更改或升級。只有當雙方達成共識以包括對原始合同的修改時,才能進行此操作。

但是,大多數區塊鏈和智能合約都沒有這樣的規定。未能就變革達成共識或更新主鏈的基本面是比特幣和以太坊經歷過艱難分叉的主要原因之一。[2018/7/29]

我們可以進一步得知,該項目包含了一個Crowdsale合約,繼承一個token合約。

在眾籌合約中,構造函數會初始化設置眾籌的截止時間deadline,并添加眾籌目標額度fundingGoal,并在合約中硬編碼受益人的地址beneficiary;

然后會提供回調函數,提供給用戶來參與投資,在開放眾籌期間,只要未達到目標額度,就允許所有用戶進行投資;

提供一個checkGoalReached()函數,如果達到眾籌目標,或者達到了截止時間,就可以修改狀態標識,關閉眾籌;

然后會提供響應的transfer()和issue()函數接口,用于在眾籌分配代幣,以及能夠進行代幣的交易

提供一個safeWithdrawal()函數,如果眾籌成功,受益人能夠取出投資人的錢;

最后還提供一個safeClaimRefund()退款接口,如果眾籌失敗,用戶可以通過該接口完成撤資。

結果分析和說明

04

我們這里已經完成了單個函數的屬性驗證,可以確認單個函數的功能是符合其屬性規范的,在此基礎上,編寫上層屬性進行驗證。

以下,我們編寫的上層屬性有兩條,一條是p1,含義是總是能夠滿足,一旦調用了safeWithdrawal()或者safeClaimRefund(),另一個函數就不能夠被成功調用。

P1:

得到輸出結果,可以看到屬性2是滿足的,而屬性1并不滿足。我們查看一下反例的可視化路徑,可以看到,確實存在一條路徑,safeWithdrawal()函數和safeClaimRefund()函數可以先后被執行成功。

回到合約中,根據所提供的反例路徑,可以看到,發生該情況是調用回調函數一段時間后,當前時間超過了眾籌的截止時間,眾籌的資金總量沒有達到目標fundingGoal,在checkGoalReached()關閉眾籌之后,此時的合約狀態,用戶是可以調用safeClaimRefund選擇退款的。

但是我們可以從結果中發現,此時依舊可以調用成功回調函數投資,那么就出現了后面的狀態可能,在眾籌失敗之后,依舊有用戶有意或者無意參與了投資,導致投資的總額超過了目標。

此時,能夠再次調用checkGoalReached()函數結束眾籌,改變狀態標識,最終受益人能夠在按原始需求,眾籌失敗的情況下,且有用戶選擇退款之后,依舊調用checkGoalReached()取出了所有的投資資金。

最終回到合約,我們發現,其實是由于用于投資的回調函數缺少了檢查當前事件是否超過了截止日期,進而導致的合約漏洞。

可以看到,在該例子中,所有的函數其實是滿足其自身的屬性并實現了相應的功能的,但是由于在合約之間、函數之間的調用和關聯關系,才導致出現了這樣一個漏洞。而該屬性驗證工具的作用也在于此,它能夠更加高效地發現邏輯屬性漏洞。

Tags:CHESAFEUNDFUNDCHEQD NetworkSafePalSwiss NFT FundStableFund USD

酷幣交易所
比特幣:比特幣明年減半,是否迎來新一輪的上漲?-ODAILY_COIN

最近美國股市道瓊指數三天跌了1200點,納斯達克指數和標普500指數也同樣大跌,歐洲和亞太股市同樣大跌,而作為避險投資品的黃金迎來上漲.

1900/1/1 0:00:00
COIN:震蕩行情持續越久,是否意味著突破后的走勢越猛烈?-ODAILY_Coinzix Token

人民幣今日大幅上漲,USDT出現小幅溢價。11月15日,在岸人民幣對美元匯率開盤拉升逾200點,一度收復7.00關口,最高至6.9982,隨后有所回落,與此同時,離岸人民幣對美元震蕩上行逾百點,

1900/1/1 0:00:00
BSV:BSV踩雷事件:只要洗腦深,兩天就能一套房子-ODAILY_bsv幣的前景怎么樣

有些人,看得云里霧里的,所以我覺得還是有必要總結下,我的文章內容的連貫穿插的行情內容,單篇可能只是闡述某個大概觀點,細看才會發現,咦,有玄機.

1900/1/1 0:00:00
AICO:多頭強勢來襲,且看牛熊之爭誰會脫穎而出-ODAILY_BTC 價格

所有進入市場中的投資者,都是想從市場獲取利潤,但是想要獲利必然要先懂得市場的運行規律,懂得規避市場風險。交易路上是坎坷的,只有不斷去尋找可靠的盈利機會,才能保證在市場存活下來.

1900/1/1 0:00:00
以太坊:1.10行情解析:區間震蕩,機會就在一瞬間-ODAILY_BTCE幣

這個市場我們不得不承認一點,市場永遠是對的,在這個大的方向里,左右你虧損盈利的只有跟你的合作老師和你的執行力,一流的指導與二流的執行力和二流的指導與一流的執行力產生的效果是一樣的.

1900/1/1 0:00:00
區塊鏈:2018中國區塊鏈移動應用發展研究報告 | 鏈塔智庫-ODAILY_DAPP

分析師:王婧雯制作:張雪、南楠 微信公眾號:鏈塔智庫 前言 近兩年來,區塊鏈技術的研究與應用呈現出爆發式增長態勢.

1900/1/1 0:00:00
ads