www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

去向何處:以太坊的成長煩惱

2018-06-26 17:05:35 南湖互聯(lián)網(wǎng)金融學(xué)院  點擊量: 評論 (0)
本文就以太坊中存在的問題進行介紹,其實本文介紹的以太坊中的問題,同時也是所有區(qū)塊鏈網(wǎng)絡(luò)平臺需要解決的地方。以區(qū)塊鏈技術(shù)為基礎(chǔ)建立的網(wǎng)絡(luò)平臺,必須能夠?qū)@些問題提出有效的解決方案,才有可能擁有長期的發(fā)展。

本文共6200字左右,閱讀完成預(yù)計需要14分鐘左右。

后臺回復(fù)“BT03“,獲取文章PDF版。

在上一篇文章中,我們簡單介紹了區(qū)塊鏈網(wǎng)絡(luò)平臺的概念,以及在比特幣的基礎(chǔ)上誕生的以太坊。在目前的區(qū)塊鏈網(wǎng)絡(luò)平臺經(jīng)濟系統(tǒng)中,最終服務(wù)用戶的是應(yīng)用程序,而后者又以平臺為基礎(chǔ)開發(fā)。因而平臺中存在的問題必然會影響用戶對應(yīng)用程序的使用。以太坊作為這個領(lǐng)域的先行者,其創(chuàng)新之處已經(jīng)得到了市場的肯定,但是其內(nèi)部結(jié)構(gòu)中仍然存在著許多亟需解決的問題。本文就以太坊中存在的問題進行介紹,其實本文介紹的以太坊中的問題,同時也是所有區(qū)塊鏈網(wǎng)絡(luò)平臺需要解決的地方。以區(qū)塊鏈技術(shù)為基礎(chǔ)建立的網(wǎng)絡(luò)平臺,必須能夠?qū)@些問題提出有效的解決方案,才有可能擁有長期的發(fā)展。

一、共識機制

共識機制是維持以太坊網(wǎng)絡(luò)中交易信息記錄到區(qū)塊鏈中的保障,所以共識機制是以太坊中所有的交易活動以及智能合約順利執(zhí)行的基礎(chǔ)。以太坊中的共識機制采用的是與比特幣相同的工作量證明(Proof of work),這種證明機制需要節(jié)點[就是參與以太坊網(wǎng)絡(luò)的用戶]通過耗費自己的“努力”來爭奪記賬權(quán),然后獲得代幣獎勵回報。而這里的花費的“努力”具體指硬件成本以及電力成本。工作量證明中,節(jié)點要在難度非常大的情況下猜出一個未知數(shù),這個過程是依靠計算機完成的。如果計算機的性能越好,或者一個節(jié)點擁有的計算機越多(我們將這兩個統(tǒng)稱為算力資源),那么其猜測的速度也就更快。另外,計算機在猜測的過程中還需要消耗大量的電量。因而,算力資源以及電力資源就成了維持以太坊中的共識機制必不可少的消耗。當參與以太坊網(wǎng)絡(luò)的用戶越多時,其消耗的資源量也就更大,這也就引發(fā)了這樣一個平臺是否一定需要消耗大量資源才能順利運行的思考。

與工作量證明對應(yīng),有一種叫做權(quán)益證明(Proof of stake)的共識機制。權(quán)益證明就是依據(jù)節(jié)點擁有的某種資源的量來決定話語權(quán)。而這個資源一般來說都是區(qū)塊鏈中的代幣持有量。也就是說,在每一輪要產(chǎn)生新的區(qū)塊時,對于不同的提議區(qū)塊(記錄同一段時間內(nèi)的交易信息),各個節(jié)點對不同的區(qū)塊進行投票,最后得票最多的區(qū)塊獲勝。而作為回報,區(qū)塊提議人和投票人都能夠獲得一定量的代幣獎勵。

權(quán)益證明的最大優(yōu)點就是避免了工作量證明中需要耗費大量資源的情況。事實上,從工作量證明機制轉(zhuǎn)為權(quán)益證明機制正是以太坊未來的計劃之一。雖然這樣做能夠避免資源浪費,但是也存在著一定的問題。比較突出的一個就是“無利害關(guān)系(Nothing at stake)”。我們說過,在權(quán)益證明機制中,節(jié)點通過對提議區(qū)塊進行投票,如果自己投的提議區(qū)塊最終勝出,那么節(jié)點也能夠獲得投票獎勵。這時候,可能就會存在節(jié)點在每一輪中,為了增加自己獲得獎勵的機會,對多個候選區(qū)塊進行投票(投票是免費的),這樣的做法對共識機制的正常運行就產(chǎn)生了很大的影響。為了解決這個問題,采用權(quán)益證明機制的區(qū)塊鏈網(wǎng)絡(luò)平臺都提出了自己的解決方案,但是這些方案原理上都是一致的。

節(jié)點能夠在同一輪對多個提議區(qū)塊投票的原因主要是兩個,一個是為了獲得獎勵,另一個是投票沒有成本。這時候只需要破壞這兩個任意一個條件就能夠消除節(jié)點“不老實”的行為動機。很顯然,取消獎勵不現(xiàn)實的,因為共識機制的維持需要節(jié)點參與,節(jié)點的參與會消耗一定的電力和硬件成本,因而需要激勵機制。那剩下的就只能夠從投票成本上入手,即讓投票不再是免費的。節(jié)點為了獲得投票權(quán),必須要繳納一定量的代幣作為保證金,當節(jié)點被發(fā)現(xiàn)作出多次投票的行為時,這個保證金將會被沒收。如果節(jié)點按正常情況行使自己的投票權(quán)時,這個保證金在一定時間后便能夠被贖回。

實際上,對于權(quán)益證明機制來說,由于有機會獲得獎勵的節(jié)點是本身就持有代幣資源的人,并且擁有代幣越多的節(jié)點獲得的獎勵也就越多。這使得我們又回到了一個歷史性的問題上:“富人更富(The rich get richer)”。我們甚至可以想象在一種極端的情況下,絕大多數(shù)的代幣資源都被一個節(jié)點擁有,那么這個節(jié)點就占據(jù)了話語權(quán),成為了“獨裁者”。并且由于獎勵也都被這個節(jié)點獲得,使得其地位無法動搖。

二、吞吐量

吞吐量指以太坊處理網(wǎng)絡(luò)中交易的能力,其本質(zhì)上是由共識機制決定的,因為對于任意一筆交易來說,獲得了共識便等于交易的完成,如果獲得共識的速度越快,那么交易的處理能力也就越快。一般來說,我們使用每秒交易量(Transactions per second, TPS)來衡量網(wǎng)絡(luò)平臺的處理能力。

這里需要說明的一點是,我們之前說過,以太坊處理的是智能合約[更嚴謹?shù)恼f法應(yīng)該是以太坊虛擬機(Ethereum virtual machine,EVM)來處理智能合約,以太坊虛擬機存在于以太坊的客戶端中],那么這里為什么不用處理智能合約的能力來評價其能力呢?這是由于真實的以太坊能處理的事情還很少。用智能手機來做對比的話,上個世紀九十年代末期的一個智能手機處理不了的事情,以太坊現(xiàn)在也沒有能力處理。現(xiàn)在的以太坊能夠處理的智能合約僅僅限于商業(yè)邏輯上的內(nèi)容(”if this then that”,意思就是,如果什么條件滿足,那么就執(zhí)行什么)、驗證數(shù)字簽名(證明身份)等簡單的內(nèi)容。所以我們這里用每秒交易量來衡量其處理智能合約的能力。

回到吞吐量的內(nèi)容,目前以太坊理論上支持的每秒交易量(TPS)為25(實際上達不到這個數(shù)字)。這相對于比特幣(TPS為7)已經(jīng)有了很大提升。但是這仍然讓以太坊網(wǎng)絡(luò)擁擠不堪,要知道這和真正的商業(yè)級應(yīng)用還有著幾個數(shù)量級上的差距。Visa的TPS約為2000,而支付寶在高峰時期每分鐘處理的交易數(shù)量甚至達到了百萬筆。由于其背后的技術(shù)和平臺的不同,我們并不能簡單地將這幾個數(shù)字作對比然后決定誰好誰壞。但是從這個數(shù)字上能夠看出的一點是,要想滿足真正的商業(yè)級應(yīng)用,以太幣必須解決其網(wǎng)絡(luò)吞吐量的問題。

