以太七日談 • 2021/2/8

以太七日談 • 十三

ETH 1.0

應該提高 gas limit 嗎?

近期高昂的交易費使得用戶在以太坊網絡上“寸步難行”。1inchExchange 的聯合創始人 Anton Bukov@k06a 發推,截取 Dune Analytics 上“以太坊每天使用的 gas 與 gas limit 對比”的圖 (見下) 並表示似乎時時候將 gas limit 從 12.5M 提高到 15M 了,從而提高 20% 的交易吞吐量。此話題在社區引起熱議。其中 Go Ethereum 的開發者 @MariusVanDerWijden 表示現在還不是提高 gas limit 的時候,以下爲他推特的翻譯整理:

以太七日談 • 2021/2/8

cr:Dune Analytics

我認爲現在提高以太坊的 gas limit 是危險的。關於這個決定,需要考慮以下幾個因素:

叔塊率:在評估提高 gas limit 是否安全時,叔塊率是最常被討論的指標。因爲大區塊在網絡中同步速度比較慢,因此會增加變成叔塊的可能性。但是,叔塊率其實主要與區塊容量相關,而不是實際執行,因爲區塊是在 PoW 共識鏈簽出時被廣播 (至少可以通過 geth) 而不是在被正確執行時。因此,有大量存儲操作的小型交易與有少量操作的大型交易一樣,是不會提高叔塊率的。

狀態大小:我現在看到的最大限制因素是快速增長的狀態。創建用戶、合約或儲存數據的交易都大大地增大區塊容量。因爲我們的節點不能足夠快地修剪狀態,大量不必要的狀態會被儲存在磁盤上。這也是爲什麼一個新同步的 geth 節點消耗大約 350GB,而一個運行了一段時間的節點消耗大於 500GB。提高 gas limit 會直接導致狀態膨脹。

同步時間:現在一個全節點大概需要好幾天才能同步完數據。原因有幾個。提高 gas limit 會大大增加一個新節點的同步時間。新的同步協議 (例如:snap sync) 可以縮短這個時間。

執行次數:無論何時只要有新的區塊生成,所有的執行都必須被執行,且狀態都需要更新。這跟同步數據有點不一樣,因爲我們可以採用一些捷徑,而在處理區塊時是無法同步的。提高 gas limit 會直接增加一個區塊的執行時間。如果一個區塊的執行時間長於 13 秒 (當前的區塊時間) ,整個網絡都會崩潰,因爲每個區塊都會出現分叉。現在在以太坊上有幾個問題可能會被利用來創造這種重型區塊。我們希望可以通過 EIP-2718 來解決它們。

檔案節點:儘管全節點足以滿足大多數的用例,檔案節點 (即存儲過去所有過渡狀態的節點) 還是有依賴它們的用例和各種服務,比如區塊瀏覽器或審計工具。提高 gas limit 會給這些節點增加非常大的壓力。儘管我們普遍不關注這些類型的節點,我們還是需要支持它們。

解決方案:儘管我認爲現在不是提高 gas limit 的適當時候,但我也看到未來可能是由解決方案。

Snapshot 和 Snap Sync:在我們下一個更新版本,Go Ethereum 會有一個叫 snap sync 的功能,它可以大大減少同步一個節點所需的時間和網絡容量。另外,這個功能也會提高讀取當前狀態的速度。

Regenesis:Regenesis 是關於修剪以太坊的歷史的一份提議,基本上等於用當前狀態創建一個新的創世區塊。這會使得我們可以刪去很多驗證舊區塊的邏輯,並縮短同步時間,比如修剪了上海攻擊的部分。

Flat DB:Turbo-geth 給它們的狀態引入了一種新的數據結構,它會減少執行區塊所需的隨機磁盤讀寫量。Go-ehtereum 目前無法複製這個格式。當我們拋棄舊的 eth-protocol 版本時,我們就可以採用相似的格式,這樣也可以提高 gas limit 了。

Pruner:Geth 現在無法使用內存修剪來減少寫進磁盤的非必要狀態,這回導致每天大約 1GB 的狀態膨脹。

來源:

https://twitter.com/vdWijden/status/1358478246879363077

以太坊 Geth 核心開發者 @peter_szilagyi 也表示反對提高 gas limit,因其帶來的負面影響可能會給他們團隊帶來巨大壓力 (其團隊主要負責維持 Geth、EVM、狀態管理以及交易混洗等)。Peter 表示其團隊一直努力安全地提高 gas limit,並推進 Snap Shot 和 Snap Sync。他目前有一個新的狀態儲存方案,可能行得通,也許不行,他表示先在這方面進行研究開發,而不是直接提高 gas limit。

來源:

