0
| 本文作者: 吳陽煜 | 2018-02-05 19:27 |
雷鋒網AI金融評論按:本文譯自Medium,作者Josh Ephraim。作為一個在高校間運行的研究加密技術和區塊鏈的學術組織,伯克利區塊鏈著眼于區塊鏈技術生態領域的探討,和在社區內部的普及教育,促進創新的討論和進展,通過分析具體案例、模型構建和整合解決方案來幫助各公司從區塊鏈技術中受益。據雷鋒網AI金融評論了解,該組織成員包括近四十家專業從事區塊鏈咨詢和開發業務的機構,將伯克利社區等學界與更廣泛的區塊鏈技術生態系統連接起來。本文聚焦在數字簽名在加密技術逐漸完善的基礎上,一步步取代傳統的賬戶密碼的身份識別手段,并講解其在比特幣區塊鏈網絡中的具體應用機制。

這是加州大學伯克利分校 CS 294–144課程:區塊鏈、加密經濟學,在技術、商業和法律的未來前瞻。
比特幣是區塊鏈技術最早落地的應用案例。它的定義起源于Github上的比特幣源代碼。所以要想深入了解區塊鏈技術,我們首先需要去搞懂比特幣的區塊鏈網絡是如何運作的。
在今天,關于比特幣的未來走向,區塊鏈行業內外有著許多爭論。它到底是數字黃金(價值儲藏)還是一種全新的支付手段(交換媒介)?讓我們從創始人對它最原始的明文定義--比特幣白皮書中去找答案:
“一種純點對點版本的電子現金將允許一方在線上直接發起支付,而無需經過任何金融機構。”
--《比特幣:一種點對點電子現金系統》,by中本聰(Satoshi Nakamoto)
該如何完成中本聰提出的這一電子現金系統的設想?教授Dawn Song向我們詳細講述了其中運轉的每個零件部分。
一個完美的信任世界。在這里,用戶可以直接向他人發送電子現金用以支付。這將使得整個交易流程簡單便捷,因為沒有中間商和驗證流程的存在。但問題在于,在這個透明的世界里,隱私性和安全性將無從談起,并且在防欺詐上也將無能為力。
在現實世界中,如果有人給了你一張一美元的鈔票,對于本人而言知道自己持有這張鈔票,而旁人卻無從得知。但在線上,這樣將有可能導致一個非常重大的隱患:雙花問題(Double-Spending Problem)。在文件極易被復制和再造的前提下,如果我直接向你發送一張數字鈔票,你將沒有任何辦法分辨得出來,我給的是原始真正的鈔票,還是只是一個副本。
如果我們生活在一個完美的信任世界,我們無須擔心上述雙花問題。但在現實世界里,詐騙的風險一直存在,這使得我們必須尋找其他方法,來逐步完善線上支付。
對于大部分的用戶,他們在進行線上商務活動時會選擇一個可信第三方,來追蹤資金的歸屬。用戶通過了基于密碼驗證的身份核驗環節后登錄到一個中心化的網站,而這個中心化的網站可以對每一筆交易進行檢查,以確保每個買家在交易中都錢花出去了,并且是他們真正所有可支配的資金,并保證每一個賣家都收到了賬款。這一切都是通過中心化的賬本來實現的。
通過這個系統,用戶能夠確實能夠體驗到簡單便捷和快速的交易性能,這個可信第三方也有能力修復錯誤和取消交易。但是,它亦暴露出了不少問題:極其低下的安全性(用戶密碼有被盜的風險)、該中心化第三方的不公正性風險(該第三方會作弊或在裁定交易分歧時判決不公平),以及在隱私性保護上沒有任何針對措施(沒有任何一樣事務是完全匿名的)。
這種類型的系統有一個很好的例子:Venmo。Venmo能夠對經過它的中心化賬本發送或接收的每筆支付進行追蹤。具體到每一筆支付中,它會從買家的賬戶中扣除錢款,并將這筆錢存入賣家的賬戶。但如果你是Venmo的用戶,你首先得相信Venmo能將公平準確地處理每筆交易。
在2.0版本中,用戶開始使用數字簽名以進行身份核驗,來取代輸入用戶名和密碼的驗證方式。
使用密碼登錄的驗證方式的確顯現出了很大的便利性,但與此同時它存在著重大的安全漏洞,在安全性上很脆弱。中心化第三方實體需要花大量精力對這套驗證系統進行維護管理,然而它依然極易遭到攻擊。在過去數年里,公司被黑客入侵的事件屢見不鮮,產生了許多受害者。
由此,出現了一種替代密碼驗證的全新身份核驗手段:數字簽名。
當你在現實世界中簽下你的名字,其唯一性使得別人都知道這個簽名代表著你本人,當這個簽名與一份特定文檔綁定在一起時,例如簽署在文末,這就意味著這個簽名不能夠被用以表示你本人同意另一份文件。