對于網(wǎng)絡(luò)吞吐量的問題,以太坊在計劃中也給出了自己的解決辦法,主要包含兩個方面,一個是鏈下(Off-Chain)交易,另一個是分片(Sharding)。

為了幫助讀者較容易理解這兩個方法。我們現(xiàn)在假設(shè)以太坊是一家銀行,這家銀行只有一個實際存在的總部,而銀行能夠處理的事情就是為用戶提供存款與取款的服務(wù)。現(xiàn)在這家銀行面臨的問題就是只有一家總部,所有的人都需要來到這個總部進行存款或者取款,由于用戶數(shù)量太多,銀行處理不了,用戶只能堵在銀行門口排隊等待。

鏈下交易

鏈下交易的意思是,對于排隊等待的用戶,由于這些用戶有著不同的存款與取款需求,現(xiàn)在將這些用戶匹配,用戶間自行交易。需要存款的用戶將自己的資金給需要取款的用戶,然后雙方將自行交易后的賬戶狀態(tài)提交。這樣對于銀行來說,本來是存款與取款兩筆交易,現(xiàn)在只需要更新雙方賬戶的余額就行。對于銀行來說大大減小了業(yè)務(wù)壓力。這個解決方式與比特幣的閃電網(wǎng)絡(luò)十分相似。同時其可能存在的問題也與閃電網(wǎng)絡(luò)相似。

這個途徑中存在的一個很大問題是,當看到這么多用戶的需求無法得到滿足時,就可能會出現(xiàn)專門提供這個服務(wù)的人,并試圖從中獲取報酬。也就是讓其他用戶都在他/她這里處理存款或者取款的業(yè)務(wù),最后再將處理完的用戶賬戶信息提交給銀行統(tǒng)一處理。最后銀行只需要對這些用戶的賬戶余額更新即可。但是,對于提供這個服務(wù)的用戶來說,不知不覺中,其控制的賬戶以及資金規(guī)模就能夠達到很大規(guī)模,這意味著這個解決方式具有一定的中心化的趨勢。如何監(jiān)督這個中心用戶,以確保其不會做出有害于用戶的行為?就算這個中心化的用戶能夠保始終提供正常的服務(wù),保證整個以太坊網(wǎng)絡(luò)系統(tǒng)的運行,但是對于一個本意是建立去中心化網(wǎng)絡(luò)的以太坊,卻產(chǎn)生了一個或者多個中心化的節(jié)點。這很顯然是有悖于其設(shè)計理念的。

分片

分片指將以太坊網(wǎng)絡(luò)中需要處理的交易分開處理。用銀行的例子理解就是,銀行多開設(shè)幾家分行,這樣便能夠很大地緩解只有一家總部的業(yè)務(wù)壓力。但是對于以太坊來說,與銀行系統(tǒng)不同的一點是,銀行可以將不同的分行的信息匯總得到所有用戶的賬戶信息。通過分片,實際上就是將以太坊的區(qū)塊鏈分成不同的“分鏈”,這樣做的結(jié)果是,實際上不存在類似于銀行總部一樣的“主鏈”了。以太坊網(wǎng)絡(luò)只有不同的分鏈存在,這樣引起的問題就是,對于不同的分鏈或者說分片上的用戶節(jié)點來說,如何進行交易?這也正是以太坊目前努力的方向,試圖解決由分片引起的不同分片之間的溝通交易問題,也就是說在采用這種方式解決網(wǎng)絡(luò)吞吐量問題的同時,由讓開發(fā)者以及用戶都覺察不到存在的溝通的問題。