https://twitter.com/peter_szilagyi/status/1358393781381459970

同時有人提問 EIP-1559 會提高區塊的 gas limit 嗎?

EIP-1559 的主要推動者 Tim Beiko 則解釋:EIP-1559 不會明顯提高區塊容量。依據其設計,會有大概 1% 的區塊達到 200%,因此最佳情況下是平均增加 0.5% 的容量,相當於把現在的區塊容量提高大約 100k。因此,EIP-1559 並不會改變 block limit,但我們容許區塊達到 200% 滿。無論前一個分叉的區塊 gas limit 是多少都不會影響下一個分叉,但如果區塊超過 100% 滿,我們會提高基本費用 (如果低於 100% 滿,基本費用會降低)。以及在 EIP-1559 上線之後,礦工提高或減低 block limit 的權利維持不變。

來源:

https://twitter.com/TimBeiko/status/1356761456688070657?s=20

Eth 2.0

2.0 主網出現批量罰沒事件

2 月 3 日,以太坊 2.0 信標鏈 70 多個節點集體遭到 slash 懲罰,具體罰沒細節可訪問 beaconscan 瀏覽器查看:https://beaconscan.com/slots-slashed

隨後 Staking 服務商 Staked.us 對該事件做出迴應:2 月 2 日有 75 個運行在 Staked 的節點遭到 slash 懲罰,這主要是由於技術性問題,用戶將獲得全額賠償。Staked 解釋稱,在過去六週中對性能進行了改善,提高證明率 (attestation rate) ,且使用”canary“對其進行了測試。但是後來因爲 Staked.us 禁用了 Prysm 客戶端的 slash 保護數據庫 (因其此前引發了證明遺失問題),導致一部分驗證者對相同的區塊進行了雙重簽名,因此造成了大規模罰沒事件。Staked 表示將補償用戶的損失。

2 月 5 日,beaconscan 的數據顯示信標鏈再次出現批量罰沒,共 17 個節點被懲罰。而根據存款合約的數據顯示,此次罰沒事件仍與服務商 Staked.us 有關。

Layer2

Layer2 互操作性解決方案 Connext 被引入 Decentral Games

2 月 3 日,Layer2 互操作解決方案 Connxet 宣佈其第一個合作項目“Decentral Games”上線,可以在以太坊和 Matic 之間快速轉移 DAI 和 MANA。Decentral Games 利用二層解決方案 Matci 來降低 gas 費,然而,DG 的用戶每次使用虛擬 casino 時仍需要通過 Matic PoS 橋接將資金在以太坊和 Matic 之間轉移。而 Connext 可以幫助縮短交易時間。

以太七日談 • 2021/2/8

cr: connext

路印與隱私社交產品 Mask Network 合作

隱私社交產品 Mask Network 宣佈與二層解決方案達成戰略合作關係。Mask 在其最新的博客表示,將與 Layer2 擴容方案、zkRollup 以及其他去中心化技術深度合作。而在應用層方面,Mask Network 和路印將開發二層“紅包”的更多更能,以解決用戶的高交易費問題。

以太七日談 • 2021/2/8

cr: mask

DeFi

Yearn v1 yDAI 機槍池被攻擊

2 月 5 日 Yearn v1 yDAI 機槍池遭受攻擊,Yearn 核心開發者 Banteg 發推表示,攻擊者獲得 280 美元,機槍池損失 1100 萬美元。隨後審計公司慢霧對其進行了調查,表示該次攻擊事件爲閃電貸攻擊行爲。

2 月 8 日 DeFi 流動性協議 Curve 發推表示,因發現新的 Yearn v2 池存在漏洞,爲保護流動性提供者的資產,該池已被關掉。目前所有資產都是安全的,存款將直接返回至 LP 的錢包,不需要額外的提取操作。

以太七日談 • 2021/2/8

生態

以太坊交易量破十億

以太坊瀏覽器 Etherscan 發推表示,以太坊上的交易量達十億筆。

以太七日談 • 2021/2/8

cr:etherscan

灰度發佈以太坊價值評估報告

Grayscale 灰度發佈了報告,從三個角度對以太坊進行價值評估:ETH 作爲貨幣、作爲消費商品、作爲計息資產。翻譯版本指路:《以太坊價值評估》。

本期最佳 meme

過去的 gas 費讓人懷念~

以太七日談 • 2021/2/8

cr: @EthereumMemes

本期完,我們下期見!

聲明:以太七日談欄目內容由編者自行編譯而成,僅供參考,請以消息來源爲準。轉載須註明原文出處以及 ETH 中文站。若需長期轉載,請聯繫 [email protected] 進行授權。

以太七日談 • 2021/2/8