羅德興老師的教學歷程檔案 - 109-2 資訊技術 - 區塊鏈 教學資源
 

企業資訊與管理系
助理教授/日導
羅德興


歷程檔案 Portfolio

    區塊鏈 教學資源

    一、Teaching Materials
    0-1.
    圈外人也聽得懂的區塊鏈「幣、礦、鏈」三圈運作
    https://www.thenewslens.com/article/120857

    0-2.

    區塊鏈運作原理大剖析:5大關鍵技術

    https://www.ithome.com.tw/news/105374


    0-3.

    比特幣區塊鏈挖礦原理入門由淺到深


    https://medium.com/turing-chain-institute-%E5%9C%96%E9%9D%88%E9%8F%88%E5%AD%B8%E9%99%A2/%E5%8D%80%E5%A1%8A%E9%8F%88-%E6%AF%94%E7%89%B9%E5%B9%A3%E6%8C%96%E7%A4%A6%E6%B5%81%E7%A8%8B-eae8a0ca5362



    1.

    Smart Contract 開發 - 使用 Solidity 系列 Day01~Day 30      Liou, Ailin (2018)
    https://ithelp.ithome.com.tw/users/20092025/ironman/1759

    開發智能合約 -  (Day01)

    開發智能合約 - 交易 (Day02)

    開發智能合約 - 區塊 (Day03)

    開發智能合約 - 帳戶的基本概念 (Day04)

    開發智能合約 - MetaMask 加密貨幣錢包 (Day05)

    開發智能合約 - 什麼是 Gas (Day06)

    開發智能合約 - 網路 (Day07)

    開發智能合約 - 用戶端 Geth, Parity (Day08)

    開發智能合約 - 線上版 IDE  Remix 基礎篇 (Day09)

    開發智能合約 - 線上版 IDE  Remix 進階篇 (Day10)

    開發智能合約 - 介紹 Solidity 語言 (Day11)

    開發智能合約 - 合約的結構 (Day12)

    開發智能合約 - Solidity 型別 (Day13)

    開發智能合約 - 表達與流程控制 (Day14)

    開發智能合約 - 函式與修飾標記 (Day15)

    開發智能合約 - mapping 型別 (Day16)

    開發智能合約 - 可見度和自動生成 getter 函示 (Day17)

    開發智能合約 - 單位和全域變數 (Day18)

    開發智能合約 - 實戰練習「簡易版 King of the Ether (1/2)(Day19)

    開發智能合約 - 實戰練習「簡易版 King of the Ether (2/2)(Day20)

    開發智能合約 - 繼承、抽象合約 (Day21)

    開發智能合約 - 介面 (Day22)

    開發智能合約 - 實戰練習「Rinkeby Faucet (Day23)

    開發智能合約 - 函式庫 (Day24)

    開發智能合約 - 介紹 Oraclize 與資料來源 (Day25)

    開發智能合約 - Oraclize request (Day26)

    開發智能合約 - Oraclize 可靠證明 (Day27)

    開發智能合約 - Oraclize  computation 資料來源 (Day28)

    開發智能合約 - Solidity 代碼檢查工具 Solium (Day29)

    開發智能合約 - 附錄 (Day30)





    2.


    四、Syllabuses
    1. 
    台大 資訊系統訓練班
    https://train.csie.ntu.edu.tw/train/course.php?id=2813

    乙太坊智能合約(Solidity)實作班

    本課程之設計以乙太坊(Ethereum)上之智能合約的初學者為出發,從區塊鏈與Ethereum的發展跟Gas的介紹談起,接著帶入Solidity的語法與寫作,最後談到智能合約上的資訊安全課題,課程目標是讓學生具有基本智能合約的撰寫與審計能力(本門課10小時不含Web3.js的教學)。
    Class 1:區塊鏈與乙太坊簡介、Geth使用、環境介紹
    Class 2:Solidity的合約架構、變數型別、運算、修飾詞、函式
    Class 3:Visibility、enum、struct、繼承、變數屬性
    Class 4:錯誤處理、存取其他合約、常見函式庫與關鍵字
    Class 5:乙太坊上的資訊安全


    2.

    智能合約開發超級入門 (胡耀傑 Jeff)

    https://www.tibame.com/course/347

    (1).

    從零開始寫第一份智能合約

    初學開發工具介紹   20:23

     

    智能合約()-區塊鏈數據存儲   32:31

    (2).

    初階智能合約技巧

    智能合約()-加減器  16:09

     智能合約()-安全加減器 / 外部模組調用 19:12

     智能合約()-亂數器 / 區塊鏈高度查看/哈希亂數器   20:44

    (3).

    第一份發幣合約

    智能合約()-帳本 / 簡易安全防禦   29:41

    (4).

    [Bonus彩蛋解鎖成功] ERC20相容的完整發幣合約(50人加碼演出)

    速寫ERC20相容的發幣合約 + 利用MyEtherWallet直接操作轉幣20:50







    沒寫過程式也能輕鬆上手!
    智能合約(一):你的第一份智能合約

    帶你從最基礎理解智能合約撰寫,學習撰寫智能合約語言Solidity的基本語法、程式註解、相容版本宣告、合約本體、無符號整數變數宣告...等概念。寫過程式的同學可以很快上手,沒學過程式的同學也能一步一步學習。

    智能合約(二):加減器

    從上一份合約延伸更多修改區塊鏈上的數據的方式,這們課將教你非公開變數宣告,以及變數增減,學習如何合理有效的更新區塊鏈上的數據。

    智能合約(三):安全加減器

    第二份智能合約的加減器存在著執行上的漏洞,有很大機會被駭客利用。
    因此第三門合約將教大家如何調用外部模組來修正不安全的函數。

    智能合約(四):亂數器

    想要寫遊戲或是一份比較生動彈性的智能合約,產生亂數的機制是不可或缺的。
    第四個合約將帶大家寫出一個產生亂數的函數,其中使用到區塊鏈高度查看、區塊鏈高度調用、區塊鏈時間調用來完成這個簡易隨機數產生器。

    智能合約(五):第一份發幣合約

    談到區塊鏈,就會聯想到現今已知超過1500個幣種,這讓金融世界變得非常活躍、豐富也充滿挑戰。這門課就將帶大家自己動手完成一份極度簡易發幣合約,讓大家瞭解完成一次發幣並不是那麼難的一件事!






    3. 

    踏入區塊鏈第一步,使用 Golang 寫出自己的智能合約

    https://www.tibame.com/course/492


     

    5.
    東海大學推廣教育
    區塊鏈在智能合約的建置

     1.區塊鏈介紹*發展歷程介紹※比特幣與區塊鏈概觀*智能合約:以太坊 ※區塊鏈技術與智能合約的應用2.共識演算法分析與討論*共識演算法整理與分析  ※深入淺出共識演算法理論*Bitcoin Blockchain 共識演算法介紹2.1共識演算法分析與討論*Hyperledger Fabric 1.0 共識演算法介紹*Ethereum 共識演算法介紹3.以太坊私有鏈建置教學由教師進行以太坊用戶端安裝教學,讓所有學員加入同一個私有鏈中,接著在私有鏈上進行挖礦與交易的測試4.Bitcoin 到 Blockchain 基礎概念*Bitcoin 與 Blockchain 的運作流程剖析*Blockchain 為什麼比 Bitcoin 更重要*認識分散式帳冊 (Distributed Ledger)*Peer-to-Peer 與 Decentralized 概念*Bitcoin Blockchain 的 Proof-of-Work 流程5.Blockchain 商業模式與 Use Case*區塊鏈1.0:Blockchain 在 Cryptocurrency 與 Fintech 的應用探討*區塊鏈2.0:Blockchain 在 Non-fintech 的應用探討*區塊鏈3.0:Blockchain 在 IoT 的應用探討*熱門創新應用探討-Assets 與 Property*混合區塊鏈產品規劃(Hybrid Blockchain)6.Blockchain 開源與安全議題*Hyperledger、R3 與 Ethereum 生態*看懂「hard-fork」與全球區塊鏈安全事件*認識社群-AltCoin、Colored Coin 與 LiteCoin*交易安全性探討 (Transactions and Consensus)*深入 Block Size 與 Fork 安全議題7.智能合約規劃*認識智能合約的本質與應用*從共識算法到認識智能合約原理*智能合約區塊鏈平台使用介紹 (Hyperledger 與 Ethereum)8.智能合約實習*讓學員私有鏈平台,練習撰寫區塊鏈應用的智能合約(Smart Contracts)*請學員利用範例網頁程式呼叫區塊鏈以及智能合約,將網頁交易寫入區塊鏈並觀察寫入狀況





    6.
    南台科大   區塊鏈技術
    https://flip.stust.edu.tw/course/26514/intro
     

    區塊鏈是一種點對點網路形式的分散式資料庫,可實現去中心化(decentralized)、資料無法被片面竄改(indelible ledger)以及透明公開的交易(Transparent)。去中心化不僅能取代第三方的昂貴費用以及風險,如惡性倒閉與捲款潛逃,而資料無法被片面竄改與透明公開性,可確保交易的真實與公平。目前區塊鏈已經從數位貨幣,逐漸發展到智能合約與分散式帳本的相關應用,更是Fintech與物聯網(IoT)等產業不可或缺的應用趨勢,本課程將介紹如何利用區塊鏈相關技術,來實現更多創新應用。

     

    課程大綱1. 區塊鏈基本概念與相關密碼學
    2. Bitcoin比特幣以及其他數位貨幣
    3. 區塊鏈平台Etherum建置、錢包、挖礦及驗證流程
    4. Etherum上私有鏈的建置
    5. Etherum上智能合約的撰寫與佈建
    6. 智能合約在金融科技上與應用實務(集保、證卷)
    7. 智能合約在共享經濟上與應用實務(電子書、共享單車)
    8. Hyperledger基礎架構布建
    9. Hyperledger上分散式帳本建置
    10. 分散式帳本在資料紀錄上的應用實務
    11. 分散式帳本在行動支付的應用實務
    12. 分散式帳本在務聯網上的應用實務
    13. 區塊鏈安全議題(一)- 共識演算法PoW PoS (Consensus Algorithm) 與常見的區塊鏈威脅
    14. 區塊鏈安全議題(二) – 交易內容的隱私與Hawk,Zcoin的介紹
    15. 區塊鏈安全議題(三) –隱私保護技術 Zero Knowledge Proof、非交互式零知識證明



    7.
    Mokoversity 開放創新學院     2017
    區塊鏈高階實務班:共識機制與智能合約

    https://www.moko365.com/enterprise/blockchain-distilled

    完整學習區塊鏈最核心的技術:智能合約、共識演算法、挖礦機制與商業思維。透過零碎的新聞報導,感覺無法接收完整的 Blockchain 知識嗎?這門課程是你搭上這波區塊鏈列車的關鍵課程,除了能得到完整的知識外,也能深入理解 Blockchain 的知識與技術內涵。

    課程內容

    • Proof-of-Work
    • Proof-of-Stake 與 Virtual Mining
    • 共識算法的設計與實作範例
    • Smart Contract
    • 區塊鍊 3.0 與應用領域 Use Case 研究

    學習重點

    • 使用 Hyperledger Fabric 上機演練
    • 使用 Ethereum 上機演練
    • 共識演算法的類型與使用
    • 建立系統化的區塊鏈知識




    第 1 天
    13:30-17:30
    第 1 課:共識演算法分析與討論 (1 Hour)
    • 共識演算法整理與分析
    • 深入淺出共識演算法理論
    • Bitcoin Blockchain 共識演算法介紹
    • Hyperledger Fabric 1.0 共識演算法介紹
    • Ethereum 共識演算法介紹
    • 拜占庭共識演算法 (PBFT) 研究
    • DoS attack 防範
    • Real-time 共識演算法設計 全球首發

    第 2 課:智能合約規劃 (1 Hours)
    • 認識智能合約的本質與應用
    • 從共識算法到認識智能合約原理
    • 智能合約區塊鏈平台使用介紹 (Hyperledger 與 Ethereum)

    第 3 課:智能合約實習 (2 Hours)

    由學員自選 Hyperledger Fabric 或 Ethereum 平台,練習撰寫 Anti-Counterfeit 區塊鏈應用的 Smart Contracts

    Jollen
    第 2 天
    13:30-17:30
    第 4 課:Bitcoin 到 Blockchain 基礎概念 (1 Hour)
    • Bitcoin 與 Blockchain 的運作流程剖析
    • Blockchain 為什麼比 Bitcoin 更重要
    • 認識分散式帳冊 (Distributed Ledger)
    • Peer-to-Peer 與 Decentralized 概念
    • Bitcoin Blockchain 的 Proof-of-Work 流程

    第 5 課:Blockchain 商業模式與 Use Case (1.5 Hour)
    • Blockchain 在 Cryptocurrency 與 Fintech 的應用探討
    • Blockchain 在 Non-fintech 的應用探討
    • Blockchain 在 IoT 的應用探討
    • 熱門創新應用探討-Assets 與 Property
    • 混合區塊鏈產品規劃(Hybrid Blockchain)
    • 實例研究-區塊鏈在 Digital Property 應用實作研究
    • 實例研究-區塊鏈在 Supply Chain 應用實作研究

    第 6 課:Blockchain 開源與安全議題 (0.5 Hour)
    • Hyperledger、R3 與 Ethereum 生態
    • 看懂「hard-fork」與全球區塊鏈安全事件
    • 認識社群-AltCoin、Colored Coin 與 LiteCoin
    • 交易安全性探討 (Transactions and Consensus)
    • 深入 Block Size 與 Fork 安全議題

    第 7 課:上機實習討論與檢討 (1 Hour)

    檢討第 1 天的智能合約實習功課,並討論範例程式碼





     

    五、學習資源
    1. 

    區塊鏈學習資源 PecuLab


    https://www.peculab.org/2019/06/19/%E5%8D%80%E5%A1%8A%E9%8F%88%E5%AD%B8%E7%BF%92%E8%B3%87%E6%BA%90/


    2.
    BLOCK TEMPO

    文組也該知道的區塊鏈技術知識《2》:一次搞懂「以太坊智能合約」如何運作


    https://www.blocktempo.com/understand-how-smart-contract-works/

     3.
    Blockchain Demo (17'49")

    by Anders Brownworth
    BTC: 1K3NvcuZzVTueHW1qhkG2Cm3viRkh2EXJp
    ETH: 0x84a90e21d9d02e30ddcea56d618aa75ba90331ff

    https://andersbrownworth.com/blockchain/ 

    Blockchain Demo: Public/ Private Keys & Signing (08'53")
    https://andersbrownworth.com/blockchain/public-private-keys/


    4.

    【程式課程】零基礎邁向區塊鏈工程師 - Solidity智能合約 (03'12")

    https://www.youtube.com/watch?v=GQx-MRszenA


    5.

    3分鐘了解什麼是智能合約與其運作方式  Ho, Jason (2020)

    https://blockbar.io/blockchain-breaknews/blockchain-applications/%E4%BB%80%E9%BA%BC%E6%98%AF%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-what-is-a-smart-contract/
     

     

    現代社會藉由科技,自動化成為了一項趨勢,智能合約能確保自動化的過程安全可信任,智能合約是以區塊鏈為基礎運行的,建議讀者先速瞭解區塊鏈。閱讀 : 五分鐘了解區塊鏈

    什麼是智能合約

     

     

    讓我們先用一個例子了解智能合約。架設你要出售房屋,不論哪個國家過程大多相當複雜,需要大量的文書工作、與不同公司和人員溝通以及其他各種信任風險,因此大部分房屋銷售商直接找房地產經紀人接手,經紀人會負責所有文書工作、銷售財產並在談判開始時扮演中介人的角色,監督及促進交易直到交易完成。成功達成交易後,賣方和買方的代理商、中介人將分擔銷售價格%作為佣金。這對賣方而言是相當大的財務損失。

    針對上述情形,智能合約將派上用場,可以讓冗長複雜的流程自動化,流程的進行資訊公開透明並且不會受到人為干預或竄改,能改變整個相關產業的效率,同時減輕流程成本負擔,最重要的是解決信任問題。智能合約遵循著「如果-則」(If-Then)的原則工作,例如 : (If)只有當議定的金額發送到系統後,(Then)房屋的所有權才會自動轉移給買家。

    智能合約還能應用於託管服務,透過將金錢和物件所有權都將存儲在區塊鏈系統中,每筆交易都將經過數百人的見證和驗證,可以確保無誤交付。由於區塊鏈的特性,雙方之間的信任不再是問題,所以不需中介機構。房地產經紀人的大部分作業都可以預先編程為智能合約,這將為買賣雙方節省大量資金。

    以上房產只是用例之一,智能合約能夠促進貨幣、無形及有形資產和其他任何有價值標的的交易,確保完全透明,減少中間商的服務成本,並消除交易雙方的信任問題。特定智能合約的代碼包括各方約定的所有條款和條件、交易的信息記錄都記錄在區塊鏈中,即去中心化的分散式帳本。

    什麼是智能合約
     

    智能合約應用

     

     

    智能合約是運行在區塊鏈上的執行協議,滿足預先定義的規則時,將自動執行該協議。智能合約提供了有效管理鏈上資產和使用權限的機制,透過區塊鏈透明的共享帳本,保護資訊免受刪除、篡改和修訂的風險。
     

    智能合約用例可簡單可復雜。其經常用於簡單的經濟交易,例如從A到B匯款。智能合約還可用於註冊任何種類的所有權和知識產權,並設計使用授權機制,未來可能革新各產業的系統,例如銀行、保險、能源、政務、電信、音樂、藝術,汽車、教育等領域。
     

    使用智能合約,每個協議、流程、任務和付款都可以建立數位記錄和簽名(數位簽章),可以對其進行識別、驗證、存儲和共享。此外,智能合約還可用於商品或服務供應鏈中更複雜的協議,或在無傳統集中機構的情況下管理一群擁有相同利益和目標的人,分散式自治組織(DAO)就是這樣的一個例子,雖然複雜,但智能合約確實可以規範治理準則(組織的章程,治理法規,議事規則或組織章程),並用自我執行的代碼代替日常運營管理。

    智能合約的優勢與劣勢

     

     

    優勢 :

    智能合約的自動化流程,可以消除人工參與,提高合約中規定業務之交易速度,同時以區塊鏈特性為基礎,消除了第三方參與的需求和信任風險。此外區塊鏈上的數據無法竄改或刪除,所以當一方未履行其義務時,另一方將受到智能合約的保護,該自動交易機制消除了潛在的人為錯誤率,確保了合約執行的準確性。

    缺點 :

    智能合約的技術目前發展仍未成熟,容易出現問題。例如構成合約的代碼必須完美無誤因為無法更動。這可能會導致運行錯誤,甚至有些騙子利用這些錯誤,ex :The DAO黑客一樣,透過存入錯誤代碼的智能帳戶盜取資金。 此外,針對這新穎技術,政府該如何監管?如何徵稅?如果合約內容有問題或發生其他意外情況,如何補救?傳統合約發生這些狀況時,可以在法庭上廢除、更動,但智能合約無法。期望隨著時代演進,該技術能得到完善應用,讓智能合約成為社會不可或缺的一部分。




     

    全部共 0則留言
    登入帳號密碼代表遵守學術網路規範


    文章分類 Labels


    最新文章 Top10

    中華科技大學數位化學習歷程 - 意見反應