NONDUBITO

鑿構週期律 · 區塊鏈系列 01 / 21

披薩

從一萬枚比特幣換兩張披薩開始,追問價格、信任與鏈上結算之間從第一天就存在的距離。

一 五月十八日

2010年5月18日凌晨零點三十五分,一個登錄名叫 laszlo 的人在 Bitcointalk 論壇上發了一個帖子。

標題是拿比特幣換披薩。

正文的第一句是:我願意付 10,000 個比特幣換幾張披薩。

後面的條件寫得非常具體。他想要大概兩張大的,理由是希望第二天還能有剩下的。披薩可以由對方自己做好送到他家,也可以由對方替他向外賣店下單,核心的條件只有一條:他自己不必下單,也不必做飯,只要食物送到手上。

口味上他列了洋蔥,青椒,香腸,蘑菇,番茄,意大利辣香腸這些常見配料,也說普通芝士披薩就行。他特別加了一句:不要奇怪的魚類配料或者類似的東西。

這不是一份宣言。

這是一個人在解釋自己想吃什麼。

這一點值得先擺正,因為這個系列後面會遇到大量的宣言。白皮書,路線圖,治理提案,基金會公告,每一份都在說自己要解決人類的什麼問題。而這套東西第一次真的碰到世界,靠的是一個人寫下他不要魚類配料。

當天有人問他在哪個國家。他回答美國佛羅裡達州傑克遜維爾,還給了郵編。有個在歐洲的人說願意幫他買 Domino's,但不知道人在歐洲怎麼付款;他回答說很多披薩店可以網上訂餐,他和妻子有時候用 Papa John's,而且打電話訂通常也收信用卡。

然後是三天。

三天裡沒有人做成這件事。

三天這個長度值得記一下。一萬枚在當時的論壇上不是一個小數目,而按那幾天有人給出的估值,它夠買十幾頓這樣的晚飯。開著這個價三天無人接,說明的不是大家嫌少,是當時幾乎沒有人想過手裡這東西可以拿去買真的東西。

那三天裡帖子下面確實有人在討論,而討論的內容大多是技術性的:怎麼遠程下單,怎麼付款,人在歐洲行不行。沒有一個人問值不值。

5月21日晚上七點零六分,他回到自己那個帖子裡問了一句:是不是我給的比特幣太少了。

有個叫 BitcoinFX 的人回他說,如果還是沒有別人願意做,他可以研究一下怎麼在網上替他買一張;然後問了一個很實在的問題:你是真的餓了,還是只是喜歡吃披薩。

當晚九點三十三分,laszlo 回答說,他只是覺得有一天能夠說自己用比特幣付過披薩錢,會很有意思。

這個系列要寫的二十一件事,從這一句開始。

要留意他給出的理由。他沒有說這能證明什麼,沒有說這是歷史性的一步,也沒有說自己在做一次實驗。他說的是,能夠這樣講一句會很有意思。

後來這件事被講成了很多東西,而當時推動它的,只有這一句。

從這裡往下,每一篇要跟的都是同一個動作:一樣東西被立成可以結算的構,構閉合到某一處,而總有一塊塞不進去的餘項冒出來,於是下一個構接上。經濟系列裡這樣一圈常常要走幾十年上百年,只能截取中段。這個域不一樣,它能在很短的時間裡把一圈走完。而第一圈,就是從 5月18日到 5月22日的這四天。

二 一天 1,400 枚

先看那一萬枚是從哪裡來的,因為這決定了這筆交易在當時到底是什麼分量。

這筆付款被收進了第 57,043 號區塊。區塊瀏覽器上顯示的數據是:難度 11.85,區塊獎勵 50 BTC,整個區塊裡只有兩筆交易,一筆是發給礦工的那筆新幣,另一筆就是這次付款。

難度 11.85 按協議裡那個十分鐘出塊的目標反推,對應的等效算力大約是 84.8 MH/s。

這個數要加一個限定:它是按難度和目標間隔算出來的均衡值,不是哪一分鐘的實測。2010年實際的出塊間隔波動很大,後來用滑動窗口重建出來的歷史算力曲線,和這個數可以差得很明顯。

而同一個月,laszlo 自己公佈過一組單機的實測。

5月10日,他貼出的數字是:E8600 這顆 CPU 開兩個線程大約 1.8 MH/s;一塊 NVIDIA 8800 GTS 用 OpenCL 跑大約 3.3 到 3.8 MH/s;最好的組合是一個 CPU 線程加一塊 GPU,大約 5 MH/s。

