📜 [專欄新文章] TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架
✍️ Phini Yang
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架
本課程著重在進入區塊鏈產業所需具備的基礎知識。
區塊鏈技術是橫跨多領域所組成,並又接著在各領域知識的基礎上創新。從網路結構的外觀來看,系統以眾多節點以點對點架構組成,相異於主流日常生活使用網路服務的主從式架構。節點間對資料取得共識的機制也須追溯到分散式系統的研究。
在以太坊以來,客製化虛擬機以進行運算也成顯學,這塊又屬於編譯器的領域知識。不論在共識層或應用層,系統倚賴密碼學的工具。最後利用區塊鏈簿記上的資產進行獎勵或懲罰來讓系統參與者作出行動,需要經濟學上的工具。
即使在五年之前進入區塊鏈圈,要能夠一次把這所有的領域接觸過也非容易。這次課程取得在各自領域專精的講者,把每個領域重要的概念提過,並點出與區塊鏈關聯的重點。
目標並非讓學習者能夠完全掌握所有的領域,而是
降低日後自行學習的障礙,知道可以從哪裡開始看
知道哪些領域有學習者自己領域能夠切入合作的缺口
知道各種領域的瓶頸及前沿研究是什麼。
課程的安排除了前述眾領域的介紹,最後有一門「客戶端原始碼分析」,全節點便是整個抽象共識機制的具體軟體實作,有了前面的基礎,看到程式碼會比較知道背後設計的原因。
為什麼從以太坊開始學?
以太坊鏈上的 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 協議運作過程。
這項技術可運用在哪?
根據自身需求客製化模組邏輯,例如:修改 miner 打包 transaction 的順序。
新增 RPC API,例如:subscribe API。
記錄額外的 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)
TEM 區塊鏈基礎教育第三階段 — 跨出工程師只會寫 Code 的既有框架 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
拜占庭將軍問題 在 【区块链】共识算法与如何解决拜占庭将军问题 - Go Further 的推薦與評價
这个问题的定义者是图灵奖获得者,Lamport大神,分布式系统的关键性奠基人之一。有面包店算法,拜占庭将军问题,Paxos算法等著名成果 ... ... <看更多>
拜占庭將軍問題 在 Inside 硬塞的網路趨勢觀察 的推薦與評價
拜占庭問題 又叫做拜占庭將軍(Byzantine Generals Problem)問題,常接觸#區塊鏈技術的人應該對這個專有名詞不陌生, 因為可以經常看到什麼新公鏈推出的演算法解決了 ... ... <看更多>
拜占庭將軍問題 在 [閒聊] 灌水一下- 看板NDU_SelfCSIE - 批踢踢實業坊 的推薦與評價
區塊鍊
FinTech ( Financial technology ) 將我們所認知的傳統金融服務,
轉型並透過科技的手段進行,讓企業可以提供更有效率的服務,也讓使用
者可以更便利即時的操作。換一個角度切入也可以想成是,科技業漸漸佈
局到以往傳統的金融業,試圖帶來一波新的衝擊性改變。
不論從哪一個角度來解讀,可以知道的是 Fintech 將會是未來科技
和金融業界都無法忽視的趨勢。在這個數位崛起的時代,Fintech 也不
僅僅只是科技與金融,甚至市場與政府,都是這個趨勢下需要應運出新
服務的角色。而區塊鏈 BlockChain 技術的應用,也是站在金融的基礎
之上進而興起。
區塊鏈源起二說
拜占庭問題
關於區塊鏈的起源有兩個故事可以討論:首先是今日土耳其的伊斯坦
布爾,是當年東羅馬帝國的首都拜占庭,當時東羅馬帝國強盛、國土遼闊
,在國防的配置上,每一個軍隊的駐點都相隔遙遠,將軍與將軍之間只能
夠依靠信差來傳遞重要消息,因此在對外作戰的時候,拜占庭軍內部所有
的將軍和大官員需要達成一致的共識,才能夠決定是否出兵,但若軍隊中
存有叛徒或是間諜更可能影響將軍的判斷,結果往往不能夠得到大多數人
的意見,在已知有成員謀反的情況如何連結相隔遙遠的軍營來取得一致協
議,就成了有名的「拜占庭問題 ( The Byzantine Generals Problem )」。
拜占庭將軍問題在網路世界的解讀是在容許入侵體系的一種模型化,
後來發現區塊和區塊鏈可以解決這個問題,1982年美國計算機科學家
Leslie Lamport 把軍中各地軍隊彼此取得共識、決定是否出兵的過程,
延伸至運算領域,設法建立具容錯性的分散式系統,即使部分節點失效仍
可確保系統正常運行,可讓多個基於零信任基礎的節點達成共識,並確保
資訊傳遞的一致性,而 2008 年出現的比特幣區塊鏈便應用了此觀念。
比特幣
第二個也就是大家所熟知的區塊鏈起源就是「比特幣」,為了比特幣
而產生了區塊鏈,比特幣就是區塊鏈的第一個應用,後面的段落會再針對
比特幣做詳細說明,接下來我們先來試著了解區塊鏈到底是什麼。
區塊鏈其實是公眾的電子記帳資料庫
首先,對區塊鏈需要的第一個理解是,它是一種「將資料寫錄的技術」。
如同前述,區塊鏈起源於中本聰 ( Satoshi Nakamoto )的比特幣,因此區
塊鏈就是作為比特幣的底層技術,是一個「去中心化的分散式資料庫」,透
過集體維護讓區塊鏈裡面的資料更可靠,或是可以把它理解成是一個全民皆
可參與的電子記帳本,一筆一筆的交易資料都可以被記錄。
區塊鏈技術可以說是互聯網時代以來,最具顛覆性的創新技術,依靠複
雜的密碼學來加密資料,再透過巧妙的數學分散式演算法,讓互聯網最讓
人擔憂的安全信任問題,可以在不需要第三方介入的前提下讓使用者達成
共識,以非常低的成本解決了網路上信任與資料價值的難題。
去中心化和不可竄改性
區塊鏈有幾個最重要的特色,首先就是它的核心宗旨──去中心化,為
了強調區塊鏈的共享性,讓使用者可以不依靠額外的管理機構和硬體設施、
讓它不需要中心機制,因此每一個區塊鏈上的資料都分別儲存在不同的雲端
上,核算和儲存都是分散式的,每個節點都需要自我驗證、傳遞和管理,這
個去中心化是區塊鏈最突出也是最核心的本質特色。
在去中心化的前提之上,每個運算節點的運作方式就會透過「工作量證
明機制(Proof of Work,POW)」來進行,也就是誰先花費最少的時間,透
過各自的運算資源來算出答案並得到認可它就成立,如此一來就可以實現多
方共同維護,讓交易可以被驗證。
與去中心化類似的概念是區塊鏈的「開放性」和「獨立性」,區塊鏈技術的
基礎是開源的,除了其中交易的訊息會另外被加密之外,其中所有的運算數
據都是對所有人開放,任何人都可以透過公開的介面去查詢區塊鏈中的數據
,系統信息非常透明。而獨立性指的是整個區塊鏈的系統不需要依靠第三方
,因此便不會受到任何外力的干預。
同時也就衍生出了區塊鏈的相對「安全性」和「匿名性」,因為區塊鏈
的數據是分散式的演算,因此也沒有人可以隨意修改網路上的數據,去除掉
了人為操控的可能,也就讓區塊鏈本身相對安全,因為區塊鏈上的訊息不需
要公開驗證,彼此之間的訊息傳遞都可以匿名進行。
區塊鏈的另一大特色是其「不可竄改性」,區塊鏈中的每一筆資料一旦
寫入就不可以再改動,只要資料被驗證完就永久的寫入該區塊中,其中的技
術是透過 Hashcash 演算法,透過一對一的函數來確保資料不會輕易被竄改
,這種函數很容易可以被驗證但卻非常難以破解,無法輕易回推出原本的數
值,資料也就不能被竄改,每個區塊得出的值也會被放進下一個區塊中,讓
區塊鏈之間的資料也都被正確的保障。
比特幣夯翻全球
再大致了解了區塊鏈的技術和概念之後,接著要和大家介紹紅遍全世界
的比特幣,我們知道區塊鏈就是比特幣的底層技術,或是可以說,比特幣帶
動了區塊鏈觀念的興起,去中心化的公開性讓所有人都能夠自由購入與售出
,交易的匿名性和金流資料的安全性更是比特幣所依靠的基礎。
前面段落提到,比特幣是由一個名叫中本聰(Satoshi Nakamoto)的人
所發明,但其實現實中並沒有人知道中本聰究竟是誰,連其性別、職業或是
年齡都不甚清楚,關於比特幣的討論交流全部在網上進行。比特幣的命名是
「Bitcoin」,取自電腦運算的最小位元,是一套點對點(P2P)形式的「虛
擬貨幣」,不需要依靠特定的貨幣機構發行,對持有者而言,比特幣除了幣
值相對穩定,而且在全球都能夠使用,加上它去中心化的安全性,讓它在全
世界一炮而紅。
Satoshi
比特幣發明人
這樣的虛擬貨幣交易成本低、穩定安全,有些國家(例如俄羅斯)甚至
考慮要開發國定的虛擬貨幣,但在現有的金融制度底下,大多數國家的法律
還無法定義比特幣,這樣的虛擬貨幣並不受到任何政府、任何銀行控制,因
此它目前也還未被合法化。
比特幣將所有的交易歷史都記錄在區塊鏈之中,區塊鏈會持續延長並相
互連結,且新的區塊一旦加入到區塊鏈中就不會再被移走。比特幣的交易數
據需要連續得到六個區塊的驗證後成立,缺點就是這個過程稍嫌緩慢。
另外,前面提到的工作量證明機制在比特幣中被稱為「挖礦」,也就是
類似於一種運算的競爭,中本聰把消耗CPU的電力和時間比與成金礦的生產
過程,比特幣的每一個網路節點都需要驗證,因此使用者會需要透過自己的
工作效率來證明運算結果,確認後的交易才會被打包到區塊鏈中,透過不斷
重複的嘗試來符合某一個節點要求的解,這樣的技術競爭受到許多專業人士
的熱愛,讓大家可以在眾多的公正平台上發掘不同硬體的計算能力。
區塊鏈將成長為超級帳本 HYPERLEDGER FABRIC
目前區塊鏈的演進大約可以分為三個主要階段,第一階段也就是以比特
幣作為代表,這個體系將區塊鏈建立起來,而第二階段是以以太坊為主,以
太坊(Ethereum)也是一個開源的公共區段鏈平台,其中以太幣(Ether)
也是透過專用加密技術的去中心化的虛擬貨幣,到目前為止以太幣已經是
市值第二高的加密貨幣,僅次於比特幣。
區塊鏈的第三階段目標就是超級帳本,以Linux基金會所創辦的「超級
帳本計畫(Hyperledger Project)」為例,這是第一款專門為大型企業所
設計的區塊鏈模組,主要是希望讓企業可以更輕鬆的導入區塊鏈技術,也
代表著區塊鏈的發展日趨成熟。
「Hyperledger Fabric」有需多專門為商業導向所設計的用途,包含
貨運追蹤、智慧合約等功能,期待可以落實區塊鏈的應用,因為區塊鏈有
共享式帳本的特性,在這個區塊鏈中所有的成員不論是上下游或是協同關
係,都能夠透過區塊鏈來快速的共享大量的資源,同時也能兼顧安全性,
因此這樣成熟的區塊鏈技術可以應用的層面應該值得各界期待。
--
***
**╭** 我喜歡生活裡有適度的寂寞,
*╰╣** 因為在寂寞的時候,會給自己一個思想的空間。
║ 一個很隱密、很自我、很放任的思想空間。
║ Slytb & Felicia
══╩═════════════════════════════
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.194.71
※ 文章網址: https://www.ptt.cc/bbs/NDU_SelfCSIE/M.1518281001.A.87D.html
... <看更多>