9.2 比特幣作為一個「智能資產」

我們現在來探討一下,除了貨幣功能,比特幣平台的其他特性。

我們在前面第6章中談到,你可以簡單地通過跟蹤交易圖譜,就可以在比特幣系統裡追蹤一個幣的所有權。請記住這一點:沒有一個具體意義上的比特「幣」,只有未消費的支出,我們把它們叫作幣。每個比特幣都有一個歷史記錄,任何人都可以在區塊鏈裡查詢到。一個幣的歷史記錄可以追溯到一個或多個原始交易,這些原始交易標誌著這個比特幣的誕生。正如我們之前討論過的,在比特幣裡,匿名性其實是個偽命題,因為你可以通過這個方法去追蹤比特幣的所有權。

可互換性(fungibility)

比特幣的這個特徵讓我們發現了它的一個有趣的現象:比特幣不是可互換的。在經濟學中,一個具備可替代性的商品是指所有的個體是相同的,然後可以互相替換。比如黃金就是可以互換的,一盎司純金可以和另一盎司純金互換(因為它們之間沒有任何差別)。但是比特幣不一樣,每個比特幣都是獨一無二的,因為每一個比特幣都有著自己獨特的歷史記錄。

在很多場景下,不同的歷史記錄可能不會有什麼差異,但是如果特定的歷史記錄對某些人比較有意義,那麼在你和他們交易的時候,你的一個比特幣和他們的一個比特幣就不一樣。可能有些人不願意用他的比特幣來和你交換,可能因為他更喜歡他的比特幣的歷史記錄,例如,部分重視舊幣價值的收藏家們,可能覺得從創世區塊裡造出的幣有著特殊的價值。

智能資產

比特幣的這個可追溯性特性有什麼作用嗎?我們已經看到它可能會危害比特幣的匿名性。接下來,我們要看一下為什麼比特幣的歷史記錄會有意義。

讓我們先思考一下,怎樣讓一個普通的線下的物理貨幣有意義?假設我們想要在物理貨幣中加載一個元數據,事實上已經有人在這麼做了。例如,在紙幣上塗些文字,通常是一個笑話或者是一種「政治宣言」。但這麼做純粹為了好玩,並不影響紙幣的價值。

但如果我們可以把證實過的元數據「黏」在我們的貨幣上,而這些元數據不是輕易就可以複製的,又會有什麼結果呢?有一個做法就是把加密簽名包含在元數據內,然後把這個元數據和鈔票上的序列號進行綁定。

但這又有什麼用呢?比如一個棒球隊,如果想用紙幣作為門票,那麼採用這個做法,他們就不需要花費大量精力去印製門票,也不用擔心有人會去偽造門票。紐約揚基隊可以宣稱一張有特殊序列號的美鈔可以作為一場特殊比賽的入場券,並且指定到某個特定的觀賽席。這些特殊的紙幣可以採用與其他門票同樣的方式分發,比如郵寄給在線購買球票的球迷。任何擁有這張特殊紙幣的人,都可以憑此進入體育館,並坐在指定的座位上觀看比賽。這張紙幣本身就是門票。

揚基隊可以用數字簽名來增加真實性。他們可以把特定的比賽日期、座位號及鈔票的序列號一起做簽名,然後把這個簽名印在紙幣上。通過一個簡單的二維碼就可以實現這個功能(如圖9.3所示)。球館可以相應地維護一個保存所有鈔票序列號對應每場比賽和座位號的數據庫,當你憑票入場的時候,它們只需要根據你所提供的二維碼去數據庫裡校驗即可,也就不需要在紙幣上蓋章並印上相關信息了。

圖9.3 一張普通的鈔票上設置一些有用的元數據

但這樣做究竟有什麼好處呢?現在,紙幣可以代表許多事物。上述例子中,紙幣替代了體育比賽門票,除此之外,紙幣還可以有其他許多應用。為了紙幣不能被偽造,政府投入巨大,我們可以利用紙幣上已具備的防偽特性,來創建其他應用。當然,這張紙幣的本身價值也保存了下來。當一個球迷使用了這張門票後,這張紙幣還可以正常流通。當然,如果每個人都想在鈔票上印一個元數據可能會有問題,但我們可以用數據庫的方法來規避這個問題。

當然,這個新的元數據是否有意義,完全取決於我們對數據發行者的信任。在上面這個例子中,一定有人知道存在一個特定的「密鑰」來簽發有效的揚基隊球票,或者下載整個揚基隊的數據庫以識別這個特殊紙幣的門票價值,而對其他人來說,這就是一張普通的一美元紙幣。無論如何,這是一個不錯的屬性,因為一旦在這張「門票」完成使命之後,它又可以作為普通紙幣進入貨幣流通。

染色幣

在比特幣上,我們是否可以採用類似的數字化的方式增加元數據呢?我們想保留比特幣好的特性,比如可以在線交易、快速結算,以及不依賴於銀行。

顧名思義,染色幣(Colored Coins)就是把比特幣「染色」,即使這個幣幾經倒手,我們也可以根據這個特殊的「顏色」來追蹤比特幣,就如同在物理貨幣上印上一個代表特殊數據元的圖章一樣。一個「染色」的比特幣依然可以作為一個有效的幣,只是攜帶了額外的元數據。

為了做到這一點,在一個被稱為「發行」的交易裡,我們嵌入一些額外的元數據來宣佈某些比特幣具備了特定的顏色。如圖9.4所示,在一個交易的支出中,我們發行了5個「淺灰色」的比特幣,同一交易支出裡的其他的7個,仍然是普通的沒有染色的比特幣。另外一個人,可能持有一把不同的簽名密鑰,在其他的交易裡發行了「深灰色」的比特幣。我們稱之為「染色」,是為了便於直觀理解。在實際中,所謂的「顏色」其實就是一串二進制的數字代碼。這裡,最重要的一點特性是,同樣顏色和同樣價值的幣是完全相同的。

