區塊鏈原理┃實用網站帶你體驗區塊鏈!!!

之前有一篇簡單介紹了區塊鏈是什麼
但並沒有詳細介紹它的原理
這篇文章會用淺白的文字,來講解 區塊鏈原理
還有實際操作的網站,讓你更加清楚區塊鏈是什麼!!!

區塊鍊是什麼?

想像成一本記帳本,裡面有你交易的紀錄,我們把這個記帳本叫做區塊(Block),裡面包含各種資訊,例如交易紀錄、工作量證明(稍後說明)

區塊鏈(Blockchain)就是由很多個區塊(Block)連結在一起,形成一個超大型的記帳本,每一筆交易都會被記錄

區塊鏈原理

前面有說到,一個區塊裡面有工作量證明,那要講工作量證明之前,要先介紹雜湊函數

雜湊函數 (Hash function)

雜湊函數的輸入可以用任何資訊,然後輸出一串固定長度的數字,這個值叫做雜湊值(Hash),因為這個值無法被偽造,所以又稱為”指紋”
每次給相同的輸入值就會給出相同的雜湊值;但只要輸入值稍微變動,出來的雜湊值就會完全不同。下圖是舉例:

輸入了你好,會出現一串字母和數字

區塊鏈原理

輸入了你好啊,多了一個啊,出來的雜湊值完全不同

區塊鏈原理

雜湊函數有個特性:不可逆,不能逆向回推出原本的資訊,不像一般函數,它是沒有邏輯的計算出雜湊值,所以不能回推

例如我現在知道了一個雜湊值叫作670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e(上面的那串),我能知道我原本要輸入什麼才會出現這個雜湊值嗎?
答案是不能,我沒辦法知道要輸入"你好",才會出現這個雜湊值,所以雜湊函數是不可回推的

用常使用的雜湊函數SHA-256來舉例,它輸出的雜湊值有256位數

EX:有一個雜湊值是1001010101001….(256位數),請問什麼輸入的資料經過SHA-256函數計算會得到此雜湊值?

基本上是算不出來的,因為這個函數不能回推,一個一個去試可能性太多了,有2的256次方種可能

(你可能會想問為甚麼上面圖中的Hash有其他英文字母而且只有64位數,因為它是用16進位來表示,如果用2進位表示,它就會有256位數字了~ 不信的話這裡有個進位換算計算機給你們試試 https://dec.0123456789.tw/ )

可以用下面網站去玩玩看,讓你更加體會雜湊函數和區塊鍊

工作量證明

那工作量證明是區塊鏈相當常聽到的一個名詞,因為比特幣區塊鏈就是用工作量證明來驗證誰是某個區塊的驗證者

用一句話來解釋的話: 工作量證明指的是「找出一個特定雜湊值的過程」或是「解題目的過程」

以SHA-256舉例,我們現在要找到一個特定雜湊值,它的前40位數都是0,就必須得一個一個慢慢試出,輸入什麼值,才能找到一個前40位數都是0的雜湊值

那有人找到了那個輸入值,可以讓輸出的雜湊值前40位數都是0,這時你拿他找到的輸入值去驗證,發現確實輸出的雜湊值前40位數都是0,驗證了這個人的確經過大量的運算,最後找到這個值,這就叫"工作量證明"

結論:簡單來說,工作量證明就是解題目(找到隨機值Nonce)

(下圖是找前4位數都是0的雜湊值(Hash)示範)

區塊鏈原理

前面有說到區塊裡面包含工作量證明,它和每一個區塊(記帳本)都密不可分,因為工作量證明(上圖的Nonce)是和區塊裡的資料(Data)一起經由函數計算,才找到剛剛那個前40位數都是0的雜湊值

所以只要你隨意變更其中的交易資訊(例如偽造交易金額),那剛剛計算出的那個特定雜湊值又會變的完全不一樣
(上面有說到只要輸入值稍微變動,出來的雜湊值就會完全不同)

挖礦

大家最常聽到的挖礦(Mining)又是什麼呢 ?

那剛剛說的找出上面說的特定雜湊值來建立區塊這個解題目動作就叫作挖礦

透過消耗CPU的電力或時間來找出上面說的特定雜湊值(解題目)來建立區塊,也就是建立新的帳本,建立新區塊可以獲得新的貨幣(EX:比特幣)當作獎勵給予建立區塊的人
(備註:目前比特幣區塊鏈每十分鐘產生一個新的區塊)

就像是大家一起比賽,來計算數學題目,最先算出來的可以獲得獎勵

因為要隨機解題目,還有透過建立區塊獲得的比特幣越來越少,很像是在隨機挖黃金,越挖越少,所以被稱作挖礦,這些工作者也被稱作礦工

結論

希望藉由今天的文章,讓你對區塊鏈的原理有更多的認識~


歡迎加入「吉諾的加密貨幣新手教學區」LINE社群 ! ! !

吉諾剛建立一個「加密貨幣新手教學區」LINE社群
裡面會討論有關新手如何接觸 加密貨幣空投
專門解決新手的各種疑難雜症 ! ! ! 有任何新手問題儘管在群組發問~
也會分享各種免費獲取空投的資訊,讓你不會錯過好康活動
歡迎加密新手們加入,希望大家一起討論分享,邁向財富自由的道路!!!


如果覺得文章內容對你有一點點幫助的話,下面可以幫我按讚拍手
一個人可以拍 5下,你們的鼓勵是我寫作的動力!!!

You may also like...

發佈留言

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