| timezone | Asia/Taipei |
|---|
- 自我介绍:大家好,我是 Yahsin。第一次參加以太坊協議殘酷共學,相當開心。期待對以太坊底層協議有更深刻的理解。
- 你認為你會完成這次的殘酷學習嗎?希望!
今天聽了約 20 分鐘 Chloe 主持的殘酷共學星期四的 weekly call,發現班長好認真,居然去年整整跟了一次特訓,還寫了很多精美的筆記。感覺花好多時間和力氣去做這個事。聽到她對 light client 主題有興趣,還有對另一個主題也有興趣,但當時因為在路上,網路不是很穩,剛好沒有聽到她說另一個她也有興趣的主題是哪一個。可能再找機會請教。晚上看了幾段 epf wiki 網站 week 1 pre-reading 的段落,其中提到一個很久以前的影片,可能是 1982 年拍攝製作的訪談類型節目,影片標題是 AT&T Archives: The UNIX Operating System。大概看了前十分鐘,訪談內容有提到 modularity 模組化的概念,裡面的老師們都講得很好,影片值得觀看。
今天先看了老師怎麼介紹第一週的內容,看了前二十分鐘。Ethereum Protocol 101 talk by Mario Havel on StreamEth 想到自由軟體 « Logiciel libre » [free software] 同時參考 https://www.gnu.org/philosophy/free-sw.html 提及的 “free” as in “free speech” 這邊的意思是自由,不是免費。文件提到可借用法語和西語的 libre 自由。We sometimes call it “libre software,” borrowing the French or Spanish word for “free” as in freedom, to show we do not mean the software is gratis.
另外參考維基百科 https://en.wikipedia.org/wiki/Gratis_versus_libre 的介紹 "The adjective free in English is commonly used in one of two meanings: "at no monetary cost" (gratis) or "with little or no restriction" (libre)."
自由軟體 https://fr.wikipedia.org/wiki/Logiciel_libre
同時參考法語介紹 Qu'est-ce que le logiciel libre ? https://www.gnu.org/philosophy/free-sw.fr.html#TransNote1 Notes de traduction a. Free veut dire « libre », mais aussi « gratuit ».
今日的學習主要是觀看 v 老師三十分鐘深入淺出以太坊 2022 年這場演講「Ethereum in 30 minutes by Vitalik Buterin | Devcon Bogotá」,也就是 Week 1 推薦的延伸學習內容 https://epf.wiki/#/eps/week1?id=implementations-and-development 看了前二十分鐘。
https://youtu.be/UihMqcj-cqc?si=MqL3ac9Xg30LPJmE
今日下午殘酷學習時間,看完了後半段的 v 老師 2022 年深入淺出認識以太坊系列演講。老師三十分鐘以太坊言講主題每年都會講一次,這場有幾張簡報更新。接近尾聲的地方有提到美國電腦科學家 Ralph C. Merkle 老師。根據 v 老師的演講說法,這位七十歲電腦科學家近期可能有在忙人體冷凍技術 cryonics 的東西。
這裡要強調的重點是,merkle tree 在以太坊驗證資料上持續扮演重要角色。以太坊技術底層中到處都有使用到 merkle tree,主要用途是在以太坊的驗證資料方面。你要驗證有龐大的 40 gb 的 state 資料的某一塊小小的資料時,你不需要全部 40 gb 都撈出來驗證,只要一小塊 tree 的某些節點資料拿出來就可以驗證。
今日晚上殘酷學習時間,拜讀了 Nic Lin 林老師今天發表的新文章「Ethereum Pectra 硬分叉介紹」https://medium.com/taipei-ethereum-meetup/ethereum-pectra-eips-introduction-1f90f4ea25d5
中間段落提到,EIP-7251: Increase the MAX_EFFECTIVE_BALANCE 這段,提及 EIP-7251 之後,質押下限(MIN_ACTIVATION_BALANCE)仍然是 32 ETH,但上限(MAX_EFFECTIVE_BALANCE)大幅調高為 2048 ETH。這裡意思是之後就可以質押 32~2048 ETH 這麼大一個範圍。
還有一段提到 EIP-7702 這個改進,最關鍵的改動是,之後 EOA 可以搖身一變成合約。老師文中舉例,如果你填一個 Safe 合約地址,那你的 EOA 就會變身成為 Safe 合約。
晚上殘酷學習時間,聽完整整一個半小時的 matt 老師報告(Study Group Week 2 | Execution Layer)https://epf.wiki/#/eps/week2 覺得老師好厲害,可以這樣邊打字邊解釋說明很多細節。同時也感覺到整個系統的複雜性。
今晚的殘酷學習時間聽了 Alex Stokes 老師怎麼介紹「狀態機複製 State machine replication」概念。https://en.wikipedia.org/wiki/State_machine_replication
很多年前,曾經和 Alex 老師有一面之緣,簡單打過招呼,可能是在 2019 年澳洲雪梨的那次。記得當時他沒有留鬍子,看起來很年輕,有種獨特的優雅氣質。現在好像全然變一個人的樣子,似乎個人風格有變化,覺得有點奇妙。
以下這邊開始就是我邊聽邊打字出來的內容,一方面練習英文聽力,一方面期望進一步強化 狀態機複製 State machine replication 的概念理解。
Ethereum Consensus Layer | Alex Stokes | Week 3 https://www.youtube.com/live/FqKjWYt6yWk?si=w0jmYFctZtqgVG7G
One topic being discussed by the lecturer, Alex Stokes, was the concept of consensus via “state machine replication.” The following are his words introducing this concept in about 2 minutes (lecture video time 20:13–21:39).
This concept is called “state machine replication.” The “replication” here refers to the fact that we have multiple nodes in the system; they essentially all duplicate the same work. This is like an input log to get the same output. In particular, this is what we mean by consensus: every node in the system should eventually agree on the outputs.
You write your program or protocol as a deterministic function of the inputs. Imagine then that if you have an honest node, they’re going to run the same function on the same inputs, and they have to get the same output, right? This is assuming there are no bugs or anything in the protocol. For the same set of inputs, you get the same output.
This is useful to get rid of our single trusted operator because as the number of nodes increases, this becomes harder to attack. Rather than exploring a bug on one node and taking down the whole system, you now have to attack, say, two or three, or maybe all of them. And there’s this notion of a majority in the system. This is really what we mean when we say consensus: at any point in time, there should be some majority of nodes that all have the same view, the same output, or the same state.
When they do this, then, even if some of the nodes are faulty, you still have a majority of them saying, "This is the state of the world." So, the idea is that it becomes much harder now to attack our system as we have more nodes who are doing the same thing.
星期六的早上殘酷學習時間,繼續看了一段 Alex Stokes 老師 Week 3 針對 Consensus Layer 的介紹,其中一些內容讓我想到 Tim Roughgarden 老師也講過類似的主題,只是 Tim Roughgarden 老師講得更深入且用詞更精確。像是 Tim Roughgarden Lectures 頻道其中一個系列影片「Foundations of Blockchains (Lecture 1.4: State Machine Replication)」 https://youtu.be/EaPBj_EUBPI?si=XHUeohYZ4IgxbV14 就有詳細介紹 State Machine Replication。
週日晚上殘酷學習時間,主要觀看第四週的報告老師 Mario Vega 談 Testing 的主題「Testing & Security Overview | Mario Vega | Week 4」https://www.youtube.com/live/PQVW5dJ8J0c?si=Ee0MeIE6hnvN5hDB
談了與 EVM 相關的議題,例如 EVM testing - Tests Filling 以及 EVM testing - Fuzzing Differential State Testing 等等議題,看影片聽老師介紹一段,光是 EVM testing 就花了很長一段時間討論,感覺實際作業相當複雜。
週二晚上殘酷學習時間來關心第五週的主題 https://epf.wiki/#/eps/week5 Ethereum Research and Roadmap | Domothy | Week 5
https://www.youtube.com/live/UClaoL12W00?si=BnPEXWymzFRuuAs2
老師的大橘貓登場五秒鐘
Rollups from 10,000 feet
今日的殘酷學習 帕斯卡 Blaise Pascal 機率論,同時也關心 a16z crypto research 近期在忙些什麼。
https://a16zcrypto.com/posts/article/crypto-readings-resources/
今天的殘酷學習有 a16z crypto research 的長官降臨家附近的餐廳給我上課 講有關 Network Token 和 Arcade Tokens
https://youtu.be/miAbQdXg6Gc?si=qbg0YSwfkLPLbAiK
https://a16zcrypto.com/research/
以及提到一本書 Suicide of the West: An Essay on the Meaning and Destiny of Liberalism by James Burnham https://www.amazon.com/Suicide-West-Meaning-Destiny-Liberalism/dp/1594037833
本日的殘酷學習時間了解近期一個資安事件,有關多簽錢包被攻擊者掌握。因為不少使用者,甚至是資安意識高的軟體開發者,常認為送交易失敗很正常(如圖文章段落所提),可能因為手續費不夠等等的各種原因需重送交易。工程師操作時碰到重新送交易不以為意,最後居然被騙到 transferOwnership 這個動作。
https://medium.com/@RadiantCapital/radiant-post-mortem-fecd6cd38081
今日殘酷學習跳著看 Intro to Ethereum Protocol | Mario Havel 老師的第一週最新報告 https://youtu.be/WB6rOQCV-4U?si=bPWLAPqe895vAGi2
其中有頁簡報提到針對 spec 加有解釋性內容的參考網站 https://eth2book.info/capella/
今天的殘酷學習聽了 Mario Havel 老師第一週的內容 講了一次 Execution layer 大致上的架構,提到 EVM 就相當於平時軟體工程師所認識的 Java virtual machine (JVM)。