除了不同分片之間的溝通問題以外,分片還會引起以太坊整體網(wǎng)絡(luò)的分散化。我們說過,以太坊目前的共識機制是工作量證明,工作量證明機制雖然消耗了大量電力資源,但是這同時也保證了以太坊區(qū)塊鏈的安全性。因為全網(wǎng)絡(luò)節(jié)點的算力共同維持著一條鏈的共識,這樣使得惡意攻擊者的攻擊成本巨大。但是一旦分片之后,隨著節(jié)點的分開,整體的算力也將分開。那么每一個分片所擁有的算力都將不如之前的情況,這也就降低了維持每一條分鏈的共識算力支持,使得對于共識的攻擊成本較之前相比大大降低。

三、交易費用

用我們上面的銀行做類比的話,以太坊中的交易費用相當于在銀行排隊的例子中增加的一個插隊機制。也就是說,對于眾多排隊等待處理業(yè)務(wù)的用戶而言,如果繳納一定的手續(xù)費,那么就能夠插隊提前辦理業(yè)務(wù)。在以太坊中,每一筆交易、智能合約的處理都需要繳納一定的手續(xù)費用,叫做“燃料(GAS)”。而這個燃料也正是以太坊中的代幣:以太幣。燃料主要有兩個用途,一方面以太坊網(wǎng)絡(luò)在執(zhí)行智能合約的代碼時,系統(tǒng)需要消耗一定的燃料(這里可以把這個燃料費類比于汽車的燃油);其次,燃料的另外一部分由參與維持共識機制的節(jié)點獲取,作為生產(chǎn)區(qū)塊的另一部分獎勵。我們說過,節(jié)點在生產(chǎn)區(qū)塊的時候需要將等待確認的交易打包成區(qū)塊,然后進行解謎。在這個打包過程中,節(jié)點處于自身利益考慮,會優(yōu)先將交易費用高的交易加入?yún)^(qū)塊中。因而付出更高的交易費用便意味著交易得到確認的速度更快。在這種“競爭”模式下,在沒有產(chǎn)生額外的價值情況下,智能合約的執(zhí)行成本增加了。

當然,采用交易費用的設(shè)定主要有兩個目的,一個是防止智能合約的執(zhí)行陷入無限循環(huán),另一個是為了保護以太坊網(wǎng)絡(luò)的網(wǎng)絡(luò)資源不被濫用。第一,在以太坊中處理的智能合約是圖靈完備(Turing completeness)[關(guān)于圖靈完備的意思比較復(fù)雜,作為直觀的理解,讀者可以認為具有圖靈完備性的編程語言(正是以太坊中的情況),有能力解決一切可以計算的數(shù)學(xué)問題。而這樣的話,如果在編寫代碼的時候,其中包括無限循環(huán)的語句,那么這個代碼的執(zhí)行便會陷入無限循環(huán)。至于更嚴格意義上的含義,有興趣的讀者可自行查閱資料]的,采用交易費用的機制,設(shè)定智能合約中代碼執(zhí)行的步驟上限,能夠防止合約執(zhí)行的時候陷入無限循環(huán)。其次,因為如果不存在交易費用的話,懷有惡意的人可能會向以太坊網(wǎng)絡(luò)發(fā)送大量沒有實際意義的交易請求,從而造成以太坊網(wǎng)絡(luò)的堵塞。特別是我們在上面說過,以太坊目前能夠處理交易的能力十分有限,這使得這樣的攻擊更加容易實現(xiàn)。這種占據(jù)網(wǎng)絡(luò)資源,使得系統(tǒng)無法服務(wù)于有正常需求用戶的攻擊就是“拒絕服務(wù)器攻擊(Denial-of-service attack)”。

