最近Bitcoin 非常火熱, 仲已經突破10000 美元。 令到一向對電子貨幣不熱衷的我 也想了解一下甚麼是Bitcoin 及它是如何發挖出來。
經過一輪網上搜查, 發現Bitcoin 是 Blockchain 技術推行下的副產物。 是通過參與Blockchain 活動而獲得的獎勵。
至於甚麼是Blockchain, 我在Medium 文章中找到一篇有關Blockchain 的文章, 原作者利用簡單的事例來解說甚麼是Blockchain。 因此, 我相信對於資訊科技不熟識的讀者們, 也能夠通過閱讀這篇文章, 理解Blockchain 這種技術的概念。
原文: https://hackernoon.com/wtf-is-the-blockchain-1da89ba19348
但由於原文是英文的關係。 對於英文不太好的讀者們應該很吃力才能閱讀完整篇文章。 但好文不應該受限於語言。 所以我在本文中把上述文章中所講述的Blockchain 概念, 在以下部分簡單地講述一次, 好讓大家也能享受好文。
甚麼是Blockchain
Blockchain 其實就是一種利用分步式方法來紀錄一連串網絡交易的技術。 把交易資料紀錄在各自的檔案中。 所謂的Block(本文中的Page) 是指紀錄交易的檔案。 而當Page的容量存滿後再產生新的Page 來紀錄交易的過程就像是一段永不間斷的鏈(chain) 我想這就是叫做Blockchain 的原因了(XD)解釋得很抽象?? 來看看以下的情境吧!
試想像你在銀行匯款給朋友或家人, 銀行的職員會把這次的交易資料紀錄下來。 最簡單的一筆交易紀錄包括的資料有金額、匯款人、收款人和交易時間。 而保持這筆交易紀錄的人 就是第三方的銀行。
而在Blockchain 中, 則是相反。 保持這筆交易的人則是在同一網內的交易者。 即是自己紀錄。
同一網內??
簡單內說, 就一是群想進行交易和紀帳的人(可以是家人, 朋友或陌生人) 組成一個網絡, 大家只會對交易紀錄, 但大家不會知道大家的真實身份。 而在這個網絡內進行的交易,都是由這個網絡內的每一人紀錄。 如A君向B君 匯款 則每位人士都會檢驗A是否有足夠的金錢進行匯款。 如檢驗後的結果為足夠的話, 大家會把這筆交易紀錄在各自的檔案中(檔案大小有限制)
當檔案填滿時, 則需要創建新的檔案再進行交易。 但在創建新檔案之前,會先進行一個動作。 就是使用大家都同意的方式把這個檔案封存。 這就類似我們在日常書信中, 書寫完後把信放在信封內並蓋上印章。 以便別人不能打開信件。 這個動作, 我們先暫稱為封口。
封口方式
封口的方式就是網路內的人利用相同的算法 把檔案內容通過猜試的運算, 找出能令其運算出來的結果頭3位為000 的數字。例如, 將要封口的檔案內容只寫有20893這個數字, 則現在需要做的就是找出能令20893 這個數字經過運算後得出的結果頭3位為000 的數字。 如此時網內的人有人稱答案是21191的話。
則他/她會在網內廣播答案, 其他人收到廣播後 便使用這個數字進行驗算。 如所有人的驗算是正確的話 則使用這個21191 的數字作為 印章 把檔案封存。
但若有人宣稱答案是不正確的話呢?
一般來說, 這種情況很少發生。 除非紀帳人在紀帳過程中出錯或嘗試制造假數欺騙其他人。 在這種情況下, 若他/她想繼續留在這個網內進行紀帳的話, 則他/她需要 抄取其他人的檔案並覆蓋自己原本的檔案再次進行驗算及封口,否則他/她便不能夠繼續留在這個網絡內進行交易及紀帳。
Bitcoin 的產生
由於封口所運行的算法耗時很長。 非常消耗CPU及電力。 所以, 為了吸引人們參與這個活動, 第一位找出封口數字的人會獲得相對應的獎勵。 而這個獎勵就是今日的Bitcoin 或其他虛移貨幣。
能否修改過去紀錄
當檔案封口後, 如有人想對page 的內容作出修改, 則會令到page 的內容和封口數字進行算法運算後再得不出頭3位為000的數字。 這樣, 在這個網內的人知道這個檔案已被修改。 變得不再可信。當然, 在現實生活中, 算法的輸入方不只是檔案內容和封口數字, 當第一個檔案封存後, 後續的檔案封存也要依靠上一次封存過程中所產生的輸出,也就是頭3位為000的數字 ,作為輸入。
就這樣, 前一次的輸出為下一次運算的依靠條件, 形成一條很長很長的交易鏈。 我們所稱的Blockchain 就出現了。 由於後續的封口過程也需要上一次封口過程的輸出作為輸入。 所以若有人想對之前的紀錄進行修改的話, 他/她需要把後續的紀錄全數修改才能使封口數字能對上。 否則他/她需要脫離這個Blockchain, 因為他/她的後續紀錄已對不上了。
由於計算封口數字過程耗時很久, 所以修改便變得貌似不可能。 但不要忘記, 當進行修改的一方擁有很強的運算能力的話, 即Blockchain上大部份人都是騙子, 則你所擁有的正確交易紀錄便變得毫無意義了(XD)
留言
張貼留言