经典三级在线一区,日本午夜精品,久久夜夜操妹子,亚洲欧美一区二区三区久本道91

區塊鏈公鏈審計過程中遇到的Merkle Tree底

區塊鏈公鏈審計過程中遇到的merkle tree底層實現問題
前言
區塊鏈項目態勢洶涌,156在經歷了比特幣、6991以太坊時代之后,3780大量擁有著不同特點與優勢的公鏈項目如雨后春筍般層出不窮,吸引著人們的眼球。
這些項目既擁有區塊鏈1.0、2.0時代中,數字貨幣交易、去中心化、支持智能合約的特征,也通過更加巧妙的共識機制、更復雜的技術和金融模型,來解決現有的種種問題,助區塊鏈技術步入我們的生活。
在此期間,長亭科技區塊鏈安全組也在關注著諸多公鏈項目,為這些公鏈項目的發展與上線保駕護航。在此前一項公鏈審計的項目過程中,我們發現了一個有意思的關于 merkle tree 底層實現漏洞。下面將分享發現該漏洞的前期技術積累,以及發現過程。
公鏈項目審計
回顧2018年,對于區塊鏈安全從業人員而言,大部分人印象頗深的可能都是以太坊的諸多合約漏洞,eos 公鏈上層出不窮的合約問題,以及少數公鏈漏洞信息。使用搜索引擎查找和區塊鏈相關的審計類文章,也大多為智能合約的 checklist、智能合約的審計分析等,針對公鏈審計類的技術分享并無很多。這里t薦大家一份由長亭科技編寫的國內首發的《區塊鏈安全生存指南》,其中介紹了當下區塊鏈行業環境,以及近年來區塊鏈業內的一些著名事件等。同時分享長亭科技日前發布的《公鏈審計checklist》,以供公鏈項目開發者參考。
審計區塊鏈公鏈項目,與通常的軟件代碼審計略有不同。通常的代碼審計,我們會考慮語言特性以及該語言的 0day 或 1day 漏洞,結合常見業務場景,分析代碼的實現。區塊鏈公鏈項目,其本身代碼量較多,在項目背后,還有嚴謹的金融貨幣模型以及共識模型,且無較為實用的審計工具,需要更多以來人工審計,審計的定制化程度高,難度及工作量大。依我理解,我們主要從以下方向入手:
語言特性及其已知漏洞
底層實現密碼學、序列化、大數運算等
區塊鏈基本元素的實現區塊、交易、鏈
區塊鏈行為的邏輯生成一個區塊、交易進入 tx_pool 等
區塊鏈的其他組件p2p、rpc、錢包等
共識算法合理性
金融模型合理性
歷史公鏈漏洞
漏洞發現過程
我們在審計過程中發現的漏洞利用方式,源于該公鏈項目在實現 merkle tree 邏輯時,與常規實現方式有些許不同。在整理之前比特幣區塊鏈、以太坊區塊鏈,出現過的漏洞時,發現了可能利用的漏洞點,經過確認發現可以影響不同節點間達成共識,進而造成分叉。
在發現問題后,長亭科技立刻匯報給公鏈項目方,公鏈開發者響應迅速,非常重視此次安全問題,即刻完成了修復。
什么是 merkle tree
merkle tree,一般也稱為 merkle hash tree。是數據結構中我們所了解的樹,其各個節點均包含 hash 值。
merkle tree 具有以下的特點:
它是一棵樹,具有數據結構中,樹結構的所有特點。在講解中我們默認其為二叉樹
merkle tree 的葉子節點中存放數據。非葉子節點的 value,是由其左右兩子節點,經過組合和 hash 運算獲得。

液壓金屬屑打包機-鵬乾機械-金屬打包機

Earthworks SR5314 無線人聲麥克風拾音頭 話筒頭

東莞金鹽回收

巢湖強夯地基-恒鼎強夯機技術*-強夯地基單價

預制構件疊合板批發-呂梁預制構件疊合板-太原業臻管樁

內外墻保溫抹灰鋼絲網建筑鋼絲網片電焊網不銹鋼網養殖防護鐵絲網

金華二手本田-海俊機車出眾-金華二手本田摩托車

高剛性加工中心的工藝特點,你了解嗎?

招聘粵菜川菜涼菜廚師面點師幫廚洗碗工采購員等

浙江FR4直銷 蘇州市華研富士新材料供應

主站蜘蛛池模板: 奉化市| 宝坻区| 张家港市| 金阳县| 平利县| 桦南县| 梁山县| 阿克苏市| 松原市| 简阳市| 榆中县| 苍溪县| 岢岚县| 自治县| 交城县| 台州市| 湘潭县| 改则县| 徐州市| 陆川县| 广州市| 麻栗坡县| 元谋县| 台北县| 福泉市| 美姑县| 繁峙县| 伊春市| 夹江县| 枣庄市| 洛隆县| 南安市| 昂仁县| 星子县| 环江| 卢龙县| 江西省| 锡林浩特市| 崇义县| 太谷县| 左云县|