--- tags: 108下學期選修課 --- # 0306課程筆記 --- ## 課程筆記 by F74052099 陳思齊 上課時邊聽邊記的,因為之前沒有接觸過區塊鏈,有些地方可能理解不正確,因此有任何錯誤歡迎直接修正! ### [Hyperledger](https://www.hyperledger.org/) - Linux 基金會之下的一個基金會 四個比較重要的計畫 * Hyperledger Fabric * Hyperledger Sawtooth 做供應鏈、物流 * Hyperledger Besu * Hyperledger Burrow ### DLT: 分布式帳本(Distributed ledger Technology) 這是一個概念,實作的方法有 6 種 (現在只有查到 5 種,歡迎補充) * Block chain(和 DLT 不同,只是大家習慣把 DLT 叫區塊鏈) * DAG * Hash graph * Holochain * Tempo (radix) #### DLT 特性 * Distributed * 如果資料放在 DB, DB 壞掉資料就不見 * Replication 技術 (1990 年出來的) * 用兩台以上的主機,一台主要(master)其他(slave)備份 * 衍生出的問題: 安全性 * 駭客駭進去 master,改東西沒有人會發現,因為直接備份到 slaver * Distribution * Consensus 變成 masters (每個節點平等,沒有 slave 了),駭進去一台主機,如果其他 master 發現資料不對(被竄改、壞掉了) -> 改回來 * E.g. 有 100 個 master,要改 51 台 master 資料才會改掉 * 把 master(peer) 散佈在世界各地 --> distribution * Programmable * Secure * 用密碼學技術(cryptial) 把資料做 hash ,變成一個字串(token) * Immutable (不可篡改性) * 這邊講的是過去的資料不可修改,但不代表資料不能更正(可以用其他方式修正) * E.g. 原本要存 100 元,但銀行行員輸入成 1000 * 不能把輸入的 1000 刪掉(不可更改),但是能存另一筆 -900 扣掉 (更正) ![](https://i.imgur.com/WXaIYTK.png) ### Hyperledger Frabic 運用的領域排名 這六個佔了 hyperledger 商業應用的 90% 1. 金融業 * 現在全球已經有 60% 以上導入區塊鏈系統,保證資訊安全 * 大陸 90% up 銀行都導入了 2. IOT payment * 把錢存在汽車 (tesla) * 這套系統是能自駕、付錢、embeded * 讓硬體去付錢,要做三件事(VISA 把這三段都做好了,flow chain 只能前兩個) * 新式軟硬整合 * Token * 清算技術 3. Digital Idendity (數位認證) * E.g. 口罩販賣機,要確認身份 -> 要身分證… 辨識你沒有拿別人的領之類 4. Energy Trading 能源交易系統 * 尤其歐洲 e.g. 太陽能 5. Health care 6. Supply chain ### 聯盟鏈 - 由三種技術組成 * Public blockchain * Private blockchain * Hybrid blockchain(混合鏈 - 把 public & private 合再一起) * 會衍生這個不是因為技術問題,而是為了解決法規問題 ### 區塊鏈在商務要考慮的重點(衡量是不是適合在商業使用) * 法規問題 * 監管問題 * 主機放在哪,就受哪裡的當地監管 * E.g. 美國主機的資料(程式碼等等),如果要到中國,會受盡出口管制 * Privacy & Permissing 隱私 & 權限問題 * 才考慮到公鏈、私鏈 * Business Process * Corda 的 SDK 是用 Kotlin 寫的,但銀行 IT 部門都用 Java, C++ -> 以公司決策來說,要找新的會 Kotlin 的人或是去學 --> 公司不想用,想要有 Java 寫的就好 * 因此後來 Beru 就用 Java * E.g. 大公司永遠不可能變更他的表單系統(開戶流程等等)。就算你跟銀行說,區塊鏈能簡化流程,他也不會願意改公司的 flow * Data Protection * 資料切片… --- * hyperledger fabric 交易流程 a. endorser b. committer c. ordering => responsible of consensus d. CA e. peers 1. 由client上的CLI或者SDK進行proposal議案的提出。client會依據智能合約chaincode根據背書策略endorse policy決定把proposal發往哪些背書的peer節點,而peer節點進行投票,client匯總各背書節點的結果; 2. client將獲得多數同意的議案連同各peer的背書(包括其投票結果以及背書籤名)交給orderring service,而orderer會匯總各client遞交過來的trasaction交易,排序、打包。 3. orderer將交易打包成區塊block,然後通知所有commit peer,各peer各自驗證結果,最後將區塊block記錄到自己的ledger賬本中。 >[reference ](https://zhuanlan.zhihu.com/p/42066789) > [name=F74072138 黃上睿] ---