區(qū)塊鏈智能合約技術(shù)解析
除了我們的日常清潔技術(shù)新聞報(bào)道,清潔技術(shù)還就清潔能源和清潔運(yùn)輸?shù)母鱾€(gè)方面提出了深入的報(bào)告。我們所涉及的新技術(shù)中,有一項(xiàng)并不直接涉及清潔技術(shù)創(chuàng)新,那就是區(qū)塊鏈,它有望在不久的將來成為綠色經(jīng)濟(jì)創(chuàng)新的催化劑。對(duì)于公眾來說,區(qū)塊鏈最廣為人知的可能是“與加密貨幣和比特幣有關(guān)”,這在一定程度上是正確的,但該技術(shù)本身具有廣泛的應(yīng)用,其中一些在分布式可再生能源、網(wǎng)格管理和能源存儲(chǔ)以及智能合約等領(lǐng)域?qū)⒅陵P(guān)重要。
最后的細(xì)微差別是,區(qū)塊鏈技術(shù)的實(shí)現(xiàn)確實(shí)有一個(gè)中央可信的授權(quán)器。Hyperledger是一個(gè)開源的協(xié)作工作,用于推進(jìn)Linux基金會(huì)托管的跨行業(yè)區(qū)塊鏈技術(shù)。它通過將該部分集中到一個(gè)共識(shí)云中,與其他節(jié)點(diǎn)一起驗(yàn)證共識(shí)云所做的工作,從而避開了尋找散列的競(jìng)爭(zhēng)。IBM是企業(yè)區(qū)塊鏈探索的一個(gè)重要貢獻(xiàn)者,它是Linux基金會(huì)主持的開源區(qū)塊鏈框架之一,并銷售自己的基于Hyperearr Fabric的IBM 區(qū)塊鏈。這簡(jiǎn)化了部署,并允許更容易地創(chuàng)建和連接價(jià)值鏈。
智能合約技術(shù)基礎(chǔ)智能合約是在區(qū)塊鏈上運(yùn)行的計(jì)算機(jī)程序。這意味著它運(yùn)行在選擇支持區(qū)塊鏈的分布式計(jì)算機(jī)上。智能合約可以說是更廣義的分布式應(yīng)用程序(dapps)的一個(gè)子集。
用比特幣和以太網(wǎng)的話說,dapps可以在礦工們的電腦上運(yùn)行。在Hyperledger結(jié)構(gòu)中,它們運(yùn)行在共識(shí)云和驗(yàn)證器的計(jì)算機(jī)上。除此之外,這意味著智能合約通常同時(shí)在許多地方運(yùn)行并消耗計(jì)算資源。這不是并行性,而是多樣性,并且需要管理,這樣就不會(huì)消耗過多的資源。以太坊使用了gas的概念,它衡量了智能合約在執(zhí)行期間使用的資源量,并提供了一些管理該資源的工具。
最大的標(biāo)準(zhǔn)之一是以太坊,它已經(jīng)實(shí)現(xiàn)了一種被稱為智能合約或分布式應(yīng)用程序(dapps)的技術(shù)。它開發(fā)了一種名為Solidity的完整編程語言,這種語言存在于其區(qū)塊鏈技術(shù)中,并在其以太坊虛擬機(jī)(EVM)中執(zhí)行。
智能合約通常局限于區(qū)塊鏈的體系結(jié)構(gòu)。這意味著指令被限制在塊中的事務(wù)的大小,變量也同樣受到事務(wù)大小的約束。在以太坊中,這是256位或32字節(jié)。由于區(qū)塊鏈本身的特性,內(nèi)存體系結(jié)構(gòu)是一個(gè)堆棧,這意味著它是靜態(tài)的。修改變量意味著將更改添加到堆棧頂部作為事務(wù)。
這個(gè)約束也意味著智能合約只能看到事務(wù)進(jìn)入?yún)^(qū)塊鏈的內(nèi)容。例如,如果您想在某個(gè)日期使用美元匯率,外部程序必須讀取匯率并將其插入到區(qū)塊鏈中的變量中,以便智能合約讀取。
加密貨幣是建立在特定的區(qū)塊鏈技術(shù)之上的。智能合約運(yùn)行在完全相同的區(qū)塊鏈技術(shù)上,并且本質(zhì)上只了解它們所執(zhí)行的區(qū)塊鏈技術(shù)的加密性。如果您在以太坊上運(yùn)行一個(gè)智能合約,那么您只能使用ether加密貨幣。加密貨幣和它們相關(guān)的智能合約是緊密耦合的。這與我在《未來是電氣的7個(gè)原因》中提出的關(guān)于創(chuàng)新的價(jià)值主張相反,但在這一背景下,這對(duì)創(chuàng)新來說可能并不重要,而且有可能對(duì)這種耦合的不利之處進(jìn)行對(duì)沖。
一些區(qū)塊鏈,如以太坊,已經(jīng)實(shí)現(xiàn)了Turing-complete語言。形式上的定義是,語言可以用來編寫語言。為了清晰可見,這意味著最復(fù)雜的交互可以用語言來表達(dá)。其他的區(qū)塊鏈,如Stars,已經(jīng)實(shí)現(xiàn)了簡(jiǎn)化指令集,主要適用于智能托管合約。這并不意味著它們不能用于其他目的,但您不能假設(shè)僅通過區(qū)塊鏈就能獲得復(fù)雜的結(jié)果,因此需要關(guān)注特定的區(qū)塊鏈。目前,和Stellar相比,以太坊的交易速度要慢得多,交易成本更高,而且還有更智能的合同設(shè)施。在未來的幾個(gè)月里,它可能會(huì)更快,但不一定更便宜。