MaDi's Blog

一個紀錄自己在轉職軟體工程師路上的學習小空間

0%

五分鐘淺談區塊鏈

前言

最近生活中常常聽到區塊鏈這個詞彙,但其實這個概念早已行之有年,各大行業甚至早已見到區塊鏈的應用蹤跡,在這個資訊爆炸的年代跨領域的知識也是挺重要的,所以趁著最近稍有空檔簡短的蒐集一下資料,紀錄一下近年來最夯的創新概念 - 區塊鏈 究竟在玩些什麼把戲。

中心化vs去中心化

在開始之前先談談區塊鏈在金融上造成的演進…

中心化

目前我們的金融體系大多都仍屬於中心化的架構,簡單來說,中心化就是指

資金流動需交由中介機構(ex:財金公司、銀行…)當作撮和交易的中介人,使用者需付手續費給他們,而交易紀錄也留存在交易中心。

因為資金流動需要透過中介機構去做撮和,使用者較為隱私的交易紀錄被大量存放於此,常常會衍生出兩大問題:

  1. 吸引駭客攻擊而衍生資安問題
  2. 若是中介機構失去公平性,會淪落成貪贓枉法的非法機構

    去中心化

為了解決上述兩大問題,區塊鏈這個概念相應而生,主張去中心化,分散式帳本的概念,白話來說就是

不想要再透過一個中介機構去管理我們的交易紀錄,而是透過所有網路上的使用者一起共同維護這個巨大的帳本。

有點不太懂,再舉個淺顯的情境來說明:

今天你的另一半答應要在情人節買禮物給你,結果到了那天卻死都不認帳,「你有白紙黑字可以證明嗎?」

為了留下證明,下次當另一半再次脫口而出說要送你禮物的時候,你當下拿出手機錄音紀錄,並上傳雲端甚至傳到各大聊天群組備份,避免死不認帳的情況再次出現。

這就是分散式帳本的概念,當紀錄傳到各大群組的時候,每個群組就是一個區塊,用來證實這項交易,當傳到愈多群組這項交易就愈不可能被撤回,除此之外,也可以避免駭客(另一半)竊取修改。

區塊鏈

以上就是區塊鏈的最基本概念,但若要仔細談談區塊鏈的演進,就得從西元四世紀的東羅馬帝國談起…

拜占庭問題

西元四世紀羅馬帝國東西分治後,原羅馬帝國東部的政權被稱為東羅馬帝國,16世紀後被稱為「拜占庭帝國」,當時國土幅員遼闊,各大軍營的駐點都相隔甚遠,將軍之間僅能依靠信差來傳遞國防重要訊息,因此作戰時需要各大軍營達成共識方能出兵,但是若軍中有叛徒或是間諜,將會造成信息崩潰使得消息錯亂,而要如何維持整體架構而不受影響就是有名的拜占庭問題 ( The Byzantine Generals Problem )」

後來發現區塊鏈可以解決這項問題,進而延伸至運算領域

旨在建立具容錯性的分散式系統,即使部分節點失效仍可確保系統正常運行,可讓多個基於零信任基礎的節點達成共識,並確保資訊傳遞的一致性

而拜占庭問題在網路世界的解讀是在容許入侵體系的一種模型化


[The Byzantine General’s Scenario。圖/Debraj Ghosh, PhD]

何謂區塊鏈

講了這麼多,到底什麼是區塊鏈?

如果用一句話來總結區塊鏈,那就是

區塊鏈其實是公眾的電子記帳資料庫,是一種將資料寫錄的技術,透過去中心化去信任的方式集體維護

具有以下特點:

去中心化: 不再寄人籬下,而是共同維護

分散式帳本: 透過所有網路參與者來集體維護,交易只要紀錄一次,顛覆傳統商業的作業複製

紀錄不可竄改: 紀錄上鏈後,沒有任何參與者能夠隨意變更或竄改

題外話,區塊鏈的發明人 - 中本聰(Satoshi),是一個性別職業未知的神秘人物…發明了這套機制引領世界新世代的金融潮流,但這已經不是本文探討的重點。

區塊鏈1.0 - 比特幣

你有在用比特幣嗎?

