• <meter id="ddfke"><delect id="ddfke"></delect></meter><tt id="ddfke"></tt>
    1. <small id="ddfke"></small><var id="ddfke"><ol id="ddfke"></ol></var><code id="ddfke"><delect id="ddfke"><source id="ddfke"></source></delect></code>

        新一代安全創企該如何保護區塊鏈代碼?

        2018-09-29 13:31 稿源:獵云網  0條評論

        圖片來源圖蟲:已授站長之家使用

        【獵云網(微信號:ilieyun)】 9 月 28 日報道(編譯:福爾摩望)

        9 月初,由Cameron和Tyler Winklevoss創立的加密貨幣公司Gemini Trust宣布,它已經獲得紐約州監管機構的批準,推出一套與美元價值相關的數字通證。

        這些名為Gemini Dollars的通證可以在以太坊區塊鏈上,通過名為智能合約的專門程序從一個人發送給另一個人。為了證實其通證實際上是由傳統的美元所支持的,Gemini發布了一份獨立會計師事務所的報告。該公司還發布了一份獨立的審計報告,重點沒有關注在財務,而是基礎軟件代碼上,該代碼來自紐約一家名為Trail of Bits的安全公司。

        “評估的目的是發現漏洞,從而讓攻擊者無法進行只針對發行者的行動,”Trail of Bits首席執行官Dan Guido在Gemini發布的一封信中寫道,并解釋稱,測試中發現的所有問題都已經得到解決。

        Trail of Bits是為智能合約提供技術安全審計的幾家公司之一,這些智能合約處理從為區塊鏈初創企業籌集資金的ICO到建立在區塊鏈網絡之上的復雜數字市場的所有事務。智能合約是由支持區塊鏈的計算機運行的專門程序,通常在滿足某些條件時,有權接收和分發加密貨幣或其他數字通證。專家們表示,編寫它們需要新的思維方式,這可能會讓沒有經驗的程序員出錯。

        悉尼區塊鏈軟件和網絡安全公司Sigma Prime的董事Mehdi Zerouali說:“實際上,編寫智能合約是一個全新的、不同的范例。”

        “有些錯誤非常可怕”

        所有的軟件都可能有漏洞,但是由于智能合約通常是確定誰擁有價值加密資產的唯一方法,因此他們代碼中的錯誤可能會導致特別嚴重的后果。當然,如果發現了它們,黑客們會急切地利用它們竊取數字資產。根據ICO跟蹤公司CoinSchedule的數據,僅在今年,各大公司就通過ICO籌集了預計超過 200 億美元的資金。

        “有些錯誤是非常可怕的,”Guido表示。“如果你產生了它們,它們不僅非常嚴重,而且對于查看你的智能合約代碼的人來說也非常明顯。”

        最著名的錯誤是在一個去中心化、以以太坊為基礎的投資基金DAO的代碼中,DAO指的是分布式自治組織。 2016 年,黑客利用其代碼中的漏洞竊取了大約 5000 萬美元的加密貨幣,盡管后來以太坊自己進行了調整,返還了被盜的資金。

        此后,安全專家一直致力于尋找可能導致智能合約失靈的因素,并開發工具來幫助自動檢查代碼中的錯誤。他們還對新的智能合約進行了審計,并經常公開發布,這有助于讓投資者和終端用戶放心,他們不會因為編程故障而損失資金。

        Trail of Bits已經發布了許多開源工具來分析和測試用Solidity編寫的程序,Solidity是一種常用于編寫智能合約的編程語言。Guido說,開發Solidity程序的標準工具沒有那些更成熟的語言工具復雜,所以在專門軟件部署之前,它們會存在漏洞。

        “它缺乏其他現代語言所具備的許多安全保障,”他說。

        當智能合約成為愚蠢錯誤的犧牲品時

        智能合約可能會成為一些同樣類型錯誤的犧牲品,這些錯誤,比如基本的算術錯誤或者程序員意外地為多個值重用同一個變量名,可能會影響其他軟件。但是它們也可能受到特殊錯誤類別的影響:對區塊鏈代碼可用計算能力的限制可以被用來觸發拒絕服務攻擊,這使得智能合約中包含的數據超出了它們的處理能力。某些數值大小的上限會導致錯誤,過大的數字會歸零,類似臭名昭著的Y2K錯誤。這可能會導致大賬戶被減少到只有幾便士,甚至負結余的賬戶會被視為擁有巨額的正結余。

        一些不安全的代碼可以用自動分析工具檢測到,無需太多人工干預:瑞士創企ChainSecurity的聯合創始人兼首席科學家Petar Tsankov說,如果合約允許任何用戶提取資金,這可能是一個錯誤。該創企來自于瑞士知名的科技大學蘇黎世聯邦理工大學。ChainSecurity已經開發了一種叫做Securify的工具,它可以快速發現并標記Solidify代碼中的潛在問題。

        但是,其他的漏洞只有在合約實際工作的背景下才能被發現,這意味著安全審計的第一階段通常包括與開發人員坐下來,了解他們的合約希望實現什么。

        “通常,關于合約應該做什么有非常非正式的文件,”Tsankov說。

        然后,通常會有人工分析和自動測試相結合的方式來確定合約是否有可能違反其規范。Trail of Bits開發了一個名為Echidna的工具,它可以通過各種輸入快速執行智能合約,尋找讓代碼產生問題的方法。當發現錯誤時,安全測試人員會為開發人員標記它們,并幫助確保它們在代碼部署到實時的公共區塊鏈之前得到解決。

        安全公司通常說,隨著他們了解常見錯誤,他們的客戶越來越擅長編寫安全智能合約代碼。Zerouali說,隨著技術的成熟和程序員分享有效的實踐,這種模式在包括網絡本身在內的科技行業的其他角落已經出現過。

        但與此同時,一度只需要對ICO背后的合約進行審計的加密初創公司,現在正利用他們的ICO收入來打造更復雜的產品。Tsankov說,這包括更復雜的智能合約,需要對其自身的缺陷進行審計。

        “現在,一切又回歸原位,”他說。“復雜程度也正在迅速上升。”

        有好的文章希望站長之家幫助分享推廣,猛戳這里我要投稿

        相關文章

        相關熱點

        查看更多
        ?
        双色球复式价格表图
      1. <meter id="ddfke"><delect id="ddfke"></delect></meter><tt id="ddfke"></tt>
        1. <small id="ddfke"></small><var id="ddfke"><ol id="ddfke"></ol></var><code id="ddfke"><delect id="ddfke"><source id="ddfke"></source></delect></code>

          1. <meter id="ddfke"><delect id="ddfke"></delect></meter><tt id="ddfke"></tt>
            1. <small id="ddfke"></small><var id="ddfke"><ol id="ddfke"></ol></var><code id="ddfke"><delect id="ddfke"><source id="ddfke"></source></delect></code>