本文主要介紹了智能合約和形式化驗證。什么是智能合約?一個智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。在區塊鏈技術領域就是一段運行在區塊鏈上的有多方參與的代碼。最經典的例子是公開拍賣。智能合約可以看做一個解決某個問題的程序,但是因為運行在區塊鏈上,因為區塊鏈的不可逆轉特性,所以需要較一般程序更高的安全性要求,需要更嚴格的方法確保安全。
舉個利用智能合約進行游戲的例子,現在有兩個人A,B在玩游戲,兩人先分別抵押2比特幣,然后再下注一比特幣,然后A和B分別在0和1里面進行選擇一個數字,分別退回他們的押金,然后如果他們兩個人選的數字相同,則A得到兩個比特幣,如果數字不同,則B得到兩個比特幣。現在我們只考慮A,A要么在一定時間內向全網廣播一個他選擇的value的哈希值,然后廣播他的value,要么在過了一段時間t之后,沒有反應而因為超時受到懲罰,即其押金會轉移給B。我們可以利用智能合約完成這樣的一個有著明確規則的過程。軟件測試軟件測試的標準定義:在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。主要過程包括靜態分析測試、動態分析測試、黑盒測試和白盒測試黑盒測試不用考慮內部結構,是從使用者的角度進行的測試
動態 | 盧旺達在下年預算中為區塊鏈技術分配研發資金:據Coinidol消息,盧旺達共和國已將下一財政年度的部分預算分配給信息產業部,以開發和支持區塊鏈項目。該部部長Paula Ingabire透露,政府愿意支持區塊鏈和其他大量第四次工業革命技術。她堅信在不久的將來,區塊鏈將改變許多重要領域,包括醫療保健、旅游業、土地登記、運輸和物流、金融以及其他領域。[2019/12/15]
白盒測試需要對程序內部考慮,程序執行流程圖內的每一條路徑都要考慮到,每個分支語句,每個判斷語句都要分別進行測試一個軟件測試的進行分為制定測試計劃->進行測試設計->測試開發->執行測試->測試評估等過程如果要正確的進行黑盒測試,軟件規格說明書一定要正確,但是但很難完全正確,同時不可能對程序進行毫無遺漏的測試如果要正確的進行白盒測試,測試用例要全面,但是代價昂貴,容易遺漏以上所說的黑盒測試和白盒測試會占用大量的人力物力財力,龐大的工作量產出繁雜的報告,但是正確性得不到完全保證。一般的軟件開發,項目經常延誤,預算經常超支。開發的后續階段會發現很多前期錯誤,代價高昂,更可怕的是,如果是運行了很久的智能合約,很有可能會發生類似于DAO漏洞的重入攻擊。
動態 | 韋氏評級下調EOS技術分數:據cointelegraph消息,6月7日,美國金融研究公司韋氏評級在推特上宣布,由于區塊鏈在中心化方面存在“嚴重問題”,該公司下調了對EOS的評級。韋斯評級公司(Weiss Ratings)在推特上稱,這種加密貨幣存在嚴重的中心化問題,“他們上周的活動為緩解這一問題做了努力”,顯然指的是EOS開發商Block.one主辦的一場活動。6月1日,鑒于EOS的發展,Weiss決定降低EOS的技術分數。[2019/6/9]
DAO漏洞的原因:在以太坊上運行的智能合約在涉及到以太幣的轉移時,如果合約內部沒有處理以太幣轉移的函數,則會自動調用fallback函數,當惡意用戶在智能合約的fallback函數再次轉移以太幣時,會形成轉移以太幣然后調用fallback函數的循環,導致合約內的以太幣不斷轉入用戶地址。形式化驗證目前形式化方法的主要研究對象是計算機系統的設計和驗證,其主要目的是幫助工程師構造正確可靠的計算機系統,形式化方法最基本的特點是利用數學的概念、方法和工具來解決設計的正確性問題,作為形式化方法的主要數學基礎包括各種邏輯學、集合論、代數理論、圖論。我們舉coq的例子為例,如果要證明對于任意布爾變量,not(notb)=b,如果b是布爾變量,我們可以先destruct,將b分解為0,1,對兩個值分別求結果進行驗證。繼續舉剛才的游戲例子。比特幣對智能合約的支持并不是很好,一般是通過比特幣腳本在比特幣系統加入智能合約。所以,《BitML:ACalculusforBitcoinSmartContracts》論文即是對于比特幣系統上的智能合約建立的形式化驗證語言。下面是《BitML:ACalculusforBitcoinSmartContracts》論文中形式化驗證的例子:
浙江寧波市運用區塊鏈等技術分析互聯網海量數據:據人民政協報,浙江寧波市運用大數據、人工智能、區塊鏈等技術將互聯網海量信息進行抓取、分析、研判,形成有效的可視化預警信息。以特有的網格化、信息化、立體化、社會化的監測預警監管體系,捍衛百姓金融安全。[2018/5/14]
在其特定編譯器里,上述代碼的意思是PayOrRefund函數有兩種結果,要么在A的允許下,B將合約中的比特幣拿走,要么,在B的準許下,A將合約中的比特幣拿走。
價格回調利于比特幣健康發展 加密貨幣不能與區塊鏈技術分離:最近比特幣價格的大漲大跌引發不同的猜想。Netcoins的CEO邁克爾?沃格爾并不認為比特幣和其他數字貨幣的價格暴跌意味著區塊鏈技術的失敗。他解釋:回調是比特幣健康發展的一部分,加密貨幣是不能與區塊鏈技術分離的。來自Auxesis的Kumar Gaurav表示:“對于加密貨幣及區塊鏈技術的觀點應該是中立的,而不是基于意識形態。”來自Auxesis的庫馬爾認為:加密貨幣應該成為區塊鏈技術的首次使用和支持用例。[2018/2/19]
上述代碼的意思是:當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鏈游實驗室,專注于區塊鏈游戲新玩法,行業解讀,游戲咨詢,技術分享,更多精彩內容請關注公眾號。
編者按:本文來自01區塊鏈,作者:李薇,Odaily星球日報經授權轉載。2019年即將步入尾聲,我國金融科技的實踐成果也在不斷推陳出新,尤其是進入四季度以來,多家頭部金融科技公司提出“由消費互聯.
1900/1/1 0:00:00編者按:本文來自頭等倉,Odaily星球日報經授權轉載。與其他加密貨幣一樣,比特幣的產生方式與傳統貨幣有著根本的不同。它沒有發行中心,其匯率也不受央行控制.
1900/1/1 0:00:00作者|康康編輯|郝方舟Odaily星球日報出品最近以太坊進行了伊斯坦布爾硬分叉升級,由于更多面向的是開發者,市場反饋并不強.
1900/1/1 0:00:00近日,賽迪區塊鏈研究院與互鏈脈搏發布2019年《中國城市區塊鏈發展水平評估報告》,對中國45座重點城市進行了綜合評估,北京、深圳、杭州、上海、廣州位列前五.
1900/1/1 0:00:00\n 《OK區塊鏈60講》是由OKEx&新浪科技聯合出品的區塊鏈科普動畫視頻,針對區塊鏈零基礎用戶.
1900/1/1 0:00:00編者按:本文來自經濟日報,作者:經濟日報·中國經濟網記者李萬祥,Odaily星球日報經授權轉載.
1900/1/1 0:00:00