www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 用最簡單方式說透「精簡區(qū)塊鏈」實現(xiàn)方式和巨大價值。 關(guān)于零知識證明(ZKP)的技術(shù)類博客文章很多,最近我也寫了一篇文章,比較各種新的通用目的的 zk-SNARK。我發(fā)現(xiàn),關(guān)于零知識證明的

用最簡單方式說透「精簡區(qū)塊鏈」實現(xiàn)方式和巨大價值。

關(guān)于零知識證明(ZKP)的技術(shù)類博客文章很多,最近我也寫了一篇文章,比較各種新的通用目的的 zk-SNARK。我發(fā)現(xiàn),關(guān)于零知識證明的用例,很少有用非技術(shù)語言表述的文章。事實上,零知識證明不僅可用在隱私方面,還有許多其他用途。它功能如此豐富,甚至有可能重新定義區(qū)塊鏈的運作方式。

精簡區(qū)塊鏈,從GB壓縮到KB

區(qū)塊鏈的區(qū)塊可能會很大,而且其大小在不斷增長。這源于其最初的設(shè)計。我們也漸漸接受了這個現(xiàn)實。但是,Coda 項目最近發(fā)布的測試網(wǎng)卻不同。

首先,Coda的區(qū)塊鏈?zhǔn)枪潭ù笮〉?,且不會增長;其次,它只有22KB!即便是上世紀(jì) 80 年代的 8 位機(jī)家用電腦 Commodore 64 或 ZX Spectrum,也能把它塞進(jìn)去。而且,與傳統(tǒng)的區(qū)塊鏈相比,Coda 的安全性差不多,甚至更高。

類似但功能更多的「精簡區(qū)塊鏈」項目越來越多,比如 Mir 和 Starling(我本人也參與了 Starling 項目)。

這到底是如何做到的呢?

只要嘗試部署過一個區(qū)塊鏈節(jié)點,你就會知道這個過程有多痛苦:同步一個節(jié)點需要好幾個小時、甚至數(shù)天時間。區(qū)塊鏈如此之大,以至于大多數(shù)的家用計算設(shè)備的磁盤空間和帶寬都達(dá)不到基本要求。結(jié)果就是中心化。即便像以太坊這樣廣受歡迎的區(qū)塊鏈,其節(jié)點數(shù)量也就 10,000 個,大多數(shù)都托管在亞馬遜 AWS 上,由少數(shù)幾個實體所擁有。區(qū)塊鏈并不像許多人以為的那么去中心。

為什么同步一個區(qū)塊鏈要這么長時間呢?主要有兩個原因:

· 第一個原因很明顯:下載幾百 GB 或更多數(shù)據(jù)需要很長時間;

· 第二,下載完之后區(qū)塊鏈要完成驗證,因為惡意節(jié)點可能會向你發(fā)送不正確的數(shù)據(jù)。

若要驗證一個區(qū)塊鏈,必須從創(chuàng)世區(qū)塊開始重放(replay)整條鏈:執(zhí)行第一個交易,并確保計算出的狀態(tài)等于下載得到的狀態(tài)。然后轉(zhuǎn)到下一個交易,直到你把區(qū)塊鏈的所有交易都查一遍。這不僅耗時,也浪費資源。在你之前,成千上萬的節(jié)點做著完全相同的計算工作。

為什么要這么做呢?因為在傳統(tǒng)計算學(xué)里,要知道一個計算是否正確的執(zhí)行,唯一辦法就是重做一次這個計算。如果小規(guī)模的計算,那就還好,但像重放一條區(qū)塊鏈這種「慢運算」(slow calculation),情況就完全不同了。

可提高效率和帶寬的零知識證明

事實上,有一種方法可以低成本地驗證一個計算結(jié)果,而又無需重做該計算,那就是零知識證明(ZKP),其中最著名的可能要數(shù) zk-SNARK。

它是如何工作的呢?我們需要將區(qū)塊鏈的重放函數(shù)改寫為一個 zk-SNARK。這個 zk-SNARK 將輸出兩個東西:原初的輸出(就跟原來的重放函數(shù)一樣); 一個很小的數(shù)學(xué)「證明」,證明這個結(jié)果計算正確。這個「證明」可以小到只有 200 字節(jié)(沒錯,還不到 1KB)。

這樣一來,我們就不需要所有(或是多臺)計算機(jī)跑一遍重放函數(shù)了。由一臺計算機(jī)去創(chuàng)建這個「證明」,其他不限數(shù)量的計算機(jī)可以在它們認(rèn)為合適的時間再進(jìn)行驗證。無論原初的計算要花費多長時間(即使是幾小時、幾天、甚至幾年都沒有關(guān)系),驗證卻只需幾毫秒即可搞定。這個「證明」可以通過線上分發(fā),也可以存儲在 U 盤里,甚至可以印在 T 恤上。

