從比特幣到區塊鏈再到分散式帳本,密碼學貨幣領域日新月異,目前仍無法看清它的發展方向,雖密碼學貨幣行業技術創新,但都仍建立在前人數十年的基礎上,透過追溯歷史,便能理解比特幣背後動機與未來願景。本文源自於 Jameson Lopp 的評論專欄 《Bitcoin and the Rise of the Cypherpunks》,由動區專欄作者以太坊愛好者整理、翻譯與撰稿。
(新手必讀:【超完整懶人包】認識比特幣!原理與應用全面解析|動區新手村)
(背景補充:「區塊鏈的再審視,回歸密碼龐克初衷」 —— 比特幣資深研究者.陳伯韋)
從比特幣到區塊鏈再到分散式帳本,密碼學貨幣領域日新月異,以至於我們很難看清它的發展方向。但是,我們仍然可以發現一些蹤跡。
雖然密碼學貨幣行業有很多創新技術,但都建立在前人數十年的研究基礎上。透過追溯這段歷史,我們可以理解比特幣運動背後的動機,進而理解比特幣對未來的願景。
20 世紀 70 年代以前,密碼學主要由軍事機構和間諜機構秘密使用。然而,兩個出版物的發佈讓密碼學技術進入了大眾視野:美國政府出版的《資料加密標準》以及 Whitfield Diffie 博士和 Martin Hellman 博士共同撰寫的首部公開的公開金鑰密碼學著作《密碼學的新方向》。
20 世紀 80 年代,David Chaum 博士撰寫了大量關於密碼學的論文。其中一篇論文《無需身份證明的安全性:讓 「老大哥」 成為過去式的交易系統》提及了匿名數位現金和匿名聲譽系統。
接下來的幾年裡,這些想法相互融合,形成了一場運動。
在 1992 年底,Eric Hughes、Timothy C May 和 John Gilmore 組成了一個小團隊,每月都會在 John Gilmore 位於舊金山灣區的公司 Cygnus Solutions 碰面。這個團隊有個詼諧的名字「密碼龐克(cypherpunks)」,是 「cipher(密碼)」 和 「cyberpunk(賽博龐克)」 的簡稱。
密碼龐克郵寄清單就是在這個時候創立的。幾個月後,Eric Hughes 發表了《密碼龐克宣言(A Cypherpunk’s Manifesto)》。他寫道:
「在電子時代,隱私是實現開放型社會的前提。隱私不能與秘密混為一談。私事是不想讓所有人都知道的事,而秘密是不想讓任何人知道的事。隱私是選擇性向世界展露自我的權利。」
延伸閱讀:科普 | 比特幣總供應量 2,100 萬顆,挖完了怎麼辦?
延伸閱讀:中本聰身份曝光?彭博分析師爆:比特幣發明者是位已故的漸凍人工程師
聽起來很有道理。但是你可能會想,我又不是密碼龐克,我又沒做錯什麼事,我有什麼好隱藏的?但正如 Bruce Schneier 所言,說出 「無需隱藏」 論的人弄錯了前提:並不是只有犯了事的人才需要隱私,使用隱私保護措施並不意味著有鬼。
例如,你在窗戶上裝了窗簾,防止外人看到屋內。這不能說明你在從事什麼非法或不道德的活動,只是因為你擔心向外界暴露自己可能會帶來的負面影響。
正在閱讀這篇文章的你會發現自己是密碼龐克運動的直接受益者。
下面是一些知名密碼朋克和他們所做的貢獻:
• Jacob Appelbaum:Tor 的開發者
• Julian Assange:維基解密(WikiLeaks)的創辦人
• Adam Back 博士:Hashcash 的發明者兼 Blockstream 的創辦人
• Bram Cohen:BitTorrent 的發明者
• Hal Finney:PGP 2.0 的主要作者兼可重複使用的工作量證明(Reusable Proof of Work)的創造者
• Tim Hudson:SSLeay(OpenSSL 的前身)的合作者
• Paul Kocher:SSL 3.0 的合作者
• Moxie Marlinspike:Open Whisper Systems 的創辦人(Signal 的開發者)
• Steven Schear:「權證金絲雀(warrant canary)」 概念的提出者
• Bruce Schneier:知名安全研究作者
• Zooko Wilcox-O’Hearn:DigiCash 的開發者兼 Zcash 的創辦人
• Philip Zimmermann:PGP 1.0 的提出者
(譯者注:這些成果中有一大部分都是關於網路隱私的,並且有些已經成了網路的基礎設施,比如 SSL。)
20 世紀 90 年代
20 世紀 80 年代至 90 年代這 10 年間爆發了密碼學戰爭,美國政府試圖扼殺密碼學技術商用的趨勢。
這期間,密碼學幾乎完全被當作軍事技術壟斷,加密技術被列入美國軍需品清單(US Munitions List)的第 13 類,遭嚴令禁止 「出口」。
由於出口限制,「可出口」 的 SSL 加密技術只支援 40 位的金鑰長度,使用一台個人電腦花幾天即可破解。
由於公民自由主義者和隱私宣導者對美國政府侵犯公民隱私的控訴、加密軟體在美國境外的普及和 Matt Blaze 成功駭入美國政府提出的帶後門的 Clipper 晶片,美國政府最終放棄了對密碼學技術的壟斷。
1997 年,Adam Back 博士發明了 Hashcash。Hashcash 是一個抗垃圾郵件機制,透過有效提高發送郵件的(時間和計算)成本,讓垃圾郵件發送者血本無歸。
Adam Back 認為 Hashcash 會比 Chaum 的 digicash 更易用,因為使用者不需要創建帳戶。另外,Hashcash 還採取了一些措施來防止 「雙重花費」 攻擊。
1998 年底,Wei Dai 提出了 「b-money」 的設想,用來執行匿名參與者之間的協議。他提出了兩個有趣的概念,想必你不會感到陌生。
第一個概念是讓每位參與者都維護一個獨立的資料庫,用來記錄使用者的資金歸屬情況;第二個概念是第一個的變體,由一部分參與者記錄使用者的帳戶資金餘額,這些參與者需要交納押金來防止作惡。
比特幣採用了第一個概念,其它很多密碼學貨幣專案則採用了第二個概念的變體(也就是我們如今所說的權益證明)。
21 世紀
顯然,密碼龐克基於彼此的研究成果進行了長達數十年的構建工作,實驗並創建了 20 世紀 90 年代所需的框架。然而,最關鍵的還是 21 世紀誕生的密碼學貨幣。
2004 年,Hal Finney 基於 Back 的 Hashcash 創造了可重複使用的工作量證明(RPOW)。RPOW 是只能使用一次的特殊密碼學代幣,很像是比特幣的未花費交易輸出。但是,驗證和防止雙重花費攻擊仍由中心化伺服器執行。
Nick Szabo 在 2005 年提出了 「bit gold」—— 基於 Finney 的 RPOW 創建的數位收藏品。然而,Szabo 並沒有提出一種機制來限制 bit gold 的總發行量,而是設想每單位 bit gold 的價值會根據創建它們所需的計算量有所不同。
最後,在 2008 年,中本聰(至今都身份不明的個人/團體)發佈了比特幣白皮書,並在其中提到了 hashcash 和 b-money。實際上,中本聰曾在發給 Wei Dai 的電子郵件中提到他從 Back 博士那裡瞭解了 b-money。中本聰在比特幣白皮書中專門提到了隱私:
傳統的銀行模式會透過限制訪問相關方的資訊和可信協力廠商來實現一定程度的隱私性。
在必須公開所有交易資訊的情況下,傳統的隱私保護方法行不通,但是還有另一種方法:透過隱藏公開金鑰持有者的身份來阻斷資訊流。
公眾可以看到有人將一筆資金發送給了另一個人,但是無法透過任何資訊將這筆交易與任何人聯繫起來。其資訊公開程度類似於證券交易所。
證券交易所只透過證券買賣匯總記錄帶(tape)公開每筆交易的時間和規模,但是不會洩漏參與方的身份資訊。
中本聰創建了一個可供人們使用、擴展和分叉的系統,極大地推動了密碼學技術的發展。
比特幣的誕生讓整場密碼龐克運動如虎添翼。它使得維基解密等組織在被傳統金融系統列入黑名單之後,依然可以透過比特幣捐款來維持運營。
隱私保護鬥爭
然而,隨著比特幣生態系統近年來發展壯大,隱私問題似乎被淡化了。
很多早期比特幣使用者以為比特幣系統可以讓他們完全匿名,但是據我們的瞭解,很多執法機構都透露過它們能夠在調查期間查明比特幣用戶的身份。
Open Bitcoin Privacy Project 透過對用戶進行隱私性教育和推薦最佳比特幣服務案例彌補了這方面的不足。該團體構建了一個關於比特幣錢包隱私性攻擊的威脅模型。
該模型目前將攻擊者分為以下幾類:
• 區塊鏈觀察者 —— 透過觀察價值流的模式來將不同的交易和同一個身份聯繫起來。
• 網路觀察者 —— 透過觀察點對點網路上的活動來將不同的交易和位址聯繫起來。
• 物理攻擊者 —— 嘗試查找錢包設備上的資料來篡改該錢包或對其進行分析。
• 交易參與者 —— 創建交易來追蹤區塊鏈上的活動並識別交易者的身份。
• 錢包提供商 —— 可能會要求使用者提供個人身份資訊,然後觀察他們的交易。
Blockstream 的 Jonas Nick 就比特幣用戶的隱私問題進行了大量研究。
Jonas Nick 在一次精彩的演講中揭露了很多隱私漏洞。
其中一些漏洞對 SPV 比特幣用戶端來說是毀滅性的:
影片位址:https://youtu.be/HScK4pkDNds
就比特幣而言,最大的隱私威脅來自區塊鏈觀察者 —— 由於網路中的每筆交易都是永久公開的,無論是現在還是將來,任何人都有可能威脅到比特幣用戶的隱私性。
因此,最好的做法就是永遠不要重複使用同一個比特幣位址,這也是老生常談的建議。中本聰甚至在比特幣白皮書中強調了這一點:
作為額外的隱私安全保護措施,交易者每發送一筆交易都應該使用一個新的金鑰對,以防有人找到這些交易的共同所有者。
多次交易必定會顯示這些輸入都來自同一個所有者,因此難免會洩漏一些關聯性。這裡的風險在於,這種關聯性有可能在金鑰所有者身份曝光時洩漏該所有者的其它交易。
近年來的密碼龐克創新
為了提高比特幣用戶的隱私性,近年來人們創建了很多系統和最佳範例。
Pieter Wuille 博士在 BIP32 中提出的分層確定性錢包(hierarchical deterministic wallet)可以大幅降低比特幣錢包管理位址的難度。
雖然隱私保護並非 Pieter Wuille 的主要目的,但是分層確定性錢包可以輕而易舉地生成新的位址用於交易,説明使用者避免位址重用。
橢圓曲線迪菲-赫爾曼(ECDHM)地址是隱私增強型比特幣地址方案。
ECDHM 位址可以公開分享。交易發送方和接收方可以利用 ECDHM 位址秘密生成區塊鏈觀察者無法預測的傳統比特幣位址。因此,ECDHM 位址是可以重用的,不像傳統比特幣位址那樣會因重用而洩漏隱私。
ECDHM 地址方案的例子包括 Peter Todd 提出的 Stealth Addresses(秘密地址)、Justus Ranvier 提議的 BIP47 可重用支付碼和 Justin Newton 等人提議的 BIP75 帶外地址交換等。
用戶還可以使用比特幣混幣器來增強隱私性,但是這種方法需要消耗較多人力資源。將網路參與者的代幣混合這一概念類似 Chaum 博士提出的「混合網路(mix network)」。
現有的幾種混幣演算法包括:
• CoinJoin —— 第一個混幣演算法是 Blockstream 的共同創辦人 Gregory Maxwell 提出的 CoinJoin。它可以讓使用者使用來自多方的輸入創建交易,然後將比特幣發送至多個輸出(即,同一批人),由於每筆資金都被混合在了一起,輸入和輸出之間的關聯很難被找到。
• JoinMarket —— 開發者 Chris Belcher 提出的 JoinMarket 可以讓比特幣持有者透過提供比特幣來參與 CoinJoin 混合來賺取手續費。JoinMarket 使用了某種智慧合約來避免用戶的私密金鑰離開本地,從而降低私密金鑰丟失的風險。簡而言之,JoinMarket 可以讓你以低成本且去中心化的方式來提高比特幣交易的隱私性。
• CoinShuffle —— 一群德國薩爾大學的研究者開發了去中心化混幣協議 CoinShuffle。CoinShuffle 是 CoinJoin 的改良版,不需要可信協力廠商來創建混幣交易,因此不會收取額外的混幣費。
• CoinSwap —— Maxwell 提出的 CoinSwap 與 CoinJoin 差別很大,因為它使用一組 4 筆多簽交易(兩筆託管交易和兩筆託管釋放交易)來實現雙方的免信任代幣交易。它雖然在效率上遠低於 CoinJoin,但是可以提供更強的隱私性,甚至實現跨鏈代幣交易。
混幣無異于「藏木於林」,只是這片林子通常不會很大。混幣只能產生混淆,無法實現完全匿名性,因為這類方案只能讓低段位的觀察者難以追蹤資金流向,但是高段位的觀察者依然有可能破解混幣交易。
2014 年,Kristov Atlas(Open Bitcoin Privacy Project 的創辦人)在一篇文章中闡述了 CoinJoin 用戶端實現不當會產生的弱點。
Atlas 指出即使使用比較粗糙的分析工具,他也能找出一筆 CoinJoin 交易內 69% 的輸入和 53% 的輸出。
甚至還有一些聚焦隱私性的密碼學貨幣。
例如,Evan Duffield 和 Daniel Diaz 設計的 Dash 有一個叫作 「Darksend」 的功能。Darksend 是 CoinJoin 的改良版,主要在使用金額和混幣頻率上進行了改進。
Dash 的混幣方案使用 0.1 DASH、1 DASH、10 DASH 和 100 DASH 等常見金額,大幅提高了輸入輸出分組的難度。在每個混幣交易中,用戶提交相同的金額作為輸入和輸出。
為使混幣的隱私性最大化,讓時序攻擊難以成功,Darksend 會自動以特定的時間間隔運行。
還有一類隱私幣甚至沒有在比特幣的基礎上構建。2014 年,Nicolas van Saberhagen 發佈了 CryptoNote 的白皮書。一些密碼學貨幣就是根據 CryptoNote 概念實現的,例如門羅。主要的創新是密碼學環形簽名和一次性金鑰。
常見的數位簽章(比如比特幣簽名)都是由一對金鑰(公開金鑰和私密金鑰)創建的。因此,只要有人能使用私密金鑰簽署一筆交易,即可證明該私密金鑰對應的公開位址為他所有。
環簽名由(ring signature)Adi Shamir 博士等人在 2001 年首次提出,基於 Chaum 博士和 Eugene van Heyst 在 1991 年提出的群簽名(group signature)構建。環簽名需要一群參與方,各參與方持有自己的金鑰對。
環簽名能夠證明某個資訊的簽名者是群成員。它與普通數位簽章方案的主要區別在於,簽名者只需要持有一個私密金鑰,但驗證者無法確定簽名者的確切身份。
因此,如果你看到包含 Alice、Bob 和 Carol 的公開金鑰的環簽名,你只能斷定簽名者就是三人之一,但是無法知道被簽署的交易究竟屬於誰。
環簽名提供了另一種層次上的混淆,讓區塊鏈觀察者難以追蹤系統中每筆付款的歸屬(發起方)。有趣的是,環簽名是針對告密場景提出的,可以在不洩漏告密者身份的同時證明其消息來源的可信度(可知告密者是某個知名團體的成員)。
CryptoNote 旨在降低金鑰重用和利用輸入追蹤輸出所產生的風險。付款位址是利用付款方和收款方的資料生成的一次性金鑰。只要你在輸入中使用環簽名,它到底花了哪筆交易的輸出會變得更加難於確定。
如果區塊鏈觀察者試圖根據區塊鏈上的交易找出已使用過的位址之間的關聯並繪製關係圖,將得到一個樹狀圖,因為沒有地址被二次使用過。
隨著交易越多,樹狀圖的可能性會呈指數級成長,因為每個環簽名都會為位址之間的價值流動增加不確定性。
因此,你無法確定具體的付款位址。
根據環簽名所涉及的參與者人數,每筆交易的混淆性從 「1/2」 到「1/100」 不等。每新增一筆交易都會增加熵值,並提高區塊鏈觀察者的追蹤難度。
醞釀中的密碼龐克創新
雖然密碼學貨幣使用者的隱私安全依然存在很多隱患,但是在密碼龐克的不斷努力下,前途將是一片光明。
零知識證明或將推動隱私保護實現下一個重大飛躍。零知識證明於 1985 年首次提出,旨在拓寬密碼學協定的潛在應用。
基於 Back 博士在 2013 年撰寫的《具有同態值的比特幣》,Maxwell 一直在潛心研究保密交易(Confidential Transaction)。保密交易使用零知識範圍證明(zero-knowledge range proof)來創建比特幣交易,使得交易所包含的值僅相關方可見。
保密交易本身就是一大進步。但是,如果我們將它與 CoinJoin 結合起來,就可以構建一種混幣服務,切斷交易輸入和輸出之間的一切關聯。
Maxwell 曾在舊金山舉辦的比特幣開發者會議上做了一場主題為「側鏈要素」 的分享。我記得他說了一句話:
IETF(網路工程任務組)裡那幫老頭最大的遺憾之一就是構建網路時沒有預設採用加密資料傳輸方式。
對於比特幣的隱私性,Maxwell 顯然也是這麼想的:要是一開始能使用保密交易就好了。如今,Blockstream 已經在 Liquid 側鏈上實現了保密交易,來掩蓋交易所之間的轉帳。
Maxwell 已經在比特幣網路上實現了零知識證明有條件支付(Zero-Knowledge Contingent Payment,ZKCP),並成功完成了第一筆付款。Z
KCP 是一種免信任交易協定,可以讓買方使用比特幣向賣方購買資訊。只有當付款完成後,買方才會且一定會收到資訊。
買賣雙方不需要信任對方,或依賴協力廠商仲裁。幾年前,我寫過一篇關於 Zerocoin 的文章,並指出該系統需要解決一些技術挑戰才能變得真正可用。
自那以後,研究人員已經讓證明變得更加高效,並透過初始系統參數生成解決了信任問題。Zerocoin 的願景即將由 Wilcox-O’Hearn 創建的 Zcash 實現。
Zcash 提供完全的付款保密性,同時使用公鏈來維護去中心化網路。Zcash 交易會自動隱藏所有鏈上交易的付款方、收款方和轉帳金額。只有查閱金鑰的持有者才能查看對應交易的內容。
由於 Zcash 交易的內容經過了加密,而且是私密的,系統需要使用新的密碼學方法來驗證付款。
Zcash 採用了一種叫作 zk-SNARK 的零知識證明結構。zk-SNARK 由一群經驗豐富的密碼學家開發。交易中繼資料都是加密的,不會公開轉帳授權和金額。
zk-SNARK 被用來證明交易的有效性。Zcash 很可能是首個實現防彈匿名性的數位支付系統。
密碼龐克薪火相傳
密碼龐克上下探索的這十年來,電腦技術也有了足透發展。無論是個人還是團體,都能以完全匿名的方式進行通訊和互動。
兩個人可以在不知道對方真實姓名和身份的情況下交換資訊、開展業務並締結電子合約。當然了,政府會以該技術有可能威脅國家安全、助長犯罪和導致社會分裂為由,來阻礙或遏制其傳播。
Obama: If govt. can’t crack encryption, then people are walking around "with a Swiss bank account in their pocket."https://t.co/PkZlq9sOl7
— CNBC Now (@CNBCnow) March 11, 2016
密碼龐克深知,要想獲得隱私,我們必須捍衛它。幾個世紀以來,為了捍衛隱私,人們使出了百般手段:竊竊私語、暗處密會、密封信函、緊閉門扉、秘密握手和專人傳信。
20 世紀之前既沒有強大的隱私技術,也沒有可以實現低成本大規模監督的技術。
儘管存在隱私增強技術,但是這個世界依然偏重監視而輕視隱私。我們已經進入了很多人口中的密碼學戰爭 2.0 時期。
雖然密碼龐克贏得了第一場密碼學戰爭,但是我們千萬不能得意忘形。Zooko 有過密碼龐克專案的失敗經歷,他告誡我們要做好迎接失敗的心理準備。
Dear fellow Bitcoiners: no, we cannot just rest assured that Bitcoin's unique value prop outweighs all other considerations.
— zooko❤ⓩ🛡 (@zooko) January 6, 2016
密碼龐克相信,隱私性是基本人權,包括政府保障的隱私性。他們明白,無論系統的安全性因何種原因(包括「可信當局」 的介入)被削弱,都會威脅到系統使用者的安全。
密碼龐克要寫原始碼。他們知道必須要有人編寫軟體來捍衛隱私性,因此挺身而出。他們還會公開原始碼,以便其他密碼朋克進行學習、攻擊和改進。
密碼龐克允許任何人使用他們的原始碼,也不在乎別人是否認同他們編寫的軟體。他們知道自己的軟體無法被破壞,廣泛分佈的系統也無法被關閉。
📍相關報導📍
【中本聰、比特幣的靈感來源】密碼龐克始祖 Timothy May 逝世,享壽67歲
台灣成立新社群平台「密碼龐克」— 從比特幣核心精神進行「在鏈上的交流」
乾貨|簡單理解 Taproot 軟分叉:爲何是比特幣睽違 4 年最重要升級?
傑克多西重申「Twitter將支援閃電網路」: 比特幣是推特未來重要組成
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務