一台開發機 5 MH/s。整個網絡的等效算力大約 84.8 MH/s。

這兩個數放在一起,就知道 2010年5月的比特幣網絡有多小。

小到什麼程度可以再說一句:一台個人的開發機,佔了全網等效算力的百分之六上下。而這台機器的主人,正是四天後要拿一萬枚去換披薩的那個人。

這件事對後面十幾篇有直接的用處。這個域裡最常被討論的是去中心化,而去中心化從來不是一個是或否的狀態,它是一個比例。2010年5月這個比例已經不好看了,而當時全網只有幾十台機器在跑。

他和 GPU 挖礦的關係可以精確到天。5月2日,他在 Mac 版本的帖子裡說自己正在加 OpenCL 支持,目的是提高產出。5月10日凌晨,他發佈了用 OpenCL 的 Mac 二進製版本,明確說明這個版本會用 GPU 來生成比特幣,並給出實測。同一天下午,他在一個專門的帖子裡宣佈自己已經有了一個可以工作的 OpenCL 原型。到 5月25日,他說 Windows 和 Linux 的移植還有技術問題,不願意發佈不完整的版本。

也就是說,在披薩成交之前至少十二天,他已經公開跑起並且公佈了一個能用 GPU 做工作量證明的版本。

Nathaniel Popper 在《數字黃金》裡根據對他的採訪和私人通信重建過這一段:用 CPU 挖的時候,他最多大約一天拿到一個 50 BTC 的區塊;接上 GPU 之後,曾經達到每小時一到兩個區塊。Popper 特別記下了 2010年5月17日這一天:他拿到 28 個區塊,1,400 枚。

按 Popper 說的當日全網約 140 個區塊作分母,這大約是那一天兩成的出塊。而一天的出塊含有很大的隨機性,不能把兩成直接當成精確的算力佔比。

如果按那一天的產量做一次算術,一萬枚大約是七天。

這只是一次算術,不是溯源。現有的公開材料並沒有把披薩那筆交易的每一個輸入,逐一對應到某一天的某一個區塊。能安全說到的程度是:他本人把這些幣描述為自己挖出來的,而他 5月的 GPU 開發記錄,Popper 記下的那一天,以及他 8月停止報價時說自己已經不能再一天生成數千枚,這三件事互相支持。

而在這一段時間裡,還有一封信。

Popper 公佈過一封歸於 Satoshi 寫給 laszlo 的私人郵件。信裡對 GPU 過早普及表示了顧慮:如果 GPU 集群過早佔據了生成,新加入的人用普通 CPU 拿到少量免費幣的激勵就會消失,因此希望不要主動加快這場 GPU 軍備競賽。

這封信的證據性質和論壇帖不同。它是由後來的出版物轉錄的私人通信,不是當時的公開存檔。但它和他 5月正在做 GPU 開發這條公開時間線對得上。

而這封信裡擔心的那件事,值得單獨看一眼。

一個協議的設計者,在它誕生的第二年,擔心的不是它會不會被攻擊,是它會不會太快地把某一類人擠出去。

而他擔心的對象,恰恰是這套東西效率提高的直接後果。GPU 讓挖礦更有效率,這一點是真的,而且是技術上貨真價實的進步。同時,效率一提高,能參與的人就變少。

這兩件事不是一好一壞。它們是同一件事。

這就是這個域裡第一次出現的餘項,而且它出現在最早的時候。構在這裡立起來的尺子是算力:誰算得多,誰拿到新幣。這把尺子非常乾淨,不問你是誰,不問你在哪個國家,不問你有沒有人擔保。而它一旦開始轉,就會把算得少的那些人擠出去,而被擠出去這件事,在這把尺子上不顯示為任何東西。

中本聰那封信擔心的正是這個。而他擔心的方式很特別:他不是擔心尺子會失靈,是擔心尺子會太好用。

這一層在後面二十篇裡會一再回來。構出問題的時候,人們習慣去找它哪裡壞了;而這個域裡最難處理的幾次,恰恰是它完全按設計運轉的時候。一樣東西按設計運轉,而運轉的結果不是設計的人想要的,這種情形沒有 bug 可以修。

三 兩個數

現在看價格。

5月18日晚上七點零一分五十秒,一個叫 ender_x 的人在同一個帖子裡告訴 laszlo:10,000 BTC 當時在 BitcoinMarket.com 上大約可以賣到 41 美元。

折算下來,大約每枚 0.0041 美元。

這就是那個流傳最廣的數字的來源。它出現在成交之前四天,出自論壇上一句順口的話,依據是當時一個剛開張的交易市場。

而另外還有一個數。

6月12日,laszlo 把這個報價改成了長期開放的:只要自己還有幣,就願意隨時用 10,000 BTC 換兩張這樣的披薩。在同一個帖子裡,他給出了自己對食物那一側的估計:兩張披薩大約 25 美元,給個不錯的小費大約 30 美元。

所以這件事裡有兩個數。

41 和 25。

一個是他給出去的東西在市場上的估值,一個是他拿到的東西的成本。

被記住的是 41。

這不是誰故意的。41 之所以被記住,是因為它是一個會變的數,而 25 是一個不會變的數。會變的數每年都能重新發一次新聞,不會變的數只能發一次。

這一節要說明的不是有人吃虧了。要說明的是這兩個數量的根本不是同一樣東西:41 量的是尺子那一側,25 量的是東西那一側。後來十五年裡所有的重新折算,重算的都是 41 那一側,一次也沒有重算過 25。

構對付餘項的辦法在這裡已經出現了一種,而且是最省事的一種:它不否認另一側的存在,它只是不去動它。25 那個數一直在原始帖子裡擺著,任何人都查得到,而十五年裡幾乎沒有人把它取出來用過。

這也是這個域裡餘項最常見的處境:它不是被藏起來的,它就擺在那裡,公開,可查,而且從來沒有被銷毀過。它只是沒有被拿去做過任何一次計算。

還要再說一句關於那個市場。

BitcoinMarket 不是後來為了給這個故事補一個行情源才被提起的。開發者 dwdollar 在 2010年1月16日就在論壇上宣佈要做這個市場,2月的時候在討論怎麼把比特幣當成一種商品,通過真實的買賣形成實時匯率。到 3月17日,他在帖子裡寫道,看起來中午前後發生了第一筆真正的交易。

而他同時說了當時的規模:九個人註冊,三個人做過資金存入,加上他自己,一共四個有入金的人。

這四個人構成了當時的市場。而 41 這個數,是從這個市場上讀出來的。

這不是要說那個數是假的。在當時的條件下,它已經是能拿到的最接近市場的一個數了。要說的是另一件事:一把尺子最初被立起來的時候,它的刻度往往來自一個非常薄的地方,而它一旦立住,後來的人就再也不會去問那個刻度當初是從哪裡讀來的。

四個有入金的人。

所以 ender_x 那句可以賣到 41 美元,最好被理解成他當時看到的一個可參考的報價,而不是一個可以真的一次性出手一萬枚而不產生任何滑點的成交價。早期市場的成交深度和逐筆記錄的保存,都遠不如後來的交易所。

另一條常見的說法也要在這裡拆掉:41 美元不是 New Liberty Standard 用電費公式算出來的。

那套公式確實存在,而且很有意思。它按一台高負載電腦一年耗電約 1,331.5 度,美國居民平均電價約每度 0.1136 美元來估算月度的挖礦成本,再結合自己過去三十天生成了多少枚,推算出單位幣的成本和兌換率。

它本質上是一個生產成本模型,不是買賣雙方撮合出來的清算價。

而這套辦法在 2010年2月的論壇討論裡就已經被人明確質疑過:有人指出,生成成本和市場價格不是同一個概念,真正的市場價應該由買和賣決定。

也就是說,披薩發生的時候,這個東西正處在從按成本標價,過渡到由交易形成價格的中間。

而原帖裡那個 41,來源寫得很清楚,是 BitcoinMarket,不是電費。

兩種定價方式在這裡擦身而過,而它們代表兩條完全不同的路。按電費算,是問這東西造出來花了多少;按市場算,是問有人肯出多少。前一種是把價系在生產成本上,後一種是把價系在別人的意願上。

這個域後來走的是第二條,而且走得非常徹底。至於第一條,它在這個系列後面還會以另外的形式回來幾次。

四 IRC 上那一段

5月22日晚上七點十七分二十六秒,laszlo 在同一個帖子裡寫道:我成功地用 10,000 個比特幣換到了披薩。

緊接著一句:謝謝 jercos。

後面貼了披薩照片的鏈接。

當晚 Sirius 說這是一個里程碑,New Liberty Standard 第二天回帖說披薩看起來很好吃。

5月22日成為紀念日,依據是這條通報成交的跟帖,不是 5月18日那個發出要約的帖子。

