比特幣價格起起落落, 拉起一條引人注目的瘋長行情, 區塊鏈也因此被推上了風口浪尖。 新玩家不斷進場, 你也躍躍欲試——不過等等, 比特幣是什麼?
“買10台挖掘機挖比特幣”、“高價收藏實體比特幣”之類的情況只是笑話, 那麼把區塊鏈當噱頭的傳銷組織呢?只能讓人歎息犯罪者的無孔不入了——不過等等, 區塊鏈是什麼?
吃著瓜也好,
吃著瓜子也好,
到底怎麼理解區塊鏈和區塊鏈數位貨幣(比特幣)呢?本文將分成兩個部分來拆解這些問題:第一部分,
區塊鏈和比特幣到底是什麼;第二部分,
比特幣有什麼可被攻破的“死穴”。
本篇內容供初次接觸比特幣和區塊鏈的讀者閱讀, 你不需要有什麼數學和電腦知識。
核心功能以下段落中遊戲指代比特幣和區塊鏈網路, 而玩家即遊戲的參與者。
1.比特幣
比特幣網路由許多台電腦連接而成, 每個玩家在自己的電腦上安裝了比特幣用戶端,
這樣問題就來了:如何確定一個比特幣的合法主人是誰呢?如果別人偽裝成我付錢, 安全又該如何保障?
別急, 下面就要介紹保護比特幣的安全的電子簽名和區塊鏈了。
2.電子簽名
比特幣並沒有實體貨幣, 賣實體收藏幣的騙局就莫要再信了!
遊戲中每個玩家都可以擁有幾個“錢包”, 錢包裡面當然是錢啦。 但錢包是不記名的, 使用電子簽名來識別和保護玩家。 電子簽名的作用是證明:錢包是你的, 你有權從錢包裡面花錢。
電子簽名分為兩部分, 一部分是公開金鑰, 一部分是私密金鑰。 在其他玩家看來,
3.區塊鏈
電子錢如果只是一個虛擬數字, 任何玩家都能隨便修改, 這肯定是不行的。 區塊鏈就是防止憑空造錢的武器, 同時也能防止一筆錢被惡意花了兩次。
遊戲將所有交易串起來構成一個集中帳本, 這個帳本包含了從第一筆交易開始的所有帳目, 也就是一個交易鏈, 這樣遊戲就能知道每個錢包的餘額。
但是這個帳本存在哪裡呢?因為遊戲不存在一個中心管理者, 是去中心化的, 所以原則上每一個玩家都有一個帳本的拷貝。 當新的交易發生, 這筆交易會廣播給其他玩家, 同時核對帳本, 把新交易計入到帳本拷貝裡。 如果你試圖通過偽造帳本獲利, 那麼你和其他玩家的帳本就會不一樣, 交易時一核對, 偽造就暴露無遺。 所以說, 理論上每一筆交易都要得到所有玩家的確認,每個玩家都有責任保障系統的安全。
但是實際上這很難做到,確認操作只能由一部分玩家來完成。這就給惡意玩家創造了機會,他們可以篡改和偽造自己的帳本拷貝,引起混亂。因此要設計一個機制增加偽造帳本的難度,同時也能容易識別出偽造的帳本。
4.雜湊演算法
這種防止偽造的方法就是雜湊演算法。雜湊演算法能將任意原始資料,不管是圖片還是文字,對應到特定的數位,這個數位稱為雜湊值。要是資料被篡改,算出來的雜湊值就會改變,因此識別偽造和防止偽造的問題都能解決了。(BT下載時用到的 MD5 碼就是一種雜湊值,用於驗證下載下來的視頻沒有被篡改、被植入病毒什麼的。)
某比特幣礦場雜湊演算法有個伴隨的缺點,要產生不那麼容易偽造的雜湊值,需要消耗很多電腦資源,並不會有人自願這麼做。遊戲用獎勵貨幣的方式鼓勵一些玩家來計算雜湊值,他們就被稱為礦工。幾筆時間接近的交易會被合在一起組成區塊鏈的一個區塊來計算雜湊值,保證帳本難以篡改。
當然,只要惡意礦工的算力超過一半的礦工,他就仍舊可以偽造帳本,然後重新計算所有帳目的雜湊值,讓其他礦工複製他的帳本。只是隨著礦工越來越多,這種事情也越不可能發生。
什麼是比特幣的“死穴”?破解比特幣的思路,就是嘗試尋找核心功能的弱點。比如:
攻擊電子簽名演算法:偷別人錢包裡的錢;
攻擊區塊鏈:增加其他礦工的成本,讓礦工變少,讓自己能得到更多的獎勵,或者嘗試控制絕大多數礦工,從而能惡意修改帳本。
這些攻擊有可能通過哪些手段來實施呢?
1.量子計算
量子電腦比傳統電腦算得更快,2016年谷歌聯合NASA建造了比普通電腦快1億倍的量子電腦,當然目前為止這項技術還停留在實驗階段。
電子簽名技術使用的公開金鑰加密演算法,比較容易被量子電腦攻破,惡意玩家能嘗試偽造錢包偷別人的錢用。比特幣技術的維護者們考慮到了這個問題,雖然目前絕大多數電子簽名演算法都有失效的可能,但是還是有一種稱為Lamport 簽名演算法能抵抗量子攻擊。
量子電腦的算力驚人,但是要破解雜湊演算法還是比較困難的,因此靠量子電腦偽造帳本仍然不太可能。而且由於錢包也經過雜湊演算法加密過,所以實際上惡意玩家也不容易偷別人的錢。據估計,攻破雜湊演算法的量子電腦需要1500多個量子比特,目前的技術也只能到100多個量子比特的程度。
雖然量子電腦聽起來是個可怕的對手,但是只有IBM、穀歌這樣的大公司才有足夠的財力和人力來開發和使用,惡意玩家使用量子電腦的可能性很低。
當然,比特幣只是區塊鏈電子錢當中最有名的一種。很多後來崛起的電子錢在設計上加入了抗量子計算,比如設立於2015年的IOTA。量子電腦破解電子錢的可能性並不算高。
2.趕走競爭者
惡意礦工也可能嘗試獨佔所有的獎勵,嘗試控制遊戲改寫帳本給自己憑空創造錢。想要這麼做,他可能就需要趕走其他礦工。如何做呢?
他可以嘗試讓其他礦主買不起挖礦的硬體。他可以嘗試增加電能的成本讓別的礦工的開銷增加。他可以增加網路成本,讓自己的網路速度比別人快很多,或者惡意讓他人的網路速度下降,或者讓他人網路裡無法傳輸比特幣交易資料。美國最近取消了“網路中立”,就會引起類似的問題。
總的來說,就是增加其他人的成本。這樣,擁有更多的計算資源、更大的網路頻寬、能付得起電費的玩家才能繼續挖礦,也更有機會掌控整個遊戲。但是這樣的操作需要足夠的金錢資源支撐,並不容易做到。
3.打擊信心
除了技術方面的手段外,還有就是打擊用比特幣進行實際消費的消費者的信心,主要是打擊比特幣的信用。
遊戲的匿名性雖然有助於防止個人隱私洩漏,卻也容易助長黑市交易。不合理技術的使用,也會給龐氏騙局提供便利。但是使用在智慧電網、物流系統這類工業基礎設施上,區塊鏈技術就給能使用者帶來福利,這需要大公司的投入和支持。換名話說,好的工具要用在好的地方。
與此同時,挖礦成本的增加已經成為一個氣候變化問題,預計2017年消耗的電量已經占全球發電量的0.19%,預計在2019年其耗電量將會超過美國一年的耗電量。一次比特幣交易耗費的電能,足以供8戶美國普通家庭用一天。不過,在這一點上,未來的預期是比特幣挖礦的收益將慢慢變成零,參與挖礦的使用者會減少,另外硬體也會被設計得更省電,兩者都會減少能耗。
理論上每一筆交易都要得到所有玩家的確認,每個玩家都有責任保障系統的安全。
但是實際上這很難做到,確認操作只能由一部分玩家來完成。這就給惡意玩家創造了機會,他們可以篡改和偽造自己的帳本拷貝,引起混亂。因此要設計一個機制增加偽造帳本的難度,同時也能容易識別出偽造的帳本。
4.雜湊演算法
這種防止偽造的方法就是雜湊演算法。雜湊演算法能將任意原始資料,不管是圖片還是文字,對應到特定的數位,這個數位稱為雜湊值。要是資料被篡改,算出來的雜湊值就會改變,因此識別偽造和防止偽造的問題都能解決了。(BT下載時用到的 MD5 碼就是一種雜湊值,用於驗證下載下來的視頻沒有被篡改、被植入病毒什麼的。)
某比特幣礦場雜湊演算法有個伴隨的缺點,要產生不那麼容易偽造的雜湊值,需要消耗很多電腦資源,並不會有人自願這麼做。遊戲用獎勵貨幣的方式鼓勵一些玩家來計算雜湊值,他們就被稱為礦工。幾筆時間接近的交易會被合在一起組成區塊鏈的一個區塊來計算雜湊值,保證帳本難以篡改。
當然,只要惡意礦工的算力超過一半的礦工,他就仍舊可以偽造帳本,然後重新計算所有帳目的雜湊值,讓其他礦工複製他的帳本。只是隨著礦工越來越多,這種事情也越不可能發生。
什麼是比特幣的“死穴”?破解比特幣的思路,就是嘗試尋找核心功能的弱點。比如:
攻擊電子簽名演算法:偷別人錢包裡的錢;
攻擊區塊鏈:增加其他礦工的成本,讓礦工變少,讓自己能得到更多的獎勵,或者嘗試控制絕大多數礦工,從而能惡意修改帳本。
這些攻擊有可能通過哪些手段來實施呢?
1.量子計算
量子電腦比傳統電腦算得更快,2016年谷歌聯合NASA建造了比普通電腦快1億倍的量子電腦,當然目前為止這項技術還停留在實驗階段。
電子簽名技術使用的公開金鑰加密演算法,比較容易被量子電腦攻破,惡意玩家能嘗試偽造錢包偷別人的錢用。比特幣技術的維護者們考慮到了這個問題,雖然目前絕大多數電子簽名演算法都有失效的可能,但是還是有一種稱為Lamport 簽名演算法能抵抗量子攻擊。
量子電腦的算力驚人,但是要破解雜湊演算法還是比較困難的,因此靠量子電腦偽造帳本仍然不太可能。而且由於錢包也經過雜湊演算法加密過,所以實際上惡意玩家也不容易偷別人的錢。據估計,攻破雜湊演算法的量子電腦需要1500多個量子比特,目前的技術也只能到100多個量子比特的程度。
雖然量子電腦聽起來是個可怕的對手,但是只有IBM、穀歌這樣的大公司才有足夠的財力和人力來開發和使用,惡意玩家使用量子電腦的可能性很低。
當然,比特幣只是區塊鏈電子錢當中最有名的一種。很多後來崛起的電子錢在設計上加入了抗量子計算,比如設立於2015年的IOTA。量子電腦破解電子錢的可能性並不算高。
2.趕走競爭者
惡意礦工也可能嘗試獨佔所有的獎勵,嘗試控制遊戲改寫帳本給自己憑空創造錢。想要這麼做,他可能就需要趕走其他礦工。如何做呢?
他可以嘗試讓其他礦主買不起挖礦的硬體。他可以嘗試增加電能的成本讓別的礦工的開銷增加。他可以增加網路成本,讓自己的網路速度比別人快很多,或者惡意讓他人的網路速度下降,或者讓他人網路裡無法傳輸比特幣交易資料。美國最近取消了“網路中立”,就會引起類似的問題。
總的來說,就是增加其他人的成本。這樣,擁有更多的計算資源、更大的網路頻寬、能付得起電費的玩家才能繼續挖礦,也更有機會掌控整個遊戲。但是這樣的操作需要足夠的金錢資源支撐,並不容易做到。
3.打擊信心
除了技術方面的手段外,還有就是打擊用比特幣進行實際消費的消費者的信心,主要是打擊比特幣的信用。
遊戲的匿名性雖然有助於防止個人隱私洩漏,卻也容易助長黑市交易。不合理技術的使用,也會給龐氏騙局提供便利。但是使用在智慧電網、物流系統這類工業基礎設施上,區塊鏈技術就給能使用者帶來福利,這需要大公司的投入和支持。換名話說,好的工具要用在好的地方。
與此同時,挖礦成本的增加已經成為一個氣候變化問題,預計2017年消耗的電量已經占全球發電量的0.19%,預計在2019年其耗電量將會超過美國一年的耗電量。一次比特幣交易耗費的電能,足以供8戶美國普通家庭用一天。不過,在這一點上,未來的預期是比特幣挖礦的收益將慢慢變成零,參與挖礦的使用者會減少,另外硬體也會被設計得更省電,兩者都會減少能耗。