0
本文作者: 吳陽煜 | 2018-02-05 19:27 |
雷鋒網(wǎng)AI金融評論按:本文譯自Medium,作者Josh Ephraim。作為一個(gè)在高校間運(yùn)行的研究加密技術(shù)和區(qū)塊鏈的學(xué)術(shù)組織,伯克利區(qū)塊鏈著眼于區(qū)塊鏈技術(shù)生態(tài)領(lǐng)域的探討,和在社區(qū)內(nèi)部的普及教育,促進(jìn)創(chuàng)新的討論和進(jìn)展,通過分析具體案例、模型構(gòu)建和整合解決方案來幫助各公司從區(qū)塊鏈技術(shù)中受益。據(jù)雷鋒網(wǎng)AI金融評論了解,該組織成員包括近四十家專業(yè)從事區(qū)塊鏈咨詢和開發(fā)業(yè)務(wù)的機(jī)構(gòu),將伯克利社區(qū)等學(xué)界與更廣泛的區(qū)塊鏈技術(shù)生態(tài)系統(tǒng)連接起來。本文聚焦在數(shù)字簽名在加密技術(shù)逐漸完善的基礎(chǔ)上,一步步取代傳統(tǒng)的賬戶密碼的身份識別手段,并講解其在比特幣區(qū)塊鏈網(wǎng)絡(luò)中的具體應(yīng)用機(jī)制。
這是加州大學(xué)伯克利分校 CS 294–144課程:區(qū)塊鏈、加密經(jīng)濟(jì)學(xué),在技術(shù)、商業(yè)和法律的未來前瞻。
比特幣是區(qū)塊鏈技術(shù)最早落地的應(yīng)用案例。它的定義起源于Github上的比特幣源代碼。所以要想深入了解區(qū)塊鏈技術(shù),我們首先需要去搞懂比特幣的區(qū)塊鏈網(wǎng)絡(luò)是如何運(yùn)作的。
在今天,關(guān)于比特幣的未來走向,區(qū)塊鏈行業(yè)內(nèi)外有著許多爭論。它到底是數(shù)字黃金(價(jià)值儲(chǔ)藏)還是一種全新的支付手段(交換媒介)?讓我們從創(chuàng)始人對它最原始的明文定義--比特幣白皮書中去找答案:
“一種純點(diǎn)對點(diǎn)版本的電子現(xiàn)金將允許一方在線上直接發(fā)起支付,而無需經(jīng)過任何金融機(jī)構(gòu)?!?/p>
--《比特幣:一種點(diǎn)對點(diǎn)電子現(xiàn)金系統(tǒng)》,by中本聰(Satoshi Nakamoto)
該如何完成中本聰提出的這一電子現(xiàn)金系統(tǒng)的設(shè)想?教授Dawn Song向我們詳細(xì)講述了其中運(yùn)轉(zhuǎn)的每個(gè)零件部分。
一個(gè)完美的信任世界。在這里,用戶可以直接向他人發(fā)送電子現(xiàn)金用以支付。這將使得整個(gè)交易流程簡單便捷,因?yàn)闆]有中間商和驗(yàn)證流程的存在。但問題在于,在這個(gè)透明的世界里,隱私性和安全性將無從談起,并且在防欺詐上也將無能為力。
在現(xiàn)實(shí)世界中,如果有人給了你一張一美元的鈔票,對于本人而言知道自己持有這張鈔票,而旁人卻無從得知。但在線上,這樣將有可能導(dǎo)致一個(gè)非常重大的隱患:雙花問題(Double-Spending Problem)。在文件極易被復(fù)制和再造的前提下,如果我直接向你發(fā)送一張數(shù)字鈔票,你將沒有任何辦法分辨得出來,我給的是原始真正的鈔票,還是只是一個(gè)副本。
如果我們生活在一個(gè)完美的信任世界,我們無須擔(dān)心上述雙花問題。但在現(xiàn)實(shí)世界里,詐騙的風(fēng)險(xiǎn)一直存在,這使得我們必須尋找其他方法,來逐步完善線上支付。
對于大部分的用戶,他們在進(jìn)行線上商務(wù)活動(dòng)時(shí)會(huì)選擇一個(gè)可信第三方,來追蹤資金的歸屬。用戶通過了基于密碼驗(yàn)證的身份核驗(yàn)環(huán)節(jié)后登錄到一個(gè)中心化的網(wǎng)站,而這個(gè)中心化的網(wǎng)站可以對每一筆交易進(jìn)行檢查,以確保每個(gè)買家在交易中都錢花出去了,并且是他們真正所有可支配的資金,并保證每一個(gè)賣家都收到了賬款。這一切都是通過中心化的賬本來實(shí)現(xiàn)的。
通過這個(gè)系統(tǒng),用戶能夠確實(shí)能夠體驗(yàn)到簡單便捷和快速的交易性能,這個(gè)可信第三方也有能力修復(fù)錯(cuò)誤和取消交易。但是,它亦暴露出了不少問題:極其低下的安全性(用戶密碼有被盜的風(fēng)險(xiǎn))、該中心化第三方的不公正性風(fēng)險(xiǎn)(該第三方會(huì)作弊或在裁定交易分歧時(shí)判決不公平),以及在隱私性保護(hù)上沒有任何針對措施(沒有任何一樣事務(wù)是完全匿名的)。
這種類型的系統(tǒng)有一個(gè)很好的例子:Venmo。Venmo能夠?qū)?jīng)過它的中心化賬本發(fā)送或接收的每筆支付進(jìn)行追蹤。具體到每一筆支付中,它會(huì)從買家的賬戶中扣除錢款,并將這筆錢存入賣家的賬戶。但如果你是Venmo的用戶,你首先得相信Venmo能將公平準(zhǔn)確地處理每筆交易。
在2.0版本中,用戶開始使用數(shù)字簽名以進(jìn)行身份核驗(yàn),來取代輸入用戶名和密碼的驗(yàn)證方式。
使用密碼登錄的驗(yàn)證方式的確顯現(xiàn)出了很大的便利性,但與此同時(shí)它存在著重大的安全漏洞,在安全性上很脆弱。中心化第三方實(shí)體需要花大量精力對這套驗(yàn)證系統(tǒng)進(jìn)行維護(hù)管理,然而它依然極易遭到攻擊。在過去數(shù)年里,公司被黑客入侵的事件屢見不鮮,產(chǎn)生了許多受害者。
由此,出現(xiàn)了一種替代密碼驗(yàn)證的全新身份核驗(yàn)手段:數(shù)字簽名。
當(dāng)你在現(xiàn)實(shí)世界中簽下你的名字,其唯一性使得別人都知道這個(gè)簽名代表著你本人,當(dāng)這個(gè)簽名與一份特定文檔綁定在一起時(shí),例如簽署在文末,這就意味著這個(gè)簽名不能夠被用以表示你本人同意另一份文件。
比如教皇,至今仍使用如圖上的這種戒指圖章來簽署文件(更常見于幾個(gè)世紀(jì)以前)。通過將這枚戒指壓印在蠟中,圖像才能最終成形。而這個(gè)圖像,在理論上,是被公眾熟知所認(rèn)為專屬于教皇的簽名(因?yàn)闆]有其他人擁有這枚戒指)。
現(xiàn)在,我們假定有個(gè)叫Emily的人需要設(shè)置一個(gè)數(shù)字簽名,她將首先需要生成一個(gè)公鑰(Public Key,以下圖中簡稱PK)和一個(gè)秘密的私鑰(Secret Key,以下圖中簡稱SK)。公鑰就類似于教皇戒指的印記,而私鑰只有Emily自己知道,就如同是教皇的這枚戒指,只教皇一個(gè)人控制支配并從來不與其他人共享。
當(dāng)Emily需要發(fā)送一段信息時(shí),她將要將她的私鑰和這段信息一同輸入,通過應(yīng)用到數(shù)學(xué)轉(zhuǎn)換后,生成了Emily在這段信息上加注的數(shù)字簽名。然后,當(dāng)你接收到這段信息后,你就可以通過這個(gè)簽名以及公鑰,來檢驗(yàn)這段信息是否真的是Emily用她的私鑰所簽署過的,來辨別真?zhèn)巍?/p>
為什么我們需要數(shù)字簽名?出于更高安全性的考慮。當(dāng)你使用私鑰進(jìn)行加密后,一個(gè)中心化的第三方實(shí)體或黑客將無法偽造或篡改你的交易(除非他們設(shè)法取得了你的私鑰)。由于用戶的私鑰不是保存在這個(gè)中心化實(shí)體的服務(wù)器上,黑客在入侵這些服務(wù)器后,也無法偷得用戶的信息。也正因?yàn)槿绱?,?shù)字簽名還有了隱私性的保障。和以往要向中心化的第三方實(shí)體提交個(gè)人信息不同,用戶可以通過提供類似筆名的公鑰來進(jìn)行身份驗(yàn)證。
但無論如何,值得注意的是,用戶沒有辦法把他們的私鑰單單存儲(chǔ)在腦海當(dāng)中,如同此前他們憑記憶保存他們的用戶名和密碼一樣。啟用私鑰后,對于個(gè)人而言,用戶還需自行對他們的私鑰進(jìn)行管理。
而對于那些中心化的第三方實(shí)體來說,它們同樣需要在服務(wù)器上對公鑰進(jìn)行管理。因此,因?yàn)楣€與用戶的個(gè)人身份存在著一定的聯(lián)系,隱私性有被泄露的風(fēng)險(xiǎn)。最后,中心化的第三方實(shí)體依然有辦法實(shí)現(xiàn)作弊和發(fā)起任何不公平的行為,因?yàn)樗鼈內(nèi)匀徽乒苤@個(gè)交易所必需的中心化賬本。它們能夠隨意拒絕或不執(zhí)行用戶的交易,甚至能撤回篡改交易。
在這個(gè)版本中,用戶依然可以在每筆交易中簽署添加數(shù)字簽名。用戶依然需要對自己想私鑰進(jìn)行保管,而公鑰依然存儲(chǔ)在中心化的第三方實(shí)體那里。并且,這些實(shí)體依然管理著賬本。
但有所不同的是,這些中心化的第三方實(shí)體每十分鐘就需要將數(shù)字簽名應(yīng)用到成批次(加上以往批次)的交易當(dāng)中,這些就被稱作是“區(qū)塊”(Blocks)。
一個(gè)區(qū)塊就是一批次交易加上數(shù)字簽名的集合。而整個(gè)鏈條則包括了一段時(shí)間內(nèi)的所有交易。這就是為什么它被稱作為“區(qū)塊鏈”的原因。
相對2.0版本來說,這是一個(gè)很大的提升和進(jìn)步,因?yàn)榈谌綄?shí)體不再能夠罔顧事實(shí)刪除交易數(shù)據(jù),或面對不同的用戶提供不同的批次交易。但由于賬本仍然是中心化的,中心化的第三方實(shí)體依舊可以任意拒絕或發(fā)布交易。
在以往我們討論過,過度信任這樣一個(gè)中心化的實(shí)體會(huì)產(chǎn)生什么問題。銀行可能會(huì)走向倒閉,政府會(huì)對貿(mào)易活動(dòng)進(jìn)行限制,還會(huì)凍結(jié)資產(chǎn),甚至?xí)l(fā)惡性的通貨膨脹。所以如果公眾可以在交易中有所創(chuàng)新,無需信任中心化的第三方實(shí)體,這將是一件偉大的事情。
在比特幣的區(qū)塊鏈網(wǎng)絡(luò)里,用戶可以實(shí)現(xiàn)真正的隱私性保護(hù)(他們的身份對應(yīng)于密鑰),每筆交易在簽署數(shù)字簽名后在區(qū)塊鏈上發(fā)布進(jìn)行。最大的區(qū)別在于,賬本是完全去中心化的。
實(shí)現(xiàn)了完全的去中心化,意味著整個(gè)社區(qū)都在記錄維持著純公共化的賬本,由此沒有任何一個(gè)單獨(dú)的組織能夠?qū)灰走M(jìn)行限制。而在區(qū)塊鏈上,對這個(gè)公共賬本進(jìn)行記錄維持和驗(yàn)證的途徑就是挖礦。網(wǎng)絡(luò)通過制定一名參與者的方式來對區(qū)塊上的交易進(jìn)行排序。所有的礦工彼此競爭,都希望成為這一個(gè)對交易進(jìn)行排序的唯一玩家,原因在于這個(gè)幸運(yùn)的勝出者將由于創(chuàng)造了下一個(gè)區(qū)塊而獲得了額外比特幣的獎(jiǎng)勵(lì),這些獎(jiǎng)勵(lì)由系統(tǒng)產(chǎn)出(通常來說,每位礦工的獎(jiǎng)勵(lì)為12.5比特幣)。
Professor Song 將挖礦形容為“哈希老虎機(jī)”。一個(gè)哈希函數(shù)通過特定的輸入后,應(yīng)用于函數(shù)轉(zhuǎn)換后生成一個(gè)單獨(dú)的隨機(jī)的輸出結(jié)果。誰最快找到這個(gè)正確的輸出結(jié)果,就得到創(chuàng)造下一個(gè)區(qū)塊的權(quán)力,也就贏得了這筆獎(jiǎng)勵(lì)。從這點(diǎn)來看,挖礦的確是碰運(yùn)氣的事,就像買彩票一樣。
值得注意的是,哈希函數(shù)有幾個(gè)重要的性質(zhì):
抗原像性(Pre-image resistance):給定一個(gè)輸入后,從計(jì)算機(jī)科學(xué)的角度來講很難去確定一個(gè)輸出。
抗碰撞性(Collision resistance):非常困難實(shí)現(xiàn)兩個(gè)不同的輸入得到同樣的輸出。
確定性(Deterministic):給定輸入的輸出總是同樣的結(jié)果。
看起來隨機(jī)。
隱藏有關(guān)輸入的信息。
所以,礦工們的挖礦機(jī)器計(jì)算哈希函數(shù)的速度越快,成為第一個(gè)挖得下一個(gè)區(qū)塊的可能性就越高。這就是工作量證明(proof of work )系統(tǒng)。無論是誰,只要投入了最多的算力都將被賦予挖掘下一個(gè)區(qū)塊的權(quán)力,和得到系統(tǒng)獎(jiǎng)勵(lì)的比特幣。而挖掘出來新的區(qū)塊包含了上一個(gè)區(qū)塊的哈希值和交易信息,以及被稱為“nonce”的隨機(jī)數(shù)(勝者的中獎(jiǎng)彩票券:一串提供理想哈希值的數(shù)字,賦予了礦工創(chuàng)造下一個(gè)區(qū)塊的權(quán)力)。
(如圖所示,綠色區(qū)塊是創(chuàng)世區(qū)塊。黑色區(qū)塊鏈條是被大眾所接受的鏈條,故紫色鏈條即遭廢棄。)
當(dāng)?shù)V工們同時(shí)找到了同一個(gè)區(qū)塊,就會(huì)發(fā)生分叉現(xiàn)象(Fork)。這種情況經(jīng)常發(fā)生,而更長的鏈條將會(huì)勝出。更長的鏈條也是承載了最多工作量的鏈條,緊接著后續(xù)的區(qū)塊就會(huì)被添加到這條鏈上,而另一條鏈就遭廢棄。在廢棄區(qū)塊中被寫入的交易在之后將會(huì)被添加到勝出的區(qū)塊鏈網(wǎng)絡(luò)中。
區(qū)塊鏈?zhǔn)菄?yán)格排序的信息序列。
寫入?yún)^(qū)塊的權(quán)限是基于區(qū)塊鏈網(wǎng)絡(luò)設(shè)定的規(guī)則,而讀取的權(quán)限是全球性的。
沒有信息可以被修改(不可篡改性)。
沒有中間商。
更加透明化。
理論上,交易效率可以被優(yōu)化提升,并像傳統(tǒng)金融工具一樣進(jìn)行清算和結(jié)算。
Professor Song將區(qū)塊鏈形容為具有一致性的分布式公告牌(每個(gè)服務(wù)器得到的結(jié)果一致),同時(shí)具有可用性(新出現(xiàn)的交易處理效率更高)。但區(qū)塊鏈所蘊(yùn)含的潛在優(yōu)點(diǎn)遠(yuǎn)不止此。分布式系統(tǒng)要實(shí)施正常運(yùn)轉(zhuǎn)非常困難,比特幣也還實(shí)現(xiàn)低交易費(fèi)用、高交易效率的性能,也尚未成為一種真正的價(jià)值儲(chǔ)藏、交換媒介或賬戶單位。
他最后引用這樣一句話作為結(jié)束:
在一個(gè)分布式系統(tǒng)中,你的電腦可能會(huì)因?yàn)橐粋€(gè)甚至你都沒有意識到存在的計(jì)算機(jī)故障而導(dǎo)致癱瘓。
--Leslie Lamport(圖靈獎(jiǎng)得主,計(jì)算機(jī)科學(xué)家),1987
雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。