鏈聞ChainNews:
本文就以太坊中存在的問題進行介紹,其實本文介紹的以太坊中的問題,同時也是所有區塊鏈網絡平臺需要解決的地方。以區塊鏈技術為基礎建立的網絡平臺,必須能夠對這些問題提出有效的解決方案,才有可能擁有長期的發展。
來源|南湖互聯網金融評論
作者|趙偉
一、共識機制
共識機制是維持以太坊網絡中交易信息記錄到區塊鏈中的保障,所以共識機制是以太坊中所有的交易活動以及智能合約順利執行的基礎。以太坊中的共識機制采用的是與比特幣相同的工作量證明,這種證明機制需要節點通過耗費自己的「努力」來爭奪記賬權,然后獲得代幣獎勵回報。而這里的花費的「努力」具體指硬件成本以及電力成本。工作量證明中,節點要在難度非常大的情況下猜出一個未知數,這個過程是依靠計算機完成的。如果計算機的性能越好,或者一個節點擁有的計算機越多,那么其猜測的速度也就更快。另外,計算機在猜測的過程中還需要消耗大量的電量。因而,算力資源以及電力資源就成了維持以太坊中的共識機制必不可少的消耗。當參與以太坊網絡的用戶越多時,其消耗的資源量也就更大,這也就引發了這樣一個平臺是否一定需要消耗大量資源才能順利運行的思考。
與工作量證明對應,有一種叫做權益證明的共識機制。權益證明就是依據節點擁有的某種資源的量來決定話語權。而這個資源一般來說都是區塊鏈中的代幣持有量。也就是說,在每一輪要產生新的區塊時,對于不同的提議區塊,各個節點對不同的區塊進行投票,最后得票最多的區塊獲勝。而作為回報,區塊提議人和投票人都能夠獲得一定量的代幣獎勵。
權益證明的最大優點就是避免了工作量證明中需要耗費大量資源的情況。事實上,從工作量證明機制轉為權益證明機制正是以太坊未來的計劃之一。雖然這樣做能夠避免資源浪費,但是也存在著一定的問題。比較突出的一個就是「無利害關系」。我們說過,在權益證明機制中,節點通過對提議區塊進行投票,如果自己投的提議區塊最終勝出,那么節點也能夠獲得投票獎勵。這時候,可能就會存在節點在每一輪中,為了增加自己獲得獎勵的機會,對多個候選區塊進行投票,這樣的做法對共識機制的正常運行就產生了很大的影響。為了解決這個問題,采用權益證明機制的區塊鏈網絡平臺都提出了自己的解決方案,但是這些方案原理上都是一致的。
以太坊編程語言Solidity發布最新版本編譯器Solidity 0.8.18,支持巴黎硬分叉:金色財經報道,以太坊編程語言Solidity發布最新版本的Solidity編譯器Solidity0.8.18,新版本的功能包括:禁用CBOR元數據、支持巴黎硬分叉、棄用selfdestruct、從Yul生成EVM字節碼。團隊建議所有Solidity開發人員升級到版本0.8.18以利用這些改進和優化。[2023/2/2 11:43:19]
節點能夠在同一輪對多個提議區塊投票的原因主要是兩個,一個是為了獲得獎勵,另一個是投票沒有成本。這時候只需要破壞這兩個任意一個條件就能夠消除節點「不老實」的行為動機。很顯然,取消獎勵不現實的,因為共識機制的維持需要節點參與,節點的參與會消耗一定的電力和硬件成本,因而需要激勵機制。那剩下的就只能夠從投票成本上入手,即讓投票不再是免費的。節點為了獲得投票權,必須要繳納一定量的代幣作為保證金,當節點被發現作出多次投票的行為時,這個保證金將會被沒收。如果節點按正常情況行使自己的投票權時,這個保證金在一定時間后便能夠被贖回。
實際上,對于權益證明機制來說,由于有機會獲得獎勵的節點是本身就持有代幣資源的人,并且擁有代幣越多的節點獲得的獎勵也就越多。這使得我們又回到了一個歷史性的問題上:「富人更富」。我們甚至可以想象在一種極端的情況下,絕大多數的代幣資源都被一個節點擁有,那么這個節點就占據了話語權,成為了「獨裁者」。并且由于獎勵也都被這個節點獲得,使得其地位無法動搖。
二、吞吐量
吞吐量指以太坊處理網絡中交易的能力,其本質上是由共識機制決定的,因為對于任意一筆交易來說,獲得了共識便等于交易的完成,如果獲得共識的速度越快,那么交易的處理能力也就越快。一般來說,我們使用每秒交易量來衡量網絡平臺的處理能力。
這里需要說明的一點是,我們之前說過,以太坊處理的是智能合約,那么這里為什么不用處理智能合約的能力來評價其能力呢?這是由于真實的以太坊能處理的事情還很少。用智能手機來做對比的話,上個世紀九十年代末期的一個智能手機處理不了的事情,以太坊現在也沒有能力處理。現在的以太坊能夠處理的智能合約僅僅限于商業邏輯上的內容、驗證數字簽名等簡單的內容。所以我們這里用每秒交易量來衡量其處理智能合約的能力。
Multichain Protocol將在合并升級前約6小時暫停以太坊跨鏈服務:9月14日消息,Multichain Protocol將在以太坊合并升級前約6小時暫停以太坊區塊鏈跨鏈服務,Multichain僅支持升級后的PoS鏈。[2022/9/14 13:27:41]
回到吞吐量的內容,目前以太坊理論上支持的每秒交易量為25。這相對于比特幣已經有了很大提升。但是這仍然讓以太坊網絡擁擠不堪,要知道這和真正的商業級應用還有著幾個數量級上的差距。Visa的TPS約為2000,而支付寶在高峰時期每分鐘處理的交易數量甚至達到了百萬筆。由于其背后的技術和平臺的不同,我們并不能簡單地將這幾個數字作對比然后決定誰好誰壞。但是從這個數字上能夠看出的一點是,要想滿足真正的商業級應用,以太幣必須解決其網絡吞吐量的問題。
對于網絡吞吐量的問題,以太坊在計劃中也給出了自己的解決辦法,主要包含兩個方面,一個是鏈下交易,另一個是分片。
為了幫助讀者較容易理解這兩個方法。我們現在假設以太坊是一家銀行,這家銀行只有一個實際存在的總部,而銀行能夠處理的事情就是為用戶提供存款與取款的服務。現在這家銀行面臨的問題就是只有一家總部,所有的人都需要來到這個總部進行存款或者取款,由于用戶數量太多,銀行處理不了,用戶只能堵在銀行門口排隊等待。
鏈下交易
鏈下交易的意思是,對于排隊等待的用戶,由于這些用戶有著不同的存款與取款需求,現在將這些用戶匹配,用戶間自行交易。需要存款的用戶將自己的資金給需要取款的用戶,然后雙方將自行交易后的賬戶狀態提交。這樣對于銀行來說,本來是存款與取款兩筆交易,現在只需要更新雙方賬戶的余額就行。對于銀行來說大大減小了業務壓力。這個解決方式與比特幣的閃電網絡十分相似。同時其可能存在的問題也與閃電網絡相似。
這個途徑中存在的一個很大問題是,當看到這么多用戶的需求無法得到滿足時,就可能會出現專門提供這個服務的人,并試圖從中獲取報酬。也就是讓其他用戶都在他/她這里處理存款或者取款的業務,最后再將處理完的用戶賬戶信息提交給銀行統一處理。最后銀行只需要對這些用戶的賬戶余額更新即可。但是,對于提供這個服務的用戶來說,不知不覺中,其控制的賬戶以及資金規模就能夠達到很大規模,這意味著這個解決方式具有一定的中心化的趨勢。如何監督這個中心用戶,以確保其不會做出有害于用戶的行為?就算這個中心化的用戶能夠保始終提供正常的服務,保證整個以太坊網絡系統的運行,但是對于一個本意是建立去中心化網絡的以太坊,卻產生了一個或者多個中心化的節點。這很顯然是有悖于其設計理念的。
金色晨訊 | 以太坊開發者提議在2月底進行君士坦丁堡升級:1.以太坊開發者會議確定分叉時間為7280000個區塊(北京時間2月27日8:56)。以坊核心開發者Péter Szilágyi表示,如果此次分叉再次被推遲,他們也準備了備用計劃
2.經合組織:全球監管機構應共同努力促進ICO發展
3.俄財政部副部長:加密借記卡交易在俄羅斯是合法的
4.美國律師:美國政府關門將降低比特幣ETF獲批機會
5.騰訊或將收購Bitstamp所有者
6.據證券日報消息,中國聯通正在參與國家組織的有關數字貨幣研發工作組
7.深圳市政協常委:支持金融機構利用區塊鏈技術實現數據管理和共享
8.上交所發文稱,有上市公司借區塊鏈概念,信披不準確不客觀致股價大幅波動
9.經濟日報刊文稱,虛擬貨幣期貨面臨種種風險,監管部門應提高監管規范法律效力層級[2019/1/19]
分片
分片指將以太坊網絡中需要處理的交易分開處理。用銀行的例子理解就是,銀行多開設幾家分行,這樣便能夠很大地緩解只有一家總部的業務壓力。但是對于以太坊來說,與銀行系統不同的一點是,銀行可以將不同的分行的信息匯總得到所有用戶的賬戶信息。通過分片,實際上就是將以太坊的區塊鏈分成不同的「分鏈」,這樣做的結果是,實際上不存在類似于銀行總部一樣的「主鏈」了。以太坊網絡只有不同的分鏈存在,這樣引起的問題就是,對于不同的分鏈或者說分片上的用戶節點來說,如何進行交易?這也正是以太坊目前努力的方向,試圖解決由分片引起的不同分片之間的溝通交易問題,也就是說在采用這種方式解決網絡吞吐量問題的同時,由讓開發者以及用戶都覺察不到存在的溝通的問題。
除了不同分片之間的溝通問題以外,分片還會引起以太坊整體網絡的分散化。我們說過,以太坊目前的共識機制是工作量證明,工作量證明機制雖然消耗了大量電力資源,但是這同時也保證了以太坊區塊鏈的安全性。因為全網絡節點的算力共同維持著一條鏈的共識,這樣使得惡意攻擊者的攻擊成本巨大。但是一旦分片之后,隨著節點的分開,整體的算力也將分開。那么每一個分片所擁有的算力都將不如之前的情況,這也就降低了維持每一條分鏈的共識算力支持,使得對于共識的攻擊成本較之前相比大大降低。
以太坊聯合創始人Joseph Lubin:以太坊從未是證券,不需要監管:以太坊聯合創始人Joseph Lubin本周二表示,當他和其他創始人創建以太坊時,他們就擔心以太坊會被視為一種證券,因而導致無法出售給未注冊投資者。所以我們花了大量的時間與美國和其他國家的律師進行討論,最終非常欣慰地得出結論:以太坊不是一種證券,也從來都不是一種證券。此前,有報道稱美國監管機構CFTC和SEC正在考慮是否將以太坊和其他加密貨幣作為證券進行監管。[2018/5/2]
三、交易費用
用我們上面的銀行做類比的話,以太坊中的交易費用相當于在銀行排隊的例子中增加的一個插隊機制。也就是說,對于眾多排隊等待處理業務的用戶而言,如果繳納一定的手續費,那么就能夠插隊提前辦理業務。在以太坊中,每一筆交易、智能合約的處理都需要繳納一定的手續費用,叫做「燃料」。而這個燃料也正是以太坊中的代幣:以太幣。燃料主要有兩個用途,一方面以太坊網絡在執行智能合約的代碼時,系統需要消耗一定的燃料;其次,燃料的另外一部分由參與維持共識機制的節點獲取,作為生產區塊的另一部分獎勵。我們說過,節點在生產區塊的時候需要將等待確認的交易打包成區塊,然后進行解謎。在這個打包過程中,節點處于自身利益考慮,會優先將交易費用高的交易加入區塊中。因而付出更高的交易費用便意味著交易得到確認的速度更快。在這種“競爭”模式下,在沒有產生額外的價值情況下,智能合約的執行成本增加了。
當然,采用交易費用的設定主要有兩個目的,一個是防止智能合約的執行陷入無限循環,另一個是為了保護以太坊網絡的網絡資源不被濫用。第一,在以太坊中處理的智能合約是圖靈完備的,采用交易費用的機制,設定智能合約中代碼執行的步驟上限,能夠防止合約執行的時候陷入無限循環。其次,因為如果不存在交易費用的話,懷有惡意的人可能會向以太坊網絡發送大量沒有實際意義的交易請求,從而造成以太坊網絡的堵塞。特別是我們在上面說過,以太坊目前能夠處理交易的能力十分有限,這使得這樣的攻擊更加容易實現。這種占據網絡資源,使得系統無法服務于有正常需求用戶的攻擊就是「拒絕服務器攻擊」。
以太坊瀏覽器的Bug可能會使用戶的資金面臨風險:根據以太坊基金會博客發布的文章,使用以太坊瀏覽器可能會使加密貨幣私鑰處于危險之中。博客文章將這個漏洞分類為“嚴重程度高”,并影響瀏覽器的所有現有版本。不過,該文章澄清,Mist瀏覽器兼容以太坊錢包不受影響。今日晚上10點,以太坊開發者會議將召開。[2017/12/15]
但是,如果我們換一個角度看待這個問題,交易費用的設定雖然在一定程度上限制了拒絕服務器攻擊的發生,但是另一方面似乎又具有加劇網絡擁堵的潛在可能。拿前段時間十分火爆的以太坊養貓為例,由于游戲的火爆,許多玩家不惜付出更高的交易費用,使得以太坊網絡都被有關以太坊養貓的交易塞滿了,而其他用戶的轉賬等交易無法得到處理。這時候我們再回頭看一下拒絕服務器攻擊,我們可以假設這么一種情況,攻擊者想對以太坊發動拒絕服務器攻擊,并需要為此付出很高的交易費用成本,但是只要他/她從這個攻擊中得到的收益更高時,攻擊就會發動。而又因為交易費用較高的交易總能得到優先處理,這就會導致這個攻擊一定會成功。所以從這個角度上講,交易費用的設定在一定程度上減少了拒絕服務器攻擊的動機的同時,也使得拒絕服務器攻擊一旦出現,就很容易造成網絡的擁堵。
四、治理
區塊鏈網絡平臺的治理指對其日常運行的維護,對于偏離其正常運行軌道時的修復補救手段以及對整個網絡中的規則更新、修改等內容。關于這一點,以太坊奉行著自己的至高原則:「Thecodeislaw」。一旦代碼完成發布后,沒有任何人能夠對其進行修改,對其運行造成干擾。因為在用代碼編寫的智能合約發布后,會在全世界所有的以太坊網絡節點運行。導致以太坊硬分叉為現在的以太坊和以太坊經典的TheDAO事件,正是由于這個原因。當時的現實情況是,人們眼睜睜地看著黑客利用TheDAO的代碼漏洞,從當時價值1.5億美金的以太幣池中源源不斷地拿走資金,同時卻沒有任何辦法。造成TheDAO攻擊事件的原因很簡單,就是因為其代碼中的一個條件判斷語句出了問題。當這個問題出現后,由于奉行「代碼即法則」,沒有人能夠對TheDAO的代碼進行修改又或是停止其運行。
對于這樣的一個設計理念,不同的人具有不同的理解。但是不可否認的一點是,在TheDAO事件出現以前,以太坊的運行并沒有出現絲毫問題,并且這件事情并不是由以太坊的漏洞造成的。真正造成問題的原因是在于開發TheDAO的人員。對于這樣的原則,在「理想」情況下,即智能合約的編寫不會出現問題的情況下,確實能夠將整個系統透明準確地傳遞給每一個用戶,這在一個去中心化的網絡中能夠建立極大的信任。或許這也就是區塊鏈被認為是「重塑信任」的一個重要原因,是區塊鏈真正能夠實現「重塑信任」的重要手段。
但是我們不得不思考,在沒有人能夠保證所有的代碼,所有的智能合約都是按照其設計本意準確編寫的情況下,一旦出現預測之外的事情,如何對其進行治理和解決?從這個角度說,以太坊其實并不存在任何的治理機制,它只是將唯一的原則告訴了所有人。
五、智能合約
關于智能合約,除了我們剛剛說到的其在發布之后便不可修改不可撤回的特性外,還有兩點語需要注意。第一點是支持智能合約編寫的語言,目前以太坊的智能合約基本上由Solidity語言編寫,除此之外還支持Go,JavaScript,C,Rust,Haskell。這一點相對于正處于開發階段并聲稱支持任意一種編程語言的區塊鏈網絡平臺(如Cosmos而言,對開發者來說或多或少是一個局限性。第二點是關于智能合約的執行,上文我們說到智能合約是在以太坊區塊鏈網絡中執行的,這么說不能說錯,但是更嚴謹一點的話,執行智能合約的是以太坊虛擬機,以太坊虛擬機存在于以太坊的客戶端中。對于任何想要加入以太坊網絡的節點來說,通過下載安裝以太坊客戶端就能夠加入網絡,而在下載的以太坊客戶端中都內置了以太坊的虛擬機,用于對智能合約的執行。其步驟上簡單來說就是將用代碼編寫的智能合約轉化為更低級的二進制語言,讓機器讀懂進而執行。
但是正如我們在共識機制中說到的,以太坊虛擬機目前能夠實現的功能和二十年前的智能手機并沒有太大差距。像現在我們日常使用電腦網絡儲存文件、發送郵件以及任何具有圖形界面的功能,以太坊暫時都是做不到的。如果僅限于轉賬領域,那么目前以太坊虛擬機的功能已經足夠了,但是如果要實現更復雜的功能,那么以太坊虛擬機仍然有很大的發展空間,而在引入新的功能的同時,隨之帶來的問題也是很大的挑戰。
六、總結
本文總結了目前以太坊區塊鏈平臺所面臨的幾個重要的問題。以太坊所采用的共識機制對環境并不友好,其改進的計劃中也存在著或多或少的問題;而共識機制又影響著以太坊網絡對于交易或者說智能合約達成共識的速度,從而又限制了以太坊的網絡吞吐量,而對此以太坊給出的解決計劃目前看起來似乎也并不是那么「完美」;治理方面以太坊奉行的至高原則值得我們對人與代碼這個話題的思考;最后在智能合約方面,不管是其支持唯一的編寫語言,還是虛擬機能夠帶來的功能都限制著以太坊未來發展的空間。
盡管存在這些尚未解決的問題,但是以太坊卻是唯一一個大規模運行的區塊鏈網絡基礎平臺,從這個角度上說,以太坊確實也經受住了實際的考驗,至于未來的路,我們拭目以待。
更多精彩內容,關注鏈聞ChainNews公眾號,或者來微博@鏈聞ChainNews與我們互動!轉載請注明版權和原文鏈接!
來源鏈接:mp.weixin.qq.com
本文來源于非小號媒體平臺:
鏈聞研究院
現已在非小號資訊平臺發布1篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/3630323.html
以太坊ETH
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
下一篇:
黑客攻擊頻現,投資者憂,監管機構也憂
5月31日,火幣全球站正式發布創業板轉主板標準,將為成熟穩健的創業板項目提供進入主板的轉板通道。截止目前已有50余個優質區塊鏈項目上線創業板.
1900/1/1 0:00:00虛擬貨幣的購買方式因人而異,彼此之間沒有對錯。每個人都在尋找適合自己的取勝方法。在這里要為大家介紹四個代表性投資人的購買方式和思考邏輯.
1900/1/1 0:00:00尊敬的用戶:為慶祝HPT從火幣創業板轉板至火幣主板,并回饋HT持有用戶,火幣全球站特推出《折扣HPT大放送,45,000,000HPT等你來瓜分!》活動.
1900/1/1 0:00:00眾所矚目的block.one發布會“六一”如約舉行。金色財經全程圖文直播了本次發布會。block.one此次一共發布了三款新產品和一項更新.
1900/1/1 0:00:00親愛的Coinw用戶:Coinw將支持PIZZA向EOS持幣用戶的空投,空投比例為:100EOS=1PIZZA。EOS持倉快照時間:2019年6月1日22:59:59.
1900/1/1 0:00:00據比推數據,市值最高的加密貨幣比特幣在北京時間31日凌晨上行突破9000美元大關,再次刷新年內價格新高。其市值也超過1590億美元,過去7日內上漲超過16%.
1900/1/1 0:00:00