jercos 後來被確認是 Jeremy Sturdivant。

而這裡有一件事,是整個故事裡最容易被略過,也最說明問題的:論壇上沒有他接受報價的帖子。

原因他自己說過。他根本沒有 Bitcointalk 的賬號。真正的交易是在 IRC 上談成的,而那段聊天記錄沒有保存下來。

他和 laszlo 不是現實生活裡的熟人。他們此前在 Freenode 的 #bitcoin 頻道裡見過,可能還有 #bitcoin-dev。用他自己的說法,雙方之間存在一定程度的公開信譽。

這一句要停一下。

一套號稱不需要任何人被信任的東西,它第一次真的買到實物,成交在一個雙方互相認得的聊天頻道裡,而且那段記錄已經不在了。

兩句話都要成立才準確。鏈上那一段確實不需要任何人被信任:那一萬枚的轉移,不問收款人是誰,不需要誰作保,誰也攔不住,誰也改不了。而這一段之前和之後的事情,全都要人。誰肯接這單要人,替他刷卡要人,店願不願意送要人。

協議管住的是中間那一段,而那一段恰好是整件事裡最不容易出問題的一段。

這個分工從第一天起就定下來了,而且此後沒有變過。鏈上那一段永遠最可靠,鏈外那些段永遠最容易出事。這個系列後面要寫的失敗,幾乎沒有一次是鏈本身算錯了。

再看這筆交易的實際結構。

比特幣從 laszlo 轉給 Sturdivant。Sturdivant 用傳統的支付手段,在網上遠程向披薩店下單付款。披薩店把食物送到傑克遜維爾。

披薩店從頭到尾沒有碰到比特幣。

那句流傳很廣的 Papa John's 接受了比特幣,在這個結構裡不成立。商戶那一層收到的是一張信用卡的錢。現有的同時期材料也沒有顯示門店在送餐的時候知道背後發生過一筆比特幣交易。

而 Sturdivant 後來說,他當時最大的擔心是什麼。

他擔心佛羅裡達的外賣店會不會因為這筆訂單用了一張外州的信用卡在網上付款,而在送餐上出問題。

這是全篇最值得記住的一個細節。

那一天真正被擔心的風險,不在鏈上。它在信用卡的風控規則裡。

這一條會在這個系列裡反復出現,只是形式越來越複雜:被擔心的風險,和被設計來防範的風險,常常不是同一個。協議防的是雙花,是篡改,是需要一個可信第三方;而 2010年5月22日那個晚上,唯一有可能讓這件事辦不成的,是一家披薩店的支付系統認不認一張外州的卡。

這裡可以先把一句話放下,後面會用到很多次:一套系統真正的邊界,不在它的代碼裡,在它必須和別的系統打交道的那些地方。

鏈上那一側倒是乾淨的。第 57,043 號區塊裡只有兩筆交易,整個區塊的手續費合計 0.99 BTC。因為塊裡只有這一筆普通交易,可以推出這筆轉賬大約是 10,000.99 枚輸入,10,000 枚輸出,0.99 枚手續費。

這是鏈上推斷,不能把這 0.99 枚說成 Sturdivant 收到的披薩錢。

他為一筆一萬枚的轉賬,付了 0.99 枚的手續費。

按 41 美元那個口徑,這不到半美分。按 2025年的口徑,同樣這 0.99 枚是另一個數。

手續費這一欄後來會長成這個域裡最要緊的東西之一。在這一天,它是四捨五入之後可以忽略的一點零頭;而十幾年後,它會決定誰能上鏈,誰上不了鏈,以及一次轉賬值不值得發出去。構收的過路費在它剛立起來的時候總是很便宜,便宜到沒有人把它當成一欄。

最後把兩頭都追一遍。

laszlo 那一頭:少了 10,000 枚,多了兩張大披薩。

Sturdivant 那一頭:多了 10,000 枚,少了大約 25 美元,外加一次替人網上下單的麻煩和一點風控上的擔心。

兩邊當時都覺得划算。而且事後很多年,兩邊都說不後悔。

這一點要寫准,因為這個系列後面會有大量兩頭不對等的例子,而這一次不是。風險和收益落在同一個人身上:laszlo 承擔了給出一萬枚的風險,也拿到了他想要的那頓晚飯;Sturdivant 承擔了刷卡和風控的風險,也拿到了那一萬枚。兩邊都知道自己在換什麼,兩邊都自願。

