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

技術分享:簡析智能合約和形式化驗證_區塊鏈

Author:

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

本文主要介紹了智能合約和形式化驗證。什么是智能合約?一個智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。在區塊鏈技術領域就是一段運行在區塊鏈上的有多方參與的代碼。最經典的例子是公開拍賣。智能合約可以看做一個解決某個問題的程序,但是因為運行在區塊鏈上,因為區塊鏈的不可逆轉特性,所以需要較一般程序更高的安全性要求,需要更嚴格的方法確保安全。

舉個利用智能合約進行游戲的例子,現在有兩個人A,B在玩游戲,兩人先分別抵押2比特幣,然后再下注一比特幣,然后A和B分別在0和1里面進行選擇一個數字,分別退回他們的押金,然后如果他們兩個人選的數字相同,則A得到兩個比特幣,如果數字不同,則B得到兩個比特幣。現在我們只考慮A,A要么在一定時間內向全網廣播一個他選擇的value的哈希值,然后廣播他的value,要么在過了一段時間t之后,沒有反應而因為超時受到懲罰,即其押金會轉移給B。我們可以利用智能合約完成這樣的一個有著明確規則的過程。軟件測試軟件測試的標準定義:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。主要過程包括靜態分析測試、動態分析測試、黑盒測試和白盒測試黑盒測試不用考慮內部結構,是從使用者的角度進行的測試

聲音 | 加密技術分析師:自12月低點以來,萊特幣漲幅大于比特幣:加密技術分析師Marius Landman今日發推稱,自2019年12月17日的近期低點以來,比特幣上漲了28%,而萊特幣上漲了30%。萊特幣才是領先者,比特幣更強大只是人們的錯覺。[2020/1/8]

白盒測試需要對程序內部考慮,程序執行流程圖內的每一條路徑都要考慮到,每個分支語句,每個判斷語句都要分別進行測試一個軟件測試的進行分為制定測試計劃->進行測試設計->測試開發->執行測試->測試評估等過程如果要正確的進行黑盒測試,軟件規格說明書一定要正確,但是但很難完全正確,同時不可能對程序進行毫無遺漏的測試如果要正確的進行白盒測試,測試用例要全面,但是代價昂貴,容易遺漏以上所說的黑盒測試和白盒測試會占用大量的人力物力財力,龐大的工作量產出繁雜的報告,但是正確性得不到完全保證。一般的軟件開發,項目經常延誤,預算經常超支。開發的后續階段會發現很多前期錯誤,代價高昂,更可怕的是,如果是運行了很久的智能合約,很有可能會發生類似于DAO漏洞的重入攻擊。

動態 | 盧旺達在下年預算中為區塊鏈技術分配研發資金:據Coinidol消息,盧旺達共和國已將下一財政年度的部分預算分配給信息產業部,以開發和支持區塊鏈項目。該部部長Paula Ingabire透露,政府愿意支持區塊鏈和其他大量第四次工業革命技術。她堅信在不久的將來,區塊鏈將改變許多重要領域,包括醫療保健、旅游業、土地登記、運輸和物流、金融以及其他領域。[2019/12/15]

DAO漏洞的原因:在以太坊上運行的智能合約在涉及到以太幣的轉移時,如果合約內部沒有處理以太幣轉移的函數,則會自動調用fallback函數,當惡意用戶在智能合約的fallback函數再次轉移以太幣時,會形成轉移以太幣然后調用fallback函數的循環,導致合約內的以太幣不斷轉入用戶地址。形式化驗證目前形式化方法的主要研究對象是計算機系統的設計和驗證,其主要目的是幫助工程師構造正確可靠的計算機系統,形式化方法最基本的特點是利用數學的概念、方法和工具來解決設計的正確性問題,作為形式化方法的主要數學基礎包括各種邏輯學、集合論、代數理論、圖論。我們舉coq的例子為例,如果要證明對于任意布爾變量,not(notb)=b,如果b是布爾變量,我們可以先destruct,將b分解為0,1,對兩個值分別求結果進行驗證。繼續舉剛才的游戲例子。比特幣對智能合約的支持并不是很好,一般是通過比特幣腳本在比特幣系統加入智能合約。所以,《BitML:ACalculusforBitcoinSmartContracts》論文即是對于比特幣系統上的智能合約建立的形式化驗證語言。下面是《BitML:ACalculusforBitcoinSmartContracts》論文中形式化驗證的例子:

