一個不太技術面的比特幣概論

比特幣中文選讀
20 min readSep 11, 2021

A Not Too Technical Overview of This Bitcoin Thing

與初學者聊聊比特幣協議這件事

An overview of the Bitcoin protocol for beginners

全文翻譯自作者parman_the原文連結

本文原始來源複製自 Bitcoin Reserve Journal (比特幣專屬期刊)

點這裡加入「比特幣中文選讀」LINE社群聊天

關於尋找比特幣軟肋(致命傷)之系列文

系列引言

我剛開始接觸到比特幣的時候,對我來說它只是螢幕上一個可以讓我拿來交易的數字,買低賣高,賺點錢。但其實它遠遠不止這樣,我近乎輕蔑地在對待這份給全人類的奇蹟般地禮物,它該被更加尊重地對待。

在2018的熊市時期,當獲利的興奮不再,當這些傷害沉浸褪去後,我決定要hold(永久持有、抱好),或像網路流行梗(meme迷因)說的“HODL”(同hold),我知道我必須要有耐心,而我也有時間,所以我決定要學習了解更多有關比特幣是什麼,還好我有這樣做!讓我感受到非常震驚。從那之後,我便一直在不斷地學習更多,隨著我的學習過程,一切都開始變得有意義了,我的信心不斷增加,而我的投資也是。

我問自己,“我是不是盲目地走上了這條路而缺乏質疑?” 盡職調查(due diligence)的要求使我必須非常努力地尋找比特幣的弱點,在幾乎每天的查找了18個月後,我沒有找到任何能說服我不該拼命累積比特幣的反對理由。

在這篇系列文中,我會先解釋比特幣是什麼與它如何有效運作,在接下來的文章中,我會逐一討論我與其他人曾提出過的反對意見和風險,然後我會針對全部問題來說明我所找到的答案和見解。

理解比特幣很難,之後就不會了

剛開始要了解比特幣不太容易,我覺得對一位初學者來說,比較好的是向其解釋比特幣是什麼,而不是如何運作。它能做些什麼,它所解決的問題,以及為什麼它如此重要,我們不應該太早進入它是如何運作的,沒有這個必要,運作原理對於理解和欣賞為什麼比特幣是一份給全人類的不可思議的禮物沒有太多幫助。

要解釋比特幣並不容易,沒有辦法用一段文字就能表達它的所有重要特性,任何簡單的說明都可能會造成某種程度上的誤解。

一部份是因為從來不曾存在過任何像比特幣這樣的事物,所以對於人們來說無從比較起,人們會自動進行比較來幫助理解這種概念,但那些並不正確且會誤導結論,它挑戰了許多關於金錢習以為常的傳統觀念與(錯誤的)刻板印象,它挑戰了整個世界價值觀,而這讓人們感到心裡不舒服(不安)。

比特幣難以解釋的另一個原因是因為它有許多不同且複雜的面向,而每個部份都有不同的功能 — 只有了解每個面向才能夠全然理解,如果對於電腦科學密碼學奧地利經濟學貨幣歷史社會網絡賽局理論人類心理學演化/自然天擇等各領域能夠有基本的理解,這些複雜的面向將會更加容易掌握。

一個稀缺的數字

比特幣只是電腦世界裡的數字,但是個稀缺的數字。怎麼可能?一個稀缺的數字剛開始可能毫無道理,“它們”總共有2100萬個,每一個都可以被分割成更多小塊,小至小數點後8位,你可以擁有小到像0.00000001比特幣這樣的數量,它們其實也並非實際的“幣”,它們只是很特別的數字。

它的小塊可以從一個地方移動到另一個,但這些小塊不能同時存在於兩個地方,它們無法被複製,這非常地特別。

如果我有0.5比特幣然後發送給另一個人,我便不再擁有那部份的比特幣,這與email不同的是,如果我發信,我還會留有一份複本。也許(剛開始時)將一定數量的比特幣想成是種包含一個數字的唯一識別性的email會有幫助,它同時只能存在於一個地方。

沒有任何數位的事物擁有過這樣的特性,另外值得注意的是,如果沒有這樣的特性,沒有中央協調者的數位貨幣是無法運作的。

區塊鏈