今日殘酷學習時間又再繼續看了一段 Mario Havel 老師第一週的報告。究竟這一群工程師參與的人數實際有多少?有一百人嗎?這麼多人需要一起決定事情,誰是有最終決定權的資深工程師?我只是好奇。畢竟本日頭條看到 Aya Miyaguchi 長官換了一個職稱叫「President」,而這個詞台灣可能是叫公司的「總經理」或是「會長」。
「I will be closing this chapter as Executive Director of the Ethereum Foundation soon and stepping into a new role as its President」官方網站的說法 https://blog.ethereum.org/2025/02/25/aya-announcement
我認為應該是要翻為「總經理」較理想,但不知道這代表的意義是什麼?算是降職,還是平移平調,還是升職?這方面感覺也沒人看得明白。現在的局勢像開車上山,午後開始起濃霧,沒人知道路在哪裡,也沒人看得出來車子要往哪裡開,暫時先開往最近的服務區,決定等到濃霧散去再出發。當然這是比喻,意思是彷彿看不清組織到底目前的局勢是,正在行經蜿蜒山路,突然起大霧,還是內部高層早已手握地圖,雙手握住方向盤,覺得此人事轉彎代表大局已定,相信終於在此時此刻遙遙領先,已是勝券在握。我只是旁觀者,只能祝福。