但是,如果我們換一個角度看待這個問題,交易費用的設(shè)定雖然在一定程度上限制了拒絕服務(wù)器攻擊的發(fā)生,但是另一方面似乎又具有加劇網(wǎng)絡(luò)擁堵的潛在可能。拿前段時間十分火爆的以太坊養(yǎng)貓為例,由于游戲的火爆,許多玩家不惜付出更高的交易費用,使得以太坊網(wǎng)絡(luò)都被有關(guān)以太坊養(yǎng)貓的交易塞滿了,而其他用戶的轉(zhuǎn)賬等交易無法得到處理。這時候我們再回頭看一下拒絕服務(wù)器攻擊,我們可以假設(shè)這么一種情況(即使可能性不高),攻擊者想對以太坊發(fā)動拒絕服務(wù)器攻擊,并需要為此付出很高的交易費用成本(當然還有硬件、電力成本),但是只要他/她從這個攻擊中得到的收益更高時,攻擊就會發(fā)動。而又因為交易費用較高的交易總能得到優(yōu)先處理,這就會導(dǎo)致這個攻擊一定會成功。所以從這個角度上講,交易費用的設(shè)定在一定程度上減少了拒絕服務(wù)器攻擊的動機的同時,也使得拒絕服務(wù)器攻擊一旦出現(xiàn),就很容易造成網(wǎng)絡(luò)的擁堵。

四、治理(Governance)

區(qū)塊鏈網(wǎng)絡(luò)平臺的治理指對其日常運行的維護,對于偏離其正常運行軌道時的修復(fù)補救手段以及對整個網(wǎng)絡(luò)中的規(guī)則更新、修改等內(nèi)容。關(guān)于這一點,以太坊奉行著自己的至高原則:“The code is law(代碼即法則)”。一旦代碼完成發(fā)布后,沒有任何人能夠?qū)ζ溥M行修改,對其運行造成干擾。因為在用代碼編寫的智能合約發(fā)布后,會在全世界所有的以太坊網(wǎng)絡(luò)節(jié)點運行。導(dǎo)致以太坊硬分叉為現(xiàn)在的以太坊和以太坊經(jīng)典的The DAO事件,正是由于這個原因。當時的現(xiàn)實情況是,人們眼睜睜地看著黑客利用The DAO的代碼漏洞,從當時價值1.5億美金的以太幣池中源源不斷地拿走資金,同時卻沒有任何辦法。造成The DAO攻擊事件的原因很簡單,就是因為其代碼中的一個條件判斷語句出了問題。當這個問題出現(xiàn)后,由于奉行“代碼即法則”,沒有人能夠?qū)he DAO的代碼進行修改又或是停止其運行。

對于這樣的一個設(shè)計理念,不同的人具有不同的理解。但是不可否認的一點是,在The DAO事件出現(xiàn)以前,以太坊的運行并沒有出現(xiàn)絲毫問題,并且這件事情并不是由以太坊的漏洞造成的。真正造成問題的原因是在于開發(fā)The DAO的人員。對于這樣的原則,在“理想”情況下,即智能合約的編寫不會出現(xiàn)問題的情況下,確實能夠?qū)⒄麄€系統(tǒng)透明準確地傳遞給每一個用戶,這在一個去中心化的網(wǎng)絡(luò)中能夠建立極大的信任。或許這也就是區(qū)塊鏈被認為是“重塑信任”的一個重要原因,是區(qū)塊鏈真正能夠?qū)崿F(xiàn)“重塑信任”的重要手段。

但是我們不得不思考,在沒有人能夠保證所有的代碼,所有的智能合約都是按照其設(shè)計本意準確編寫的情況下,一旦出現(xiàn)預(yù)測之外的事情,如何對其進行治理和解決?從這個角度說,以太坊其實并不存在任何的治理機制,它只是將唯一的原則告訴了所有人。

五、智能合約