比特幣(Bitcoin),其實是電腦運算的最小位元的名字,是一套 點對點(Peer to Peer, P2P) 形式的虛擬貨幣,去中心化的公開性讓大家都能自由買賣,且交易具有匿名性和安全性

比特幣交易機制跟礦工有關?

常常聽到有人買了一大堆硬體設備說要挖礦,但到底什麼是挖礦?

先談談交易機制,比特幣的交易中,每一筆交易都要蓋時間戳(timestamp),每十分鐘一個區塊,也就是網路帳本,這十分鐘內全部網路上的交易都要正確的蓋上時間戳,但是誰來蓋呢?

依據亞當斯密的觀點: 市場上的人是貪婪的。

因此設計了一套運算競爭流程,那就是誰可以在短短十分鐘內解開Hash加密(SHA256)的難題,就能得到一個認可,那就是POW(proof of work),又稱為工作量證明機制,簡單理解就是你的電腦運算能力很行,我認可你

當得到這個認可後就擁有這十分鐘內區塊的合法記帳權,並得到一定比例的比特幣報酬,整個過程其實就是大家口中的「挖礦」。 而有些企業會透過這個機會去測試自己的硬體設備到底夠不夠強。

所以在比特幣的交易市場中出現兩個角色,一個是交易者,一個是礦工

交易者: 沒什麼好講的,就是純粹的交易者

礦工: 提供電腦硬體運算能力的人,加密每一個區塊裡交易者的帳本,並經過所有區塊鏈上的人確認後上鏈,不可竄改,可追蹤,加密安全。

總結來說,每一筆交易紀錄都會存在區塊中,區塊連結延長形成區塊鏈,一旦區塊加入就不會被移走,而礦工就是不斷的透過挖礦解密的競爭方式去獲取下一個時間點區塊的記帳權與報酬。

區塊鏈2.0 - 以太坊

比特幣過後,又出現了第二個類似的貨幣…

以太坊是一個開源的公共區段鏈平台,其中以太幣也是透過專用加密技術的去中心化的虛擬貨幣,到目前為止以太幣已經是市值第二高的加密貨幣,僅次於比特幣。

智慧型合約 - 設計自己的遊戲規則

以太坊是採用智慧型合約來加快交易速度,用程式寫成一個規則集,並自動執行,依據合約可以搭配金融交易來發行自己的代幣。

智慧合約還可用來記錄股權、資產所有權、醫療病歷、證書等

簡單來說,概念上一樣是去掉中介平台,舉例來說:

  1. 食品產業上下游的資料都被記載在區塊鏈資料庫,消費者只要掃瞄條碼就可以獲得完成食品生產的履歷
  2. 住宿不再需要平台服務,屋主自己在區塊鏈上刊登資訊,省去繳給中介機構的租賃手續費

區塊鏈3.0 - IOTA物聯網

近年來,物聯網也是一個相當火紅的詞彙,但其實最基礎的物聯網就是指能夠連到網路的小裝置,所以手機能夠上網,本質上也算是一種物聯網,只是現在大家關心的是智慧門鎖、智慧家電…等等新應用,甚至近幾年搭配AI所產生的熱門新詞彙AIOT更是各大企業的研發目標…

扯遠了

總之,為了搭上這波潮流,物聯網也希望結合區塊鏈的應用,做到更多應用。

IOTA是透過比較簡單的演算法,讓每個鏈上的交易者都可以參與加密,且不需全體認證,不需礦工,可以加快加密時間。 因此能進行頻率高的交易。

核心目標就是成為物聯網中機器間的錢包,而實現此方法就是分散式帳本,稱為Tangle。它就像是流通的數位貨幣,而Tangle則是記錄一切交易的帳本。

舉例來說:電動車在充電時,電動車、充電站可以自己驗證機器的身分。而車子有自己的錢包,可以自動付錢給充電站,達到機器之間的溝通,不再需要人工的介入。

總結

趁著近期空檔稍微整理完網路上有關區塊鏈的文章,簡單來說區塊鏈就是去中心化,透過分散式的方式管理所有資料,並設計出一套加密方法與市場機制可以運作,進而促成比特幣這種貨幣的產生,更造就其他產業服務的革新。

延伸閱讀