丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
金融科技 正文
發(fā)私信給溫曉樺
發(fā)送

0

“我不小心刪掉了(你們的3億美元)”

本文作者: 溫曉樺 2017-11-09 10:24
導(dǎo)語:更深層的問題是為什么以太坊的智能合約總是錯(cuò)誤百出?

雷鋒網(wǎng)AI金融評論按:智能合約代碼失誤造成以太坊上價(jià)值3億美元的代幣“消失”,這究竟是怎么回事?本文從技術(shù)角度進(jìn)行了解析。文章作者為CyberMiles首席科學(xué)家Michael Yuan博士。雷鋒網(wǎng)獲得作者授權(quán)發(fā)布。

Github 用戶 devops199 今天在 Twitter 上說:“I accidentally killed it”。等大家反應(yīng)過來,他的“小事故”已經(jīng)“刪除”了以太坊上價(jià)值3億美元的代幣,平均每個(gè)詞造成 7500 萬美元的損失。 

“我不小心刪掉了(你們的3億美元)”

光是 Polkadot 一個(gè)項(xiàng)目的一個(gè)賬號就有近 9000 萬美元消失。堪稱是今天最貴的一句話!

“我不小心刪掉了(你們的3億美元)”

事后有人問 devops199,為什么捅這么大一個(gè)簍子?他卻無辜地說“我是新手,正在學(xué)習(xí)?!钡拇_,他是新手,只是在試驗(yàn)剛學(xué)的智能合約語言。

“我不小心刪掉了(你們的3億美元)”

這個(gè)新手捅的大簍子告訴我們:價(jià)值300億美元的以太坊智能合約開發(fā)如同兒戲,非常不專業(yè)。

那么,這背后的技術(shù)失誤,究竟是怎么回事?

為什么錢可以“消失”?

我們都知道,數(shù)字貨幣可以高度匿名??墒悄涿请p刃劍。錢上沒寫你的名字,錢掉了你也證明不了是你的。

在數(shù)字貨幣世界中,一個(gè)“錢包”一般指一對密?。公?是錢包的“帳號”,可以隨便宣傳,別人可以往里面打錢。比如下面是我的一個(gè)以太坊錢包公?,歡迎大家隨時(shí)打錢進(jìn)來!

0xD69b30FAdf81882253329Ab0149131c67602eEd1

可是,要想從帳號中拿錢出來,你必須得有帳號的私鑰。那么問題來了:

如果我忘記了帳號私鑰怎么辦?

回答是:

那么再也沒人能夠動(dòng)那個(gè)錢包中的錢,那些錢從世界上“消失”了。

中本聰曾經(jīng)說過“消失的比特幣讓所有其他人的比特幣更值錢一點(diǎn)(因?yàn)楣┙o少了)。把你丟失的比特幣當(dāng)作對社區(qū)的捐贈(zèng)吧!”。

Lost coins only make everyone else's coins worth slightly more.  Think of it as a donation to everyone. — Satoshi Nakamoto

多重簽名的智能合約

這個(gè)帳戶密鑰對個(gè)人來說挺實(shí)用??墒菍τ诠緛碚f有點(diǎn)難用。首先密鑰切忌亂傳,只能一個(gè)人知道。但是一個(gè)人掌握全公司數(shù)千萬美元的帳戶是一件很危險(xiǎn)的事(且不說貪污挪用,就想想個(gè)人或者家人被綁架的風(fēng)險(xiǎn))。

所以有聰明人利用以太坊的“智能合約”機(jī)制開發(fā)了一個(gè)智能合約可以支持多重簽名的帳號。這個(gè)帳戶沒有自己的秘鑰。從帳戶中提錢需要智能合約同時(shí)驗(yàn)證幾個(gè)人的秘鑰。真是一個(gè)聰明的解決方法!

顯然,很多融資項(xiàng)目都需要這樣的智能合約。所以其開發(fā)者 Parity 把它放在以太坊公鏈上,作為一個(gè)“庫函數(shù)”讓大家自由調(diào)用。所以,很多 ICO 融資項(xiàng)目,包括 parity 自己的幾個(gè)大項(xiàng)目,用的智能合約帳戶都是通過調(diào)用這個(gè)庫實(shí)現(xiàn)的。

兩個(gè)小錯(cuò)誤

可是,我們回憶一下,這個(gè)智能合約一開始并不是庫函數(shù)。只是后來出于方便,追求效率,要“彎道超車”,被大家當(dāng)成庫函數(shù)用了。

