以太坊的大限將至

數字貨幣 比特幣 蘇黎世高工 黑客 比特幣中文網 2017-06-25

比特幣是滿而不堵,以太坊是堵而不滿。

昨天人們還在抱怨比特幣手續費高網絡擁堵,以太坊確認只要14秒。今天以太坊的一個代幣Status項目ICO,讓以太坊的網絡無法確認交易。從昨天晚上20:00開始,以太坊的網絡裡充滿了大量的垃圾交易,造成所有的交易所和錢包服務商無法提供提幣業務。

和比特幣不同,最讓以太幣持有人鬱悶的是,無論怎麼提高手續費,很多交易都會被彈回(rejected)。比特幣還可以提高手續費得到快速確認,以太坊擁堵似乎無解。

以太坊區塊鏈的這個缺陷,在去年年底已經遭遇了一輪DDOS攻擊,團隊當時曾今提出過需要硬分叉解決,但不知道什麼原因只是採取了一些防護措施,並沒有使問題得到根本的解決。或許是以太狗莊不想看到三姨太四姨太影響市場信心,又或許這是以太區塊鏈的致命缺陷。總之,今年以太坊的價格暴漲,質疑的聲音都淹沒在市場中,但是該來的終究還是來了。

以太坊脫褲子放屁式的Gas交易費機制,是導致目前堵而不滿的罪魁禍首。比特幣手續費設計很簡單,價高者得。而以太坊為了交易手續費不漲價,號稱天才的小V做了如下設計:

gas cost(成本)=gas used(數量)*gas price(價格)

這幾個新單詞,連小V在一些場合都搞混淆。

Gas used(數量)是執行以太坊操作程序固化在腳本里的數量:

以太坊的大限將至

比如,你要完成一次轉賬交易,就需要付出500gas的交易費用。如果是固定的手續費,gas的價格就會隨著ETH的價格水漲船高,抑制ETH上智能交易的數量。為了不發生這種情況,使每一次交易的gas cost 不隨著ETH價格的波動而波動,小V就設計了gas price這個變量。ETH價格如果上漲,交易者就可以設置更低的gas price來對衝,使gas cost穩定不變。

為了減少不必要的計算,避免垃圾智能交易,gas price的價格由交易者、礦工和智能合約設計者根據市場供求來決定。Gas price開價過低,礦工可以選擇不打包交易。

gas和Ether 是以太坊中兩種不同的計量單位,把它分開的目的是為了避免以太幣的價格波動進而影響gas價格的變化。從比特幣簡單明瞭的手續費浮動機制看,以太坊的gas交易費機制簡直就是脫褲子放屁。

從經濟學的角度看,稀缺是價值的另一種說法。公有鏈的區塊空間是稀缺資源,使用必須付費。如果區塊鏈交易不付手續費,就會發生公地悲劇,很快會被垃圾交易堵滿。比特幣區塊空間滿了,手續費上升,滿而不堵。而ETH漲價,而讓交易者、礦工和智能合約設計者共同決定gas price,以達到穩定gas cost的價格,這種多餘的設計似乎並不能改變用的人多了,要麼堵要麼交易費漲價的命運。

穩定gas cost的目的沒達到,多餘的設計倒是帶來了副作用。Gas price的價格可以由交易者、智能合約設計者、礦工三方分別設定,相對於比特幣手續費由交易者設定,礦工擇高打包的簡單模式。過於複雜,而使gas price的市場調節機制失靈。Status ICO的火爆,引爆了以太區塊鏈的一個漏洞。status的智能交易設定了手續費限制,大於50Gwei就會被彈回(rejected),因此,大量的投資者設定固定手續費不停的刷,18.1ETH,18.9ETH,18.8ETH這樣不停的投注,使以太網絡中充滿了大量的無效交易。造成了以太坊網絡堵而不滿的現象,正常交易無法被打包。就類似現在的房地產,政府限制開發商的備案價,不走關係根本搶不到房。智障合約的設計者充當了政府限價的角色。

另外,status設定了ICO開始和結束的區塊高度,由於投資者時間不可能準確到毫秒級,很多提前和滯後的交易也被彈回,也製造了不少垃圾交易。

從這個案例可以看出,智能合約設定者,作為市場的規則設定方。攪亂了交易費市場供給和需求的自動調節機制,這是以太類可編程區塊鏈的固有缺陷。你不知道下一個智能合約會設計出什麼規則,又攪亂支付層的穩定性。越火爆參與的人越多,以太區塊鏈越脆弱。

還有去年可笑的漏洞事件,以太坊區塊鏈居然會被DDOS攻擊,去中心化的比特幣從來和DDOS攻擊沒有交集。最近,ETH暴漲掩蓋了以太去年出過的致命漏洞。2016年10月,黑客運行了一個智能合約DOS,調用了EXTCODESIZE 操作碼,使gas price的價格極低,攻擊交易調用此操作碼的頻率大約是50000次每區塊,使以太網絡的確認時間變長。為了防止硬分叉修補出三姨太四姨太,以太狗莊採用了限制gas limited數量的臨時措施。一種治標不治本的措施。

我們都知道比特幣區塊容量限定在了1mb,比特幣的擴容狗血劇一直是以太坊支持者認為以太坊將超越比特幣的談資,以太支持者曾標榜自己沒有任何區塊容量限制,確認速度14秒。實際上,以太坊也是有限制的,gas limited 就是一種區塊交易數量限制,之前的設定是每區塊310萬。就是以太的每區塊只能執行310萬gas消耗的智能交易,現在受到漏洞的威脅,開發團隊建議礦工將gas limited 下降到了150萬。這樣一來以太的交易能力就降低了一半,降低了共識故障或內存超載發生的可能性。

2016年以太價格低迷,鏈上交易少,限制gaslimited可以起到防止漏洞惡化的可能,但是,現如今以太價格暴漲,利用以太區塊鏈進行ICO的項目如同雨後春筍,這些都需要在以太鏈上進行智能交易。並且,ICO項目的代幣(token)也需要在鏈上交易,如果這時候,黑客在搞這麼一次DDOS攻擊,我看以太坊網絡要長期癱瘓了。

以太坊純屬一個把簡單事情複雜化的設計,很多人肯定納悶Gas的單位,怎麼會用一些奇怪的單詞Finney, Szabo, Shannon,Babbage, Ada。一群以太坊受害者QQ群還把Q群等級設置成,芬尼,香農,巴比奇。這尼瑪是在幹嘛?這些單詞都是加密貨幣或網絡相關領域作出傑出貢獻者的名字,把這些名字替代了漢語裡的十、百、千、萬、億、兆。吃飽了撐的沒事幹,就是想讓你小白看不懂。

從gas交易費機制到gas單位設計,都體現了以太設計者脫褲子放屁的優良傳統。把本來就稀缺的區塊鏈空間塞滿了無用的字節,以太坊的區塊鏈每日增加5.7G,短短21天就超過了比特幣9年的容量。目前以太的區塊鏈已經接近200G,而比特幣才130G,基於以太的ICO再這麼火爆下去,年底以太區塊鏈將達到T級。以太坊將失去去中心化的安全保障,只有服務器級別的機器才能運行以太坊客戶端,更容易發生單點故障,導致網絡癱瘓。

隨著交易量和區塊的暴增,以太坊大限將至。這種可編程區塊鏈在最需要安全穩定簡潔的交易層,執行不確定性較大的邏輯判斷、條件跳轉代碼,會使區塊鏈裡充滿亂七八糟的垃圾信息,有朝一日達到計算機硬件和網絡帶寬的硬性限制,以太坊就成單機版遊戲了。

相關推薦

推薦中...