理解去中心化點對點交易
2024-10-09 12:13:01
作者: (印)阿魯·薩丹拉徹
用最簡單的表述來說,比特幣(bitcoin)就是一種數字貨幣。你可以以美元、歐元或日元換取比特幣,也可以通過向人提供產品或服務來獲取比特幣,或者通過「挖掘」(mining)來獲得比特幣(後面詳細介紹)。你獲取及隨後擁有比特幣的行為以一個或多個條目的形式存在於一個公共帳目(即區塊鏈)中,在這裡面你的身份通過匿名的安全「密碼」來認證。每次你使用比特幣,新交易被記錄的同時,帳目中也會增加一個條目。
很多對比特幣的關注都集中在它成功地創造了一個沒有政府背景的貨幣,或者是比特幣相對傳統貨幣的價值隨時間波動很大(儘管在2015年它的匯率相當穩定),或許還包括比特幣的商業運用被許多政府認為是非法的。下面將重點關注比特幣作為眾多新落地技術應用中的一員,而不再討論以上這些話題。我還將討論其他兩個相關的應用程式:OpenBazaar和La』Zooz(以色列一家區塊鏈式拼車應用)。通過下面的討論,我們對去中心化點對點市場的一些關鍵的經濟、技術因素的理解將變得更加透徹。
比特幣
去中心化點對點市場的許多重要構件都部分類似比特幣的思想。假設你想要向你的朋友克萊發送數字貨幣。你最好這樣表述:「我從上一筆交易中能獲得至少一個單位的貨幣,然後我將給克萊一個單位。」這就確認了三件事:你有錢、你將進行這項交易、克萊將獲得錢。在真實世界中,就相當於你將鈔票給了克萊。
建立一個數位化的等效體系首先需要使用「數字簽名」。假設有兩個獨特的數字(稱為「密碼」,類似於解鎖的鑰匙)與你有關。一個只有你知道,或者存儲在你自己的設備上的,被稱為私鑰(private key)。另一個可供任何人查找,被稱為公鑰(public key)。如果有人用你的公鑰「鎖上」消息(或使用加密算法進行編碼),那麼這種加密消息只能用你的私鑰才能「解鎖」。反過來也一樣——如果消息是用你的私鑰加密,那麼它只能用你的公鑰進行解密。這就有了一個簡單的方法來創建一個「簽名」:因為你是私鑰的唯一擁有者,一個加密消息只能來自你。又因為你的公鑰是公開的,所以任何人都可以確認這是你的簽名。
未來一定有辦法阻止你任意使用不屬於你的錢。在真實世界中,可以通過將銀行票據製造得難以被偽造。另一方面,在PayPal等系統中,一個受信託的第三方(比如一個中心化的實體或PayPal本身)——每次有人向其他人付費時,就追蹤每個人有多少錢以及不斷更新每個人自己的數字「帳目」。[48]相反,比特幣使用公共帳目,即區塊鏈。每個比特幣的用戶都有這個區塊鏈的副本,它包含了每一個比特幣自誕生以來的交易情況。當你說「我從上一筆交易中能獲得至少一個單位的貨幣,然後我將給克萊一個單位」時,克萊可以通過你的數字簽名來驗證消息真偽,他也可以檢查他的區塊鏈副本去確認你是否真的有比特幣可以支付。
但是這種方法會導致一個問題。假如你只有一個單位的貨幣。現在,假設你給克萊和艾米麗同時發送帶簽名的消息,告訴他們你要給他們每人一個單位貨幣。如果他們兩個都檢查過了當前的區塊鏈副本,他們會找到之前的交易,它似乎會顯示你是有錢的,同時他們都會更新他們的帳目,從而導致出現問題。
一個可能的解決方案可以是委託「大眾」來維護帳目的完整性。我以這個簡單例子來說明:克萊和艾米麗收到你的消息後檢查他們的區塊鏈副本,以確認你是否有錢,然後向整個網絡的用戶廣播這次交易。然後這筆交易將進入「未決事務」的列表,只有當網絡上足夠多的人將此次交易與自己的區塊鏈副本進行比對並表明它沒有問題時,這筆交易才能被「確認」。在等待確認期間,可能會有人發現你(也許只是失誤)試圖用該單位貨幣支付兩次。
這有點像真實世界中的支票。如果你給人一張個人支票,雖然他們現在擁有這張支票,但實際上他們當時收不到錢,直到銀行「確認」這張支票。在上面的例子中,用戶網絡(擁有個人的區塊鏈副本)共同提供銀行的服務。
請記住𝙗𝙖𝙣𝙭𝙞𝙖𝙗𝙖.𝙘𝙤𝙢網站,觀看最快的章節更新
但是,是什麼阻止了你創建數百萬的網絡帳戶並通過控制大多數的帳戶來「接管」網絡呢?如果你能在大多數區塊鏈副本中植入假的交易信息表明你有錢,這會不會使你有能力創建「假冒」的貨幣呢?
比特幣用一個巧妙的方法解決了這個問題:繼續依賴於基於大眾的交易確認方法,但人為地增加了驗證過程的複雜度。如何實現?為什麼會有效?當一個用戶,我們還叫他克萊吧,檢查了待交易的列表並確認其有效性,克萊還必須解決一個非常具有挑戰性的計算問題(「挑戰」)。解決挑戰有點像將一個很複雜的多項式做因式分解——通常解出因數是非常困難的,但一旦分解成功,證明它們相乘就是原來的數卻很容易。也就是說,比特幣的挑戰是非常困難的,但是一旦解決,檢查答案是否正確卻相對簡單。[49]
同時,艾米麗和其他人也可能和克萊一樣在驗證待確認的比特幣交易列表,試圖解決這個挑戰。如果克萊贏了(首先他解決了挑戰),其他人將驗證他的答案是否正確,然後用他驗證的交易列表更新其區塊鏈(它實際上比一組交易記錄被區塊連結受所需要的時間更長,但這是一個與我們的討論不太相關的細節)。
因此,克萊不能簡單或任意地生成偽造身份接管網絡以及插入假帳目條目。他需要大量的計算能力,與此同時,其他人則忙著解決同樣的挑戰來驗證交易。同時挑戰中還存在足夠的隨機性,因此最有計算能力的人也不一定每次都能贏(雖然從普遍意義上來說,具有計算能力確實有優勢)。因此,儘管存在這樣的風險,有人會比其他人投入更多以提高計算能力,甚至開始接管網絡,但這遠比建立的數以百萬計的假身份更加困難和昂貴。
但是,這將導致另一個問題,計算能力並不是免費的。為了讓克萊和艾米麗投入資源去反覆解決挑戰,我們有什麼激勵手段呢?於是,挑戰的「贏家」被獎勵新的比特幣(截至2015年,這個獎勵是25比特幣,價值幾千美元)。這個交易驗證、解決挑戰、獲得賞金的過程被稱為「挖掘」新比特幣。因為每10分鐘都會有一個新的交易清單(或「區塊」)需要驗證,「挖掘」可以使計算能力轉化為不錯的投資回報。
換句話說,區塊鏈對「無許可創新」的發展發揮的作用就像TCP/IP協議之於網際網路。阿爾伯特·溫格(Albert Wenger)是紐約聯合廣場投資公司的合伙人,他於2013年在其早期有影響力的關於區塊鏈的博客中解釋了這些協議的重要性:
然而,政策制定者們需要理解這些協議對於分布式無許可創新的重要性——這種創新形式來自於無數個人和創業公司。例如,超文本傳輸協議(http)讓瀏覽器和web伺服器實現了對話——只要伺服器支持協議,它就可以向任何瀏覽器提供創新內容或服務。http本身建立在許多其他下級協議之上,如DNA和TCP/IP。歷史上,協議出現往往是從個人或小團體的研究項目中產生,就像從主幹中長出分支。關於比特幣的爭論,關鍵是認識到比特幣有可能成為這樣一個能促進很多創新出現的協議。
雖然比特幣工作原理的具體細節比我在本節中的描述要複雜得多,但一些關鍵點仍然描述得很清楚:確認身份的數字簽名;存儲在每個客戶設備里的分布式帳目(區塊鏈);群體共同確認每筆交易;為避免潛在的主宰區塊鏈的情況發生有必要使結算工作具有挑戰性;以及有必要使用一定激勵(相當於錢,通常稱為「硬幣」[coin],它是從內部系統產生的)讓大眾對有挑戰性的驗證交易工作感興趣。
現在,如果你仔細想想,點對點支付實際上是一個相當簡單的商業應用。一旦你建立一種認知,創建一個系統來對交易進行結算,同時使人們相信他們的錢有足夠的保障,你就有了足夠的信用去讓一切運轉起來。被交易的是統一單位(即貨幣)。不需要考慮產品多樣化。不存在實物資產。不需要去確認實用性或進行價格比較。不需要去思考買方如何從賣方獲得物理資產。(被交易的東西)質量得到充分保證——錢就是錢。不需要複雜的關於送達和質量的合同。在商業交易上不需要透露你在真實世界中的存在或位置,不存在與令人討厭的人面對面的風險。
因此,毫不奇怪,大部分關於區塊鏈市場開發的初始焦點都集中在創造新的系統去交易虛擬資產:數字資產和金融資產。亞當·盧德溫是我之前在這一章中提到的區塊鏈創業公司Chain的執行長。2015年,在我和他的一次談話中,他將區塊鏈形容為「以資產交易為目的新資料庫技術」,同時他還看到了,在以區塊鏈為基礎的新市場中,在忠誠度點數、移動分鐘數、禮品卡,當然還有一系列金融資產中潛藏的巨大力量。盧德溫描述了當前這些資產的交易系統中有多少能顯著地得益於新的去中心化的市場。他提到:「並不是說一個集中的機構有什麼問題,但它會增加成本、抑制創造力而且需要不同層面的調解。」他還進一步指出,在去中心化市場的競爭壓力下創新是如何輕易就被激發了,如同非法的點對點文件分享網絡就會導致iTunes、Pandora、Spotify的出現。
如果你回顧電子市場的歷史,金融市場成為最早被關注的市場這件事並不奇怪。因為許多股票交易所本身就是數位技術的早期採用者,比eBay和亞馬遜的出現要早十年或更長時間。然而,要超越數字資產市場而面向更廣泛的真實商品和服務市場,只要我們寄望於繼續向前去為更複雜的市場交易創造嚴謹的去中心化的備選方案,那麼我上面提到的每個(老)問題——比如參差性、物流和不確定性——都在不斷產生並需要解決。
OpenBazaar和智能合同
OpenBazaar平台向去中心化點對點市場的建立邁出了第一步。如果你有一個物品待出售,你可以把它加入OpenBazaar客戶端的列表里(一個下載到你的行動裝置里的程序或應用程式),內容還包括產品描述和價格(以比特幣為單位)。一旦你確認將其加入列表,這個列表就會在OpenBazaar平台上被廣播給所有其他客戶。
所以,你怎麼找到待售的物品呢?除了最關鍵的分散市場(即分享帳目)作為「基礎設施」這個因素之外,其次還有分布式哈希表(distributed hash table)。作為背景,讓我們回到第2章討論的關於Napster和Gnutella的區別——Napster有一個中央音樂索引存儲在一個中心化的Napster的電腦中。相反,Gnutella則將索引分布在網絡各處。雖然Gnutella開創了分布式索引,但該方法的問題在於它的用戶需要花很長時間才能找到他們想要的東西;此外,每次有人進行搜索,這個動作將「瀰漫」整個網絡。而且因為每個點之間互不了解,不能保證這種方法一定能找到可供下載的歌曲。
分布式哈希表,就是將Gnutella的方法努力改善的結果,它是一個在分布式網絡中進行搜索的更複雜的索引方式。它在分解索引、複製索引、分發信息上更明智,這種方法使搜索結果更可靠。如今最流行的點對點文件分享技術,比特流(BitTorrent),使用的就是這種方法。當在一個數以百萬計的資料庫伺服器中檢索你朋友的照片時,Facebook也是這麼做的。
但是,回到OpenBazaar,如果你發現一個你喜歡的產品,你就可以用比特幣購買它。就像PayPal,在點對點市場早期發展中它是使eBay正常運轉的關鍵組成部分,如今比特幣技術也為OpenBazaar的支付提供了必要的基礎設施。而且類似eBay的拍賣系統,如果OpenBazaar上的價格太高,你可以向賣方重新提出一個較低的價格。
一旦你(作為買方)同意賣方的價格,那麼你將遇到另一個挑戰。你怎樣保證你會得到你買的產品?這就是分布式點對點市場的第三個關鍵基礎設施因素:合同。在OpenBazaar里,合同相對簡單,將受信任的第三方作為公證人——在OpenBazaar中,這個公證人可以是任何其他客戶端。合同一旦成立,你就要發送比特幣進行支付,這些錢都由第三方暫為保管。你,作為買方,通知賣方說「我已付款」,然後賣方發貨(並負責所有物流)。當產品送達時,你宣告已收貨。這些錢就會被支付給賣方。如果有爭議,公證人則可以充當中介(由任何2~3個當事人——買家、賣家、公證人——來決定錢最後的流向。例如,買方和賣方可以自己解決他們的糾紛)。有一個評級系統來幫助你選擇賣家、買家、公證人。這與集中市場的方法略有不同,也完全避免了人為操作。
還有一類新興的基於區塊鏈交易的更複雜的合同(被稱為智能合同)。在《區塊鏈:新經濟藍圖》(Blockchain: Blueprint for a New Economy)這本書中,梅勒妮·斯旺(Melanie Swan)解釋說,雖然傳統的合同是兩個或兩個以上的當事人之間的協議,但對於一個智能合同而言,這些條件都一樣,只是有一點不同——信用是不是來自第三方變得不那麼重要。這是因為智能合同的協議可以用計算機代碼指定某些條款,在這些條款下必須履行相應義務,也可以執行某些行動,如一旦付款或者有證據表明合同條款被履行則該合同文件就會被終止(智能合同的前身是在類似iTunes等媒體存儲播放器中使用的數字版權管理系統,在此系統下你付費觀看的電影在24小時後自動失效)。
「智能合同」如何能做到這一點的呢?普里馬韋拉·德·菲利皮(Primavera De Fillipi)2014年在哈佛大學伯克曼中心發表的極具影響力的演講中解釋道,點對點交易合同的風險可以通過引入三個新的前提而減少:自動性、自足性、分散性。
在交易確定後,智能合同自動生成,理論上不需要再次觸發啟動部門。智能合同也具有自足性,能自己爭取自己的資源。最後,智能合同是分散的,他們分布在各個網絡節點,而不是在一個集中的位置,並且是自行驅動。這意味著,智能合同將跨越司法的管轄區或適用範圍,在某種意義上,將無國界。我們甚至可能因此緩慢逼近實現史丹福大學教授勞倫斯·萊斯格的令人難忘的咒語:「代碼就是法律。」在這方面,智能合約將解決一個我們面臨的自20世紀90年代開始就在網絡中傳播的難題——超越司法對政治邊界的依賴。問題最後的答案,毫不意外地,就是代碼本身。
然而,我們有理由保持謹慎。迄今為止,通過代碼進行監管取得了好壞參半的結果。與網際網路一同到來的還有垃圾信息。隨著時間的推移,我們已經試圖阻止這些垃圾信息使用各種不同的自動化方法,但是正如萊斯格自己指出的那樣,努力阻止垃圾信息也阻止了其他類型的信息在網際網路上傳播。因為我們沒有達成網際網路的基本原則——自由言論上進行妥協,從某種意義上說,通過代碼進行管理已然失敗。目前尚不清楚對人類的限制是否能同樣限制智能合同的有效性範圍。
去中心化的服務平台
類似比特幣的貨幣或像OpenBazaar一樣的市場變得越來越強大,因為它擁有更多的用戶。但是,如果你仔細想想,比特幣的早期用戶加入的這項事業時,平台並不能保證他們貢獻的時間、支持或計算能力會產生真正的價值。當然,也有部分人因為「挖掘」了價值數百萬美元的比特幣獲得了豐厚的回報。在某種程度上,正如物理學家馬坦·菲爾德(Matan Field),同時也是區塊鏈的思想家和連續創業者,在2015年夏他向我解釋的,這些早期用戶為系統增添了巨大的價值——遠遠超過今天的新用戶可能會增加的——以及相應地,許多人也收穫頗豐。類似於風險資本家從早期創業公司處獲得風險投資回報的方式,早期用戶冒著巨大的風險——但投入了大量人力和處理能力資本——最後獲得了巨大回報。
但除了那些參與交易驗證的用戶和成員,比特幣系統中還有許多的其他部分也增加了它的價值,如編寫底層的開源計算機代碼的人、做宣傳的人、寫用戶指南的人等。可以說,許多利益相關者也為最終的成功做出了貢獻;但對於該系統,儘管它可能比私人企業更公平,但它在某種程度上只給了「挖掘者」巨大的經濟回報。
這突出了另一個中心化點對點市場面對的挑戰。在一個缺乏任何中央集權或第三方監督機構的網絡中,如何確保不同的人有正確的動機做出有益的貢獻,如何確保獎勵與努力、風險相匹配,如何讓人們有持續的動力投入交易清算需要的精力和資源去做貢獻?這種內部生成的「硬幣」顯然類似於積分,但是你如何讓它有價值,又如何傳播這個價值呢?
2013年馬坦·菲爾德、澳倫·索科爾斯基(Oren Sokolowsky)和謝瑞·次羅夫(Shay Zluf)聯合創立了La』Zooz,它是(截至2015年)一個去中心化點對點的乘車分享市場,它也是解決這一問題的新方法(平台的總部在以色列,「lazuz」這個詞在希伯來語中意味著「移動」)。想想看,一個類似Uber的服務項目——當然,它在技術上是有價值的——根本上來看,這個系統中司機越多,對乘客就越有價值;與此同時,乘客越多,對司機就越有價值。所以在這樣的乘車分享系統中一個關鍵的「投入」是用戶參與。相應地,參與「播種」這個系統的早期參與用戶更可能會獲得更大利潤,超過那些後來加入的。
La』Zooz創造了一個似乎很常見的用於乘車分享的行動裝置應用程式,但它有一個關鍵的不同:在每個應用程式里都嵌入了一個「挖掘應用」,旨在鼓勵用戶的早期參與。下面介紹它是如何工作的。你下載並安裝應用程式。當你開車時打開應用程式,就會得到「zooz」,即La』Zooz里的貨幣。你開得越久,你就能賺越多的zooz。你也可以通過邀請其他人下載應用程式來賺zooz(項目負責人也會出售一些zooz籌集資金)。一旦你的周邊對該應用的使用水平足夠高,乘車分享部分的應用程式就被激活。你可以使用累積的zooz購買乘車服務,就像你可以用貨幣來購買Uber或Lyft的服務一樣。
維塔利克·布特林(Vitalik Buterin)是一個在去中心化點對點系統領域有影響力的作家,他也是以太坊(Ethereum)的創始人,以太坊是一個運行智能合同的點對點平台。正如他在一篇博客文章中提到的:「作為一個發展融資協議的機制,發行新貨幣的點子也許是一個來自加密貨幣領域的最有趣的經濟創新之一。」但成功的一個關鍵因素是價值分布的設計架構[50],同時這個值的表現形式也很重要,硬幣會隨著平台的發展和成熟持續增值。同樣重要的是要將硬幣不僅僅想成是貨幣,而是作為價值儲存手段,就像一個私營公司的股票。硬幣讓我們能重溫各種早期作用因素——人力資源、市場風險的早期參與、市場宣傳效果以及輔助最關鍵的群體——即新一代目標導向的投資者。