TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架

Phini Yang
Taipei Ethereum Meetup
9 min readNov 22, 2019

本課程著重在進入區塊鏈產業所需具備的基礎知識。

區塊鏈技術是橫跨多領域所組成,並又接著在各領域知識的基礎上創新。從網路結構的外觀來看,系統以眾多節點以點對點架構組成,相異於主流日常生活使用網路服務的主從式架構。節點間對資料取得共識的機制也須追溯到分散式系統的研究。

在以太坊以來,客製化虛擬機以進行運算也成顯學,這塊又屬於編譯器的領域知識。不論在共識層或應用層,系統倚賴密碼學的工具。最後利用區塊鏈簿記上的資產進行獎勵或懲罰來讓系統參與者作出行動,需要經濟學上的工具。

即使在五年之前進入區塊鏈圈,要能夠一次把這所有的領域接觸過也非容易。這次課程取得在各自領域專精的講者,把每個領域重要的概念提過,並點出與區塊鏈關聯的重點。

目標並非讓學習者能夠完全掌握所有的領域,而是

  • 降低日後自行學習的障礙,知道可以從哪裡開始看
  • 知道哪些領域有學習者自己領域能夠切入合作的缺口
  • 知道各種領域的瓶頸及前沿研究是什麼。

課程的安排除了前述眾領域的介紹,最後有一門「客戶端原始碼分析」,全節點便是整個抽象共識機制的具體軟體實作,有了前面的基礎,看到程式碼會比較知道背後設計的原因。

為什麼從以太坊開始學?

以太坊鏈上的 Dapp ,不論是在數量或是應用的範圍上,皆遙遙領先其他主鏈。各大主流區塊鏈應用的衍生,也是以以太坊為基礎發展而成。 以太坊目前仍是區塊鏈中最具開源文化的生態系之一,技術支援也是所有公鏈中最完整的,有著最豐富的研究者社群與概念創新。

課程時數與費用

課程將分成三階段,每階段授課 12 小時,形式包含講課與實作。
每一階段 12 小時收費 $4,800 元,早鳥票 $3,600,三人團報價 $3,000/1 人。
課程人數最多 30 人為主,最低開班人數 10 人。

🎁 立馬去購票 🎁

https://www.accupass.com/event/1911150750032715966110

❓有任何問題,請聯繫 Phini Yang (Mail)

以下為每堂課程詳細介紹,以供學員理解:

1. 經濟學原理 — 賽局理論/供需 By 梁智程, 以太坊基金會

為什麼要學習這項課程?

區塊鏈無論是底層協議,或是去中心化應用,系統經常需要設計誘因,並假設系統的多數參與者會依據誘因,做出對自己最有利的行動,利用那樣的行動維持系統運作。

要討論、分析、設計誘因,經濟學上已有累積已久的語言與工具。因此我們常會在區塊鏈的文章中看到從古典的供給與需求[1]、共有財的悲劇[2] 、或是較現代的賽局理論、機制設計、拍賣等術語。

這些觀念可能對無經濟學背景的開發者較難掌握。我會試圖在有限時間之內,介紹主要常用的經濟學概念,並點出有運用到這些概念的相關區塊鏈文獻。我們也會介紹到因為區塊鏈特殊的環境,所產生新的機制設計的挑戰以及機會。

這項技術可運用在哪?

要設計區塊鏈相關系統,通常需要理解經濟學相關知識。

課程大綱

1⃣ 經濟學原理
- 供給與需求
- 外部性與公共財
- 區塊鏈範例:區塊鏈運算資源

2⃣ 賽局
基本定義:玩家、報酬、策略、均衡
非合作賽局 vs 合作賽局

3⃣ 機制設計
- VCG 最佳機制設計
- 區塊鏈範例
第二價拍賣的手續費 [3]
賄賂攻擊 [4]、反機制 [5] 與全知識證明 [6]
- 激進市場範例
平方投票

2. 虛擬機 EVM By 戴宏穎 (海帶), Second State

為什麼要學習這項課程?

虛擬機就像是肝臟,雖然是人體中沈默的器官,但沒有這個元件,整個系統就會失去作用。

對於使用者而言,不論是在 Ethereum 上轉 Ether 、部署合約、或者呼叫合約,基本上都不會注意到有虛擬機的存在。可這個無感的存在卻是合約能夠執行的核心關鍵。如果今天沒有虛擬機,那 Ethereum 就無法撰寫 smart contract 、無法執行 DApp (迷戀貓、去中心化交易所等應用)。

這項技術可運用在哪?

除了是設計有執行合約能力的區塊鏈系統中必備的元件外,理解虛擬機也能幫助我們在裡頭進行效能的最佳化與增加新的特殊功能(產生隨機數、進行 hash 運算等)。

課程大綱

1⃣ 深入淺出 EVM
- 虛擬機概論
- EVM 核心元件
- 理解 EVM 內部的運作過程

2⃣ 實作
- 增加一個新的 opcode magic
- 增加產生隨機數的 opcode rand (EVM 的隨機該怎麼做)

3⃣ Eth 2.0
- Ewasm Virtual Machine

3. 共識機制—PBFT/PoS/Casper FFG By 邱駿, UnityChain

為什麼要學習這項課程?

  • PBFT(Practical Byzantine Fault Tolerance)誕生至今已逾 20 年。它的發明源於分散式系統中一個著名的共識難題:拜占庭將軍問題(Byzantine Generals Problem)。PBFT 並不是一個針對全開放環境的共識協定 — 事實上在區塊鏈出現之前,並未出現任何一個針對開放環境的拜占庭容錯共識。區塊鏈的橫空出世啟發了研究人員再度審視 PBFT 這個經典。
  • PBFT 具有一些與區塊鏈截然不同的特性,這提供了改進區塊鏈一些有用的思路,例如以PBFT為基礎建立的權益證明(Proof-of-stake)模型。儘管在區塊鏈蓬勃發展的今日,PBFT這個經典仍然蘊含許多值得研究人員反覆推敲的巧思,其後續也衍生出非常多新協定,例如 Tendermint / HotStuff / Harmony FBFT 等等。
  • 以太坊對權益證明(Proof-of-Stake, PoS)的研究最早可追朔至 2014 年。從此之後,以太坊研究員們便一直朝「實現基於 PoS 的共識協定」此一目標前進。PoS 共識的設計是一個跨領域且相當複雜的問題,其包含計算機科學 / 經濟學 / 密碼學等面向。以太坊擁有區塊鏈生態系中最跨領域的團隊,對 PoS 的研究可以說是相當透徹。

課程大綱

1⃣ 什麼是共識?
- 什麼是狀態機?
- 為什麼需要共識?
- 為什麼共識這麼難?
- 正確的共識:安全性(Safety)與活躍性(Liveness)
- 共識一定可以達成嗎?

2⃣ PBFT 共識協定
- 協定概論
- 安全性與活躍性分析
- 特性分析

3⃣ PoS 共識協定
- 什麼是砍押金/砍押金條件?
- PBFT 最小砍押金條件
- 為什麼 PoS 這麼難設計?

4⃣ Casper FFG
- 協定
- 特性分析
- 改進 PBFT
- 與 Eth 2.0 整合

4. 密碼學原理 — 橢圓曲線/零知識證明 By 吳偉誠 (Kimi), UnityChain

為什麼要學習這項課程?

隱私在現今世界越來越受重視,但是區塊鏈上任何的交易都是公開透明的,要如何在使用區塊鏈的同時又享有隱私,零知識證明是目前最好的解決方案。

這項技術可運用在哪?

零知識證明除了使用在隱私外,也能有效率的驗證資料,進而提高交易速度。

課程大綱

1⃣ 橢圓曲線簡介

2⃣ Shamir’s Secret Sharing 介紹與應用

3⃣ 零知識證明
- 零知識證明簡介
- zk-SNARKs
- 零知識技術的應用與比較

4⃣ 手把手實作
- circom 語法及指令

5. 點對點 p2p 系統 By 賈脈瑄, 以太坊基金會

為什麼要學習這項課程?

區塊鏈本身基於點對點(Peer-to-Peer, 簡稱 P2P)網路。大家都知道共識層的重要,但常常沒意識到網路層的安全也很重要。

P2P 網路的術語及概念本身也很分散,經常散落在網路各處難以系統化的學習。不同的使用情景造就了不同的設計,近年區塊鏈興起,也帶起了和區塊鏈有關的 P2P 系統研究。這門課會帶過 P2P 系統中常用及重要的設計與理由,並介紹區塊鏈系統們怎麼應用這項技術。

這項技術可運用在哪?

實作去中心化網路,譬如區塊鏈網路。不同區塊鏈可以設計特化且有效率的 P2P network。

課程大綱

1⃣ P2P networking 基礎
- 歷史背景
- Overlay
- Requirements for p2p networks
- Unstructured networks
- Structured networks: DHT
- Gossiping

2⃣ 區塊鏈的 P2P networking
- Difference from the classical p2p networks
- Cases study
・Ethereum or Bitcoin
・Ethereum 2.0
- Library: libp2p

6. 客戶端(Geth)原始碼分析 By Miya Chen, AMIS

為什麼要學習這項課程?

Ethereum 擁有非常活躍的開發生態系,以 go-ethereum 為例,透過分析原始碼更加了解 Ethereum 協議運作過程。

這項技術可運用在哪?

  1. 根據自身需求客製化模組邏輯,例如:修改 miner 打包 transaction 的順序。
  2. 新增 RPC API,例如:subscribe API。
  3. 記錄額外的 blockchain 資料,例如:每一個 block 其所有 account balance 和 storage 的差值。

課程大綱

1⃣ Geth 架構介紹

2⃣ 理解 tx pool 運作過程

3⃣ Event subscription 的實作

4⃣ 手把手實作: 客製化 tx pool

課程時數與費用

課程將分成三階段,每階段授課 12 小時,形式包含講課與實作。
每一階段 12 小時收費 $4,800 元,早鳥票 $3,600,三人團報價 $3,000/1 人。
課程人數最多 30 人為主,最低開班人數 10 人。

🎁 立馬去購票 🎁

https://www.accupass.com/event/1911150750032715966110

❓有任何問題,請聯繫 Phini Yang (Mail)

--

--