行業資(zī)訊

Industry information

李虹含:區塊鏈項目如何打假?

點擊次數:615    來源:網易研究局

目前,區塊鏈項目被認爲是傳銷、詐騙的居多,因爲我(wǒ)們看不到具體(tǐ)落地的場景與應用。

許多發行虛拟貨币的項目方,沒有白(bái)皮書(shū)、項目團隊,隻靠一(yī)張嘴說,自己用了區塊鏈技術,就可以融資(zī)千萬、甚至上億。

而且,許多項目方在海外(wài),而非在國内進行代币發行和交易所交易(國内監管政策也不允許上述行爲)。

衆多投資(zī)者在投資(zī)過程當中(zhōng),隻能盲目地跟從市場變化與一(yī)些市場傳聞,捕風捉影地去(qù)甄别區塊鏈項目的真假。

項目人員(yuán)見不到,開(kāi)發地無從查找,僅僅存在于虛拟世界與網絡空間的區塊鏈項目到底是真是假,我(wǒ)們該何以自處。

那麽,我(wǒ)們就拿這些項目方沒有辦法了嗎(ma)?

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

一(yī)個項目到底有沒有用區塊鏈技術?

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

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

我(wǒ)們靠什麽判斷。

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

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

也就是說任何一(yī)個項目在使用區塊鏈時都有可能走向歧途,不能完全保證代碼的準确性。

就像每個人在電(diàn)腦打字時都會打錯字一(yī)樣,程序員(yuán)在輸入代碼時也會存在筆誤和錯漏。

而區塊鏈中(zhōng)的基礎:智能合約代碼的開(kāi)源性需要代碼的高可靠性,這種可靠性要求100%的正确。

差之毫厘,謬以千裏。

用專業的術語來說:

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

智能合約受到區塊鏈本身保護,所以智能合約代碼可以最大(dà)限度的開(kāi)源和讓人閱讀。

智能合約解決了可以公開(kāi)代碼并保障其安全的問題,但是代碼的公開(kāi)性使得黑客容易掌握代碼的缺陷,進一(yī)步利用代碼缺陷觸發條件改變智能合約執行結果,使得區塊鏈項目存在巨大(dà)的經濟隐患。

就像,我(wǒ)們在銀行裏轉賬,每一(yī)個賬戶的信息都是對的,轉賬才能夠是正确的,你的财産才可以安全被保護,所以:區塊鏈代碼中(zhōng)一(yī)個字都不能錯。

二、區塊鏈代碼錯誤導緻的嚴重後果

區塊鏈中(zhōng)的智能合約代碼質量不好造成了許多嚴重的後果。

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

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

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

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

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

2018年4月22日,美圖BEC出現異常交易,據分(fēn)析,BEC智能合約中(zhōng)的batchTransfer批量轉賬函數存在漏洞,攻擊者可傳入很大(dà)的value數值,使cnt * value後超過unit256的最大(dà)值使其溢出導緻amount變爲0。

(三)Parity多簽名錢包漏洞

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

(四)黑客盜币漏洞

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

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

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

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

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

這是爲什麽要代碼審計最重要的原因之一(yī)。

區塊鏈中(zhōng)的?“法律合同”是一(yī)項受解釋和仲裁的約束,程序員(yuán)很難去(qù)創造一(yī)個缜密的合約。

在任意一(yī)個大(dà)的合約裏,可能出現的文稿錯誤以及一(yī)些條款需要解釋和仲裁。

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

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

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

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

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


Copyright© 2020 浙江中财明利投资有限公司All Rights Reservd.
ICP備案信息: