買比特幣 買比特幣
Ctrl+D 買比特幣
ads

SOLID:移除EIP-2315:以太坊柏林升級前的緊急剎車_以太坊

Author:

Time:1900/1/1 0:00:00

以太坊的柏林硬分叉預計在4月14日執行,其首個測試網Ropsten將在3月10日執行部署。而在距離測試網部署前5天柏林硬分叉的內容竟然發生了變更,3月5日的第107次核心開發者會議(以下簡稱ACD)上,EIP-2315被全體通過移除出升級列表,而這距離其被列入升級列表僅僅過了14天。?

為什么EIP-2315在發射前最后一刻啞了火,究竟發生了什么問題?這還要從一個提案說起。

3月3日,lightclient 發表該提案,回顧了EIP-2315的復雜歷史,并從技術和社會共識層面提出了反對的理由。在技術層面,他指出點出了Solidity團隊的兩位成員在推特上表達了對此提案的反對,并給出了合理的推測——由于solidity編譯器占據了絕大多數市場,如果solidity團隊不利用這一提案,則大部分智能合約都不會使用這一特性。與此同時,EVM的復雜性卻大大增加了,看起來似乎得不償失。在共識層面,lightclient 認為其作用有限,同時反駁了“這是為未來升級的鋪墊”。他認為即使是作為未來轉變的基礎EIP,也必須有自己獨特的用處。因為如果一個EIP本身沒有好處,而只是未來“好處”的墊腳石,未免風險太大。在升級前臨時剎車是不尋常的事情,lightclient 對其可能造成的困擾表示了歉意。?

提案的提出者 gcolvin 很快提出了反對。首先,他不同意流程上的妥協,認為“核心開發者確定了的升級列表是不能更改的”,否則會造成不好的先例。從技術上,他解釋了這一提案的初心,他認為 solidity 團隊的反對是沒有道理的,因為他們沒有反對過對此提案的分析。同時,即使他們反對也不能說明什么,因為 Vyper (另一個智能合約編譯器)團隊表示會采用這一新的特性,智能合約不僅僅是solidity 一家說了算。他還指出在此提案已投入太多心血,目前沒有看到一條『他未曾反駁』或『可以影響升級』的反對意見。?

Vyper 團隊表示也許這對 solidity 團隊現階段沒有用,但他們是會采用的,并期待已久。『只要有一個編譯器團隊愿意使用,就沒有理由不實施』。

Tim Beiko(以太坊核心開發者會議(ACD)的協調人)總結了各客戶端團隊的意見。Geth團隊希望等待ACD的決議,而其它客戶端團隊(Netherland、OpenEthereum、Besu)則表示對保留2315無異議(需要特別指出,Geth客戶端的占有率超過80%)。

Bitfinex將于7月11日移除BAT/USDT、ID/USDT、TREEB/USDT、EOS/EUR交易對:6月30日消息,據官方公告,Bitfinex將移除如下4個交易對:BAT/USDT、ID/USDT、TREEB/USDT、EOS/EUR。這些交易對的移除將有助于鞏固和改善Bitfinex的流動性,為客戶帶來更精簡和優化的交易體驗。

這四個交易對將于2023年7月11日上午10:00(UTC時間)停止交易。請注意,相關代幣的其他交易對并未移除,仍可在Bitfinex上交易。請客戶在這些交易對下架之前取消任何未完成訂單,這些訂單屆時將被系統取消。

從2023年7月4日上午10:00(UTC時間)開始,客戶只能減少EOS/EUR的保證金頭寸。所有剩余的保證金訂單將被取消,Bitfinex將在2023年7月11日強制結算所有未平倉保證金頭寸。[2023/6/30 22:09:59]

看起來誰也不服誰,但在ACD召開之前,2315就被無異議地移除了。是不是很奇怪?

(如果你不懂技術可以跳過這一節,不影響理解本文的主要觀點)

EIP-2315:為EVM引入簡單的子程序。子程序是計算機領域的一個基本概念,可以認為是程序的一個子集或片段,可以讓一段代碼邏輯被重復調用。子程序和函數有區別,函數有返回值,且一般不顯式地修改全局變量,而子程序沒有返回值,且是對全局變量進行操作。子程序對簡化代碼有許多好處,這也正是EIP-2315的提出動機。EVM目前不支持子程序,但可以通過操作程序計數器來實現這一功能。提案的作者 gcolvin 在『動機』章節闡述了他的理由。『 在過去的30年里,計算機行業一直在與這種復雜性和開銷作斗爭,并在提供直接支持子程序的原生操作符方向上取得了進展。至少追溯到50年前,大多數物理機和虛擬機都以某種形式(非原生地)提供這些操作。』

無需了解子程序的內涵,從上下文中也可以得出幾個結論:?

1. 在功能層面,子程序并沒有提供新的功能,而是提供了更簡便的實現方法。2. 目前以太坊不原生支持子程序,而計算機行業是支持的。如果要問,子程序到底提供了什么好處,它的代價又是什么?原生支持究竟會為以太坊帶來多少提升,還是說僅僅是一個技術理想?EIP-2315似乎并沒有解釋清楚,它只是給出了一些新的操作符,讓EVM原生支持子程序。好了,其實這些技術細節,對今天的討論并不重要。

Binance將移除ANC、MIR、TORN以及YFII部分現貨交易對:12月21日消息,據官方公告,Binance 將于 12 月 27 日 11 時移除 ANC/BNB、ANC/BTC、ANC/USDT、MIR/BTC、MIR/USDT、TORN/BTC、TORN/USDT 以及 YFII/BTC 現貨交易對,用戶仍可以在 Binance 上的其它交易對中交易上述幣種。[2022/12/21 21:58:52]

我把github、以太坊研究者論壇定義為公開領域,因為每個人都可以不受限制地閱讀和參與討論,并可以使用郵件、RSS閱讀器等互聯網基礎設施與之交互。而discord的頻道、telegram的公開群組則可稱作半公開領域。盡管無需準入就可以加入,但由于其協議相對封閉,與互聯網基礎設施的集成較差,且無法被搜索引擎檢索。?

以太坊研究的半公開領域集中在『Eth R&D』的discord服務器上。大部分研究者可以做到對公開領域信息的檢索、聚類和分析,但對半公開領域則投入相對較少,尤其是當它和財富效應關系較小時。顯然,不僅普通研究者是這樣,核心開發者們——例如solidity的團隊成員也極少參與這里的討論,他們在推特上發表了對EIP-2315的反對論點。Micah 表示不解:『為什么人們要在推特上反對EIP?』?

gcolvin 在discord上對重啟EIP-2315的討論表示了強烈的反對,他認為這已經被充分討論并在『合適的論壇』上達成了共識,長達一年之久。Solidity團隊在當初的討論中并未表示強烈的反對,現在他們在推特上反對是他們的自由,但已經沒有意義了。此外,他認為在流程上存在一些問題,『Solidity沒有派代表參加ACD』,很遺憾他們沒有參與最終決策,但這不會影響EIP-2315的決策,如果說有可改進的地方,那就是會議議程,應當在討論議題時邀請相關代表(顯然他也認為solidity團隊沒有參與最終討論使得這個流程不太妥當)。

Geth客戶端的負責人Peter也表達了自己的憤怒。他認為在最后時刻去改變升級需求是可怕的,由于代碼和測試都已經完成,誰來重新測試,并且保證所有代碼可用。他認為,如果ACD決定推遲Berlin升級,這還可以接受。在保證原升級時間表的情況下刪除EIP-2315是不可接受的。

lightclient表示同意。他認為如果要在『推遲Berlin升級』和『保留一個無用卻會修改EVM核心功能的EIP』中選擇,那還不如選擇短痛。同時,如果要刪除EIP-2315,他愿意幫助重新測試。?

推特股票被標普500指數移除,將由Arch Capital Group取代:10月28日消息,據外媒報道,11月1日,標普500將從其股票指數中刪除推特,取而代之的是保險公司Arch Capital Group。馬斯克對推特的收購將于明天完成。標普500指數的一名代表表示:,指數構成的改變是在必要的情況下做出的。據悉如果公司涉及合并、收購或重大重組,其股票就可能被標普500指數刪除。根據紐交所網站的消息,推特的股票也將被紐交所暫時停牌。(The Block)[2022/10/28 11:51:07]

Vitalik表示,推遲Berlin不可接受。

與此同時,solidity 團隊的Chris指出,他對此EIP的狀態表示疑惑,因為它仍然是『DRAFT』,一個草案EIP怎么已經列入了升級列表了呢?James Hancock說,這確實令人困惑,應當更好地管理這些狀態,讓沒有時間參加ACD的人也可以知道每個EIP的狀態變更。

接下來的討論似乎沒有沿著這條路線前進,Alexey、Chris和Vitalik對EIP-2315所涉及的動態跳轉展開了討論。Peter此時表示,他已移除2315并成功同步了,但這并不能保證其它客戶端也奏效。?

lightclient 催促大家盡快達成共識,他贊成在Berlin移除EIP-2315,理由仍然是基于內容上的。他認為此提案并不能實現聲稱的好處,但如果大多數人同意可以繼續,本不應該反對提案。然而由于『Solidity編譯器的使用率遠遠超出其它工具,而他們的開發者認為這個提案是無用的』,因此應當更謹慎地對待此議案。

tkstanzak (Netherland的開發者)認為這甚至會導致『嚴重損害(damage)』,原因是『無用的代碼增加了EVM的復雜性,拖慢了它的運行速度,沒有任何人聲稱會使用他』。這種表態激怒了 gcolvin,他說『混蛋。(Bullshit.)』lightclient顯然對這種氣氛不安并試圖維持秩序,『很不幸我們有麻煩了,我們得花點時間搞清楚我們為什么會搞成這樣,但現在我們得根據現有信息作出最合適的決定。』很不幸這種提議并沒有讓 tkstanzak 和 gcolvin 買賬,他倆展開了一組對話。* > 對話的重心在于『是否有人真正愿意使用此提案?』 gcolvin 強調,『子程序本身』就是子程序的用例,如果任何人反對這個提案,應該在過去兩年的『以太坊魔術師論壇』的討論中提出,而solidity團隊更應該在ACD上提出反對。而 tkstanzak 認為從來就沒有人給出過該提案的優點(例如可以提升solidity的效率,達到2%),2020年1月,他就這么問過 gcolvin,但并沒有繼續討論下去了。在過去的兩年里,他一直在等待這個問題的答案,而且一直沒有人告訴他Berlin什么時候會來。因此,Berlin的延期也沒什么大不了的,因為其中除了EIP-2929外也沒有什么特別要緊的提案。他給予了 gcolvin高度的贊譽,認為他是EVM的專家,但如果沒有任何表示會使用他提升Solidity或其余編輯器,那么為什么要對這個提案有如此高的信心呢?他還打了個很長的比方,大致的意思是汽車發動機的每一次設計更新都應該有充分的理由,而『70年代飛機發動機就已經使用這個技術了』不是一個合適的理由。因此,如果移除EIP-2315會推遲Berlin升級,那也不得不這樣,但他有信心大家并不需要推遲升級,也能很好地移除該提案。

StarkWare的以太坊擴容方案StarkEx發布4.0版源代碼,移除用戶注冊流程:10月14日消息,StarkWare的以太坊擴容方案StarkEx在GitHub上發布4.0版本源代碼,該版本移除了用戶需要注冊的流程,只有在取消存款等場景下才需要進行注冊,另外,提現功能可以在資產所有者授權下直接執行到以太坊地址上。[2021/10/14 20:29:49]

Tim Beiko做了兩點總結,在今后的流程中,應當(1)明確每個EIP的需求方及理由(2)ACD的討論應當更加廣泛,以提前收集反對意見。

此時,Hudson,過去5年里ACD的協調人,闡明了他對此次溝通的立場。他首先表示了 gcolvin專業知識的尊重,但批判了他的無禮態度,每個人應當都對自己有高標準,即使在情緒沖動時。而關于議事流程,他認為『先例并不是一定要遵守的。流程系統已經崩潰了,需要根本的改善。』?

gcolvin 的情緒似乎有些緩和,但仍在強調ACD的決議不可推翻。在他看來,流程就是為了防止『最后時刻的噪音』,這被Alexey反對。

此時,Vyper團隊表示他們會使用子程序帶來的新特性。Micah認為這不是什么安全性問題,而僅僅是Solidity一個團隊不使用它而已,因此沒必要在最后時刻推翻流程。lightclient 也表示接受。

而此前關于『DRAFT』的討論得到了Pawel Bylica的回應,他認為他甚至不知道這個提案被接受了,他以為還在討論呢,關于EIP的狀態,應當提供RSS Feed樣式的接口訂閱,以幫助大家了解自己關心的EIP的變更(不是每個人都會有時間關心每個EIP,每次ACD)。

這似乎給了lightclient靈感。

3月4日,lightclient整理了EIP-2315事件的時間線,詳細梳理了此提案生命流程中的所有大事件。該提案首次被列入討論是ACD 80,最后一次討論是ACD 96,跨度7個月。但最終并沒有達成結論。盡管第98和100次會議沒有會議記錄,所以無法確定是否討論了限制跳轉的問題。(但lightclient后來重聽了整個會議(總計約4h),確認了并未討論這一議題。)?

chriseth 贊美了lightclient總結的時間線,這印證了他的印象即此提案從未被真正地接受過。此外,他重新陳述了對此提案目標的質疑,由于缺少靜態分析的專家參與,且該提案可能無法起到減少gas消耗的目標。

聲音 | Polychain Capital 創始人 :解決PoW 受到攻擊會摧毀所有人 而 PoS 只需要把攻擊者移除:Olaf Carlson-Wee,Polychain Capital 創始人兼 CEO接受采訪時表示:大家認為 PoW 有投入真正的能源,那會讓 PoW 更安全,但我們從加密貨幣經濟學的角度來看,如果想要對 PoS 網絡進行攻擊,其他誠實的人可以把協議分叉,然后把攻擊者移除,原來的鏈變成他自己一個人玩的死鏈。如果 PoW 受到攻擊,你要解決的話會還是會摧毀所有人,而 PoS 你只需要把攻擊者移除。[2019/5/22]

3月5日,lightclient作出了最終陳述,非常精彩,全文翻譯如下:

看來事情的發展傾向于取消EIP-2315,所以我長話短說。

支持EIP-2315部署在柏林的人的論據來自核心開發者會議過去關于接受這個EIP的決議。我們有辦法通過流程避免當下的狀況,并讓生活變得更簡單。可只有當人們設計并實施時,這些流程才是密不透風的。人類都會犯錯,這些錯誤隨時隨地都有可能表現出來。我們沒有必要成為自己創作品的受害者。

在此流程中出現了一個錯誤,EIP-2315不該被接受。早在 ACD 81,Geth團隊就要求提供基準測試的結果,以證明此EIP所聲稱的收益。基準測試一直沒有人做。在ACD 84中,@Souptacular 動議將EIP移至『接受(Accepted)』。@tkstanczak 重申,如果存在這樣的用例(改進的 codegen +靜態分析),他就會支持提案。在沒有找到符合這兩個條件的用例時,此提案被列入了柏林升級。在ACD 86中,@MadeofTin承認,考慮到關于規范的持續爭論,將EIP轉為『接受』還為時過早。甚至在幾個月后,在我能找到的最后一次ACD電話中提到EIP的時候,@Souptacular指出,圍繞著這個規范還有一些懸而未決的問題。@gcolvin表示會在魔術師論壇中線下解決,但并沒有解決。

在整個過程中,幾乎每一步驟中,@axic、@chfast和@chriseth都在表達對該提案的擔憂。他們寫了一份分析,并向EIP開了一個PR,以避免跳入和跳出子程序——這可能是對EIP最強烈的抱怨。不幸的是,由于某些原因,他們在去年秋天減少了對EIP的參與,因此這個提案設法在柏林的備審清單上停留了幾個月的時間。這讓那些不參與討論其可行性的人以為這個EIP代表了正統性。流程本該保證反對者的抱怨得到解決,但事實并非如此。如果他們能繼續與之抗爭,那就更好了,但他們沒有。他們已經花了幾個月的時間去斗爭--這個流程本應把此EIP擱置,除非討論解決。

我對關于此EIP的技術方面的抱怨并不擅長,因此不適合發表評論。希望@AlexeyAkhunov的想法結合@chfast的分析,足以讓諸位承認這個EIP是否有用仍是存疑的。雖然這是一個極不尋常的提議,但并非是『私人問題』。我對于造成的干擾表示誠摯的歉意。我打算今后盡自己的努力,避免這種情況再次發生。希望我們能夠作為一個團體進行進一步的建設性對話,以改善EIP流程。

隨后,lightclient敲下了法官的重錘。?

這項建議已被ACD 107接受。EIP-2315將從柏林移除。?

gcolvin 也作出了自己的總結,他回顧了自己的心路歷程,并對自己的魯莽表示歉意。在最后,他指出了核心開發者的使命:『我希望這種可悲的事態發展能夠引發嚴肅的反省--我們已投身于一個目前市值1730億美元的網絡的研究、開發和管理。我不知道有多少業務在這個網絡上運行,也不知道它支持了多少人的生活。我們必須學會像專業人員一樣操作。』

事情似乎告一段落,但這次事件的影響是深遠的。如果以太坊的開發者不能從中吸取教訓,那這類事情一定會再次發生。公共政策的討論可以分為幾個層次。

1.?公共政策的內容2.?公共政策的決策3.?治理程序的完備

第一層是公共政策的內容是否具有『結果正義』。公共政策的目標是什么,其內容是否可以實現聲稱的目標,尤其是技術上是否具有可行性。實現這個目標會讓多少人受益,讓多少人受損,是否有其它實現方式?在一層,主要需要相關領域的專家對技術可行性及其效用進行評估。在此案例中,幾位技術專家的討論還是比較充分的,他們通過論壇、聊天工具展開了長期的探討,雖然談不上多高效,也談不上有多么深入。直接在ACD這類全員會議上展開專業問題的討論,顯然不是什么好的決定。尤其是針對『子程序』的用例,『基準測試數據』等具體問題,并沒有討論清楚。

第二層是公共政策的決策。即公共政策的推行是否符合『程序正義』,是否征詢了足夠多人員的意見,是否經過了合適的表決,是否留有足夠多公示時間以避免侵犯到部分人員的利益。很顯然,此次事件中,ACD 在提案沒有得到共識的情況下就將EIP-2315列入升級列表,應負有重大責任。尤其當有人質疑EIP-2315的狀態還是『草稿』時,流程組織者Pooja沒有反思為什么出現這種情況,而是簡單將『草稿』改成『審議』,頗有種打那指那的灑脫。此外,有兩次會議缺少會議記錄,是否應當有人需要問責?

第三層是治理程序。本文無意探討以太坊的治理這一宏大問題,僅從本次事件的吉光片羽中找出關于EIP的上線流程的建議。譬如,如何判定EIP的優先級?每個EIP除了需要一個支持者,一直推進,是否還需要指定一個反對者,始終跟蹤進度并持續提出建議?ACD會議討論具體的EIP時,是否應召集所有相關的技術專家和開發者團隊到場?很顯然,EIP-2315事件反映出現有治理程序存在巨大缺陷。如果在ACD討論時,能叫上solidity團隊成員參與,就不會讓這么荒誕的事情發生。公共政策既需要專家的意見,也需要考慮多方利益的均衡,更需要在合理的流程下達成決策,這樣才能在保證效率的情況下不至于犯錯。

很顯然,以太坊做得算不上好。治理程序不夠完善,執行更是信馬由韁,這讓針對內容的討論低效且無法深入,讓系統建立在沙丘上。

但相比于絕大多數區塊鏈社區,以太坊這已經是幸福的煩惱了。

我們一般討論無準入系統時,往往是從“技術視角”切入的,即普通人是否可以運行網絡的全節點,并參與整個網絡的技術共識。例如,任何都可以從誕生之日起,追蹤并驗證比特幣和以太坊的所有歷史。在追蹤這一事件的過程中,我深刻意識到在信息層面,也需要讓整個網絡保持『無準入』,這樣一個新加入的人才能理解整個社區從哪里來,要到哪里去。

以太坊究竟做得怎么樣呢?簡而言之,就和今天的以太坊全節點一樣,可以同步所有歷史,但成本太高,對硬件的要求也很高。

如果一個研究者想知道以太坊這些年是如何推進的,ACD和所有EIP的討論都是重要的參考資料,這些都會在線直播,并且留下視頻和會議記錄(盡管漏了幾期,會議序號也標錯過)。此外,以太坊研究者論壇和以太坊魔術師論壇都是重要的討論陣地,近來EthereumCatHerders關于EIP的解讀也非常精彩。總體來說,對于一個研究者來說,素材是比較充分的。然而,這些素材過于瑣碎,缺少結構化的整理。例如,想知道某一個EIP在哪些會議中被討論過,以及哪些人曾經發表過相關意見,以便梳理研究脈絡和請教,就需要研究者花費大量時間去查詢。

此外,散落在discord、reddit、各類AMA、github評論區、個人博客上的信息浩如煙海,大部分研究者無法有足夠的精力和敏銳度去追蹤這些。換而言之,要同步這些歷史太難了。以EIP-2315為例,有幾個人能說得清楚它的來龍去脈?若不是lightclient把時間線梳理清楚,并且提煉出『EIP-2315從未被接受過』的事實,這個錯誤的決定可能就渾水摸魚伴隨著柏林升級進行了。而Tim Beiko在核心開發者會議紀要中甚至沒有提到這一事件,更不要說反思了。

柏林曾經受過多次戰爭的苦難,好在這一次它被拯救了,唯有感謝上蒼保佑。

https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/berlin.md

https://github.com/ethereum/pm/issues/263

https://eips.ethereum.org/EIPS/eip-2315

https://github.com/ethereum/pm/issues/263#issuecomment-790381273

https://github.com/ethereum/pm/issues/263#issuecomment-790910171

https://github.com/ethereum/EIPs/pull/3309

https://hackmd.io/@timbeiko/acd-update-001

Tags:以太坊ETHDITSOLID以太坊交易所有幾個ETHW幣Ripio Credit NetworkSOLID幣

抹茶交易所
NFT:世界首富馬斯克囤比特幣有什么企圖?_區塊鏈存證是什么意思

本周,幣圈最大的熱點無疑就是「特斯拉美國官網正式支持比特幣付款」。這個新聞最有意思的點還在于,馬斯克說了,特斯拉是來囤幣的,用戶支付的比特幣并不會兌換成法幣.

1900/1/1 0:00:00
SDT:4.2午間行情:多頭強勢 有望沖高_以太坊

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
聯盟鏈:“區塊鏈+司法鑒定”實現“同步存證易”_ZEN

原標題:“區塊鏈+司法鑒定”實現“同步存證易” 國內首個區塊鏈司法鑒定中心成立日前,國網區塊鏈司法鑒定中心正式成立,這也是國內首個以區塊鏈技術為特色的司法鑒定中心.

1900/1/1 0:00:00
LAYER:金色早報 | 高盛即將提供針對比特幣的投資工具_以下哪個不是區塊鏈區塊的結構

頭條 ▌高盛即將提供針對比特幣的投資工具3月31日消息,高盛即將向其私人財富管理集團客戶,提供其第一個比特幣和其他數字資產投資工具.

1900/1/1 0:00:00
區塊鏈:33復雜美區塊鏈創始人兼CEO吳思進:區塊鏈助力中小企業“突圍”_HAI

3月25日,由中國中小企業協會指導,中國中小企業協會產業區塊鏈專委會(以下簡稱“專委會”)主辦.

1900/1/1 0:00:00
ETH:Visa將在以太坊上結算USDC付款 這意味著什么?_USDC

Visa 已經宣布將使用以太坊進行 USDC 支付結算。這意味著一部分 Visa 支付網絡將使用 USDC 進行支付,而且這些支付交易將在以太坊網絡上被結算,這會刺激 ETH 上漲嗎?「Visa.

1900/1/1 0:00:00
ads