讓我們稍微增加點難度,比特幣不單只是那個數字,它也是一本數位“”,或帳本,這些數字被記錄下來的地方。數字(單位)是小寫的‘b’(bitcoin),書則是大寫的‘B’(Bitcoin)。帳本也同時將比特幣關聯到的地址記錄下來,我們可以把這些地址想成是“持有”比特幣的銀行帳戶號碼。

比特幣區塊鏈,或那本“書”,或是“帳本”,包含了從比特幣誕生以來的每個地址(帳戶)餘額,以及比特幣的每次轉移(交易記錄)。先暫停消化一下 — 每個帳戶的每筆交易,所有的。一個完全透明的貨幣系統,不是透明的銀行帳戶,是透明的貨幣系統

注意:地址在帳本上並沒有關聯任何個人資訊,但從監控中可以推測出所有權,也因為這樣,在預設中沒有隱私權,但可以透過一些好的做法來實現,如果比特幣是完全隱私的,就沒有辦法審核整個貨幣系統的完整性了。

區塊鏈就像銀行的帳本,但不僅止於此,它是整個貨幣系統的帳本

平均每10分鐘,一個新的交易記錄“頁面”就會新增到帳本中,這就叫“區塊”。想像一個實際的帳本,每10分鐘的交易記錄都被限制在一頁上,翻頁記錄新增交易的頻率是有限制的,而且這本書會持續不斷地增長。

因為資料是新增在區塊中,而每個區塊都連結到前一個區塊(稍後解釋),這帳本便稱為“區塊鏈” — 一條區塊不斷增加的長鏈。

透過檢查有關每筆交易的歷史,比特幣的每一部分都能夠追溯到它被創造的源頭,一切都考慮到了,一切都完美地結合在一起,這是會計師的夢想。

區塊鏈的目的不只是將新的資料按照對的時間順序放入 — 它是為了讓區塊以數位的形式相連,這樣一來對先前區塊做任何更改都會使未來的區塊失效,這使得貨幣系統歷史不可篡改,稍後我們再討論採礦也讓整個系統防篡改

創造比特幣

比特幣從2009年1月3日正式開始,由一個或是一群化名為中本聰(Satoshi Nakamoto)的人創造出來,沒有人知道“他”是誰,而“他”也在創造比特幣不久之後便消失了。

在帳本的第一頁上,最早的第一個區塊,在比特幣剛開始時,只有50個比特幣被創造出來,這代表什麼意義?這表示第一個區塊的第一條記錄包含一筆50比特幣的交易 — 就好像你打開一本新書後寫下,“我有$50美元”一樣。

先不要太糾結在它們好像是從無中生有一般被創造出來的這件事上 — 一開始很自然會產生這樣的反對想法,在本系列的後面會解釋到。

比特幣的“書”每新增一頁,就會增加50個新的“幣”,在每一“頁”上,除了新創造出來的幣之外,也記錄著比特幣在人與人之間的任何轉移 — 稱為“交易”。

每210,000頁,或“區塊”,比特幣的創造速率就會減半,所以從第210,001區塊開始,25個比特幣會被創造出來而不是原本的50個,然後從第420,001區塊開始是創造12.5個比特幣而不是25個,然後從2020年5月12日的第630,001區塊開始是創造6.25個比特幣而不是12.5個。這些改變事件就被稱為比特幣的“減半”(Halvings或稱Halvenings — 關於這個術語一直存在爭議)。

大約到了2140年時,隨著每區塊創造的比特幣越來越少,終會有一天每區塊只創造比特幣的最小單位(0.00000001比特幣,稱為1Satoshi或是1sat)而無法再被減半,這會讓比特幣創造數量限制在21,000,000個,之後再也不會創造更多,現存大約1850萬個比特幣。

節點:區塊鏈是可複製的,但比特幣不是

重要的是,雖然在帳本內的單位比特幣無法被複製,但帳本本身(大寫“B”開頭的Bitcoin)是可以被複製的,也總是被複製著,這對於比特幣可抵抗攻擊或關閉是至關重要的。

被複製的帳本位於全世界各處的數千台電腦上,它們全部都互相同步連結在網絡中,這些電腦就稱為“節點”。

這是我自己的比特幣節點,與世界各地成千上萬的其他節點類似,它是 Raspberry Pi (非常便宜的低功耗電腦),連接到一個外接硬碟,這個裝置透過我的家用網路連接上網。