後面二十篇裡,這樣乾淨的交易不多。

而乾淨的原因也要說清楚:不是因為兩個人品行好,是因為這筆交易小,簡單,雙方都知道對面是誰,而且誰也沒有在其中承擔別人的風險。

追兩頭這個動作,在這裡做起來毫不費力,因為兩頭一共就兩個人,而且兩個人都還在,都接受過採訪,都講過自己當時在想什麼。後面二十篇裡,兩頭常常隔著幾十萬人和幾層協議,而追兩頭這件事仍然要做,只是要費的力氣不一樣。這三條一旦有一條不成立,後面那些事情就開始了。

下一篇要寫的正是第一條先不成立的時候:當挖礦從一個人的一台機器,變成一個行業的一片廠房。

五 後來他把它花掉了

Sturdivant 不是一個碰巧看到新聞的局外人。

他從 2009年末就通過 IRC 關注比特幣,也用 Linode 上的 CPU 礦工程序挖過幾千枚。他歷史上因為挖礦和交易,一度持有接近 40,000 枚。

他後來說,在當時看來,這筆交易很像後來那些規模更小的交易,就是一次用貨幣換商品或者服務的普通交換。他也意識到這是讓比特幣被用於日常交易的一次可見先例,不過他認為即使自己不接,也很可能會有別人接。

2018年再被問到的時候,他說得更直接:他從來沒有主要把比特幣當作投資品;如果當時的目標是囤幣,他可能反而不會出現在合適的時間和合適的位置上去完成這筆交易。

那一萬枚,他很快就花掉了。

在 Bitcoin Who's Who 的訪談裡,他說這些幣很快又流回了經濟中,大約是在它們總共值 400 美元左右的時候。他把比特幣當成類似活期賬戶的錢來用,而不是長期的投資。

2018年 Cointelegraph 的採訪裡則寫道,他把這些幣換成法幣用於旅行的時候,價值是幾百美元。後來的媒體又把這件事描述成和女友進行的一次公路旅行。

這幾個說法要分開標記。較快花掉這一點是他自己反復確認的;400 美元和幾百美元這兩個數是兼容的,但不完全相同;公路旅行的細節主要通過後來的媒體傳播。

再看披薩到底是哪一家。

這是整個故事裡少見的一處,當事人的記憶和物證直接衝突。

5月22日的原帖裡給了照片鏈接,後來保存和轉載的照片通常被辨認成 Papa John's。laszlo 在 5月18日討論遠程付款的時候也確實舉過 Papa John's 的例子。

而 Sturdivant 多年後被專門問到這個矛盾時說,他很遺憾沒有保留聊天記錄,並且說自己清楚地記得是 Domino's,但照片顯示的是 Papa John's。

照片支持 Papa John's。他的主觀記憶是 Domino's。這兩件事在史料上不能被壓成一件。

而這一處衝突本身有它的用處。這個域裡最常聽到的一句話是鏈上的一切都可以核對。這句話在它的範圍內是對的:那一萬枚的去向,今天任何人都查得到,精確到聰。而披薩是哪一家,鏈上一個字也沒有,只能靠一張照片和一個人的記憶,而這兩樣對不上。

可核對的那一部分和要緊的那一部分,不總是同一部分。

Papa John's 後來當然知道了。laszlo 在 2020年的一次採訪裡說,這家公司後來給過他門店的消費額度,一枚紀念性的金色小辣椒,還有一些小禮品,讓他一度可以繼續免費訂披薩。這家公司後來的社交媒體也公開紀念過這筆交易。

但這些只能證明公司後來把它寫進了自己的品牌歷史,不能倒推那家門店在 2010年5月22日就知情。

laszlo 本人對這件事的表述,可以按年份看出變化,而變化不是從後悔轉成不後悔。

2013年他對報紙說,當時比特幣幾乎沒有實際價值,所以能拿它換到披薩這件事本身特別酷。這個階段他講的重點是 2010年當時的價值環境。

2018年,記者直接問他:這一萬枚現在值大約八千萬美元了,後悔嗎。他的開頭回答是:你知道嗎,我不後悔。接下來他說,自己很高興成為比特幣早期歷史的一部分;當時他在做 Mac 版本的移植,做技術支持,寫別的代碼,一直希望有人真的去使用比特幣,而買披薩就是使用方式的一種。

2019年他給了另一個後來被反復引用的說法。他說自己當時把它理解成免費的披薩。自己寫代碼,自己挖幣,通常一個開源的愛好只會消耗時間和金錢,而這一次,他的愛好給他買了一頓晚飯。

2020年他的說法更細:他承認自己當然希望現在手裡還有那一萬枚,而同時仍然很高興參與了那段歷史。

希望今天還有那一萬枚,和否定當年那次交易,在他的表述裡從來不是同一個命題。

把這兩個命題分開,是讀這一整段歷史最要緊的一件事。混起來讀,這個故事就只剩下一個教訓:早知道就不該花。而按他自己的說法,他當年要的是讓這套東西真的被人用一次,而這件事他做到了。至於十五年後那一萬枚值多少,是另外一本賬上的事。

兩本賬都是真的,而它們量的不是同一件事。一本記的是他那天想辦成什麼,另一本記的是同樣這些幣後來在別人手裡能換到什麼。把後一本的數倒過來評判前一本裡的決定,是這個域最常見的一種誤讀,而且這個誤讀會在後面十幾篇裡換很多種形式出現。

六 每年重算一次

這個故事後來有一種非常穩定的傳播方式:每到一個新的價位,就做一次乘法,一萬乘以當時的價。

而這些數字彼此並不矛盾,因為它們用的往往是不同的日期,不同的交易所,不同的採樣時刻。真正要避免的,是把後來的重估倒寫成 2010年實際支付的美元金額。

這個提醒不是學究氣。把後來的價倒寫回 2010年,等於說他那天付出去的是一筆今天的巨款,而這不是事實。他那天付出去的,是七天的機器產出,和一個當時幾乎沒有人要的東西。

而這個乘法之所以做得起來,前提是那一萬枚一直沒有動過。它其實很早就動了:Sturdivant 在它們總共值幾百美元的時候就花掉了。所以每年被重算的那個數,算的是一筆已經不存在的持倉。

重算開始得很早。2011年6月4日前後,原來那個披薩帖子裡就有人開始實時重算了:有人算出大約 14 萬美元,同一個帖子裡隨後又有人寫 17 萬。

同一天,同一個帖子,兩個數。

而這兩個數出現的時候,距離成交剛剛過去一年零兩周。也就是說,重算這件事幾乎是立刻開始的,不是後來某個牛市裡才被人翻出來的。這個等式從它成立的第二年起,就一直在被人重新算。

再往後:2013年5月22日大約 127 萬,2014年大約 509 萬,2017年5月22日一個機器人發出的當日數字是 20,509,958 美元,2021年5月的報道給出大約 3.65 億,2025年5月22日十五週年的報道給出大約 11 億。

而 Pizza Day 這個名字,不是成交那天就有的。

本次能定位到的很早的一次明確用法,是 2011年7月4日,一個叫 ribuck 的人在一個討論該給比特幣定什麼節日的帖子裡,把 5月22日列成除創世區塊紀念日之外可以慶祝的日期,另一個人隨即回應說喜歡開大型披薩派對這個主意。

到 2012年十月和十一月,原來那個披薩帖子裡又有人明確說這件事應該成為一個比特幣的節日,隨後開始討論究竟該叫 Bitcoin Pizza Day 還是 Laszlo's Pizza Day。到 2014年5月21日,同一個帖子裡的人已經把第二天當成既定的 Bitcoin Pizza Day 了。

所以從現有的論壇軌跡看,它更像一個在 2011年到 2014年之間由社區逐步固化下來的紀念日。沒有宣佈文件,沒有正式組織,也沒有一個可以無爭議指定的創始人。

後來還出現了把這件事自動化的工具。2018年一篇報道採訪了那個 Bitcoin Pizza 機器人的作者 Merijn Bellekom。他說自己是在 2015年1月出於玩笑寫的,每天抓幾個交易所的價格取平均,再發佈一萬枚在當天的披薩價值。

所以今天常見的那句這張披薩現在值多少,本身也有一段獨立於原始交易的傳播史。

一台每天自動發佈一次的機器,把一次性的交易做成了持續的報價。而它報的那個價,和 2010年那兩張披薩之間,已經沒有任何一件具體的事情相連。它連的只是一個乘數和一個當日行情。

把這些排在一起,能看出一件事。

一個等式在 2010年5月22日晚上成立過一次。此後的十五年裡,它被重新算了無數次。

而重算的永遠是同一側。

十五年裡沒有一次重算問過另一件事:那兩張披薩在那天晚上,餵飽了幾個人。

這句話不必往下說。他自己在 5月18日就寫明瞭他要什麼:大概兩張大的,因為希望第二天還能有剩下的。

一個成年人和他的妻子,一頓晚飯,加上第二天的剩菜。這是那個等式右邊的全部內容,而它十五年沒有變過。

而左邊那一側,十五年裡沒有一天是同一個數。

七 第一有四種

關於這筆交易的說法裡,有相當一部分經不起原始材料的核對。把它們並列出來,是因為後面二十篇要處理的事情,比這一件複雜得多。

第一類是日期。很多敘述說他在 5月22日發帖懸賞披薩。原始要約是 5月18日,5月22日是他通報成交的日期。

第二類是成交過程。常見的寫法是 jercos 在論壇上回復並接受了報價。原帖裡沒有這樣的帖子;他自己說交易在 IRC 上進行,而且他沒有論壇賬號。

第三類是錢數。披薩本身花了 41 美元這個說法是口徑混淆。41 美元是 5月18日有人按 BitcoinMarket 給一萬枚做的市場估值;而 laszlo 自己六月給出的食物成本是約 25 美元,加好小費約 30 美元。現有材料裡沒有一張保存下來的 2010年門店收據。

第四類是商戶。Papa John's 接受了比特幣,在這筆交易的結構裡不成立。而確定就是 Papa John's 且雙方記憶一致,也不成立,因為 Sturdivant 明確記得的是 Domino's。

第五類是人。有媒體把 Sturdivant 寫成英國人,而他說過自己從未出過美國。有版本說披薩是他親手送到門上的,這與兩人相隔的距離和他自己的說法都不合。還有版本說那一萬枚他一直留著,這一條他本人否認得最直接。

第六類是名號。laszlo 自稱寫了第一個 GPU 礦工程序,而他 5月10日那份公開可核查的 OpenCL 實測確實非常早。後來一些礦業史的文章則把 ArtForz 說成第一個 GPU 礦工,或者更具體地說成 2010年7月建立早期 GPU 礦場的人。這兩種說法在時間順序上有張力。比較穩妥的表述是:laszlo 有目前可以直接核查的,而且早於七月那個敘述的公開 GPU 原型記錄;至於世界上最早私下運行 GPU 哈希代碼的人,第一座 GPU 礦場,第一個成熟公開的 GPU 礦工程序,是不是同一件事,後來的材料並不一致。

第七類是總量。他那個夏天一共花了大約十萬枚買披薩,是多年後的一個概數。原帖能確認的是首筆一萬枚,以及此後他繼續以同樣價格買過披薩。8月4日他宣佈暫停,理由是自己已經不能再像以前那樣一天生成數千枚。

這個暫停的理由是一條線索。他停下來不是因為覺得幣變貴了,是因為自己挖得少了。在他這裡,一萬枚一直是按產出算的,不是按市價算的。

而最值得單獨處理的,是第一這個字。

這一整節要說明的其實是一件很具體的事:這是一個只有十五年,全程有公開記錄,主要參與者大多還在世,而且幾乎每一步都能查到原帖的事件。就是這樣一件事,已經積起了這麼多互相衝突的說法。

而後面二十篇要處理的東西,每一件都比它複雜。

複雜在幾個方向上:參與的人從兩個變成幾十萬個,金額從一萬枚變成幾十億美元,代碼從一個轉賬變成幾千行合約,而記錄從一個論壇帖子變成幾十條鏈上的幾百個協議。唯一沒有變得更複雜的,是要問的那個問題:誰承擔了風險,誰拿走了收益,這兩個是不是同一個人。

它至少有四種不同的口徑,不能互換。

第一筆鏈上的人際轉賬更早:2009年1月12日,Satoshi 給 Hal Finney 轉了 10 BTC,而那是一次測試性質的轉賬,不是購買。

第一筆比特幣對法幣的交換也更早:2009年10月12日,Martti Malmi 和 New Liberty Standard 完成了大約 5,050 枚對 5.02 美元的交易,那是貨幣兌換,不是買實體商品。

在披薩之前也有過商品化的嘗試。2010年1月24日,論壇上有個叫 Sabunir 的掛出過一張價值約 1 美元的圖片,要價大約 500 枚。那是一個數字商品的要約,而且現有檢索材料不能證明它完成了。2010年3月還有一次用一萬枚換 50 美元的拍賣嘗試,後來的材料記為沒有買家。

所以這四種口徑是:第一筆鏈上人際轉賬,第一筆幣對法幣的交換,第一筆數字商品或服務的嘗試,以及第一筆有公開記錄且完成的實體商品交換。