關(guān)于智能合約,除了我們剛剛說到的其在發(fā)布之后便不可修改不可撤回的特性外,還有兩點語需要注意。第一點是支持智能合約編寫的語言,目前以太坊的智能合約基本上由Solidity語言編寫,除此之外還支持Go, Java, C++, Rust, Haskell。這一點相對于正處于開發(fā)階段并聲稱支持任意一種編程語言的區(qū)塊鏈網(wǎng)絡(luò)平臺(如Cosmos而言,對開發(fā)者來說或多或少是一個局限性。第二點是關(guān)于智能合約的執(zhí)行,上文我們說到智能合約是在以太坊區(qū)塊鏈網(wǎng)絡(luò)中執(zhí)行的,這么說不能說錯,但是更嚴謹一點的話,執(zhí)行智能合約的是以太坊虛擬機,以太坊虛擬機存在于以太坊的客戶端中。對于任何想要加入以太坊網(wǎng)絡(luò)的節(jié)點來說,通過下載安裝以太坊客戶端就能夠加入網(wǎng)絡(luò),而在下載的以太坊客戶端中都內(nèi)置了以太坊的虛擬機,用于對智能合約的執(zhí)行。其步驟上簡單來說就是將用代碼編寫的智能合約轉(zhuǎn)化為更低級的二進制語言,讓機器讀懂進而執(zhí)行。

但是正如我們在共識機制中說到的,以太坊虛擬機目前能夠?qū)崿F(xiàn)的功能和二十年前的智能手機并沒有太大差距。像現(xiàn)在我們?nèi)粘J褂秒娔X網(wǎng)絡(luò)儲存文件、發(fā)送郵件以及任何具有圖形界面的功能,以太坊暫時都是做不到的。如果僅限于轉(zhuǎn)賬領(lǐng)域,那么目前以太坊虛擬機的功能已經(jīng)足夠了,但是如果要實現(xiàn)更復(fù)雜的功能,那么以太坊虛擬機仍然有很大的發(fā)展空間,而在引入新的功能的同時,隨之帶來的問題也是很大的挑戰(zhàn)。

六、總結(jié)

本文總結(jié)了目前以太坊區(qū)塊鏈平臺所面臨的幾個重要的問題。以太坊所采用的共識機制對環(huán)境并不友好,其改進的計劃中也存在著或多或少的問題;而共識機制又影響著以太坊網(wǎng)絡(luò)對于交易或者說智能合約達成共識的速度,從而又限制了以太坊的網(wǎng)絡(luò)吞吐量,而對此以太坊給出的解決計劃目前看起來似乎也并不是那么“完美”;治理方面以太坊奉行的至高原則值得我們對人與代碼這個話題的思考;最后在智能合約方面,不管是其支持唯一的編寫語言,還是虛擬機能夠帶來的功能都限制著以太坊未來發(fā)展的空間。

盡管存在這些尚未解決的問題,但是以太坊卻是唯一一個大規(guī)模運行的區(qū)塊鏈網(wǎng)絡(luò)基礎(chǔ)平臺,從這個角度上說,以太坊確實也經(jīng)受住了實際的考驗,至于未來的路,我們拭目以待。

(完)

大云網(wǎng)官方微信售電那點事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個人觀點,與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實,對本文以及其中全部或者部分內(nèi)容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關(guān)內(nèi)容。
我要收藏
個贊
?
主站蜘蛛池模板: 91资源在线观看 | 欧美jlzz18性欧美 | 一区二区三区四区产品乱码伦 | 99久久国产免费福利 | 国产亚洲精品久久精品6 | 中文字幕在线免费观看 | 免费久久精品 | 中文字幕一区二区三区 精品 | 呦视频在线一区二区三区 | 九九久久精品国产 | 91精品91久久久久久 | 久久精品国产线看观看亚洲 | 一级毛片欧美大片 | 亚洲综合小视频 | 三级网站大全 | 国产一区二区三区高清视频 | 色偷偷在线刺激免费视频 | 欧美日韩色黄大片在线视频 | 亚洲日本久久一区二区va | 国产精品观看在线亚洲人成网 | 成人久久18免费网站入口 | 欧美一区二区三区不卡免费 | 亚洲高清在线观看看片 | 国内精品免费一区二区三区 | 看全色黄大色黄大片毛片 | 国产在线欧美日韩一区二区 | 免费一级大毛片a一观看不卡 | 国产精品亚洲精品不卡 | 久久精品国产亚洲7777小说 | 中文字幕一区二区三区久久网站 | 日本毛片在线 | 国产精品欧美日韩一区二区 | 国产日韩欧美一区二区 | 九九99久久精品国产 | 日韩毛片大全免费高清 | 久久se精品一区二区国产 | 九九精品视频在线观看九九 | 91精品全国免费观看 | 日本精品视频一区二区三区 | 尤物蜜芽福利国产污在线观看 | 亚洲精品一区二区三区美女 |