任何人都可以參與這個“節點”網絡,只需要從bitcoin.org網站上下載與安裝這個叫做Bitcoin Core的軟體,然後便能經由網路連結到其他同樣也運行Bitcoin Core的電腦(電腦間的通訊會自動進行)。

bitcoin.org 的下載頁面

剛安裝完的新軟體會與其他運行著相同軟體的電腦連接通訊,來複製比特幣區塊鏈,它會維繫著這些通訊來參與網絡作為其中的一部份。

一旦新的節點與其他節點同步之後,它會等待(像其他所有節點一樣)新的區塊資訊被(礦工們)創造發出,這些資訊會透過網絡傳播而所有的電腦都會自行進行更新,一個節點可以因為任何原因而關閉,也可以隨時重新加入整個網絡,它只需要增加它缺少的新區塊來趕上進度即可。

舊的區塊鏈資訊是無法更改的,它是所有交易的永久記錄,並分佈在世界各地,它無法被清除。要想關閉比特幣網絡,這些節點的每一個都必須被找到並銷毀,也因為這實際上是不可能的,比特幣網絡實際上不可能被停止。

溫習一下

講到這裡,來簡單的總結一下,比特幣區塊鏈是一條包含相連區塊的長鏈,每個區塊上都有(從“無”中)新創造出來的比特幣,和比特幣所有權(交易)的任何轉移,平均每10分鐘會增加一個新的區塊,而成千上萬台電腦上都保存著一份相同最新的完整區塊鏈。

儲存比特幣:私鑰

有趣的是知道你永遠無法真正“擁有”比特幣,基於對“擁有”這個詞的一般認知來說。比特幣的數量其實只是許多相同版本區塊鏈上的數字(每個人都能看到),連結到稱為比特幣“地址”的一串文字(英文字母與數字)上。

你所擁有的是密鑰,密鑰就像是隱秘的“密碼” — 它實際上是一個隨機產生、極大的二進位數字(0和1),只有你有權存取。你可以知道一個數字,但你無法擁有它,所以,你是知道密鑰,而不是擁有密鑰,但比較簡單也廣為接受的說法是“擁有”。

因為這數字太龐大,而且隨機,不會有任何人產生的密鑰是相同的。

以下是比特幣私鑰的一個例子(也可能會是2倍長):

注意一共有 12 組 11 位數的二進位數

這樣的數字對人類來說很難寫下,所以便開發了一個系統,一個協議,讓這些數字可以用文字來代表,下面就是一個等同於上面數字的詞組:

12 個單字:每個單字代表一個由協議定義的 11 位二進位數

私鑰是用來創造一個獨特唯一的組合(對應於該密鑰),使用一種數學定義方程式可以創造出近乎無限多組比特幣地址,下面是上面這個密鑰創造出來的前幾組地址:

如果在比特幣區塊鏈上,有一個地址被記錄為與一些比特幣相關聯,而如果你又是產生該地址的密鑰的“擁有者”,那你便擁有轉移地址上那些比特幣的權力,可以將它發送給你想要的其他任何比特幣地址。

如果你將它轉移到其他人的密鑰所關聯的地址,那個人便掌控了這些比特幣接下來的去向,你有效地支付了他/她,你比特幣地址上的餘額便減少了,而他/她的餘額則增加了這筆付款的金額。

另一種思考方式是把比特幣區塊鏈想成是一面所有人共有及可見的記錄牆,如果你能證明你是密鑰的持有人就有權對牆面進行修改。

證明方式來自於使用私鑰簽署交易,這是基於密碼學 — 你不需要懂得更深入來使用比特幣,它是發生在後台,而你的錢包會處理好這部份。接著是錢包…

儲存比特幣:錢包

錢包是一種用來儲存你的私人數位密鑰的軟體,錢包不屬於比特幣區塊鏈的一部份,它會與區塊鏈溝通,它是私人持有的軟體。

錢包本身實際上沒有比特幣,它會詢問比特幣網絡,“我的地址上有多少比特幣?”

要記得是私鑰用數學的方式產生了無限組地址,並控制了關聯到這些地址的比特幣的“可花用性”,所有地址對於密鑰來說都是獨特的,因為錢包知道私鑰,它就能判斷這些地址,你在每個裝置上都可以用相同的錢包,每個錢包都使用相同的私鑰,所以每個錢包都會顯示出相同的比特幣地址。

比特幣錢包:

如果一個密鑰遺失了,它所控制的比特幣就再也不能被任何人花用,比特幣還是存在於區塊鏈上,但它無法再被花用(轉移到其他地址),而實際上是“遺失”或“不可花用”的。

“錢包”這個詞可能會讓剛接觸的人感到困惑,因為它有兩種用途:第一種是用來形容儲存你密鑰的軟體,第二種是用來形容私鑰產生的所有地址。

軟體(稱為錢包) –>持有私鑰 –>地址組合(稱為錢包)

一個新創造的錢包範例:

‌‌交易

比特幣的交易可以想成是一個小的資料封包,裡頭記載了要轉移的比特幣金額、原始地址、目標地址,再加上一個簽名,有點像銀行支票(金額、發票人、受款人、簽名)。

交易是由發送者的錢包軟體產生的,由錢包內的私鑰進行簽名,然後錢包會將交易資訊發送給比特幣節點,有點像是一個人寫好支票後,沒有交給受款人,而是直接將它存入受款人的銀行帳戶。

接著節點會檢查這筆交易是否有效(就是不違反比特幣的規則),這包括了檢查私鑰產生的簽名是真實的,類似於銀行員檢查發票人帳戶有足夠資金,與支票上的簽名是真實的。

如果交易是有效的,節點會接受交易資訊,然後這時才會將它傳送給其他節點,要注意私鑰是用來簽署交易,在節點間與公共區塊鏈上傳送的是簽名而不是私鑰。

每個接受新交易的節點會將交易加到一個清單上,叫做“礦池(mempool)”的等候區,每個節點都有自己的一份等候清單版本。

交易會在礦池中等待比特幣礦工的處理,然後將交易加入到下一個比特幣區塊中,(接著會討論挖礦),礦工會做區塊的最終確認,並發送給節點,在節點檢查確認有效後,會傳送給其他全部的節點也檢查有效性,這個區塊以及裡面包含的新交易資訊便會成為區塊鏈的一部份。

如果錢包裡有一個正在等待付款的地址,它會檢查是否有相關的交易被加到區塊鏈上,區塊鏈上新的資料會被用來更新反映錢包裡的餘額。

這個範例可以幫助說明,想像一下Alice要付給Bob 1.0比特幣,簡單起見這裡我會先忽略交易的手續費用,下圖的左半部中,Alice的錢包裡有一個地址(第三個地址)中有1.0比特幣,她做了一筆金額剛好的付款給Bob有5.15比特幣的第三個比特幣地址裡,Bob告訴Alice他的第三個地址(也就是提供invoice付款單),而Alice的錢包產生一筆交易,記載了原始地址與目標地址,以及要轉移的金額。

她接著替交易加上一個數位簽名,然後發佈交易到比特幣網絡上(將交易發送到一個節點的礦池裡,礦工將交易加入到區塊內,區塊再被發送回節點,新的區塊會發送分佈到所有節點上),他們兩個人的錢包都會根據區塊鏈上的資訊自我更新(透過網路向節點請求資訊)。

圖表的右半部是交易完成後兩個錢包的狀態,Alice錢包中的第三個地址的比特幣是零,Bob收款的地址現在有6.15比特幣而非原先的5.15比特幣,Bob已經收到支付了。

採礦(或挖礦)

你不需要懂採礦的內部原理也能理解比特幣是怎麼運作的,個人身份的你可能不適合考慮嘗試開採比特幣,這樣通常已經無法獲利了,採礦主要是那些能夠取得極低價電力成本(比零售價更低)的大型企業才能獲利,下圖是一個小型“礦場”的照片:

只需要‌‌對採礦有一點基本理解就能知道比特幣是如何運作的 — 就像黃金存戶不需要知道黃金是如何開採的一樣。

採礦是一個一個區塊接續進行的,所有礦工都互相競爭著開採下一個區塊,這牽涉到耗費電腦計算力,藉由反複不斷地嘗試錯誤來尋找一個特殊數字,過程本身其實不涉及“計算”,雖然通常是這樣形容它,這是在拼蠻力,而且花費電力。

當下個區塊的數字被找到,礦工會獲得區塊內的比特幣獎勵,除了包含其他人的交易之外,每個礦工都會多做一筆交易,有效地表示“我的地址有6.25個新創造的比特幣”,區塊裡的所有其他交易都是比特幣的轉移,而不是創造比特幣。

這種獎勵是每個區塊定時創造比特幣的方式,因為礦工已經找到了這個特殊數字,他/她證明了電腦的工作已完成,所以當這個區塊被發送到節點時,所有節點都會接受這些創造的比特幣是有效的,不論誰先完成(每區塊)就獲勝,第二名就沒有獎勵了,一旦有人獲勝,全部的礦工就開始工作來贏得下一個區塊。

任何想作弊(造假)的人都會失敗,因為他們不會有正確的數字,這個數字非常難找到,但節點要驗證它是否正確則非常簡單快速。

這樣的電腦工作並非浪費能源,它是一種防衛機制,礦工花費這些能源,尋求比特幣的獎勵,任何攻擊者,想竄改區塊鏈內容的人,必須耗費比全世界採礦算力相加更多的能源來競爭,冒著失敗將不會獲得任何獎勵的風險,礦工們花費越多能源,攻擊比特幣的成本就越高。

全世界所有採礦電腦的計算力相加起來,確保著整個比特幣系統的誠信,它保護了區塊鏈,所以沒有人能對比特幣的規則進行更動或盜取資金。

除了這樣的整體安全性,還有個人安全性,當你使用私鑰來控制比特幣時,你的“控制權”受到你保管自己密鑰安全與私密的保障,如果有人擁有你的私鑰,他們就可以盜取你的資金,而且這樣做並不會違反比特幣的規則。

為什麼比特幣可以成為貨幣?

比特幣能夠做為貨幣是因為它具備所有優等貨幣該有的理想特質,它是可分割的、便攜的、持久耐用、易識別、易轉移(交易媒介)、可衡量價值(記帳單位),而且容易驗證。最重要的是,它不依賴人類的誠信,也不需要中央協調,它也無法因為創造更多而貶值。

有一個反對論點(會在未來文章中探討)是貨幣需要“內在價值” — 事實上,沒有任何事物具有內在價值,這個論點比較好的說法是:“它需要具備除了做為貨幣以外的價值。” — 這也不是真的,貨幣不需要其他的價值,它是一種語言,價值的語言:

拿它與英語做個比較:英語的目的是為了“儲存”與傳達“意義”,英語沒有“內在意義”,詞彙本身不過是抽象的符號和噪音,人們說英語不是因為他們相信英語具有內在的事物,他們說英語是因為他們要溝通的對象也說同樣的語言。說相同語言的人際網絡一開始很小,然後漸漸擴大。

對於自由市場的貨幣(非政府強制規定的貨幣)來說,人們會跟接受相同語言的人說價值的語言,就像英語被接受做為一種語言不需要內在價值一樣,貨幣被接受做為一種語言也不需要內在價值。

貨幣的任何其他價值只對於語言被採用的初期階段有用,一旦它被採用之後,其他價值就變得可有可無了 — 它甚至可以消失也沒有影響。黃金就是這樣轉變成貨幣語言的,它對其他目的的用途很好,但無關緊要,是它優越的貨幣特性和相對稀缺性造就了它在自由貨幣市場的主導地位,而不是它的其他用途或其他價值。

現在,史上第一次,出現了遠好過於黃金的事物,人們只需要時間來學習這種語言。

要想做為貨幣不只需要具備正確的特性,它同時需要被社會接受,以及在自由市場中它需要從一開始就是最好的選擇,一旦它被接受做為主導,它便不再需要是最好的,它只要足夠好能做為貨幣就可以,而任何其他的競爭者儘管稍微好一點也無法追上。

用剛剛語言的例子來說明,如果有一種新的語言就跟英語一樣,但聽起來更優美一些,我們可以說它是稍微好一點的語言,但英語不會被取代,英語仍然會是主導地位因為它已經是了,這是網絡的一種特性。

相反地,比特幣會取代黃金的原因,不是因為它稍微好一點 — 而是因為它遠遠好過於黃金,它很有機會克服自由市場的主導貨幣因為它解決了黃金最大的問題。

