區塊鏈網路由各種的元素所構成,我們用比特幣網路為例,來簡單說明其中代表性的元素。

P2P(peer-to-peer)

        P2P是指網際網路上的電腦或伺服器(兩者可稱「Node」)互相連結通訊的網路。不論是比特幣網路或是Gnutella(檔案分享網路),各個網路在通訊時都必須遵守是前設定好的協定(Protocol),客戶端實裝各自協定的軟體後,就可以加入不同網路。

        與一般客戶端(使用者)從特定伺服器取得檔案的主從式(Client-Server)不同,在P2P網路中,檔案是保存在參與網路的各個「節點」(Node)上。比特幣網路利用P2P將交易和區塊進行相互連動。

        以下我們用兩張圖片來解說和比較主從式和P2P之間的差異。

主從式(Client-Server)的檔案發送

        在網站系統的情境中,會有伺服器(中間主機圖示)和客戶端(周圍電腦圖示)存在。檔案傳送的方式是事前在伺服器端準備好檔案,然後依據客戶端的請求(黑線)回傳檔案(藍線)。客戶端的連結將會以伺服器端為中心,如同星狀集中到伺服器。

主從式(Client-Server)的檔案發送

P2P網路的檔案發送

P2P網路是多個不特定的節點之間建立通訊。參與P2P的所有端點既是請求檔案的客戶端,也是回傳檔案的客戶端。各個端點不是主從關係,而是對等關係,所以可以看到兩台電腦之間的連結並沒有箭頭(方向性)。

圖2. P2P網路

網路的參與者

        雖然連結上比特幣網路的都是PC或伺服器等節點,但還是可以粗略劃分出「使用者(User)」及「礦工(Miner)」。

「使用者(User)」:傳送比特幣,執行比特幣的匯款。

「礦工(Miner)」 :產出區塊(Block),可獲得比特幣作為報酬。

交易

        交易是指使用者要進行比特幣的匯款時所發出的命令,透過比特幣網路中的各個節點進行傳遞。交易(指令)裡的資訊包含匯款人、匯款目的地、金額等。

區塊(Block)

        區塊由礦工產出,在區塊中儲存著多筆交易資料。區塊一樣在比特幣網路中被傳遞著。這個機制主要是為了保障交易資訊的安全。

分散式帳本技術(Distributed ledger Technology,DLT)

        分散式帳本的資料庫分佈於P2P網路的節點上,當中每個節點都複製及存儲與賬本完全相同的複本。分散式帳本的主要優點是不存在中央權威,也就是加密貨幣去中心化的核心技術。

        當一個賬本出現更新,每個節點都將執行一筆新交易,然後所有節點以共識機制投票決定哪一個複本是正確的。一旦達成共識,所有其他節點都會按照正確複本的數據進行更新。賬本透過加密密鑰與數位簽名而控制其安全性。區塊鏈的目標是允許記錄和傳遞交易(數字)信息,但不能編輯、更改信息的內容。通過分散式帳本技術,區塊鏈的訊息便無法更改、刪除或銷毀。

        上述提到,當有交易發生時,所有節點以共識機制投票決定哪一個複本是正確的。一旦達成共識,所有其他節點都會按照正確複本的數據進行更新。所以理論上區塊鏈的資料訊息是可以被更改銷毀的,也就是著名的拜占庭將軍問題。但是實際上要想達成更改訊息這項目的,必須要控制區塊鏈網路中百分之五十以上的電腦(51%攻擊),所以以比特幣網路為例想要更改訊息是基本不可能的。

        節點接收新的區塊並儲存在自己的帳本中,每個區塊中都會保存上一個區塊的資訊(雜湊值)。在分散式帳本中,藉由雜湊值(Hash Value)參照上一個區塊,區塊與區塊就會像鏈子一樣連接,區塊鏈得結構便會形成。

挖礦(Mining)

        產出新區塊的行為被稱之為挖礦。挖礦成功將產生新的比特幣,礦工將能夠獲得一定數量的比特幣作為獎勵,但是因為新的區塊只能由一位礦工產生,所以也只有一位礦工會獲得獎勵。

        為了獲得報酬,礦工之間會競爭來產出新的區塊,區塊的產生並不容易,需要大量的計算能力,簡單來說挖礦就是「礦工之間互相競爭產出區塊的行為」。

深入閱讀:【區塊鏈學習筆記】3分鐘帶你了解-區塊鏈錢包

閱讀更多:【虛擬貨幣觀察筆記】千禧世代!前途無限的加密市場!

Tags:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *