■ 比特幣是什麼?
比特幣有兩種含義,其一是指作為加密貨幣的「幣」本身,其二是指支撐整個交易系統的區塊鏈網路。為了更好地區分這兩種含義,通常在指加密貨幣時,我們會用「比特幣」(Bitcoin)一詞;而在指區塊鏈網路時,我們會用「比特幣區塊鏈」或是「比特幣協議」(Bitcoin Protocol)來表示。
「比特幣」是全球最大的加密貨幣,有著「萬幣之王」的頭銜。這不僅是就市值而言,同時還體現在它的知名度與吸引力方面。歷經十餘年發展,比特幣在消費者、金融機構、企業和政府中的地位已經逐漸獲得認可。有別於實體貨幣形式,比特幣是透過
區塊鏈 網路傳輸的方式進行資金轉帳。
「比特幣協議」是一套由區塊鏈技術驅動的的電子交易系統,可以理解為轉帳系統。只不過系統內轉的不是新台幣、美元,而是「比特幣」。此外,轉帳系統沒有營運方、沒有中介機構、沒有銀行作為「中心」,而是由全球一萬多位互不認識的網友──比特幣礦工──共同營運,是「去中心」的。
■ 比特幣的源起
2008 年 9 月,美國「次級房貸」引發的金融海嘯席捲全球,全美第四大的投資銀行雷曼兄弟 6130 億美元壞帳的倒閉衝擊,不但宣告了全球金融危機襲來,對於政府和金融機構的不信任感也在大眾心中蔓延。
同年 10 月 31 日,一個化名為「中本聰」(Satoshi Nakamoto)的神秘人士,發表了一篇 9 頁的文章,標題為《比特幣,點對點的電子現金系統》(Bitcoin, A Peer-to-Peer Electronic Cash System)。這就是後來大名鼎鼎的「比特幣白皮書」,也是比特幣這個詞第一次出現在人們的視野裡。
中本聰這篇論文,並沒有提到區塊鏈(Blockchain)字眼,那是後人在定調比特幣是如何實現這套電子現金系統時——可理解為轉帳系統——所歸結出來的一種技術。事實上,中本聰並非無中生有、純靠一己之力就完成這個動搖了幾十年來人們根深蒂固金融與貨幣觀的偉大構想。而是融合了前輩們的觀念,在天時(金融不信任)、地利(網路建設)、人和(開發者支持)都已成熟的條件下,2009 年 1 月 3 日中本聰挖(Mine)出了歷史上第一個區塊,也就是比特幣的創世區塊(Genesis block),也宣告了比特幣區塊鏈網路正式上線。
■ 比特幣如何運作?
在上一篇介紹
區塊鏈 的文章中,我們使用了「比特幣區塊鏈」作為例子,示範了「A支付 10 個比特幣給B」如何在比特幣區塊鏈上運作,節錄說明如下:
當A發起交易,這段交易紀錄就會自動被廣播到區塊鏈上,通知「A付了 10 個比特幣給B」讓比特幣區塊鏈的礦工們知悉。這時,礦工們就會利用自己的電腦資源來驗證這段交易的真實性。如果驗證成功,那麼這段交易紀錄就會被編寫進新的區塊中,成為了比特幣區塊鏈中的一部分。而第一位驗證成功並編寫這個新區塊的人,就會獲得一定量的比特幣作為回報。
當時,為大家埋下三個疑問。現在我們要來逐一探討這些細節:
- 區塊鏈礦工們是如何驗證交易紀錄?
- 怎麼決定由哪個礦工來編寫新區塊?
- 是什麼阻止了駭客竄改區塊鏈紀錄的可能?
Q1礦工們是如何驗證交易紀錄?
數位簽章(Digital Signature)
依先前的例子,A支付 10 個比特幣給B,礦工們是怎麼驗證這筆交易紀錄的?事情並不會太複雜,礦工們只需要確認一個環節,就能知道交易的真實性 ,即「這筆交易到底是不是A自己發起的」就可以了。
想要理解這點,我們必須先知道錢包「私鑰、公鑰與地址」之間的關係。在區塊鏈世界裡,加密貨幣錢包相當於我們現實生活中的銀行戶頭,而每個錢包都擁有著以下元件:
- 私鑰
銀行戶頭印章(私下保管,只有自己知道)。
- 公鑰
解密印章的工具(公開透明,大家都能知道)。
- 地址
銀行帳號。
回到例子,整個流程大致如下:
A從自己的錢包發送了 10 個比特幣到B的錢包地址,並且用A自己的私鑰在該交易紀錄上進行數位簽章(Digital Signature),這是一種電子簽署及加密的機制。
當礦工們想要驗證這筆交易的真實性時,會利用A提供的公鑰來檢查,看看到底是不是A發起的交易、是不是A利用「印章」簽的名,以此來得知交易的真實性。如果驗證正確,這筆交易將成立並且被寫入區塊內。
此時若出現一位C,中途把該交易解密後竄改內容,會因為C沒有A的私鑰可以重新簽章,所以當其他人利用A的公鑰做確認時,會出現無法驗證情況,礦工們就會拒絕這筆交易。
由上可知,在去中心化的金融世界裡,私鑰就是控制錢包的唯一依據,失去了私鑰就等於失去了錢包的控制權,所以妥善保管私鑰非常重要。
Not Your Keys, Not Your Coins. It’s That Simple.
*
Q2是怎麼決定由誰來編寫新區塊?
工作量證明(Proof of Work)
比特幣區塊鏈透過一種叫做「工作量證明」(Proof of Work, PoW)的共識機制,來決定是哪一位礦工來編寫這個區塊,並且拿到獎勵。
簡單描述,礦工們在利用公鑰驗證完所有交易後,每位想編寫區塊鏈的礦工必須貢獻自己的電腦資源,去解出一道難解的數學題,這道數學題的特點就是完全沒有任何捷徑,礦工得土法煉鋼,使用電腦算力嘗試一個又一個可能性(try and error)才能找到正確答案;而第一位找到正確答案的礦工,完成了「工作量證明」就有資格建立新區塊,進行打包記帳事宜,並且獲得新一批發行出來的比特幣作為獎勵報酬。
獲得新發行的幣就好比是獲得剛出土的礦藏,所以上述過程被稱為「挖礦」(mining)。因為數學題目本身的設計,有越多的電腦資源也代表著挖礦實力越強,有越高的機會解開題目,建立新的區塊。
*
Q3是什麼阻止了竄改紀錄的可能?
最長鏈原則(The Longest Chain Rule)
在比特幣區塊鏈的規則中,為了防止有人竄改紀錄,存在一個「最長鏈原則」(The Longest Chain Rule)。意思是礦工們在編寫區塊鏈的過程中,永遠會去尋找最長的一條鏈來繼續延伸區塊。究竟這個原則是怎麼運作的呢?
繼續沿用前例,當「A支付 10 個比特幣給B」這個交易紀錄被礦工寫在區塊鏈上以後,A後悔了(不想付錢了),於是聘請了一個駭客,想要把交易紀錄刪除。那麼他必須創造出一個支鏈,連在記錄了 「A支付 10 個比特幣給B」的區塊之前,並開始向後創造區塊。
不過因為「最長鏈原則」,世界上其他比特幣礦工都會以最長的鏈子(也就是最原始的那條)繼續延伸下去。除非A能夠以一己之力,持續不斷地創造出新的區塊來讓自己的鏈子變成最長——必須擊敗所有礦工們加起來的電腦運算資源,也就是掌握 51% 的算力——否則A永遠無法得逞。因此「最長鏈原則」限制了任何刪除或竄改交易紀錄的可能。
那萬一A控制了全世界 51% 以上的算力去竄改紀錄怎麼辦?
如果A真的有能力操縱如此龐大的運算資源,就只為改一條交易記錄,實在是太不划算了。基於經濟誘因考量,把資源拿去挖礦反而賺更多錢,如此一來A也加入礦工行列,反而鞏固了區塊鏈網路的安全性。
🌱 加入【中書神經系統】圍爐 👇
專題 #寫作的反思 與 #爐內真心話 連載中。
🌱 我在其它平台出沒 👇
【Facbook|Twitter|Liker Social|Matters|Medium|vocus 】
🌱 我的教學文與邀請連結 👇
≣ 註冊 noise.cash|一起成為「噪咖」體驗社交金融。
≣ 註冊 Presearch |一舉三得的 search to earn 使用心得。
≣ 註冊 MEXC|抹茶交易所走跳,兌現 OSMO 與擼羊毛。
≣ 註冊 Potato|從 Potato Media 學到三件事。