本月早些時候,一位開發(fā)者提出了一種新的比特幣可伸縮性解決方案,它利用了零知識證明加密技術(shù)。
該可伸縮性方案結(jié)合了加密貨幣項(xiàng)目Coda和零知識證明中開發(fā)和實(shí)現(xiàn)的各個方面,從而支持一種創(chuàng)新類型的比特幣客戶端。運(yùn)行此實(shí)現(xiàn)的客戶端將能夠在理論上實(shí)時同步和驗(yàn)證整個鏈,并且無論事務(wù)數(shù)量如何,數(shù)據(jù)大小都是恒定的,并且具有幾乎即時速度的完全驗(yàn)證安全性。
此外,新提議無需對現(xiàn)有的比特幣軟件進(jìn)行任何修改就可以實(shí)現(xiàn),如果成功,將消除當(dāng)前比特幣社區(qū)普遍存在的許多規(guī)模問題。
一個快速入門
比特幣規(guī)模之爭一直是一個長篇大論、似乎永無休止的問題。有證據(jù)表明,中本聰甚至在推出比特幣網(wǎng)絡(luò)之前就提出了規(guī)模擴(kuò)張的擔(dān)憂。
2008年,當(dāng)中本聰?shù)谝淮蜗蛎艽a學(xué)郵件列表宣布他的項(xiàng)目時,一個叫James Donald的加拿大密碼學(xué)朋克第一個評論并表達(dá)了他對中本聰提出的系統(tǒng)似乎規(guī)模不大的擔(dān)憂。Donald對此的評論是:“我們非常、非常需要這樣一個系統(tǒng),但在我看來,你的提案似乎沒有達(dá)到要求的規(guī)模。為了及時發(fā)現(xiàn)和拒絕雙重支出事件,交易必須大部分實(shí)現(xiàn),這要求每個對等點(diǎn)有大多數(shù)過去的交易數(shù)據(jù),或最近發(fā)生的大多數(shù)過去的交易數(shù)據(jù)。如果數(shù)以億計(jì)的人在做交易,那就需要很大的帶寬——因?yàn)槊總€人都必須知道所有的信息或者至少是其中的很大一部分。
簡而言之,這是今天關(guān)于可伸縮性爭論的主要前提。當(dāng)時,中本聰對Donald的回應(yīng)是:“早在網(wǎng)絡(luò)達(dá)到如此大的規(guī)模之前,用戶就可以使用簡化的支付驗(yàn)證來檢查雙重支出,這只需要擁有區(qū)塊頭鏈,即每天12kB左右?!?/p>
中本聰?shù)姆磻?yīng)被廣泛引用作為證據(jù),證明他相信鏈上擴(kuò)展將是網(wǎng)絡(luò)的一個可行的解決方案。
然而,盡管中本聰被認(rèn)可了這種鏈上擴(kuò)展模式,但該社區(qū)一直未能就該問題達(dá)成共識。因此硬分叉導(dǎo)致了替代幣比特幣的誕生。
鏈外伸縮解決方案需要權(quán)益信任,而鏈內(nèi)解決方案則需要過多的空間,甚至可能是不可持續(xù)的空間。然而,如果有一種替代方案可以有效地?cái)U(kuò)大比特幣網(wǎng)絡(luò),而不需要像現(xiàn)在這樣改變底層代碼,那會怎樣呢?
如果有一種方法可以使完全驗(yàn)證鏈狀態(tài)的過程比權(quán)益信任更有效,該怎么辦?
Coda連接
要充分理解這個方案,首先要參考Coda項(xiàng)目。Coda是一個加密貨幣項(xiàng)目,目的是提供一個區(qū)塊鏈,無論處理的事務(wù)數(shù)量或網(wǎng)絡(luò)上的用戶數(shù)量如何,區(qū)塊鏈都保持不變。
Coda優(yōu)先考慮去中心化和可伸縮性。由于其區(qū)塊鏈的狀態(tài)較小且恒定,因此支持大量客戶機(jī),并且可以在Coda區(qū)塊鏈上運(yùn)行驗(yàn)證節(jié)點(diǎn)。這也適用于通常存儲容量非常小的移動客戶機(jī)。
Coda協(xié)議聲稱“將整個區(qū)塊鏈壓縮成一個只有幾條tweet大小的小快照”。協(xié)議通過使用遞歸的零知識證明來實(shí)現(xiàn)這一點(diǎn)。
零知識證明是一種支持隱私的加密工具。這與其他加密函數(shù)類似。但是,與它們的對等項(xiàng)不同的是,在零知識證明中,證明以及從函數(shù)生成的輸出足以驗(yàn)證函數(shù)是真實(shí)執(zhí)行的。
之所以用這種方式引用零知識證明,是因?yàn)轵?yàn)證者必須不能訪問輸入來量化函數(shù)的執(zhí)行情況。此外,驗(yàn)證者不需要向運(yùn)行該功能的人授予任何信任,因?yàn)樵摴δ鼙旧砭哂凶C明零知識證明的這種隱私增強(qiáng)功能使其在加密貨幣領(lǐng)域非常有價值,特別是對于以隱私為中心的項(xiàng)目。
零知識證明的一個有趣特性是它們可以實(shí)現(xiàn)任何功能。這包括驗(yàn)證其他零知識函數(shù),甚至驗(yàn)證它們本身。
因此,使用遞歸的零知識證明,Coda區(qū)塊鏈能夠?qū)崿F(xiàn)簡潔的區(qū)塊鏈。簡潔的區(qū)塊鏈?zhǔn)且环N無論任何因素都能保持相同大小的區(qū)塊鏈。在Coda協(xié)議中,同步區(qū)塊鏈的節(jié)點(diǎn)也可以進(jìn)行下載并驗(yàn)證區(qū)塊鏈的完整版本。
即時同步完整的驗(yàn)證比特幣節(jié)點(diǎn)
泰勒·史密斯發(fā)表的提案大量借鑒了《最后協(xié)議》。然而,史密斯建議建立一個覆蓋協(xié)議,它運(yùn)行在實(shí)際的比特幣區(qū)塊鏈之上,并融合了零知識證明。
建立第二層保護(hù)了久經(jīng)考驗(yàn)的比特幣網(wǎng)絡(luò)的安全,但允許人們“通過零知識證明處理挖掘出的區(qū)塊,制作和發(fā)布證據(jù),實(shí)現(xiàn)比特幣的過渡規(guī)則?!薄昂唵蔚卣f,第二層網(wǎng)絡(luò)將利用已經(jīng)通過認(rèn)證的塊,這些塊已經(jīng)在比特幣網(wǎng)絡(luò)上達(dá)到最終狀態(tài),作為進(jìn)一步達(dá)成共識的基礎(chǔ)?!?/p>
史密斯將其解釋為“客戶機(jī)連接到這個網(wǎng)絡(luò),可以下載并驗(yàn)證最有效的狀態(tài)哈希值,并擁有一個經(jīng)過驗(yàn)證的狀態(tài)哈希值,其完整性已得到驗(yàn)證。需要狀態(tài)一致的一部分客戶機(jī)可以從網(wǎng)絡(luò)上的狀態(tài)保持節(jié)點(diǎn)請求它。這個過程類似于標(biāo)準(zhǔn)的全節(jié)點(diǎn)同步。然而,在第二層,網(wǎng)絡(luò)中計(jì)算的狀態(tài)將通過遞歸零知識證明進(jìn)行驗(yàn)證。
通過這個實(shí)現(xiàn),客戶機(jī)能夠完全驗(yàn)證整個鏈狀態(tài),因?yàn)檎缜懊嫠懻摰?,在這方面的同步指的是下載和驗(yàn)證整個鏈。此外,遞歸零知識證明是快速的,因此節(jié)點(diǎn)在幾秒鐘內(nèi)就有了整個狀態(tài)。為了更好地理解這個建議,可以把它看作是工作證明。
這個提議還處于構(gòu)思階段。但是,如果開發(fā)人員能夠生成一個可行的概念驗(yàn)證,并將去中心化和安全性放在優(yōu)先級之上,那么最終可能還是會很好的實(shí)現(xiàn)。
評論
查看更多