比如教皇,至今仍使用如圖上的這種戒指圖章來簽署文件(更常見于幾個世紀以前)。通過將這枚戒指壓印在蠟中,圖像才能最終成形。而這個圖像,在理論上,是被公眾熟知所認為專屬于教皇的簽名(因為沒有其他人擁有這枚戒指)。
現在,我們假定有個叫Emily的人需要設置一個數字簽名,她將首先需要生成一個公鑰(Public Key,以下圖中簡稱PK)和一個秘密的私鑰(Secret Key,以下圖中簡稱SK)。公鑰就類似于教皇戒指的印記,而私鑰只有Emily自己知道,就如同是教皇的這枚戒指,只教皇一個人控制支配并從來不與其他人共享。
當Emily需要發送一段信息時,她將要將她的私鑰和這段信息一同輸入,通過應用到數學轉換后,生成了Emily在這段信息上加注的數字簽名。然后,當你接收到這段信息后,你就可以通過這個簽名以及公鑰,來檢驗這段信息是否真的是Emily用她的私鑰所簽署過的,來辨別真偽。

為什么我們需要數字簽名?出于更高安全性的考慮。當你使用私鑰進行加密后,一個中心化的第三方實體或黑客將無法偽造或篡改你的交易(除非他們設法取得了你的私鑰)。由于用戶的私鑰不是保存在這個中心化實體的服務器上,黑客在入侵這些服務器后,也無法偷得用戶的信息。也正因為如此,數字簽名還有了隱私性的保障。和以往要向中心化的第三方實體提交個人信息不同,用戶可以通過提供類似筆名的公鑰來進行身份驗證。
但無論如何,值得注意的是,用戶沒有辦法把他們的私鑰單單存儲在腦海當中,如同此前他們憑記憶保存他們的用戶名和密碼一樣。啟用私鑰后,對于個人而言,用戶還需自行對他們的私鑰進行管理。
而對于那些中心化的第三方實體來說,它們同樣需要在服務器上對公鑰進行管理。因此,因為公鑰與用戶的個人身份存在著一定的聯系,隱私性有被泄露的風險。最后,中心化的第三方實體依然有辦法實現作弊和發起任何不公平的行為,因為它們仍然掌管著這個交易所必需的中心化賬本。它們能夠隨意拒絕或不執行用戶的交易,甚至能撤回篡改交易。
在這個版本中,用戶依然可以在每筆交易中簽署添加數字簽名。用戶依然需要對自己想私鑰進行保管,而公鑰依然存儲在中心化的第三方實體那里。并且,這些實體依然管理著賬本。
但有所不同的是,這些中心化的第三方實體每十分鐘就需要將數字簽名應用到成批次(加上以往批次)的交易當中,這些就被稱作是“區塊”(Blocks)。
一個區塊就是一批次交易加上數字簽名的集合。而整個鏈條則包括了一段時間內的所有交易。這就是為什么它被稱作為“區塊鏈”的原因。
相對2.0版本來說,這是一個很大的提升和進步,因為第三方實體不再能夠罔顧事實刪除交易數據,或面對不同的用戶提供不同的批次交易。但由于賬本仍然是中心化的,中心化的第三方實體依舊可以任意拒絕或發布交易。
在以往我們討論過,過度信任這樣一個中心化的實體會產生什么問題。銀行可能會走向倒閉,政府會對貿易活動進行限制,還會凍結資產,甚至會引發惡性的通貨膨脹。所以如果公眾可以在交易中有所創新,無需信任中心化的第三方實體,這將是一件偉大的事情。
在比特幣的區塊鏈網絡里,用戶可以實現真正的隱私性保護(他們的身份對應于密鑰),每筆交易在簽署數字簽名后在區塊鏈上發布進行。最大的區別在于,賬本是完全去中心化的。
實現了完全的去中心化,意味著整個社區都在記錄維持著純公共化的賬本,由此沒有任何一個單獨的組織能夠對交易進行限制。而在區塊鏈上,對這個公共賬本進行記錄維持和驗證的途徑就是挖礦。網絡通過制定一名參與者的方式來對區塊上的交易進行排序。所有的礦工彼此競爭,都希望成為這一個對交易進行排序的唯一玩家,原因在于這個幸運的勝出者將由于創造了下一個區塊而獲得了額外比特幣的獎勵,這些獎勵由系統產出(通常來說,每位礦工的獎勵為12.5比特幣)。
Professor Song 將挖礦形容為“哈希老虎機”。一個哈希函數通過特定的輸入后,應用于函數轉換后生成一個單獨的隨機的輸出結果。誰最快找到這個正確的輸出結果,就得到創造下一個區塊的權力,也就贏得了這筆獎勵。從這點來看,挖礦的確是碰運氣的事,就像買彩票一樣。

值得注意的是,哈希函數有幾個重要的性質:
抗原像性(Pre-image resistance):給定一個輸入后,從計算機科學的角度來講很難去確定一個輸出。
抗碰撞性(Collision resistance):非常困難實現兩個不同的輸入得到同樣的輸出。
確定性(Deterministic):給定輸入的輸出總是同樣的結果。
看起來隨機。
隱藏有關輸入的信息。
所以,礦工們的挖礦機器計算哈希函數的速度越快,成為第一個挖得下一個區塊的可能性就越高。這就是工作量證明(proof of work )系統。無論是誰,只要投入了最多的算力都將被賦予挖掘下一個區塊的權力,和得到系統獎勵的比特幣。而挖掘出來新的區塊包含了上一個區塊的哈希值和交易信息,以及被稱為“nonce”的隨機數(勝者的中獎彩票券:一串提供理想哈希值的數字,賦予了礦工創造下一個區塊的權力)。


(如圖所示,綠色區塊是創世區塊。黑色區塊鏈條是被大眾所接受的鏈條,故紫色鏈條即遭廢棄。)
當礦工們同時找到了同一個區塊,就會發生分叉現象(Fork)。這種情況經常發生,而更長的鏈條將會勝出。更長的鏈條也是承載了最多工作量的鏈條,緊接著后續的區塊就會被添加到這條鏈上,而另一條鏈就遭廢棄。在廢棄區塊中被寫入的交易在之后將會被添加到勝出的區塊鏈網絡中。
區塊鏈是嚴格排序的信息序列。
寫入區塊的權限是基于區塊鏈網絡設定的規則,而讀取的權限是全球性的。
沒有信息可以被修改(不可篡改性)。
沒有中間商。
更加透明化。
理論上,交易效率可以被優化提升,并像傳統金融工具一樣進行清算和結算。
Professor Song將區塊鏈形容為具有一致性的分布式公告牌(每個服務器得到的結果一致),同時具有可用性(新出現的交易處理效率更高)。但區塊鏈所蘊含的潛在優點遠不止此。分布式系統要實施正常運轉非常困難,比特幣也還實現低交易費用、高交易效率的性能,也尚未成為一種真正的價值儲藏、交換媒介或賬戶單位。
他最后引用這樣一句話作為結束:
在一個分布式系統中,你的電腦可能會因為一個甚至你都沒有意識到存在的計算機故障而導致癱瘓。
--Leslie Lamport(圖靈獎得主,計算機科學家),1987
雷鋒網

雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。