作為一個(gè)獨(dú)立的智能合約,它有兩個(gè)特性是萬萬不該在“庫函數(shù)”中出現(xiàn)的:

  • 它可以有一個(gè)“擁有者”,而且設(shè)置“擁有者”的操作函數(shù)沒有任何保護(hù)。

  •  “擁有者”可以刪除這個(gè)智能合約。

我們現(xiàn)在知道 devops199 歪打誤撞地把自己設(shè)成了這個(gè)“庫函數(shù)”的擁有者,然后刪除了這個(gè)庫函數(shù)。造成的結(jié)果是,所有依賴這個(gè)庫函數(shù)的智能合約都無法工作了,這些智能合約對應(yīng)的帳號也都鎖死了,其中的錢沒有人能動(dòng)了。

未來的希望

可是,系統(tǒng)不都是人設(shè)計(jì)的嗎?為什么不能進(jìn)去人為改一下軟件,把刪除的智能合約恢復(fù)一下?

區(qū)塊鏈的重要特點(diǎn)是“去中心化”與“不可逆”。如果人可以改,又沒有權(quán)威中心,那是聽誰的,怎么改呢?而且你憑什么說這是個(gè)程序的“錯(cuò)誤”?也許別人程序就是這么設(shè)計(jì)的,你理解不了其中的深意而己?

智能合約的一個(gè)重要特點(diǎn)是“代碼既是法律”?,F(xiàn)實(shí)生活中,律師經(jīng)常鉆法律的漏洞。在區(qū)塊鏈?zhǔn)澜纾绦騿T鉆代碼的漏洞,不也是合理的嗎?區(qū)塊鏈?zhǔn)澜缬凶约旱囊?guī)則與邏輯。

不過,對于在這個(gè)事件中“消失”了3億美元的項(xiàng)目而言,希望還是有的。在以太坊開發(fā)的計(jì)劃圖上,有一個(gè)已經(jīng)擱置了一年多,優(yōu)先級不高的小項(xiàng)目:回收被智能合約凍住的資金(見EIP156)。

當(dāng)然這個(gè)“回收”具體怎么做沒人知道,似乎在今天之前也沒人仔細(xì)想過。要有優(yōu)秀程序員能解決這個(gè)問題,相信1000萬美元的獎(jiǎng)金不是夢。只是千萬不要又引入一個(gè)更壞的 bug。

我們學(xué)到了什么?

這一次出問題的 Parity 是以太坊生態(tài)中最有能力的軟件開發(fā)公司之一。它不但開發(fā)了不少以太坊核心軟件,而且做了不少銀行的應(yīng)用。不過,犯這種低級錯(cuò)誤真是堪憂。

這個(gè)出問題的軟件是幾百人用來管理資金的開源軟件。Linus Torvalds 說過:在很多眼球的觀注下,所有的軟件錯(cuò)誤都很膚淺。這里顯然沒有發(fā)生。

不過更深層的問題是為什么以太坊的智能合約總是錯(cuò)誤百出?以太坊的圖靈完備虛擬機(jī)聽上去很好,可是很難編程。有經(jīng)驗(yàn)的程序員都知道,用匯編語言是寫不出安全的現(xiàn)代程序的。安全的軟件一定是基于現(xiàn)代的編程語言與框架產(chǎn)生的。而以太坊在系統(tǒng)設(shè)計(jì)上的“不專業(yè)”已經(jīng)是不爭的事實(shí)。

所以,區(qū)塊鏈要有真正企業(yè)級的應(yīng)用,我們必須在“改進(jìn)智能合約”這個(gè)方向上創(chuàng)新。比如在區(qū)塊鏈上引入經(jīng)過多年實(shí)戰(zhàn)檢驗(yàn)的企業(yè)級軟件框架。我個(gè)人認(rèn)為,這是區(qū)塊鏈發(fā)展的主要方向之一。

封面圖片來自Sohu

=================

CyberMiles(簡稱CM)是美國知名電商平臺5miles旗下5xlab實(shí)驗(yàn)室近期正式推出的智能商業(yè)合約區(qū)塊鏈。據(jù)介紹,與一般區(qū)塊鏈企業(yè)不同,CM不但可以直接承載應(yīng)用,開發(fā)社區(qū)也可根據(jù)CM進(jìn)行構(gòu)造全新的區(qū)塊鏈來建立自己的公開或者私有區(qū)塊鏈。

據(jù)稱,目前CM建立了12個(gè)大類、371個(gè)小類別的商業(yè)合約定制模版,以完善對多種商業(yè)場景的支持,支持快速創(chuàng)建智能合約建立商業(yè)的智能合約市場。

相關(guān)文章:

5miles:這家電商公司,想做推動(dòng)區(qū)塊鏈技術(shù)落地的標(biāo)桿

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說