<video id="zjj55"><delect id="zjj55"></delect></video>

<big id="zjj55"><listing id="zjj55"><del id="zjj55"></del></listing></big>

<menuitem id="zjj55"><delect id="zjj55"><pre id="zjj55"></pre></delect></menuitem>

<output id="zjj55"></output>
<video id="zjj55"></video>

<menuitem id="zjj55"></menuitem>

    <video id="zjj55"><listing id="zjj55"></listing></video>

    <menuitem id="zjj55"></menuitem>
    <output id="zjj55"><delect id="zjj55"><pre id="zjj55"></pre></delect></output>

    <menuitem id="zjj55"></menuitem>
    <menuitem id="zjj55"></menuitem>

        <big id="zjj55"></big>
          1. 移動端
            訪問手機端
            官微
            訪問官微

            搜索
            取消
            溫馨提示:
            敬愛的用戶,您的瀏覽器版本過低,會導致頁面瀏覽異常,建議您升級瀏覽器版本或更換其他瀏覽器打開。

            區塊鏈項目如何打假?區塊鏈代碼審計,造就完美虛擬世界

            來源:未央網 2018-04-27 11:39:42 區塊鏈 虛擬世界 金融科技
                 來源:未央網     2018-04-27 11:39:42

            核心提示目前,區塊鏈項目被認為是傳銷、詐騙的居多,因為我們看不到具體落地的場景與應用。

              目前,區塊鏈項目被認為是傳銷、詐騙的居多,因為我們看不到具體落地的場景與應用。許多發行虛擬貨幣的項目方,沒有白皮書、項目團隊,只靠一張嘴說,自己用了區塊鏈技術,就可以融資千萬、甚至上億。

              而且,許多項目方在海外,而非在國內進行代幣發行和交易所交易(國內監管政策也不允許上述行為)。眾多投資者在投資過程當中,只能盲目地跟從市場變化與一些市場傳聞,捕風捉影地去甄別區塊鏈項目的真假。項目人員見不到,開發地無從查找,僅僅存在于虛擬世界與網絡空間的區塊鏈項目到底是真是假,我們該何以自處。

              那么,我們就拿這些項目方沒有辦法了嗎?

              任憑他說自己用了區塊鏈技術我們就相信嗎?

              一個項目到底有沒有用區塊鏈技術?

              一個項目是否必須要使用區塊鏈技術才能實現?

              一個項目是否使用了完美的智能合約代碼?

              我們靠什么判斷。

              區塊鏈審計哪家強?中國鏈圈找藍翔。

              一、區塊鏈代碼審計可以解決哪些問題:讓黑客無孔可入

              隨著BTC、ETH、EOS等區塊鏈項目的迅速發展,區塊鏈項目已經進入了智能合約時代,但是智能合約自身的正確性和安全性卻面臨著巨大的問題。

              也就是說任何一個項目在使用區塊鏈時都有可能走向歧途,不能完全保證代碼的準確性。就像每個人在電腦打字時都會打錯字一樣,程序員在輸入代碼時也會存在筆誤和錯漏。

              而區塊鏈中的基礎:智能合約代碼的開源性需要代碼的高可靠性,這種可靠性要求100%的正確。

              差之毫厘,謬以千里。

              用專業的術語來說:

              類似比特幣這樣的代碼全部公開,用智能合約代碼存儲在區塊鏈上,與交易數據一樣受到區塊鏈的加密保護,要想修改智能合約代碼需要掌握51%的算力,因此,智能合約代碼的防篡改性得到大大提升。

              智能合約受到區塊鏈本身保護,所以智能合約代碼可以最大限度的開源和讓人閱讀。智能合約解決了可以公開代碼并保障其安全的問題,但是代碼的公開性使得黑客容易掌握代碼的缺陷,進一步利用代碼缺陷觸發條件改變智能合約執行結果,使得區塊鏈項目存在巨大的經濟隱患。

              就像,我們在銀行里轉賬,每一個賬戶的信息都是對的,轉賬才能夠是正確的,你的財產才可以安全被保護,所以:區塊鏈代碼中一個字都不能錯。

              二、區塊鏈代碼錯誤導致的嚴重后果

              區塊鏈中的智能合約代碼質量不好造成了許多嚴重的后果。

              目前來看,許多交易所和代幣項目在上交易所之前沒有經過區塊鏈代碼審計,造成了許多虛擬貨幣被盜竊的黑客事件。

              (一)SMT項目方與美國BEC代幣的安全漏洞

              2018年4月25日凌晨,SmartMesh(SMT)項目方反饋發現其交易存在異常問題,經初步排查,SMT的以太坊智能合約存在漏洞。受此影響,火幣Pro目前暫停所有幣種的充提幣業務。

              另據媒體報道,發現SMT與美圖BEC代幣存類似的安全漏洞,即可通過溢出攻擊可以收到大量的代幣。

             ?。ǘ┟缊DBEC的異常交易漏洞

              2018年4月22日,美圖BEC出現異常交易,據分析,BEC 智能合約中的batchTransfer批量轉賬函數存在漏洞,攻擊者可傳入很大的value數值,使cnt * value后超過unit256的最大值使其溢出導致amount變為0。

             ?。ㄈ㏄arity多簽名錢包漏洞

              2017年7月,Parity多簽名錢包由于其智能合約代碼中存在漏洞,被黑客盜取時價超過3000萬美金的ETH。

             ?。ㄋ模┖诳捅I幣漏洞

              2016年6月由于智能合約的一個錯誤,黑客從DAO偷走了價值5500萬美元的ETH。

              代碼的安全缺陷倒逼智能合約的代碼自動審計。

              三、區塊鏈代碼審計成就完美合約

              區塊鏈智能合約通過代碼建立一套“法律合同”,軟件工程師創造一個完全無誤差的代碼是不可能的,程序員總存在疏忽的地方。紅岸科技和國防科技大學的Ulord區塊鏈項目研究團隊對市面上的區塊鏈智能合約進行了審計,他們的研究發現:

              對所有的程序員來說,寫一個沒有bug的代碼實在是太難了,即使采取了所有可能的預防措施,在復雜的軟件中也總會出現沒有預料到的執行路徑或可能的漏洞。

              這是為什么要代碼審計最重要的原因之一。

              區塊鏈中的 “法律合同”是一項受解釋和仲裁的約束,程序員很難去創造一個縝密的合約。在任意一個大的合約里,可能出現的文稿錯誤以及一些條款需要解釋和仲裁。

              同時,軟件工程師不是法律專家,反之亦然。起草一份好的合約需要各種各樣的技能,不一定與編寫的計算機程序兼容。

              因此,智能合約代碼在一定程度上都可能存在安全隱患。傳統的智能合約代碼審計主要利用人工,依靠code reviewer閱讀智能合約代碼。人工代碼審計最終還是依賴人的經驗,代碼審計效果不明顯,針對目前ETH大量代幣的智能合約,人工審計工作量大,難以高效的完成工作。

              在區塊鏈領域從事代碼審計業務的項目公司較少,目前每個代幣在上交易所之前,其區塊鏈智能合約代碼由交易所進行審察和判定,但交易所有時并不能完全有效地判斷合約是否完美。

              智能化代碼審計,利用計算機進行穩健性檢驗是當前代碼審計最重要的方式,掌握該項技術標準的國內公司并不多。

              但,區塊鏈代碼審計的重要性不言而喻,區塊鏈世界本身是相當安全的,但是由于人為撰寫代碼的問題,不可能完美,必須加強代碼有效性的識別。

            責任編輯:陳愛

            免責聲明:

            中國電子銀行網發布的專欄、投稿以及征文相關文章,其文字、圖片、視頻均來源于作者投稿或轉載自相關作品方;如涉及未經許可使用作品的問題,請您優先聯系我們(聯系郵箱:cebnet@cfca.com.cn,電話:400-880-9888),我們會第一時間核實,謝謝配合。

            為你推薦

            猜你喜歡

            收藏成功

            確定
            人妻精品一区二区三区_好紧好湿好硬国产在线视频_亚洲精品无码mv在线观看_国内激情精品久久久

            <video id="zjj55"><delect id="zjj55"></delect></video>

            <big id="zjj55"><listing id="zjj55"><del id="zjj55"></del></listing></big>

            <menuitem id="zjj55"><delect id="zjj55"><pre id="zjj55"></pre></delect></menuitem>

            <output id="zjj55"></output>
            <video id="zjj55"></video>

            <menuitem id="zjj55"></menuitem>

              <video id="zjj55"><listing id="zjj55"></listing></video>

              <menuitem id="zjj55"></menuitem>
              <output id="zjj55"><delect id="zjj55"><pre id="zjj55"></pre></delect></output>

              <menuitem id="zjj55"></menuitem>
              <menuitem id="zjj55"></menuitem>

                  <big id="zjj55"></big>