和西碧爾(Sybil)的親密接觸

譯註:本文譯自 A date with Sybil,已獲得原文作者授權,嚴禁轉載。

譯註:最近幾個月,圍繞擴容,比特幣社區幫派林立,遲遲達不成共識。本文作者通過分析 Bitcoin Classic 一小部分支持者的所作所為,暗示了對方偽造節點以製造繁榮假象的意圖。而在一個 P2P 網路中偽造節點的行為,通常被稱為「女巫攻擊(Sybil Attach)「,該術語源自一本講述人格分裂的小說《西碧爾》。正如作者說的那樣,比特幣社區正在打一場內戰,最終結局如何,讓我們拭目以待。

正文開始。

「你自己栽了跟頭,但你卻並不這麼認為。你為此感到不舒服,所以你把(栽跟頭)這件事投射到別人身上,聲稱是別人對你充滿了敵意」,節選自 Flora Rheta Schreiber 的小說《西碧爾》(又名《人格裂變的姑娘》)。

最近,一位比特幣業內人士聯繫我,他建議我應該用 OXT(一種比特幣區塊鏈數據分析工具) 來分析一下最近新增的 Bitcoin Classic 節點是不是真實反映了其流行度的上升。由於對於用節點數量來衡量流行度這個觀點我本來就持否定態度,因此我一開始並沒有把這個建議太當回事兒。因為你要知道,西碧爾是一個瘋狂的姑娘......(譯註:這裡作者用西碧爾這個角色影射可能的節點偽造,即女巫攻擊) 但後來考慮到這或許會是一個很好的學習案例,於是我決定試一試,看能不能有所發現。

一點背景知識

最近幾個月以來,比特幣社區正在打一場「內戰」,這場關於哪種才是最佳的比特幣擴容方案的大討論,時常見諸報端。關於擴容,現在社區內已經有多個不同的實現方案,這些方案在爭取社區內多數人的支持與認可上展開了競爭。在這個過程中,有人提出,節點數或許可以作為衡量不同實現方案流行度的一個指標。甚至有人為此還專門搭建了網站,用於追蹤不同實現方案的節點數量。比如下圖所示的 nodecounter 節點統計網站。

你的雲端節點

儘管使用最新的比特幣客戶端搭建一個全節點已經變得非常簡單,但仍然需要一些必要的工作。一些 Bitcoin Classic 方案的支持者們為了加速 Bitcoin Classic 方案的普及,發起了一家在亞馬遜雲計算平台(AWS)上幫(不具備技術能力的)支持者們代為運行 Bitcoin Classic 節點的籌款網站。Bitcoin Classic 的支持者唯一需要做的,就是向 6 個指定的比特幣地址捐款,收到捐款後,這 6 個地址會在對應的 AWS 數據中心自動創建並運行一個 Bitcoin Classic 全節點。截止目前,這家網站的數據顯示,其收到的捐款已經讓 808 個 Bitcoin Classic 節點運行了起來。考慮到全網中 Bitcoin Classic 的節點總數為 2600 個左右,因此這個數量還是很可觀的。

節點數是衡量不同方案流行度的正確指標嗎?

一開始,讓我們假定,這 808 個節點背後對應的是 808 個 Bitcoin Classic 方案的支持者。但我們如何確定不同節點背後的支持者不是同一個人呢?我們首先可以做的,就是看一下這 6 個捐款地址對應的交易數據。這六個捐款地址如下:

166hGc4nEkywQRGsZgnoFiDuFfWwjmy2Qk

1nQs2hd6UvBBCrDEdbxejQdxKDXygceqw

1FFqWTfVepsnU3SC7FJWpp7GouHBCKZugf

1GCU6DA24xn3B2Brt35XrwNuq5LCVe15EF

1CedD4DPh7czwhKk7DeSH4q6CJbZiFPCge

1AJ5B94C6ANNShaTeBwPE5pQsYLrX4XNKg

通過查看這 6 個地址對應的交易數據你會發現,這 6 個地址總計收到的捐款筆數是 258 筆。這樣,我們就可以確定,這 808 個節點背後最多只可能有 258 名支持者。但是,支持人數還能不能進一步被縮小呢?

追蹤同一條交易鏈上的捐款記錄

從一條交易出發,我們順藤摸瓜,找到了這條交易所在的交易鏈上存在的總計 8 條捐款記錄。這基本意味著,這 8 條捐款記錄背後對應的是同一個機構或者個人。通過上述的方式,我們總計可以找到共存在於 21 條交易鏈上的 66 筆捐款交易。簡單計算一下,我們就可以將總捐款人數進一步縮小至 213 個(258 - 66 + 21)。

另外,我們還可以看出,21 個機構或個人的捐贈額超過了總捐贈額的一半(總額 69 btc,而這 21 個機構捐贈了 35.25 btc)。事實上,僅其中 4 條交易鏈上的捐贈額就達到了 29.7 btc,分別為 12 btc,6 btc,6 btc 和 5.7 btc。很顯然,這 4 個機構或個人很願意為 Bitcoin Classic 方案出錢出力。

結論

如果我們繼續深究下去的話,這 808 個節點背後對應的總捐款人數很可能會繼續縮小。但無論怎樣,我們通過對交易記錄的簡單分析,已經足以得出我們的結論。那就是,節點數根本就不能正確表徵特定方案在比特幣社區內的流行度或者接受度(808 個節點背後對應的總人數少於 213 個,人數/節點數比例還不到 25%)。相反的,捐款總額看起來倒是一個比節點總數好得多的衡量指標,但考慮到有些方案支持者表達支持的方式並不是捐款,而是在家默默地搭建一個全節點上線運行,因此用捐款總額來作為衡量指標也是不可行的。因此,我覺得,支持者們如果要捐款,那就直接把錢捐給你支持的那個方案的開發者就好了,有了這筆錢,開發者才能更好地向社區內的其他人解釋為什麼自己的這套實現更為優秀。用這種方式表達你對某種方案的支持,總比把時間花在跟西碧爾約會上要好得多吧,因為,你懂的。譯註:作者在這裡繼續進行諷刺。


推薦閱讀:

如何看待網易招財貓?
如何評價小蟻股最近的瘋漲?
如果全世界的貨幣都被比特幣取代,會對經濟造成怎樣的影響?經濟模型會是怎樣的?
如何能讓國人認識到「比特幣現金」(bitcoin cash)只是一場純粹的騙局?
機器人之間是如何交朋友的?

TAG:比特币Bitcoin | 信息安全 | 区块链Blockchain |