以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads
首頁 > 世界幣 > Info

一個案例說明高層屬性形式化驗證-ODAILY_區塊鏈:IFUND

Author:

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

驗證軟件功能介紹

01

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

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

案例介紹

02

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

鏈上分析師:類似于“無風險”收益率指標表明市場需要一個巨大的催化劑:金色財經報道,鏈上分析師 Will Clemente研究了比特幣的鏈上移動以及衍生品市場行為。?

在鏈上方面,過去一周與上周相比沒有太大變化。比特幣的交易量走勢集中在 36000 美元至 45,000美元的價格范圍內。Clemente指出,具體而言,大約 20% 的比特幣貨幣供應量已經在價格范圍內移動,這意味著現貨市場溢價持續存在。在衍生品方面,市場也沒有表現出太多的“繁榮”。這方面的一個指標是,現貨比特幣和季度合約之間的差價一直在降溫。類似于“無風險”收益率指標表明市場需要一個巨大的催化劑,比如蘋果或亞馬遜宣布購買比特幣才能再次達到沸點。

然而,分析師,在沒有外部影響的情況下,市場可能有一定的反彈潛力,從鏈上供應動態的角度來看,在比特幣交易余額下降的背景下,非流動性供應有所增加。正如鏈上數據所表明的,這可能對市場有利。(coingape)[2022/3/20 14:06:57]

BTC平均交易量跌至一個月低點:金色財經報道,glassnode數據顯示,BTC平均交易量(7日移動平均)剛剛達到300,798.41美元, 為1個月低點。[2021/5/13 21:56:12]

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

現場 | 江原道道知事:江原道目前只是希望打造一個國際化的區塊鏈標準:金色財經現場報道,1月28日,江原道道知事(省長)在“區塊鏈平昌論壇2019(Blockchain Pyeongchang Forum, BPF2019)”進行媒體采訪中表示,江原道目前沒有打造區塊鏈特區的計劃,只是希望打造一個國際化的區塊鏈標準。同時,他還指出,現在區塊鏈行業處于冰點,行業內外都在調整技術和制度,希望為下一步發展做努力,江原道將在旅游方面和海南進行合作,學習借鑒海南在移動支付以及區塊鏈方面的經驗。[2019/1/28]

具體合約和函數說明

03

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

PayPal首席執行官:加密貨幣是一個不確定方向的試驗,已成立區塊鏈研究團隊:Dan Schulman是PayPal公司首席執行官,在紐約曼哈頓出席Economic Club會議時,他表示加密貨幣擁有一個非常不確定的未來。他表示,非常看好區塊鏈技術。他認為,區塊鏈將會成為金融科技領域里的一個重要組成部分,而加密貨幣只是“一個應用”。據悉,PayPal公司目前已經有一個團隊專門研究區塊鏈技術的未來潛在應用。[2018/4/1]

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

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

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

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

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

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

結果分析和說明

04

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

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

P1:

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

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

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

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

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

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

Tags:區塊鏈CHEUNDFUND區塊鏈存證的特征有CHESSIFUNDGOLDFund

世界幣
BSV熄火,末日戰車接盤,BTC嘗試突破前高,強烈看多-ODAILY_BSV:bsv幣最新行情

合約交易-必備 這兩天的大勢比較簡單明了,如預期策略一致。首先是價格處于上漲波段后的高位震蕩整理區間,兩次尋找日線級別需求性支撐8600,坐實了震蕩行情的態勢并止跌,然后價格向上蓄勢反彈,4小時.

1900/1/1 0:00:00
1.15比特幣實時行情分析:小牛提前到來,空軍已經投降?-ODAILY_以太坊:ETH

成功的交易者有著一種與眾不同的素質,他們擁有正確的思維方式,嚴謹的交易態度,強烈的自信心、果敢,和面對失敗永不言敗的精神,即使在市場最困難的時候,他們也能完全按照系統交易.

1900/1/1 0:00:00
數字貨幣政策周報 | 加密貨幣征稅緊鑼密鼓,國家數字貨幣又乘勢而來-ODAILY_數字貨幣:被朋友騙去弄數字貨幣犯法嗎

本周各國在加密貨幣征稅上紛紛采取行動。俄羅斯和泰國給出了具體的征稅方案,新西蘭和韓國對加密貨幣征稅的意向已經很強烈。在加強監管的同時,各國也開始紛紛探索國家主權加密貨幣的可能性.

1900/1/1 0:00:00
區塊鏈早報 | 央行組織推進數字貨幣研究;京東發布區塊鏈技術實踐白皮書;幣安被日本金融廳警告未獲牌照-ODAILY_區塊鏈:比特幣

頭條 央行推進數字貨幣研究近期已和市場共同合作據悉,央行正在組織推進數字貨幣相關研究項目。而在今年全國兩會期間,時任央行行長周小川就“金融改革與發展”答記者問時透露,央行在三年多以前就開始組織了.

1900/1/1 0:00:00
報名:?2020年春季中軟Omni區塊鏈人才認證-ODAILY_MNI:區塊鏈

全球知名分析機構高德納預測,到2030年,區塊鏈的年度商業產值將超過3萬億美元,同時全球約10%-20%的經濟基礎設施將構建在基于區塊鏈的系統之上.

1900/1/1 0:00:00
Kyber自動化價格儲備庫(APR):資本效率高、滑點低的做市商-ODAILY_BER:Phoenix Defi Finance

簡介 KyberAPR非常適合對于想要列出其代幣的代幣團隊和想要利用其大額代幣持有量的個人。對于相同的價格范圍和庫存,Kyber的APR可以提供更多的流動性、更佳的滑點,并有能力提供比其他平臺更.

1900/1/1 0:00:00
ads