黃金的問題:

  • 不容易分割進行小額支付
  • 不容易攜帶(試著帶幾公斤出國看看)
  • 非數位化
  • 最終結算非常緩慢與昂貴(實物交割)
  • 安全儲存的成本很高
  • 它是中心化的
  • 它曾被政府徵收並禁擁(6102號行政命令)

為了克服諸多限制,以黃金背書的貨幣被創造出來,這讓人們進行價值交換能夠更為便攜、小額,以及之後的數位化,但這也帶來了新的限制 — 受信任的第三方。比特幣克服了黃金的缺陷,無須受信任的第三方,這真的很了不起。

自從尼克森總統在1971年徹底切斷了黃金對美元的背書之後,美元就成為了金錢,而非貨幣;一種鬆散且隨便的金錢,而非剛硬且穩健的貨幣。

我們現在有了許多沒有任何背書的政府紙錢 — 我們可以總結黃金已經失敗了,如果這個世界不可能再回到黃金標準下,那一模一樣的事情之後很可能再 次重演,我們需要一個更好的解決方案,而也已經有一個了。但政府們不太可能會自發地採用比特幣(雖然有機會),相反地,正如知名的奧地利經濟學家所說,在比特幣圈眾所皆知的名言:

“我不相信我們能再次擁有一種好的金錢,直到我們將它從政府的手上奪回。就是說,我們無法強暴地將它們從政府手上奪回,我們能做的就是用一些狡猾迂迴的方式導入他們無法阻止的事物。” — Friedrich Hayek,1984年

儘管它遠好過於黃金,比特幣不能真正成為貨幣,直到它被多數人接受做為金錢,這需要時間來發展。它要成為貨幣並不需要這世上幾乎每個人都擁有它,但需要這世上幾乎每個人都想要它,這會是比特幣的最後門檻。

為什麼比特幣很重要?

比特幣重要是因為我們沒有自由市場貨幣,我們的金錢是被政府和中央銀行創造出來以及控制的,而這種掌控讓他們能夠違背我們的意願從我們身上搾取人力時間(儲蓄) — 透過創造貨幣,這是一場人道主義災難,要了解更多有關人類歷史上的這種不公不義,我推薦可以閱讀 Robert Breedlove 有一篇寫得非常好的文章,“Masters and Slaves of Money” (金錢的主人與奴隸)。

比特幣很重要的原因還很多,但這是目前最重要的一點,有許多人可以預見(包括我自己)一個擁有自由市場貨幣和徹底擺脫中央銀行的世界,那會是一個和平與繁榮的世界,那就是我們所追求的夢想。

自由市場貨幣 vs 以物易物

在自由市場中,最終只會有一種貨幣,如果有很多種貨幣的話,只會徒增磨擦,而且朝著以物易物的方向發展。金錢解決了以物易物發生的問題,如果自由市場貨幣成功了,以物易物最終會消失。要注意大多數國家都有政府貨幣,這是法律規定的,必須使用於交易、合約,和納稅,這不是自由市場貨幣,這就是為什麼會有這麼多種貨幣存在,也是為什麼外匯對於國際貿易是必須的。

當一個人儲存財富時,會想把財富儲存在大家最廣為接受的貨幣中 — 而不是次廣為接受的,這樣的壓力最終會導致主導地位的貨幣吞噬所有次等的財富儲存工具,但這需要時間。

結論

希望這能夠幫助你了解真正比特幣的本質,以及為什麼它不只是“沒有任何背書”的,政府可以隨時禁止的,沒有價值的代幣,這是很自然會產生的第一印象,但當你進一步去了解,你會發現它令人嘆為觀止。在未來的文章中,我會探討人們典型的反對論點(有很多),和我對這些論點的回應。我也會寫到關於了解比特幣一段時間之後會產生的疑慮 — 這些也都會有很好的回應觀點。

這篇文章在設計上“不太技術面”,當你準備好了想進一步了解技術層面,我強力推薦 Andreas Antonopoulos 的精彩講座,沒有其他更好的了。

想更深入全面地了解比特幣,請參閱我建立的教學大綱,以及我blog上的各種其他教育文章。

本文由 比特幣中文選讀 翻譯,如有任何問題或想法歡迎與我或本文原作者 @parman_the‌‌‌‌ 聯繫討論。

--

--