區塊鏈(Blockchain)是什麼?
區塊鏈(Blockchain)簡單的可以理解為一個新型“帳本”。
這種帳本與傳統上的“集中記帳”不同,區塊鏈是一種以時間推移為順序,
並使用加密的代碼在網路上透過多方參與“記帳”並備份的一種公開透明的帳本。
每個備份就是一個「區塊」,然後將每個「區塊」與下一個「區塊」都按照時間順序線性相連,
因此,就使得記錄無法被篡改或偽造。
由於這個「區塊」相繼連結在一起儲存的數據結構看起來像鏈狀,因此被命名為”區塊鏈”。
每個貨幣都會形成這個區塊鏈,且每個區塊鏈是公開的,任何人都可以查看。
這也是為什麼區塊鏈技術會成為比特幣等虛擬貨幣的一種核心技術。
想要瞭解比特幣(BITCOIN)可以閱讀下面的文章:
比特幣是什麼?全球首創的虛擬貨幣的機制・未來潛力・歷史・購買方式等來詳細解讀!
區塊鏈的共識機制
共識機制(consensus mechanism)是區塊鏈的核心技術之一。其特徵為:
- 由用戶之間管理的分散式系統
- 交易記錄會用哈希函數(Hash Function)進行加密
- 透過挖礦來驗證交易
- 所有的交易履歷都會公開
- 會生成新的比特幣
由用戶之間管理的分散式系統
簡而言之,區塊鍊是由多台電腦進行分散式管理的公開帳本。
由於沒有像銀行那樣的中央機構,因此投資人之間可以進行直接交易。
這種形式稱為「 P2P(Peer-to-Peer 對等式)」。
因此,不必經由第三方機構而直接進行交易,這一點是區塊鏈的優點之一。
交易記錄會用哈希函數(Hash Function)來進行加密
首先來解釋哈希函數。
簡而言之,哈希函數是對於輸入數據會生成適當值的函數。
哈希函數有2個特徵,
- 非常容易計算,會生成哈希值,是一個適當的輸出值
- 想從哈希值中找出原始值非常困難
哈希函數(Hash Function)是僅能在單向性起作用的函數。
由此,可以說是個人資訊的具體交易履歷會透過哈希函數被加密並記錄在區塊中。
透過挖礦來驗證交易
所謂挖礦,就是連結新區塊的工作。
挖礦需要使用電腦來解決非常難解的計算問題,但成功的話可以獲得奬勵。
挖礦時要用到被稱為Nonce「Number used once」的只能使用一次的數字。
礦工是為了找出正確的Nonce而進行計算工作。
能夠找到正確的Nonce的第一個礦工,可以連結新的區塊。
所有的交易履歷都會公開
任何人都可以看到區塊鏈帳本中記錄的所有交易歷史,例如比特幣交易的歷史。
區塊鏈的內容可以從「Blockchain.info」中查看。
但是,由於交易履歷有被加密「A向B匯了10BTC」之類的具體資訊是看不出來的。
換言之,可以說區塊鏈在確保透明度的同時,安全性也很高。
會生成新的比特幣
為了將新的區塊連結到現有的區塊鏈,有很多的電腦正在進行激烈的計算競爭。
只有第一個找到解答的人才能將區塊連結到現有的區塊鏈。
此時,系統將提供一定數量的加密資產(虛擬貨幣)作為獎勵。
比如,從比特幣開發以來這樣的系統運作就已經決定,因此新發行的比特幣的數量正在逐漸減少。
就像這樣,有很多人為了得到新的比特幣而竭盡全力在從事挖礦工作,也因此維持了區塊鏈。
延伸閱讀:
工作量證明(PoW)是什麼?與權益證明(POS)的差異及其以外的證明機制有哪些?
區塊鏈和中央伺服器(銀行)之間的區別
為了更容易理解區塊鏈的機制,用下圖來解釋與使用中央伺服器管理交易數據的銀行之間的區別。
如上圖所示,銀行擁有管理交易的中央管理伺服器。
而且,該中央機構統一管理每個客戶的帳本(餘額,存款/提款履歷等)。
例如,假設A作弊並偽造存摺,本來應該只有10萬新台幣,卻改寫成有100萬的餘額。
在這種情況下,即使A將偽造的存摺拿到銀行並試圖提款100萬,結果也是行不通的。
因為A的存摺資訊由中央伺服器管理,因此想要更改此狀況是有必要竄改中央伺服器。
為了防止客戶資訊不被改寫,擁有中央伺服器的銀行會花費大量資金來保護其安全。
但是,如果只有這單一的中央伺服器被竄改的話,則存在所有客戶的交易資訊將會被改寫的風險。
與此相對,區塊鍊是以完全不同的構想來管理交易資訊的機制。
區塊鏈的機制中,不存在管理交易的中央伺服器。
區塊鏈採用了透過網路將客戶的帳本共享到非特定多數的電腦,採用監視彼此交易的機制。
是誰、何時、進行了哪種交易等訊息(以匿名的狀態)將被網路上所有的電腦共享,
如果個人竄改了自己的存摺的內容時,則立即會被發現。
以剛才A的例子來說,即使A竄改了自己電腦上的交易數據,其他電腦的資訊也不會改變。
因此,如果A想作弊,別無選擇的只能改寫所有非特定多數的電腦上的訊息。
這是極其困難的,可以說幾乎是不可能的。
使用區塊鏈的機制的話,即使沒有中央伺服器的助力,也能防止交易上的不正當行為。
為什麼比特幣被稱為加密貨幣?
在了解區塊鏈的網路機制後,可能會有這樣的想法:
這就是為什麼要使用比特幣加密技術機制的重要的地方。
比特幣被稱為加密貨幣,透過使用加密交易訊息的機制來保護訊息。
在比特幣交易中,訊息的發送人會把訊息以加密的形式傳送給收件人,
因此收件人必須解開被加密的資訊的密碼。
相反,如果沒有解開這個加密的密鑰,其他人就無法存取交易方的訊息。
透過使用這種加密技術,讓比特幣可以提高安全性,並實現安全的交易。
下面就繼續介紹這種加密技術的核心「公鑰」與「私鑰」的作用。
公鑰( Public Key )
比特幣的收件人為了存取加密訊息而使用的即是「公鑰」。
正如其名,此鑰是對一般公開的鑰匙,由匯款方持有的「私鑰」製成的。
例如,假設A向B匯了100 比特幣。
B為了解開密碼,就要使用A提供的公鑰來解開密碼。
就這樣,B將能夠收到這筆錢。
私鑰(Private Key)
所謂私鑰,如要擧例的話就像要打開自己的保險櫃的密碼一樣,絕對不能被任何人暴露的訊息。
如果私鑰暴露給其他人,可能會有所有的錢會有被偷走的風險。
此私鑰,要匯款自己的錢時需要使用到。
使用私鑰對交易訊息進行加密,並將其傳送給收件人。
收件人會透過使用這個私鑰製作的公鑰解開密碼來收款的機制。
但是,這裡重要的是,即使可以從私鑰製作公鑰,但公鑰是沒辦法逆推回私鑰的。
由於這種不可逆性,即可以保護私鑰的安全性。
區塊鏈的類型
公鏈(Permissionless Blockchain)
公鏈的特徵
- 没有單一的管理方
- 非特定多數的網絡參與者
- 被使用於比特幣等加密貨幣(虛擬貨幣)
公鏈最大的特徵是去中心化,沒有中央管理員。
通常當我們說「區塊鏈」時,通常指的就是此公鏈。
網路的參與者不受限制,任何人都可以參與挖礦。
被應用於具代表性的加密貨幣的比特幣。
私鏈(Permissioned Blockchain)
私鏈的特徵
- 有單一的管理方
- 有限制網路參與者
- 由金融機構或企業營運
私鏈最大的特徵是中心化的,有中央管理員。
由於單一的管理方透過限制網路參與者,從而有助於訊息的隱私保護。
這解決了很多金融機關或企業等想要「透過引進區塊鏈來提高效率,但擔心區塊的訊息對外公開會感到困擾」的問題。
聯盟鏈 (Consortium Blockchain)
聯盟鏈的特徵
- 由多個機構共同參與管理
- 每個組織或機構管理一個或多個區塊
- 資料只允許系統內不同的機構進行讀寫或發送
其實,從某種程度上來說,聯盟鏈也屬於私有鏈,
但聯盟鏈的去中心化程度要比私有鏈高,因此可信度更高。
延伸閱讀: