從比特幣(Bitcoin)開始,區塊鏈技術去中心化及資料無法被竄改的特性日漸被認為可能顛覆人類數千年來交易基礎,雖然目前比特幣的網路運算力有被少數人壟斷的疑慮,區塊鏈技術卻在各國新創公司及銀行的積極擁抱下變成Fintech一個日漸茁壯的分支,作為一個新世代的去中心化資料庫,區塊鏈的應用想像空間跟發展潛力極大,從金融領域到物聯網、雲端運算都可以看到它的身影。
Updated:
- 2018.07.26 更新 Github 上的區塊鏈閱讀清單,推薦大家參考
- 2018.05.04 更新免費學習資訊
- 2017.09.24 新增免費學習資訊
比特幣是甚麼?
說明區塊鏈不可免俗要先從比特幣講起。比特幣是一種新型態的數位資產及交易模式,由日本人中本聰(Satoshi Nakamoto)發明,他在2011年11月1日密碼學討論群提出這個觀念,最重要的是成功利用”區塊鏈”的觀念公開帳簿,讓“重複扣款”這個虛擬貨幣最大的問題迎刃而解,用戶樂於貢獻出CPU的運算能力,運行一個特殊的軟件來做一名“挖礦工”,這會形成一個網絡共同來維持區域鏈,而這個過程中會生成新貨幣。交易也在這個網絡上蔓延,運行這個軟件的電腦爭相破解不可逆密碼難題,這些難題包括好幾個交易數據。第一個解決難題的“礦工”會得到50比特幣獎勵,相關交易區域會加入鏈條。隨著“礦工”數量的增加,每個迷題的困難程度也隨之提高,這使每個交易區的比特幣生產率維持約在10分鐘一枚。此外,每達到21萬個區域,獎勵就減半,從50比特幣減到25,再從25到12.5,一直持續下去。這樣到2140年,比特幣將達到預定的2100萬枚上限。成功建立出一個去中心化、可信賴追蹤交易的虛擬支付系統。比特幣價格在2013年11月達到歷史新高的979.45美金,目前在400美金上下。
區塊鏈的原理是甚麼?
一樣以比特幣的區塊鏈來說明,區塊鏈可視為一個公開的帳本,它有以下特性:
- 網路上的各節點都有完整的帳本備份
- 帳本裡面存在比特幣從誕生到現在的所有交易紀錄
- 帳本本身以區塊紀錄,每個區塊包含一部分的交易,而每個區塊記著前面區塊的id,形成一種鍊狀的資料結構,所以稱之為區塊鏈
- 當某一個節點要發起交易時,會先將交易廣播給其他節點,此時所有節點都可以經由共識演算法來決定誰可以驗證這筆交易,也就是”解題”,之後就有礦工幫你的交易訊息包成一個新的區塊送上區塊鏈,此時交易完成 (blockchain.info可以看到區塊的即時訊息)
- 當其中一個節點先解出題目時,便由該節點將驗證過的交易寫進區塊鏈中,並廣播通知其他節點。而資料一旦被寫進區塊鏈之中,便無法再被竄改
- 每個比特幣帳戶都有公鑰跟私鑰,發起交易時只需要用私鑰簽名,然後礦工用公鑰檢查簽名即可
- 若你帳戶中的比特幣餘額不夠,只需要回溯整個帳本的交易紀錄就可以察覺有異並且取消交易
當然區塊鏈上面的共識演算法核機制還是會有安全性疑慮,例如51%攻擊,若有人可以掌握整網51%的運算能力,它就有機會改寫全部的區塊鏈並造成系統崩潰,這種危機在越大的系統越難發生,畢竟這意味著駭客要攻陷事件前幾大巨頭的Data Center。
區塊鏈包含哪些金融面應用?
區塊鏈技術整合數學、加密技術及經濟模型,目的是在不需第三方機構協助驗證與對帳的條件之下,維護一套由多個參與者所組成網絡關係的資料庫,簡單來說,便是一個安全的分散式帳本。
目前區塊鏈的應用以規模來說分成三大類:
- 公開區塊鏈(Public Blockchain): 所有人可以存取所有資料,所有人都可以發出交易,共識過程的參與者可以用密碼學等方式維護資料庫的安全,如比特幣。
- 協作區塊鏈(Federated Blockchain): 參與的節點是預先選擇好的,區塊也不會隨意擴增,節點之間的網路甚至會預先定義好以保障安全性,網路上面的共識演算法可以自行定義,例如目前全球超過40家銀行加入的R3。
- 私有區塊鏈(Private Blockchain): 參與的節點只有單一用戶,所有的資料使用皆有嚴格權限控管,如Nasdaq用的Linq。
(Credit: Joel Monegro, Coindesk)
比特幣在2013年開始遭到各國央行圍剿,最大的原因就是其匿名性,大家都可以拿到所有的區塊(block),但是無法利用區塊追蹤到實際交易用戶,要讓政府與民眾慢慢接受需要再加上認許制度加強安全性避免洗錢疑慮。在構建出足夠規模的區塊鏈以後,除了智慧契約,區塊鏈也能用於群眾募資、跨境匯兌、有價資產發行。
目前越來越多軟體公司也加入戰局,IBM公布基於Linux Foundation的 Open Ledger Project,將會提供library給其他組織建構出自己的區塊鏈。新創公司Openchain 則提供一個開源的分散式帳本技術,帳本管理者可以快速的定義帳本的認證規則,接下來使用者就可以任意把自己的數位資產轉移上去,就如比特幣一樣。
區塊鏈在其他領域有甚麼可能的應用?
除了金融上面的革新以外,區塊鏈的兩大特色: 去中心化(decentralized)、資料無法被片面竄改(indelible ledger),可以被拿來跟目前最熱門的”Internet of X”概念做結合。最內圈的M2M(Machine to Machine)是最底層的機制,利用各種通訊方式將機器串聯分享“資料”,其上的IoT(Internet of Things)則開始將串連起來的機器構建成網路並利用有價值的資料建構出“服務”,接下來發展到cisco主打提出的IoE(Internet of Everything)概念,它包含的元素包含資料(Data)、物(Things)、流程(Process)、乃至於人(People),與IoT不同,IoE概念著重於建立起“人的連結”,而他的方法包含各式各樣的穿戴設備、智慧家居、社群網路(Facebook、Instagram)等等,屆時個人就會藉由物理連結(無線傳輸)與精神連結(人際關係、網路社群)變成一個無法自外於IoE的網路節點。
(Credit: lightblue.asia)
說到最近震天響的IoV(Internet of Value),它在概念上可以涵蓋上述所談的東西,因為當資料、計算能力甚至貨幣都可以用網路的方式自由傳輸,人類千百年來從以物易物到各種金屬本位的貨幣定價方式都將遭受衝擊,但說實在我認為這件事在可見的未來還是不會發生,因為這從根本上衝擊了人類政治跟金融體系,既得利益者一定會拚全力阻止它。
而區塊鏈是一項通往IoV的捷徑,它允許用戶在彈指之間完成轉換所有權,不會有違約或遭 中介第三方操縱的風險,可自動化進行交易,創造一個完美可靠的數位記錄,區塊鏈技術不需要可信任的中間人(如銀行、政府等),本身可提供完整性更高、稽核能力更強,以及更好的監管。因此,區塊鏈技術不但可以用在各種金融交易,也可用在商務契約、稅收、投票、醫療 記錄、數位護照、數位貨幣的發行等各種公私領域,幾乎遍及日常生活的各層面。
而熱門的共享經濟,例如Airbnb、Uber,更是仰賴服務提供者的信譽(Reputation)以及服務品質(Quality)生存的平台,Airbnb也延攬區塊鏈專家補足信任機制漏洞,讓房東跟租客之間的評價更客觀更有可信度,其拓展區塊的機制甚至可以跟深度學習(Deep Mining)結合碰撞出更多火花。
區塊鏈/比特幣的學習資源何處尋?
免費資源
- Awesome Blockchain: 分類完整的區塊鏈學習資源清單
- Anders Brownworth’s blockchain demo: 17分鐘的影片清楚講解何謂block、chain,也可以在網站上面動手操作blockchain基本概念
- Blockstrap – Beginner guide to blockchain technology: 包含6段影片,讓初學者快速了解區塊鏈技術及應用
- O’Reilly Ideas – Understanding the blockchain: 一篇很長的文章,介紹區塊鏈應用分類跟實例
- 可汗學院(Khan Academy) – Bitcoin: 包含9段影片,範圍從密碼學到如何驗證交易、如何去中心化等等核心概念
- Bitcoin Read List by jashmenn: 強大的比特幣學習資源列表,作者整理許多文章及程式碼
- Gitbook – Blockchain Tutorial by Liuchengxu: 簡體中文的完整教學,包含主流加密貨幣說明
付費資源
- O’Reilly Book – Mastering Bitcoin: 經典書籍,對於開發者跟有意挖礦的人都是必定入手的好物
- O’Reilly Book – Blockchain: 從貨幣跟合約切入區塊鏈概念,較少說明技術層面
- Blockchain University: 目前都是付費課程,但是網站預告未來會開放免費資源