特務 K 經歷了節點的同步,了解了一些點對點網路的細節,心中仍然有眾多未解困惑。但再繼續往技術細節鑽之前,他想先了解一些比較軟的問題。
他看著節點 每十二秒 就會收到一個新區塊
「既然這系統關不了機,那他什麼時候開機的?這個系統已經運作多久了?」特務 K 突然驚覺。
「你問到核心的問題了」小雨望向遠方「這系統跑十年了呢,最近大家才在辦 十週年慶」
「跑了十年?中間都沒停機過?」特務 K 感到震撼。
「早期是有許多資安事故,但屬於系統層的不多,大多是應用層的」小雨這麼說「也沒造成停機過」
「系統層都不需要維護或更新?」特務 K 問。
「系統層要更新」小雨說「以太坊的系統大概每年會進行一次升級,加入新功能或修改現行功能」
以太坊的設計文件,來自於 2013 年的白皮書,最後第一個客戶端實作出來並上線已經是 2015 年了。到 2025 剛好十年。
「這十年間有哪些比較重要的事情發生嗎?」特務 K 問。
「哇太多了」小雨說「但我大概切分為三個時期:2015~2019 摸索期、2020~2022 押金制升級期、以及 2022 之後的擴展期」
特務 K 參照著小雨提供的網頁: https://ethereum.org/en/history/ ,上面有歷次升級的時間與摘要。
「在摸索期的時候,底層和應用層的開發者還並不熟悉整個系統,全世界都還在適應去中心化的新電腦」小雨說「系統在 2016 年的時候遭遇嚴重的 阻斷服務攻擊(denial-of-service attack, DoS) ,有兩個相應的升級在緊急修補漏洞。」
「相關的攻擊細節,我們談到 EVM 時再深入展開」小雨不待特務 K 追問,已先回答。
「當然還有當時新聞吵最大的 DAO hack ,也是這個時期」
「 權益證明(Proof of Stake) 是以太坊在共識機制的重要創新,我們需要花一整天講」小雨說「但我蠻不喜歡 XX 證明這類的詞,我認為他們造成很多理解上的障礙。」
「你喜歡怎麼稱呼他們呢?」特務 K 問。
「押金制」小雨答道
「我知道共識機制聽起來又像是需要一天解釋的詞,但這階段你能告訴我什麼呢?」特務 K 問。
「我會說,怎麼讓節點達成一致資料狀態的方法吧」小雨說「一致的意思是:假設你應該在這系統有一顆以太幣的紀錄,那在你把它花掉前,每個節點都應該記載你有一顆以太幣。」
「在轉為押金制前以太坊是用什麼呢?」
「用 工作量證明(Proof of Work) ,或我喜歡稱為「算力制」」
「以太坊的研究員和核心開發者,在 2020 上線了一條專責處理押金制的鏈,是為 信標鏈(Beacon Chain) 」小雨說「在 2022 年的 大合併(The Merge) ,算力制的主鏈與信標鏈合併為一鏈,從此以太坊變成全押金制」
「擴展是什麼意思呢?」特務 K 問。
「以太坊身為一台電腦,提供的是運算服務。但整個點對點網路能夠處理的運算量有限。怎麼樣重新組織這些節點電腦,使得他們能 處理更多的運算、提供更多的服務 ,就是擴展的議題。」
「擴展期的時候人們又在做些什麼呢?」
「幾本上,一個擴展的路線被緩緩確定下來了」小雨說「提供更多的 資料泡(Blob) 來支援更多的 捲疊(Rollups) 」
「那又是額外一天對吧?」
「沒錯」
「 零知識證明 的進展有點改變了所有架構的設計思路」小雨補充
「你說升級的頻率大概一年一次,好像有點慢啊」特務 K 說。
「畢竟和一般的軟體升級不太一樣,針對一個有共識的系統,沒辦法灰度發佈」小雨說「頂多能在額外的測試網,測試升級後網路是否運作正常。」
「一旦上了主網,就得一次到位」小雨說「因此升級的討論、決策、以及測試,都要特別慎重,花比較久時間。這個升級的細節 ... 」
「又要再花一天講」兩人幾乎齊聲說。