如果有惡意節(jié)點更改了某個交易的余額,那么這個「證明」就會和結(jié)果不同,所有驗證者都會拒絕這個狀態(tài)。如果有惡意節(jié)點更改了 zk-SNARK 代碼,結(jié)果也會被拒絕。(有一個「第三參數(shù)」、一個公開共享的字符串,會把這個「證明」綁到這個 zk-SNARK 代碼。如果代碼被修改,那么這個「證明」和共享的字符串將不匹配,于是驗證者就會拒絕該結(jié)果。)

我們不再需要重做昂貴的計算,也不需要下載區(qū)塊鏈(因為我們已經(jīng)有了關(guān)于該區(qū)塊鏈存在且有效的數(shù)學(xué)證明)。你需要的,只是當(dāng)前狀態(tài)(比如最后一個區(qū)塊),加上能夠證明當(dāng)前狀態(tài)是一個有效區(qū)塊鏈的一部分的少量「證明」,再花費幾毫秒驗證一下結(jié)果。

遞歸性的組合

驗證一個「證明」的速度很快,但創(chuàng)建這個「證明」怎樣呢?其實時間不固定,與傳統(tǒng)計算相比,在計算和和內(nèi)存方面它的效率要低不少。實際上,雖然一個重放函數(shù)的 zk-SNARK 版本聽起來不錯,但在實踐中這個解決方案并不好。和以往的非 zk-SNARK 的重放函數(shù)相比,它需要更大的內(nèi)存,速度甚至更慢。

不過,還有另一個優(yōu)雅的方案。我們發(fā)現(xiàn),用一點點小技巧,其實可以使用遞歸性 zk-SNARKs 。有了遞歸,我們就不必從頭開始驗證這個區(qū)塊鏈,可以在前一個狀態(tài)的基礎(chǔ)上來構(gòu)建。速度會快得多。

需要注意的是,遞歸性 zk-SNARK 的效率依然不如非遞歸的 zk-SNARK ,不過,最近 zk-SNARK 的構(gòu)造取得了長足的進(jìn)步。

一個遞歸性的 zk-SNARK 程序,會用屬于「前一個狀態(tài)」(previous state)的「證明」和新的交易作為輸入。它會(用已被提供的證明)驗證前一個狀態(tài),并檢查新狀態(tài)中的交易是否有效。如果沒問題,它會輸出新的狀態(tài)和一個「證明」。

一旦新的狀態(tài)和「證明」被分發(fā)到網(wǎng)絡(luò)中,所有節(jié)點可以直接丟棄先前的狀態(tài),這么做不會有任何負(fù)面影響。新的節(jié)點只需要下載最新的狀態(tài)和「證明」即可。這也就是Coda、Mir 和 Starling 這些項目可以實現(xiàn)小的、大小固定的區(qū)塊的秘訣。

在上面說的這個例子里,只需要一個節(jié)點來創(chuàng)建新的區(qū)塊和「證明」。顯然,我們沒必要讓同一個節(jié)點來生成所有的區(qū)塊。舉個例子,可以從許多節(jié)點中隨機(jī)選擇一個節(jié)點(用「可驗證隨機(jī)函數(shù)」,眾多節(jié)點甚至可以隨機(jī)自我選擇而不會有欺騙行為)。我們甚至可以做得更好:將區(qū)塊的生成邏輯分為多個 zk-SNARK。

最終結(jié)果就是:區(qū)塊生產(chǎn)者不需要完整的區(qū)塊鏈,它只需要前一個狀態(tài)。這會讓區(qū)塊大小降到多少呢?一個常規(guī)的 Coda 節(jié)點僅需要 22 KB 即可存儲「證明」、當(dāng)前狀態(tài)以及某個賬戶余額的 Merkle 路徑。只需要 22KB,一個節(jié)點就能驗證整個區(qū)塊鏈、查詢余額并創(chuàng)建交易。但是,如果要生成區(qū)塊,這個節(jié)點需要更多:它需要先前狀態(tài)的全部余額的 Merkle 樹。而 Merkle 樹的大小取決于錢包的數(shù)量。如果 Coda 擁有和以太坊一樣多的錢包,那么,Coda 區(qū)塊生產(chǎn)者也只需要大約 1 GB 的容量。而以太坊上最小的完整節(jié)點是 230 GB(2019 年 12 月的數(shù)據(jù))。差距巨大。

利用零知識證明,區(qū)塊鏈網(wǎng)絡(luò)將有更多活躍節(jié)點,這就提升了去中心化程度,并讓各種程序有更多可能與區(qū)塊鏈進(jìn)行交互,而無需像 Infura 或 Metamask 這樣的方案。想想看,99% 的新用戶在安裝 Metamask 時選擇了放棄。所以,這種變化將帶來巨大的影響。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