區塊鏈是什麼?-初步認識Blockchain

區塊鏈是什麼?-初步認識Blockchain

區塊鏈是什麼?-初步認識Blockchain

什麼是區塊鏈?

「區塊鏈」一詞如今討論度很高,但是在業界的應用範疇卻不是很廣泛。經常在討論區塊鏈時,許多人很直覺地認為就是在討論「虛擬貨幣(Cryptocurrency;如比特幣)」,不過在 Open Fintech 時,所有參與者都有一個共識,就是千萬不要將兩者劃上等號!比特幣是利用區塊鏈技術所實現的一種應用,就如Email是利用網際網路技術所實現的一種應用,而今天的區塊鏈就好像1990的網際網路,未來會發展出哪些現今想像不到的應用,值得關注!

雖然很多網路文章都宣稱 「區塊鏈將解決未來所有科技問題!」 ,但是這種說法切合實際嗎?區塊鏈到底是什麼?它又適合取代哪些現有應用的底層技術?Kris Bennett 在他的議程做了非常詳細的說明與入門介紹,想看完整議程的同學,可以參考此連結,基本上內容跟當天的分享一樣。以下我將簡單整理我的見解:

區塊鏈的本質

一言以敝之 「區塊鏈 = 分散式帳本」

其實區塊鏈就是一種特殊的資料庫(Database;DB)。一般的 DB 會有四個主要功能,分別是建立(Create)、讀取(Read)、更新(Update)以及刪除(Delete),簡稱 CRUD。而區塊鏈則是刻意地將 Update 和 Delete 的機制去除,任何被寫入的交易紀錄(Transaction),都永遠無法再被更動!

  • Create
  • Read
  • Update
  • Delete

這有什麼好處呢?我想每個人在生活中一定多少會遇到需要 捉姦 查詢歷史紀錄 的情況 
譬如帳務交易紀錄、系統日誌、商品履歷、通聯紀錄等等…。這類型的紀錄資訊,若能被人惡意更動、竄改,甚至不小心建立了造假的紀錄,那其實是很恐怖的~

這時候可能有人會問:「紀錄不被刪改可以理解,但是如何不被造假呢?」

區塊鏈的另一個特徵,是 分散式叢集架構。任何有權限(Permission;後面說明)的人,都可以新增交易紀錄。這筆紀錄會在所有節點(Node)上被審核,若該紀錄是「有效的」就記下來;若「無效」就跳過不紀錄。而一個叢集可能有很多個節點,任何「有效紀錄」都是經過 “過半數的節點” 驗證。驗證的結果,甚至還會影響下一次審核的「有效規則」,因此可說是達到了安全機制,防止任何造假紀錄發生。

其實這不是三言兩語就能解釋完全的,這篇文章整理地非常淺顯易懂,提供給大家參考。

區塊鏈的缺點

說是「缺點」好像不太正確,其實就是上述區塊鏈特徵所延伸的成本。因為區塊鏈是一個永遠在增長的”資料庫”,對於儲存有一定的需求。但這只是小case,現今儲存硬體越來越便宜,說真的根本不值一提。

真正的成本在於運算,而且是一個越多節點(越安全)則效率越差的高效能運算!上述提到的「審核」機制,是利用複雜的數學運算,以確保「區塊」中的「交易紀錄」有效,而且所有的節點都要針對每個「區塊」進行一次這樣的「審核」。另外,在某些情況下(例如:搶交易手續費),為了縮短審核時間,則需要像是 GPU 這種高效能的運算資源。試想,在一個龐大的區塊鏈體系中,很多張 GPU 爭先恐後地比賽運算速度,同時還要不斷地同步最新的「有效規則」。

區塊鏈是一種犧牲「效率」以達成目的的結構

與雲的概念相反,區塊鏈結構下投入越多節點、規模越大,效率反而越低。這也是為什麼比特幣挖礦越來越困難了吧。

區塊鏈的種類

一般而言,建置區塊鏈時,會考量三個重點:

  • Public/Private:誰可以加入區塊鏈,並新增紀錄?
  • Open/Closed:誰可以讀取區塊鏈紀錄?
  • Permissioned/Permissionless:不同身份的用戶,是否有相同存取權限?

這邊用一個表格簡單舉例不同種類較常見的應用,且找了些影音或文章連結(盡可能篩選避免置入了);不過暫時先不以 Permissioned 與否進行分類,因為我也不知道確切該怎麼分   但其實有沒有 Permissioned,看是否允許匿名用戶新增紀錄,大概就能知道了。

應用範疇

其實上表有提供的外部連結,已經列出了不少應用範例,以下再另外列出一些議程中被提到的案例吧!

撰文:陳逸凡 迎棧科技資深解決方案架構師