區塊鏈是一種去中心化資料庫,數據內容被打包成一個個區塊,由眾多節點進行驗證,區塊一經驗證便難以竄改,並像鏈條一樣依序拼接起來。這種技術已開始為各國政府和企業所用,比方說,美國紐約州推出了基於區塊鏈的 Excelsior Pass 免疫護照,供人出示疫苗接種紀錄或檢驗陰性證明。相關資料一旦上鏈便難以竄改,數據的正確性因此得到保障。
以上是我們經常會聽到的對區塊鏈應用的描述,但果真如此嗎?區塊鏈上的數據可以和正確劃上等號嗎?讓我們從比特幣談起。
加密貨幣及其「帳本」
比特幣是一種加密貨幣,想要擁有這玩意兒,光有銀行帳戶是不行的,你需要註冊交易所帳戶,或是取得一個加密貨幣錢包,接著還要把錢包的私鑰藏好。這些準備工作挺麻煩的,那為什麼還有人願意擁有比特幣,尤其還是拿現金購買?可能你認為比特幣具有價值儲存的功能,或相信它能增值,為你帶來財富,或對去中心化技術寄予厚望,所以你擁有——用幣圈的話來說,持有 (hold) 比特幣,而你持有的比特幣數量,全都紀錄在比特幣區塊鏈上。
不過,這裡用「紀錄」一詞會有點奇怪,因為一份紀錄通常是對事實的紀錄,而事實獨立存在於紀錄。例如,你的出生證明書是對「你的出生」這個事實的相關紀錄。當初填寫這份紀錄的人有可能搞錯你的出生時間,這卻不影響你在某時某刻出生的事實。即使你的出生證明書紀錄錯誤,你仍是在某個特定時刻出生的,這個事實獨立存在於你出生證明書上的資料。
比特幣就不一樣了。你持有的比特幣並不獨立存在於區塊鏈,其數量完全取決於區塊鏈是怎麼說的。如果區塊鏈說你持有 0.087 個比特幣,你就持有 0.087 個比特幣,不能再多。區塊鏈規定了任何人(地址)持有的比特幣數量(而不是紀錄比特幣數量),換句話說,任一比特幣的存在皆依賴於區塊鏈。在形上學中,我們將比特幣對區塊鏈的依賴稱為基礎 (ground)。在最極端的情況下,假設比特幣區塊鏈被 51% 攻擊成功竄改,你持有的比特幣數量就會是被竄改後的數量。
比特幣區塊鏈經常被介紹為一種「帳本」,但無論是「紀錄」還是「帳本」,都會讓人聯想到先有貨幣出入的事實,後有對這些事實的紀錄。帳本的說法很形象,有助於解釋比特幣區塊鏈的基本運作,但如果要理解比特幣的存在方式,這個說法其實沒什麼幫助,因為區塊鏈其實不紀錄比特幣數量。比特幣不是先有「帳」才「記」,而是完全依賴區塊鏈而存在。
這種依賴可以透過 2016 年以太坊 (Ethereum) 著名的 The DAO 事件得到更好的理解,該事件導致了價值數千萬美元的以太幣損失。如果以太坊區塊鏈只是紀錄(意思是「以太幣的數量」這個事實獨立存在於以太坊區塊鏈),這起駭客事件可能就不會造成太大波瀾,因為你的以太幣事實上不受影響。
想像一下,如果你把黃金藏在床底下,然後用一個帳本紀錄這些黃金的價值。有個強盜從你手中搶走帳本,把上面的數字改成任何他想要的數字,你持有的黃金並沒有受到任何影響。但加密貨幣及其區塊鏈並不是這種事實/紀錄的關係,而是說,後者是前者的基礎,一旦區塊鏈遭駭,你的加密貨幣真的會跟著消失。只要理解了這種依賴,就能知道作為加密貨幣基礎的區塊鏈是多麼重要,以及區塊鏈社群為何始終把安全當作首要之務。
紀錄想要不出錯,真的很難
比特幣對區塊鏈的依賴,帶來了一個優點:想要知道你持有多少比特幣,看一眼鏈上數據就肯定沒錯了。
可是,並非所有區塊鏈應用及其數據都跟比特幣一樣。再以「出生」的現實事件為例,我們可以設計一個區塊鏈來紀錄這些事件,但它們獨立存在於區塊鏈。區塊鏈無法規定你在某時某刻出生,而且紀錄有可能出錯;撇開紀錄被竄改的情況,也有可能在最初登記的時候就輸入了錯誤的資訊。老實說,沒有什麼可以保證你在區塊鏈上的出生時間紀錄一定正確。
很多產業已開始嘗試應用區塊鏈技術,例如臺灣的農產品履歷,結合區塊鏈可以確保已上鏈的資料透明、安全,然而,就像出生證明書一樣,沒人能保證資料上鏈時不會出錯。行政院農業委員會副主任委員陳駿季也承認這一點:「農產品履歷上鏈過程中,如何確保資訊的正確性是一大挑戰。目前農委會是透過產品抽檢與前端輔導的方式,維護資料的正確性。」
產品抽檢和前端輔導對應了不同的處理方式,以提高農產品履歷數據的正確度。前者聽起來是在資料上鏈後抽檢相關產品,由於區塊鏈的一個特徵是無法修改,要是產品不符合規範,便需要追加註記;後者大概是加強資料上鏈前的操作訓練和再三核實。但不論是哪種方式,都無法保證最終輸入的資料一定正確,畢竟,抽檢的結果可能有誤,而加強資料輸入檢核,只要經手人工操作,就不可能將正確度提高到百分百。
再舉個例子,最近很多人接種了新冠肺炎疫苗,我們也可以搞一個區塊鏈,把「你已接種一劑疫苗」這個紀錄上鏈,但這不代表你真的打了疫苗。「你已接種一劑疫苗」的區塊鏈紀錄不保證「你已接種一劑疫苗」的事實。這類區塊鏈應用不像比特幣那樣是區塊鏈說了算,因為它是對事實的紀錄,而這些紀錄可能出錯。即使把這種區塊鏈應用和一個具有極高信任度的系統對接,例如由有公信力的衛生機構直接把資料輸入區塊鏈,情況也一樣。只要無法保證一開始輸入系統的資料一定正確,就無法保證鏈上資料正確。
新應用:透過區塊鏈投票
對出生證明、農產品履歷和疫苗接種紀錄來說,當然是越正確越好,因為,把事實記錄下來,就是這些紀錄的主要目的。不過,承認這一點,不代表加密貨幣之外的區塊鏈應用應當被拋棄。紀錄事實的區塊鏈應用和比特幣這種原生的區塊鏈應用本質上是兩種不同的東西,後者無法進入前者的應用場景,也無法取代前者,因為它不是對現實事件的紀錄,自然也就無法要求前者具有和後者相同的特性。
儘管如此,仍有許多在加密貨幣之外發展類似應用的嘗試,盡可能減少人工輸入的環節,以提高正確度。美國西維吉尼亞州已實驗性採用區塊鏈投票系統,供部分選民透過手機投票,選票直接上鏈。這個系統的一大優勢是選票一經投出便無法被竄改,也不會有唱票、記票失誤或停電作票的問題,正確度較傳統投票系統來得高。
此類系統的最大隱憂是手機可能被駭,導致你投出和自己所想的不同的選票,比方說你點選甲候選人,到了鏈上的卻是駭客指定的乙候選人選票。這當然是需要解決的問題,但其實和系統的正確性無關,因為,這裡的正確指的是區塊鏈收到的選票數據(即使是被修改過的),而不是你所點選的選項。
結語
加密貨幣區塊鏈顯示加密貨幣的數量和交易,其他用來紀錄現實事件的區塊鏈應用——例如出生證明書、農產品履歷和疫苗接種紀錄——則把區塊鏈技術帶到了更寬廣的現實世界中。這兩種應用在本質上有所不同,前者的數據依賴區塊鏈而存在,而後者所紀錄的事實始終獨立存在於區塊鏈,即使區塊鏈上的紀錄有誤或根本沒紀錄,都不影響該事實的存在。
因此,對於那些標榜使用區塊鏈來紀錄事實的應用,在採用其數據時需要謹慎。儘管數據上鏈後的確不大可能被竄改,但沒人能保證它在上鏈時是否正確。同時,加密貨幣對區塊鏈的依賴,也會影響你的投資決策。這種資產和區塊鏈共存亡,因此在投資任何加密貨幣前,你都需要問自己:我有多信任該貨幣底下的區塊鏈?我願意為這種形上學基礎冒多少風險?