電子貨幣30年:從電子貨幣到區塊鏈(3)

買賣虛擬貨幣

注:此文為轉載文章

世界範圍內密碼貨幣十分火爆,我們觀察很多有意思的事情正在發生,直到2008年,我們才有現在的密碼貨幣。比特幣出現的原因與原理是什麼,到底難在哪裡以及它的優缺點。

原文連結:https://mp.weixin.qq.com/s/Zl2cMaNduf88cLNfj86avA

一. Nakamoto,2008

1. 中本聰實現機制所完成的核心工作是用分散式賬本代替可信伺服器(replace the server with a distributed ledger)。

2. 賬本很難建立,事實證明我們需要共識技術來建立賬本,中本聰發明了新的共識技術,這個共識技術始終能自始至終都能很好的執行(use a new consensus technique to construct the ledger)。

3. 在共識協議執行時能夠生成新的貨幣,相當於央行發行貨幣。系統引入了困難問題(use puzzles to handle consensus & generate funds)。

4. 比特幣中最重要的的一個發明:比特幣消除了將金鑰和身份繫結在一起的必要性,直接將公鑰作為使用者身份。(Eliminate the need for explicit key/identity bindings)。

5. 其他技術的應用方式就變得非常直接了,幾乎可以把密碼技術直接般過來了(everythings else is straightforward crypto and excellent engineering)。

二. 從比特幣學到的知識

1.選擇正確的共識演算法會導致系統發生巨大的變化

區塊鏈共識技術滿足特定的健壯特性,少部分參與方的離開並不會影響系統的穩定性,這是傳統的協議無法實現的 。

節點以點對點網路的形式組織,節點會週期性地離開網路。你就需要一個不包含啟動過程的共識機制,此機制需要處理這種不穩定的情況。即使到了今天,在部署權益證明協議的時候也需要解決這個問題。很多協議都屬於權益證明協議,並且在協議中應用了類似可驗證秘密分享這類技術,但這些協議要求一部分節點同時保持大約10分鐘的通訊狀態,節點沒辦法同時保持10分鐘通訊。因此,除非你能確保部分節點可以滿足這一要求,否則在這一特定 場景下,你無法實現可用的共識協議。

2. 我們需要消除金鑰,身份管理機制,使得問題會變得簡單很多。

3. 人類是個奇怪的生物。這似乎是個顯然,很平凡的結論。追憶起來這個結論似乎非常顯然,但實際上這個結論並不顯然,如果你沒有實際部署一個密碼貨幣的話,這個結論並不那麼顯然。

從2010-2015年得出的結論是:如果你建立了擁有代幣的系統,此係統是安全的,並且可以持續的提供給代幣,則人們會有很大的信心,相信系統不會停止運轉,相信系統不會失效。更奇怪的是人們為了代幣賦予相應的價值。這真的超乎我們的想象,我們根本沒有想到會發生這樣的事情。但這樣的事情確實發生了,而且造成了巨大的影響。造成的影響比人們對技術,對密碼貨幣所估計的影響要大的多,現今人們對代幣的估值太隨意了。代幣的估值可能比真實值大了10倍,甚至可能大了100倍。但這裡最重要的是:人們相信他的價值。如果你不自己建立密碼貨幣的話,你估計也不會相信這一點。

三.比特幣的缺點(Limitations of Bitcoin)

比特幣的隱私,可擴充套件性上有很多侷限性,好訊息是我們可以發行150種貨幣,來解決可擴充套件性的問題。真正嚴峻的問題是,有太多的人在用太多不同的方法嘗試解決這種問題。

1. 比特幣的匿名體系有缺陷,匿名會與使用者身份產生關聯,最終導致失去匿名化。

2. 2012,2013年NSA在海外部署VPN系統,他們允許使用者的比特幣節點與此係統建立連線,所以他們不僅可以在區塊鏈上,還可以從VPN系統上看到一大堆交易流量,透過流量資料,他們把假名和使用者的IP地址聯絡起來,實際上於使用者的MAC地址關聯起來,這樣一來對於區塊鏈,比特幣中的大多數節點,他們都能實現去匿名化。一旦流量傳到這個系統,也無法實現匿名化。

四.關於發表的兩篇論文

一篇叫“零幣”在零知識證明上應用RSA聚合演算法實現貨幣匿名化處理。

另一篇叫“零現金”實際部署的系統叫Zcash 。

當開發“零現金”的第一個版本時,寫了一個函式庫放在github上,同時加上了警告:看在上帝的份上,不要把這個函式庫用在產品化的數字貨幣系統中,不要把資金放在依賴這個糟糕的函式庫釋出的代幣上,畢竟這個函式庫只花費了暑假中的一個月時間,時間太短。

之所以展示這份警告函,因為從“零幣”的git程式碼庫中能找到這份警告,現在零幣在市場的價格約為50億美元,零幣的開發者們原封不動抄襲了程式碼,他們把警告都直接複製到程式碼中了。他們直接用這個函式庫完成了零幣的開發,直接部署在公網上,這種部署方式太嚇人了,事實上該程式碼存在漏洞。在其中一個地方,本應該驗證輸入的引數是否為代數域中的一個元素,實際上並沒有提供該操作。這意味著,使用者可以透過A,A+P,A+2P來完成貨幣的雙重花費。

一旦我們有了一個賬本,我們就可以做很多有意思的事情。如果你深入理解支付系統的話,你就會發現支付系統就是一個狀態轉移過程,在這個系統中包含了已經完成的交易單。我們還會在系統中新增尚未完成支付的,尚未確認的交易單。

很顯然,下一步的想法就是把此狀態轉移過程通用化,讓轉移函式為任意函式,可以透過任意函式實現賬本的狀態轉移,出於這種考慮,以太坊誕生了。所有密碼貨幣的發展方向都應該是這個方向的,把簡單的狀態轉移函式推廣成更復雜的函式,這個想法很不錯,我們現在有以太坊,我們有了非常複雜的方法來花錢。

下一部分,待續……。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;