在本次檢索到的早期論壇材料裡,沒有發現一筆在 2010年5月22日之前,同時滿足已經完成,用比特幣結算,對象是實體商品,並且有可核查的同時期記錄這四項條件的更早案例。

而這句話只能說明現存可檢索記錄的證據狀況。它不能證明早期參與者之間從來沒有發生過未公開的,記錄已經遺失的私人實物交換。

Sturdivant 那段 IRC 日誌沒有保留下來,正好說明這個時期的記錄保存本身就存在明顯的缺口。

這是這個域一個很容易被高估的地方。鏈上的一切都是公開的,這句話是真的;而鏈上只記轉賬,不記談判。誰跟誰說了什麼,為什麼答應,當時怕的是什麼,這些從來不上鏈。第 57,043 號區塊永遠在那裡,而那段 IRC 聊天永遠不在了。

構記下的是它定義得出來的那一部分,而它定義不出來的那一部分,不會因為鏈是不可篡改的就跟著被保存下來。

這一條會決定這個系列後面很多次能寫到什麼程度。凡是上鏈的,可以精確到聰;凡是沒上鏈的,常常只剩下一個人多年以後的回憶,而回憶是會錯的。

八 它一直是兩張披薩

回到那個等式。

10,000 枚換兩張披薩。這個等式在 2010年5月22日的晚上成立過一次,而且只成立過那一次。

它成立靠的不是市場。市場那時候幾乎還不存在。一個剛開張四個月的交易站,九個人註冊,四個人入金。一個報價是論壇上有人順口說的,另一個報價是按電費算出來的,而按電費算這件事在幾個月前就被人質疑過。

它成立靠的是兩個在同一個聊天頻道裡互相認得的人。其中一個想吃披薩又不想自己下單,另一個願意替他刷一張卡。

這兩個人後來都說過同一個意思:換作別人也會成。laszlo 說他只是想讓這件事發生一次,Sturdivant 說即使自己不接,很可能也會有別人接。

這句話兩個人都說得很輕,而它其實是這套東西第一次顯出自己有用:一件事情能不能辦成,不再取決於恰好是哪兩個人。只是那一天,它還需要恰好是這兩個人。

而這句話之所以要記住,是因為它是這套東西全部承諾的核心:一件事能不能辦成,不該取決於你恰好認得誰。這個承諾後來兌現了很多次,也落空了很多次,而落空的時候,落空的方式往往和 2010年這一天很像。

而這套東西當初寫在白皮書裡要做的事情,是讓一筆錢從一個人手裡到另一個人手裡,不必有任何一個人被相信。

它第一次真的買到東西的那一次,靠的正是兩個人互相認得。

這不是因為設計失敗了。

協議那一段完全按設計運轉。第 57,043 號區塊,兩筆交易,0.99 枚手續費,任何人今天都可以去查,而且十五年來誰也沒有改掉它。

是因為協議管的那一段,和一個人想吃披薩這件事之間,還隔著好幾步。

得有人願意接。得有人認得你。得有人肯替你刷卡。得有一家店願意送。得有一張外州的卡不被風控攔下來。

這五步裡,協議一步也管不到。它管的是這五步辦成之後,那一萬枚怎麼從一個地址到另一個地址,而這一段從來沒有出過錯。

而那幾步裡,每一步都要有人。

後面二十篇要寫的事情,大部分就發生在那幾步裡。

往後看,這幾步會一步一步被自動化:交易所替你換錢,錢包替你保管,預言機替你報價,合約替你清算,跨鏈橋替你搬東西。每一次自動化都真的把一步裡的人拿掉了,而每一次都會在別的地方多出一個新的位置,那個位置上仍舊要有人。

而這個系列要跟的,就是那個位置每一次挪到了哪裡。

最後再看一次那兩個數。

41 那一側,十五年裡被重算了無數次。14 萬,17 萬,127 萬,509 萬,兩千零五十萬,3.65 億,11 億。每一年都有一個新的數,而且每一年都被當成新聞發一遍。

25 那一側,一次也沒有被重算過。

它一直是兩張披薩。夠一頓晚飯,而且第二天還有剩。

鏈還在結算,而結算什麼還沒有共識。

資料說明

本文依據公開協議文檔、鏈上記錄、法院文書、監管文件與同行評議研究寫成;文中的數字均保留其統計口徑。系列資料截至 2026 年 8 月。

Where next

沿著問題繼續讀