如何解決智能合約不夠智能的問題
Facebook的Libra面臨著一項(xiàng)艱巨的任務(wù),那就是在明年某個(gè)時(shí)候在全球范圍內(nèi)推出一種基于新代碼的新型加密貨幣。在承擔(dān)這項(xiàng)任務(wù)的過程中,他們希望實(shí)現(xiàn)軟件歷史上的第一個(gè)目標(biāo):一個(gè)能夠立即運(yùn)行的主要新代碼體。我評估了在這里工作的可能性。與此同時(shí),他們還推出了基于全新語言的全新智能合約框架,從而加大了賭注。
智能合約是擴(kuò)展和定制區(qū)塊鏈的一種方法。外界可能會認(rèn)為,比特幣的競爭對手以太坊(Ethereum)之所以脫穎而出,是因?yàn)樗拿直缺忍貛胚€要酷,但內(nèi)部人士知道,一個(gè)重要因素是它開創(chuàng)性地整合了首個(gè)廣為人知的智能合約。下面是我對智能合約的解釋。
但有一個(gè)小問題:無論以太坊的智能合約有多酷,對成千上萬個(gè)智能合約的研究表明,實(shí)際上大多數(shù)智能合約都有bug和安全漏洞。更糟糕的是,智能合約是“不可變賬本”的一部分,而“不可變賬本”是為了確保事情的安全。
Facebook已經(jīng)悄然意識到,要讓原始的區(qū)塊鏈數(shù)據(jù)庫變得更加實(shí)用,需要智能合約,但大多數(shù)智能合約甚至都不夠智能。他們將如何解決這個(gè)問題?
互聯(lián)網(wǎng)和企業(yè)巨頭源源不斷地推出區(qū)塊鏈和加密貨幣計(jì)劃,其中一個(gè)美妙之處在于,它們往往用簡單明了的語言告訴我們,整個(gè)區(qū)塊業(yè)務(wù)存在致命缺陷。當(dāng)然,他們不會這么直接的說。他們知道他們已經(jīng)創(chuàng)建了一個(gè)大大改進(jìn)的區(qū)塊鏈系統(tǒng)(或者其他什么)——一旦你完全意識到標(biāo)準(zhǔn)問題有多糟糕,你就會堅(jiān)持購買他們新的、大大改進(jìn)的版本。 正如我在這里所描述的,微軟和英特爾在解釋他們的專有版本區(qū)塊鏈的奇妙之處時(shí)幫了我們所有人的忙。
Facebook遵循了這種明確的模式。它們實(shí)際上明確地指出,現(xiàn)有的智能合約實(shí)現(xiàn)是危險(xiǎn)的,充滿了bug和安全漏洞。但如果沒有它們,幾乎不可能構(gòu)建出Facebook想要的那種勉強(qiáng)可用的加密貨幣系統(tǒng)。
Facebook為自己的解決方案感到自豪:一種名為“Move”的新軟件語言。
我花了一點(diǎn)時(shí)間學(xué)習(xí)這門新語言。對于他們正在解決的缺陷,開發(fā)人員通常是正確的,并且有效地支持了這樣一種觀點(diǎn),即現(xiàn)有的智能合約存在無可救藥的缺陷。他們很聰明,對問題提出了可信的解決方案。這只是有可能,在幾年之后,新的系統(tǒng)將會比舊的系統(tǒng)更好。但在做決定之前,讓我們做一些程序員逃避做的事情:快速查看歷史。
軟件歷史充滿了編程語言,每一種語言都是為了改進(jìn)或修復(fù)早期語言中的問題而發(fā)明的。大多數(shù)新語言都被認(rèn)為可以使編程更快、更靈活,減少任何類型的錯(cuò)誤。經(jīng)過半個(gè)多世紀(jì)對數(shù)千種新語言的研究,結(jié)果如何?詳情請參見此。對不起,人類是有創(chuàng)造力的,在任何媒介中都可能犯錯(cuò)誤。盡管德國人可能深信德語在表達(dá)真理方面比法語更清晰、準(zhǔn)確、更優(yōu)越,但法國公民卻清楚地表明事實(shí)并非如此——與此同時(shí),他們也表明,法語也好不到哪里去。
Facebook的團(tuán)隊(duì)為我們提供了所有偉大的服務(wù):讓人們廣泛了解智能合約中被忽視的深層缺陷,同時(shí)幾乎可以肯定的是,在引入善意的同時(shí),也增加了Libra出現(xiàn)嚴(yán)重問題的可能性。但是新語言聲稱結(jié)合了成千上萬的語言的優(yōu)勢,將真正地把程序員帶到完美的土地上。