雖然我們現在有不同顏色的比特幣,但依然可以進行正常的比特幣交易。我們可能碰到一個交易,它包含了幾個不同輸入的比特幣:有些是深灰色的,有些是淺灰色的,有些是沒有染色的,並且混在一起。同時,這個交易可能會有幾個支出交易,其中的比特幣保持著被染色的狀態,並且交易中可以添加一些元數據,決定這些比特幣根據染色的不同去往不同的交易支出,我們可以把一個包含4個深灰色幣的支出拆分成兩個更小的深灰色幣組合,我們也可以把幾個深灰色幣組合到一個大的深灰色幣交易中。

圖9.4 染色幣

註:交易圖譜描述了染色幣的發行和傳播過程。

開放資產

2015年,在比特幣裡實施「染色」的、最受歡迎的應用方案是「開放資產」(OpenAseet)。資產通過一個特殊的支付給腳本的哈希值(P2SH)的地址來發行。如果你想發行染色幣,首先要選擇一個P2SH地址。任何通過這個地址轉賬的幣在進入的時候都沒有顏色,在出來的時候,就會被這個地址分配一個特定的顏色。如果要讓這個染色幣變得有意義,你還要把這個地址公佈出來。有許多交易所會追蹤這些地址來推斷比特幣染上何種顏色。由於比特幣可以按照時間順序通過多個地址進行染色,因此,一個比特幣被染上多個不同的顏色,也就不足為奇了。

一旦執行了一個帶有染色幣的交易,你就必須嵌入一個有特殊標記的支出,就像我們給數據約定加時間戳一樣,這是一個可證實且不可再次消費的支出。被封裝在這個有特殊標記的支出裡的元數據,詳細地列出了染色的輸入是如何分配到不同輸出的。

正如我們之前所注意到的,比特幣對此完全兼容,因為它並不對比特幣做任何改變,礦工社區也沒有對這種做法多加干涉。無須中央權威授權,它允許任何人對貨幣進行各種染色。只要有人理解、認可並遵循你所設計的染色幣的規則,那麼你所發行的染色幣甚至有可能超過比特幣本身的價值。比如,如果揚基隊發行染色幣,並且這些幣可以作為球場入場門票,只要球場的管理員認可這些染色幣的門票特性,他們就會讓你憑票(染色幣)入場。

這個方法的第一個缺點是,我們必須把不可被再次消費的標記支出放進每個交易裡。由於每次交易一個染色幣時,都需要多花一些交易費,這會增加一點成本。第二個缺點是,礦工只會驗證作為底層基礎的比特幣的有效性,但不會去驗證染色幣的有效性。如果想要驗證一個染色幣的有效性,你必須親自去查證它所有的歷史記錄,或是委託第三方來幫你完成。此外,不同於一般的比特幣,用戶不能使用一個輕量級的簡單支付驗證客戶端。這就使得類似手機這種有計算性能限制的設備,在使用染色幣時變得非常困難。

染色幣的用途和智能資產

一個經常被引用的智能資產用途就是公司股票。一個想要用染色幣來發行股票的公司,需要公佈一個發行地址和規則,通過這個地址發行的染色比特幣代表了公司的股票。1聰比特幣就可能代表公司的1股。股票持有者就可以在區塊鏈上交易股票,而不需要一個像股票交易所這樣的中央媒介。當然,股票持有者必須信任公司對這種股權的認可。例如,公司承諾按照每股支付相應的股息或者授權股東對公司決策有比例性的投票權利。傳統股票是通過法律規定來保障的,截至2015年,染色幣或者其他基於區塊鏈的資產還沒有獲得任何一個司法機構的認可。[1]

物理特性。另一個可能的用途是,染色幣可以代表現實世界中的一些資產。比如,一個染色幣可以代表一處房產或者一輛汽車。你所擁有的一輛高級轎車可以和一個在區塊鏈上的特定的染色幣關聯,然後持有這個染色幣的人可以用它來啟動和駕駛這輛車。當你要賣這輛車的時候,或是至少要轉讓使用權的時候,你只要在區塊鏈裡簡單地執行一個單筆交易。在第11章,我們將探討在技術上如何實現這個功能,以及一些可能會遇到的社會和法律上的障礙。但是,由於其具備了智能特性,我們的夢想是讓現實世界中任何有形資產都可以用染色幣來代表,並且資產的轉讓或交易就像比特幣的轉讓或交易一樣容易。

域名。最後一個例子是,使用染色幣來完成一些現有域名系統的功能:登記和轉讓擁有權,關聯域名和IP地址。域名市場有許多有意思的特徵,其中之一是它有無數可能的域名。根據域名名字是否方便記憶以及其他因素,域名有著不同的價值;同樣,對於不同的人,一個域名可能有完全不同的意義。我們可以用染色幣來處理域名登記和其他相關功能。事實上,有一個另類幣就是為這個目的而設計的,叫作域名幣(Namecoin),我們會在第10章中做具體討論。每個方法都有自己的獨特優勢,染色幣可以獲得比特幣區塊鏈的安全保護;而另類幣可以相對容易地部署域名登記、轉讓、關聯IP等複雜邏輯。

[1] 2016年3月,美國在線零售商Overstock已經獲得了美國證券交易委員會(SEC)的批准,通過比特幣區塊鏈技術發行100萬股新股。——譯者注

《區塊鏈:技術驅動金融》