<s id="8turc"></s>
        
        

        1. <strike id="8turc"></strike>

          行業(yè)資訊

          Industry information

          李虹含:區(qū)塊鏈項(xiàng)目如何打假?

          點(diǎn)擊次數(shù):719    來源:網(wǎng)易研究局

          目前,區(qū)塊鏈項(xiàng)目被認(rèn)為是傳銷、詐騙的居多,因?yàn)槲覀兛床坏骄唧w落地的場景與應(yīng)用。

          許多發(fā)行虛擬貨幣的項(xiàng)目方,沒有白皮書、項(xiàng)目團(tuán)隊(duì),只靠一張嘴說,自己用了區(qū)塊鏈技術(shù),就可以融資千萬、甚至上億。

          而且,許多項(xiàng)目方在海外,而非在國內(nèi)進(jìn)行代幣發(fā)行和交易所交易(國內(nèi)監(jiān)管政策也不允許上述行為)。

          眾多投資者在投資過程當(dāng)中,只能盲目地跟從市場變化與一些市場傳聞,捕風(fēng)捉影地去甄別區(qū)塊鏈項(xiàng)目的真假。

          項(xiàng)目人員見不到,開發(fā)地?zé)o從查找,僅僅存在于虛擬世界與網(wǎng)絡(luò)空間的區(qū)塊鏈項(xiàng)目到底是真是假,我們該何以自處。

          那么,我們就拿這些項(xiàng)目方?jīng)]有辦法了嗎?

          任憑他說自己用了區(qū)塊鏈技術(shù)我們就相信嗎?

          一個(gè)項(xiàng)目到底有沒有用區(qū)塊鏈技術(shù)?

          一個(gè)項(xiàng)目是否必須要使用區(qū)塊鏈技術(shù)才能實(shí)現(xiàn)?

          一個(gè)項(xiàng)目是否使用了完美的智能合約代碼?

          我們靠什么判斷。

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

          隨著BTC、ETH、EOS等區(qū)塊鏈項(xiàng)目的迅速發(fā)展,區(qū)塊鏈項(xiàng)目已經(jīng)進(jìn)入了智能合約時(shí)代,但是智能合約自身的正確性和安全性卻面臨著巨大的問題。

          也就是說任何一個(gè)項(xiàng)目在使用區(qū)塊鏈時(shí)都有可能走向歧途,不能完全保證代碼的準(zhǔn)確性。

          就像每個(gè)人在電腦打字時(shí)都會打錯(cuò)字一樣,程序員在輸入代碼時(shí)也會存在筆誤和錯(cuò)漏。

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

          差之毫厘,謬以千里。

          用專業(yè)的術(shù)語來說:

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

          智能合約受到區(qū)塊鏈本身保護(hù),所以智能合約代碼可以最大限度的開源和讓人閱讀。

          智能合約解決了可以公開代碼并保障其安全的問題,但是代碼的公開性使得黑客容易掌握代碼的缺陷,進(jìn)一步利用代碼缺陷觸發(fā)條件改變智能合約執(zhí)行結(jié)果,使得區(qū)塊鏈項(xiàng)目存在巨大的經(jīng)濟(jì)隱患。

          就像,我們在銀行里轉(zhuǎn)賬,每一個(gè)賬戶的信息都是對的,轉(zhuǎn)賬才能夠是正確的,你的財(cái)產(chǎn)才可以安全被保護(hù),所以:區(qū)塊鏈代碼中一個(gè)字都不能錯(cuò)。

          二、區(qū)塊鏈代碼錯(cuò)誤導(dǎo)致的嚴(yán)重后果

          區(qū)塊鏈中的智能合約代碼質(zhì)量不好造成了許多嚴(yán)重的后果。

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

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

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

          另據(jù)媒體報(bào)道,發(fā)現(xiàn)SMT與美圖BEC代幣存類似的安全漏洞,即可通過溢出攻擊可以收到大量的代幣。

          (二)美圖BEC的異常交易漏洞

          2018年4月22日,美圖BEC出現(xiàn)異常交易,據(jù)分析,BEC智能合約中的batchTransfer批量轉(zhuǎn)賬函數(shù)存在漏洞,攻擊者可傳入很大的value數(shù)值,使cnt * value后超過unit256的最大值使其溢出導(dǎo)致amount變?yōu)?。

          (三)Parity多簽名錢包漏洞

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

          (四)黑客盜幣漏洞

          2016年6月由于智能合約的一個(gè)錯(cuò)誤,黑客從DAO偷走了價(jià)值5500萬美元的ETH。

          代碼的安全缺陷倒逼智能合約的代碼自動審計(jì)

          三、區(qū)塊鏈代碼審計(jì)成就完美合約

          區(qū)塊鏈智能合約通過代碼建立一套“法律合同”,軟件工程師創(chuàng)造一個(gè)完全無誤差的代碼是不可能的,程序員總存在疏忽的地方。紅岸科技和國防科技大學(xué)的Ulord區(qū)塊鏈項(xiàng)目研究團(tuán)隊(duì)對市面上的區(qū)塊鏈智能合約進(jìn)行了審計(jì),他們的研究發(fā)現(xiàn):

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

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

          區(qū)塊鏈中的?“法律合同”是一項(xiàng)受解釋和仲裁的約束,程序員很難去創(chuàng)造一個(gè)縝密的合約。

          在任意一個(gè)大的合約里,可能出現(xiàn)的文稿錯(cuò)誤以及一些條款需要解釋和仲裁。

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

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

          在區(qū)塊鏈領(lǐng)域從事代碼審計(jì)業(yè)務(wù)的項(xiàng)目公司較少,目前每個(gè)代幣在上交易所之前,其區(qū)塊鏈智能合約代碼由交易所進(jìn)行審察和判定,但交易所有時(shí)并不能完全有效地判斷合約是否完美。

          智能化代碼審計(jì),利用計(jì)算機(jī)進(jìn)行穩(wěn)健性檢驗(yàn)是當(dāng)前代碼審計(jì)最重要的方式,掌握該項(xiàng)技術(shù)標(biāo)準(zhǔn)的國內(nèi)公司并不多。

          但,區(qū)塊鏈代碼審計(jì)的重要性不言而喻,區(qū)塊鏈?zhǔn)澜绫旧硎窍喈?dāng)安全的,但是由于人為撰寫代碼的問題,不可能完美,必須加強(qiáng)代碼有效性的識別。


          Copyright? 2020 臺州市金融投資集團(tuán)有限公司All Rights Reservd.

          浙公網(wǎng)安備 33100202000939號

          ICP備案信息:浙ICP備17026116號-1
          亚洲国产精品久久精品,免费无遮挡Av网站,香蕉在线精品一区二区,丰满人妻熟妇乱又伦精品视频三 看国产精品美女黄片 911亚洲精选在线观看
                <s id="8turc"></s>
                
                

                1. <strike id="8turc"></strike>