聲音 | 彭博技術分析師:比特幣價格自2018年3月以來首次將形成死亡十字:彭博技術分析師今日發文稱,自2018年3月以來,比特幣首次處于死亡十字路口的邊緣。一旦比特幣形成熊市的死亡交叉,它的價格可能會再次大幅下跌。文章表示,當某一資產的MA50跌破其MA200時,這種看跌模式就形成了。這是一個技術信號,通常是進一步拋售的先兆,去年基本上就發生了這種情況。去年12月,在經歷了殘酷的加密冬天之后,比特幣的市值一度跌至3100美元的低位。[2019/10/24]

在其特定編譯器里,上述代碼的意思是PayOrRefund函數有兩種結果,要么在A的允許下,B將合約中的比特幣拿走,要么,在B的準許下,A將合約中的比特幣拿走。

分析 | XRP技術分析:價格長期看空:據ambcrypto報道,XRP的價格為0.3765美元,市值為1518萬美元,略低于比特幣(比特幣)。XRP在一小時內的上升趨勢是從0.3388美元到0.3603美元,而下降趨勢是從0.4955美元到0.3767美元。對XRP的支持在$0.3381,而阻力點分布在$0.4040、$0.4270和$0.4614。XRP一小時圖表中的指標都顯示市場看漲。一日圖與一小時圖完全相反,正如博林格帶、阿倫和隨機所示,它是熊市。[2018/12/2]

上述代碼的意思是:當A和B都因超時而違規時,需要管理人員的介入,在上述例子中,0.1比特幣將轉入管理人員M的賬戶中,余下的0.9比特幣將在M的授權下,進入A或B的賬戶。

上述代碼的意思是我們上述合約的形式化:首先,如果B沒有違規,在規定時間內向全網廣播了其value的哈希值和value值,那么B可以收回押金。同理,A也一樣。當A,B都廣播了其哈希值和value值時,如果value值相同,則A可以獲得2比特幣,如果value值不同,則B可以獲得2比特幣。對于上述的形式化語言,論文中自行設計了一個編譯器,用來專門編譯上述的語言。形式化驗證對智能合約的意義形式化驗證并不能完全確保系統的性能正確無誤,但是可以從邏輯上最大限度地理解和分析系統,并盡可能地發現其中不一致性、模糊性、不完備性等錯誤。形式化驗證可用來消除高風險代碼漏洞。形式化驗證對軟件測試的意義減輕人力物力的使用相比于其他測試,形式化驗證更加可靠公眾號:DegameLabs鏈游實驗室,專注于區塊鏈游戲新玩法,行業解讀,游戲咨詢,技術分享,更多精彩內容請關注公眾號。

Tags:比特幣區塊鏈VALUEVAL比特幣總額怎么做區塊鏈VALUE幣Ark Rivals

DOT
印度即將靠比特幣實現5萬億的經濟規模_COIN

胡說扒道中東地區沖突升級,比特幣大漲后其避險資產屬性再次被人津津樂道。今天比特幣突破了8000美元,市場更是一片振奮.

1900/1/1 0:00:00
應該如何處理上鏈數據?_TOKE

編者按:本文來自以太坊愛好者,作者:WeiwuZhang,翻譯&校對:安仔C1int&阿劍,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
將要2.0的以太坊,會像2017年一樣再爆發嗎? | 星球TV_CON

作者|康康編輯|郝方舟Odaily星球日報出品最近以太坊進行了伊斯坦布爾硬分叉升級,由于更多面向的是開發者,市場反饋并不強.

1900/1/1 0:00:00
互聯巨頭布局區塊鏈,現在成績究竟如何_BAAS

2019年2月15日,國家網信辦發布的《區塊鏈信息服務管理規定》開始實施,要求區塊鏈服務提供者通過國家互聯網信息辦公室區塊鏈信息服務備案管理系統填報備案信息.

1900/1/1 0:00:00
密碼法出臺背景解讀:國家級密碼戰對決拉開序幕_DRI

2020年1月1日,中國首部《中華人民共和國密碼法》將正式開始實施,而在這之前一直只有一部2007年4月23日公布的《商用密碼產品使用管理規定》和《境外組織和個人在華使用密碼產品管理辦法》.

1900/1/1 0:00:00
區塊鏈2019的十大關鍵詞_數字貨幣

編者按:本文來自01區塊鏈,作者:雨林,審核:于百程,Odaily星球日報經授權轉載。2019年區塊鏈領域發生了太多熱點事件,每個熱點事件發生之時整個行業普遍會高估事件的影響力,但當我們回顧區塊.

1900/1/1 0:00:00
ads