天天看點

【區塊鍊】加密貨币的本質

去年,比特币暴漲,其他币也像雨後春筍一樣冒出來,已經有1000多種了。

很多人都在問,加密貨币(cryptocurrency)的時代,真的來臨了嗎?将來會不會人類不再使用美元、人民币,改用加密貨币?那麼多品種,我應該使用哪一種币?要不要現在就去投資一些?

【區塊鍊】加密貨币的本質

這些問題的答案,我也想知道,就花了很多時間查閱資料、研究協定。前兩周發表的《區塊鍊入門教程》和《比特币入門教程》,是我的學習心得。但是,那兩篇教程主要介紹基本概念、探讨協定的可行性,沒回答一個根本的問題:加密貨币到底是什麼?

下面就是我對這個問題的思考。閱讀之前,如果你已經了解區塊鍊和比特币,那很好;如果不了解,也沒關系,本文不涉及技術,隻讨論最基本的原理。

【區塊鍊】加密貨币的本質

一、錢是什麼?

我們都知道,人民币是錢,美元是錢,金銀财寶是錢。我問一個問題,它們為什麼能成為錢?

你可能回答,因為它們有價值,或者是價值的代表。但是,有價值的東西多了,為什麼隻有這些品種成為了錢?

【區塊鍊】加密貨币的本質

答案很容易想到,因為人們普遍相信(認同)它們的價值,其他東西的價值難以得到普通認同,無法成為錢。比如,郵票的價值就沒有普遍的認同,除了集郵愛好者,其他地方都不能當錢用。一般來說,認同的人越多,這種錢的通用性就越高。

【區塊鍊】加密貨币的本質

我曾經去俄羅斯旅行,當地貨币是盧布。可是,一旦離開俄國,沒人相信它的購買力,是以盧布離開俄國就沒用了。相反,全世界人民都相信美元的價值,是以全世界都能用。我用美元付賬的時候,我發現那些俄國人都很滿意。

【區塊鍊】加密貨币的本質

是以,錢的本質,或者說貨币的本質,就是它的可信性。它必須使人們相信,它是有價值的,然後才能成為錢,才能被收藏和支付。

二、可信性

為什麼錢必須是可信的?因為對方必須相信它的價值,否則你沒法支付出去。那麼,接下來的問題就是,可信的東西是否就是錢?

我的回答是 Yes。一樣東西能否成為錢,隻取決于人們是否相信它的價值,至于它是不是真的有價值,根本不重要。

如果馬雲在一張紙條上寫"這張紙條價值10000元",下面簽了他的名,并且附上防僞标記。你說這紙條是錢嗎?我跟你保證,這就是錢,你用來支付,人們都會接受,馬雲等同于發行了一種新的紙币。

【區塊鍊】加密貨币的本質

比特币也是如此,它是什麼,其實不太重要。重要的是,它必須保證自己是可信的,這樣才能讓足夠的人相信它的價值,然後才能成為錢。

三、比特币的可信性

比特币要解決的核心問題,就是創造一種可信的數字憑證。由于這種憑證可信,是以能夠當做貨币。

比特币的技術基礎是加密學,因為隻有加密學才能保證它的可信性。一旦加密被破解,它就沒法當作貨币了。這也是這一類數字憑證被稱為"加密貨币"的原因。

技術人員對比特币感興趣,還有一個重要原因。任何需要可靠的數字憑證的場合,也許都可以用到這種技術。

四、比特币的特點

比特币有三個特點,就是因為做到了這三點,是以它可信,能夠當作錢。

首先,它不會被(輕易)偷走。或者反過來說,它使得你無法去偷别人,你隻能花你自己的錢。因為必須要有别人的私鑰,才能取出他的錢。正常情況下,你拿不到别人的私鑰。

其次,它無法僞造。每一個比特币都能追溯來源,而所有比特币都來源于礦工獲得的獎勵。礦工隻有建立區塊,才能獲得獎勵,這是很難的事情,是以無法僞造比特币。

最後,它無法大批生成。原因跟上一條一樣,比特币的發行速度是穩定的,現在每10分鐘新增12.5個,然後每四年減半,最終停止增長。是以不會像紙币那樣,政府濫發導緻通貨膨脹。

五、比特币有實體嗎?

由于後面要提到的原因,比特币不可能擁有實體,沒法做到"從口袋裡掏出一個币"這種場景,交易都必須通過網際網路完成。

你可能會說,錢都有實體,怎麼可能存在無形的錢呢?答案正好相反,錢就應該是無形的,那些實體的錢其實是對物質材料的浪費,由于技術不夠發達,不得不做成實體。

我小時候買東西,都必須用現金,否則沒法證明,自己擁有購買力。隻有通過實體的錢,才能保證對方确實收到了錢。如果銀行業發達,就不用現金了,可以使用銀行卡。支付的時候,對方抄一下銀行卡号碼,查詢銀行"這個賬戶有錢嗎"。銀行回答有錢,OK,成交。

但是,網際網路使得實體的銀行卡也不需要了。如果存在一個開放的中央記賬系統,任何人都可以查詢,你把錢劃到老闆的賬戶,老闆查詢一下,發現收到了,交易自動成交,整個過程都是無形的,還需要什麼銀行卡呢?

【區塊鍊】加密貨币的本質

這個中央記賬系統已經實作了,就叫做區塊鍊。

六、區塊鍊的作用

區塊鍊就是一個資料庫,記載了所有的交易,用作中央記賬系統。

每筆交易的核心,就是一句話,比如"張三向李四轉移了1個比特币"。為了證明這句話可信,張三為它加上了數字簽名。任何人都可以用張三的公鑰,證明這确實是張三本人的行為。另一方面,其他人無法僞造張三的數字簽名,是以不可能僞造這筆交易。

礦工們收到這句話,首先驗證數字簽名的可信性,然後驗證張三确實擁有這些比特币(每一筆交易都有上一筆交易的編号,用來查詢比特币的來源)。驗證通過以後,就着手把這句話寫入區塊鍊了。一旦寫入區塊鍊,所有人就都可以查詢到,是以這筆比特币就被認為,從張三轉移到了李四。

【區塊鍊】加密貨币的本質

區塊鍊的作用就是把這句話永久儲存下來了,讓任何人都可以檢視,并且任何人(包括張三本人在内)都無法再修改了。

貨币是什麼?其實就是這句話。這一句話就完成了一次支付。我們平時用人民币支付,其實隻是用紙币表達這條資訊。如果每個人都可以實時寫入/讀取中央記賬系統(區塊鍊),那麼完全可以不攜帶貨币。

七、雙重支出

前面說過,交易不可能被僞造。但是,由于每一筆交易都是一串二進制信号,是以可能被複制。舉例來說,"張三向李四轉移了1個比特币"這句話,可能被其他人複制,也可能被張三自己複制,送出到區塊鍊。

如果這句話被兩次寫入區塊鍊,就意味着張三可以把同一筆錢花掉兩次。但是,第二次寫入的時候,查詢區塊鍊可以發現張三已經把這筆錢花掉了,進而認定這是不合法的交易,不能寫入區塊鍊。是以,複制交易是不可能的。

比較麻煩的是另一種情況,就是張三把同一筆錢付給兩個人。他先向區塊鍊送出一個交易"張三向李四轉移了1個比特币",然後又送出了另一個交易"張三向王五轉移了1個比特币"。這兩個交易都可能被認為是真實的交易,進而進入區塊鍊。是以,必須有辦法防止出現這種情況。

情況一:同一個礦工收到了這兩個交易。那麼他會察覺到,它們不可能同時成立,是以選擇其中的一筆寫入區塊鍊。

情況二:礦工 A 收到了第一筆交易,礦工 B 收到了第二筆交易,他們各自都會認定這是合法的交易,分别把這兩筆交易寫入了兩個區塊,這時區塊鍊就出現了分叉。

【區塊鍊】加密貨币的本質

比特币協定規定,分叉點之後最先達到6個區塊的那個分支,被認定為正式的區塊鍊,其他分支都将被放棄。由于區塊的生成速度由計算能力決定,是以到底哪一筆交易最後會被寫入區塊鍊,完全由它所在的分支能吸引多少計算能力決定。隐藏的邏輯是,如果大多數人(計算能力)選擇相信某一筆交易,那麼它就應該是真的。

綜上所述,雙重支出不可能發生。因為中央記賬系統總有辦法發現,你把同一筆錢花了兩遍。但是,這也說明了比特币的一個代價,就是交易不能實時确認,必須等待至少一個小時。

八、參考連結

  • How the Bitcoin protocol actually works, by Michael Nielsen