cover_image

Dan Boneh:最新零知識研究進展

Kurt Pan XPTY
2024年12月31日 16:21

原播客:https://zeroknowledge.fm/345-2/

譯者:Kurt Pan

Anna Rose:歡迎來到 Zero Knowledge。我是你的主持人 Anna Rose。嘿!雖然我技術上還在節目休假,但正如我在上期播客中提到的,我確實計劃在這個秋天髮佈一兩期節目。好了,這就是其中之一。本週,我與 Dan Boneh 一起聊聊他和他斯坦福的學生正在研究的零知識研究問題和主題的最新進展。他上次上節目已經是兩年多前了,所以現在是讓他回來的好時機。我們有很多話題要討論。我們談到了基於格的 SNARKs、零知識和 FHE 的內容,以及他上次在節目中介紹的內容溯源工作的擴展,zkML 的更新,我們還討論了折疊、 coSNARKs 等等。

Anna Rose:嗨,Dan,歡迎回到節目。

Dan Boneh:嗨,Anna,很高興再次來到這裡。

Anna Rose:太好了。你上次上節目實際上是 2022 年 11 月,已經有整整兩年了。在那期節目中,我們討論了你當時正在研究的內容,包括非常令人興奮的零知識研究主題,無論是在密碼學方麵還是應用方麵。我會在節目説明中添加那期節目的鏈接。我不知道我是否告訴過你,但那實際上是我們最受歡迎的節目之一,被很多聽衆列爲他們的最愛。所以,很高興你能回來繼續那個對話並更新進展。

Dan Boneh:哇,太棒了。

Anna Rose:我還要説,你在那期節目中提到的一些工作仍然讓我印象深刻。比如我們談到了——我想那是我第一次了解到在圖像溯源中使用零知識來証明一個被轉換的最終圖像確實是來自原始圖像。我相信那也是我們節目中第一次談到協作式 SNARKs,這在今天也變得非常相關。實際上我大約兩個月前與專注於協作式 SNARKs 的 Taceo 團隊做了一期節目。所以現在有團隊在研究這個也很酷。

Dan Boneh:是的,這已經成爲一個大話題。實際上,我們將在本期節目後麵討論協作式 SNARKs。

Anna Rose:太好了。那我們開始吧,這兩年來你有什麼新動態?你對哪些研究感到興奮?你在研究什麼?

Dan Boneh:你知道,這個領域有很多事情在髮生。我必須告訴你,在這個領域工作非常有趣。一直都有大量的工作。實際上,就在今天節目之前,我查看了 2024 年的情況,我隻是好奇,僅在折疊方案上——隻是 SNARK 領域的一小部分,有多少論文髮表。我髮現僅在 2024 年,ePrint 上就有大約 17 篇論文。這是非常多的論文,帶來了許多精彩的想法。所以,在這個領域髮生了很多事情。我想最近幾個月,有很多關於新的基於編碼的 SNARKs、新的多線性承諾方案的工作。整個領域正在轉向更多地依賴於 sumchecks,而不是我們以前所用的傳統方法。所以,這個領域也在一點點轉型。一直都有新的折疊方案出現。也許我們會在節目後麵談到一些,比如 Arc 和 Nebula 等。所以,即使在基於編碼的 SNARKs 中,也有很多工作,比如 BaseFold、Blaze 和其他所有正在出現的方案。也許我們會在節目後麵討論其中的一些。但實際上,我想先從一些非常具體的東西開始。我想討論我們如何基於格構造 SNARKs。

Anna Rose:實際上,在我們深入之前,先説下爲什麼要基於格構造 SNARKs?在一開始你爲什麼要探索這個領域?

Dan Boneh:是的,這是個好問題。首先,我想有四種類型的假設被用來構造 SNARKs,或者更普遍地説,有四種類型的假設被用來構造多項式承諾方案。我們有基於配對的 SNARKs 和多項式承諾方案,我們有基於離散對數的。基於配對的,我們有 KZG 及其變體。基於離散對數的,我們有 Bulletproofs 及其變體。基於哈希的方案,我們有 FRI 和許多其他基於哈希的方案。第四類就是格。事實証明,我們也有基於格的 SNARKs 和多項式承諾方案。所以有這四個家族:配對、離散對數、哈希和格。所以你問爲什麼要是格?我第一個想到的答案是,格被認爲是後量子安全的。所以,如果我們基於格構造一些東西,也許我們會得到一個後量子安全的 SNARK。當然,基於哈希的 SNARKs 也是後量子安全的。所以,在我提到的四種類別中,配對和離散對數當然不是,但基於哈希和格的被認爲是後量子安全的。但其實還有另一個理由去嚐試基於格構造東西。我們實際上可能會得到更好的性能。我們馬上會談到這一點。

Anna Rose:你是否也需要——比如基於格的 SNARKs,我想當我聽到有人提到它時,實際上是在 FHE + SNARKs 的背景下,或者他們想使用 FHE。而那是一種不同的數學。如果你有強大的基於格的 SNARKs,你可以更好地在 FHE 模型中使用它們。

Dan Boneh:哇,是的。

Anna Rose:是這樣嗎?

Dan Boneh:太棒了,太棒了。這正是我們要討論的方向。

Anna Rose:好的。

Dan Boneh:我們馬上會到達那裡。我們會看到。首先,我很高興你提到了 FHE,也就是全同態加密。這也是格的魔法力量之一,我們可以構造支持任意計算的加密方案。如果我要總結爲什麼是格導向了 FHE 方案,簡言之,就是格加密繫統有非常快的解密算法。事實証明,如果你有非常快的解密,你可以做一些稱爲 自舉(bootstrapping) 的事情,這實際上基本上就是導向全同態加密的路徑。所以,如果我們有其他方式來構造具有超快速解密算法的加密繫統,我們可能會有其他方式來構造 FHE。夢想當然總是想出越來越快的方法來構造 FHE。

實際上,我應該再説一遍,因爲這是一個重要的點。目前,我們構造 FHE 繫統的方式並不一定是構造 FHE 繫統的唯一方式。可能有完全不同的路徑,我們還沒有髮現,可能會導緻更高效、更可擴展的 FHE 繫統。 所以,這是對整個聽衆的挑戰。嚐試思考其他方式來做到這一點是很好的。

但讓我們回到基於格構造的 SNARKs。我們看到,在過去一兩年中,已經提出了幾個繫統。我想其中一個引起很多關注的繫統叫 LaBRADOR。LaBRADOR,也許可以這樣想,它是將 Bulletproof 類型的工作適配到了格空間。我之所以這麼説,是因爲它也是一種類似折疊的機製。事實上,在 LaBRADOR——基本的 LaBRADOR 中,驗証者運行時間爲陳述大小的線性,就像在 Bulletproofs 中一樣。

Anna Rose:好的。

Dan Boneh:所以這是一個簡潔的証明,我應該説這是一個短的証明,但驗証者不是很快。它以線性時間運行,而不是對數時間,或者對數平方時間,這是我們想要的。所以,最近有一篇論文叫 Greyhound,它實際上在嚐試基於格構造一個多項式承諾方案。他們採取了一個兩步的方法。他們用一個以前用過的技術將驗証者時間減少到 。一旦有了一個需要 驗証時間的多項式承諾方案,然後他們應用 LaBRADOR 以得到一個短証明。

有趣的是,他們能夠對相當大的多項式進行承諾。例如,如果你想對一個巨大的多項式進行承諾,次數爲 2 的 30 次方,也就是十億次的多項式,他們得到的求值証明大約爲 53KB。所以不是特別短,但對於如此高次的多項式來説也不算太長。驗証時間大約是兩秒鐘。所以,不是特別快,但我想兩秒鐘是合理的。有趣的是,如果我們將其與基於哈希的 SNARKs 相比,比如説基於 FRI 的方案,用於次數爲 2 的 26 次方的多項式,這些是人們使用 FRI 進行承諾的多項式。驗証者仍然慢了大約 10 倍。所以,格驗証者比 FRI 驗証者要慢。它在其他性能指標上更好,但驗証者稍微慢一些。

Anna Rose:這些都是 Greyhound 嗎?

Dan Boneh:是的,是 Greyhound。

Anna Rose:好的。

Dan Boneh:所以這是一個非常有趣的基於格的承諾方案。驗証者仍然有點慢,這使得在需要在電路內運行驗証者的遞歸方案中使用它有點睏難。所以,這裡肯定還有更多的工作要做。我提起它的原因是,這是一個可能有更多創新潛力的領域。這可能是人們感興趣的東西。但爲什麼我要談論基於格的 SNARKs?某種意義上説,它們還沒有直接被採用到 SNARK 世界中,因爲當你嚐試基於格構造一個單體 SNARK 時,它可能不像你從其他方案中得到的那麼好。但事實証明,令人驚訝的是,格非常適合折疊方案。這就是我們開始研究的。這就是稱爲 LatticeFold 的方案。這是與 Binyi Chen 合作的工作。順便説一下,Binyi非常出色。他也在申請學術職位。如果你知道有可用的學術職位,你應該趕緊聯繫他,因爲Binyi在這個領域確實是一個非常有創造力和出色的研究者。

Anna Rose:這是來自 Espresso 的Binyi嗎?

Dan Boneh:是的,他以前在 Espresso,現在是我的博士後。

Anna Rose:哦,好的,明白了。太好了。

Dan Boneh:確實如此。他在這個領域做了很多工作。也許你記得 Protostar 和——

Anna Rose:是的,沒錯。

Dan Boneh:嗯,還有 LatticeFold,以及許多其他的工作——

Anna Rose:我想我們實際上在節目中請過他。我很確定他上過 Zero Knowledge 播客。所以我也會找到那期節目並添加鏈接。

Dan Boneh:是的。他也是 BaseFoldBlaze 等許多令人興奮的進展的作者。所以讓我談談 LatticeFold。當你在 NovaHyperNova 中進行折疊時——我相信你在節目中談到過 Nova 和 HyperNova 以及它們的變體。基本上,這些方案依賴於我們稱之爲同態承諾方案的東西。我可以對某個消息  進行承諾,我可以對某個消息  進行承諾,然後我可以將這些承諾相加,得到對  的承諾。這些被稱爲線性同態承諾

人們通常使用的一個同態承諾是 Pedersen 承諾。Pedersen 承諾基於多標量乘法。所以這些方案通常使用它。但事實証明,我們有另一個線性同態承諾方案,這個是基於格的。這個方案實際上是一種經典的承諾方案,稱爲 Ajtai承諾方案。基於 Ajtai 哈希。最簡單的形式的Ajtai哈希隻是一個矩陣向量的乘積,其中矩陣是寬而短的。所以,這是一個非常寬的矩陣,行數不多。如果你將矩陣乘以一個向量,你會得到什麼?你取一個非常長的向量,矩陣向量乘積的輸出是一個非常短的向量。所以它是壓縮的。這就是爲什麼它實際上是一個抗碰撞哈希。然後你可以將其用作承諾方案。由於它是一個矩陣向量乘積,它是加法同態的。好的,這就是Ajtai哈希。這是一個非常容易描述的哈希。

Anna Rose:那是從哪裡來的?它是什麼時候髮明的?它來自數學的不同部分,現在被引入了嗎?它來自哪裡?

Dan Boneh:哦,是的,是的。嗯,它是由 Ajtai 在 90 年代末髮明的。

Anna Rose:好的。

Dan Boneh:它是在一個完全不同的背景下,爲了完全不同的原因髮明的,實際上。

Anna Rose:我喜歡這樣的事情髮生。太酷了。

Dan Boneh:是的,確實如此。實際上,SNARK 領域藉鑒了許多不同的數學領域。從配對、離散對數、橢圓曲線,當然還有哈希函數和編碼,也許現在也有一些格了。所以,我們有這個非常簡單的哈希,它隻是一個矩陣向量乘積。因爲這個原因,它是線性同態的。所以問題是,我們能否將其用於折疊方案?是的。所以我們有一種加法同態的承諾方式,潛在地,我們可以用它來折疊。

問題是,Ajtai哈希有點難用。聽起來很好,我們有一個承諾方案,它很快,但其實是有點難用的。爲什麼難用?事實証明,隻有當它的輸入是低範數時,它才是抗碰撞的。所以,你哈希的向量必須是短向量。如果你允許任意長度的向量,它顯然不是抗碰撞的,這很容易看出。但如果你將輸入限製爲短向量,即具有低  範數的向量,那麼它實際上是抗碰撞的。換句話説,很難找到兩個短向量映射到相同的輸出。基於此,你可以構造一個承諾方案。正如我們所説的,它是加法同態的,所以很好。

所以我們可以將其用於折疊。正如我們所説,折疊基本上基於相加承諾,驗証者所做的隻是驗証承諾是否正確地相加。所以我們可以將其用於折疊,你可能會説我們做完了。但這其實不起作用。

Anna Rose:好的。但爲什麼它不起作用呢?

Dan Boneh:是的,這是個好問題。實際上,當我們折疊時,我們所做的是將一個向量乘以一個標量——一個隨機標量,然後將其加到另一個向量上。所以,折疊本質上使得向量變大,它增加了向量的範數。因爲折疊本質上意味着你要取一個東西的隨機線性組合,而取隨機線性組合會導緻範數增長。如果你將一個短向量乘以一個常數,你會得到一個更大的向量。因此,你不能直接將 Ajtai 哈希用於折疊。所以,這不行,我們需要解決這個問題。

Anna Rose:好的。我們需要對它做一些事情,或者轉換它,或者——增強它。

Dan Boneh: 是的,確實如此。你不能隻對這些已承諾的向量進行折疊,因爲很快就會超出範圍——超出哈希函數承諾的區間,然後方案將不再安全。所以我們所做的基本上是應用一個範數減少步驟。這在 FHE 的世界中非常常見,我們藉用 FHE 世界中的一項技術,執行被稱爲分解(decomposition) 的步驟,減少某個事物範數的方法是將其分解爲更小的事物,將其表示爲較小事物的和。因此,你要做的就是折疊兩個實例,將每個實例分解爲多個實例,現在將所有這些實例折疊在一起,最終得到一個保証仍然是低範數的實例。

Anna Rose:好的。

Dan Boneh:是的,這就是基本的折疊機製。這是第一個問題。但問題二是,証明者必須向你証明他們給你的初始承諾實際上是對一個短向量的承諾。因此,在 LatticeFold 中,還有一個過程,証明者提供一個範圍証明,以証明承諾是對短值的承諾。你將這些東西放在一起,你實際上可以從 Ajtai 哈希中得到一個折疊方案。所以,當然我在簡化了,這裡涉及很多步驟。但實際上,你基於 Ajtai 哈希得到了一個非常高效的折疊方案。我們最初的動機隻是想得到一個後量子的基於格的折疊方案。然而,令人驚訝的是,僅僅因爲 Ajtai 哈希非常快,這實際上可能是一個有競爭力的折疊方案。所以,我們不僅得到了一個後量子的東西,它還有潛在的良好性能。實際上,現在有一家公司正在實現這個。(Kurt Pan注:Nethermind已經完成了實現並開源了代碼 https://github.com/NethermindEth/latticefold )所以,我本希望在我們做這個播客的時候,我能給你運行時間的數字。但一切都比你預期的要花更長的時間。所以,我們將會知道的——希望很快我們就會知道這在實踐中究竟怎樣。

Anna Rose:我有一個問題。你必須做的第一個改變,比如範數降低步驟,是否爲這個構造增加了一層,或者多層,這會減慢它的速度嗎?這是否削弱了使其如此快速的因素?

Dan Boneh:是的,確實如此。所以突然之間,你不僅僅是折疊兩個東西,你要分解,現在你折疊多個東西。此外,你還必須做範圍檢查。而如果隻是簡單地用 Ajtai 哈希替換 Pedersen 哈希,一切都會快 30 倍。

Anna Rose:好的。

Dan Boneh:但事情並非那麼簡單。你必須做更多的步驟,這當然會減慢速度。問題是,我們獲得的是否超過了我們失去的?這是我們隻能從實現中髮現的事情。所以,希望我們很快會有數字。我應該説,我們實際上也在對此進行改進。所以,SNARKs 的故事永遠不會結束。總有方法可以優化和改進。敬請期待,對 LatticeFold 的改進即將到來。這一切都很好,很有趣。

但然後髮生了一件非常有趣的事情。事實証明,因爲我們現在可以使用格來進行折疊方案,LatticeFold使用的環與全同態加密(FHE)中使用的環完全相同

Anna Rose:哇。

Dan Boneh:是的,這有點奇怪,有點出乎意料。

Anna Rose:這是一個驚喜,還是你設計時朝着那個方向走的?這是一個意外,還是……

Dan Boneh:是的,我想當你使用格時,使用那些環是很自然的。事實証明,那些環在FHE中也很有用。

Anna Rose:我明白了。

Dan Boneh:是的。也許我可以説這是意外,但實際上這是那種你隻能走一條路的事情之一,所以你最終會做 FHE 中也做過的事情。

Anna Rose:是因爲他們共用了相同的起源——就像,它有點來自相同的數學。

Dan Boneh:是的。相同的基礎數學。所以你最終會得到類似的代數結構。所以這不太令人驚訝,我想。但酷的地方在於,FHE領域現在有很多工作在構造定製的ASIC來加速FHE。大家都在等待這個。據説,可能在2025年,我們將開始看到可以加速FHE的ASIC。 有人聲稱,也許這會使FHE加速10倍、100倍。人們提出了各種各樣的倍數,但在我們看到實際的ASIC之前,我們無法真正知道。

所以,這意味着,令人驚訝的是,LatticeFold實際上可以自動受益於FHE領域正在開髮的ASIC,這很有趣。但事實証明,這帶來了FHE和基於格的SNARK之間的聯繫,我想強調一下。

所以,FHE的一個問題,從某種意義上説,你可以説是FHE的一個限製,就是如果我要求你對我給你的加密數據進行計算,問題是,我怎麼知道你正確地進行了計算?也許你聲稱你對加密數據進行了某種計算,但也許你進行了不同的計算,你髮送回來的隻是垃圾。當我解密時,我會得到垃圾。

Anna Rose:我明白了。不是能看到數據,因爲是加密的,所以隱私性沒問題,但更重要的是,對數據進行的操作可能是錯誤的,或者——

Dan Boneh:沒錯。所以這不是機密性問題,而是完整性問題。我們如何知道服務器計算了我要求它在加密數據上計算的內容?所以,從某種意義上説,這總是被提到作爲FHE的一個限製。在某些情況下,這並不重要,但在某些情況下,你希望在機密性之上還具有完整性。所以,我們該怎麼辦?我們如何獲得完整性?如果我們有一個提供完整性的工具,那就是SNARK了。

所以,FHE世界對在FHE之上運行SNARK感興趣,以此來提供完整性。這樣,當你將加密數據髮送給服務器進行計算時,服務器會進行計算,並向你髮送加密數據以及証明它正確進行了計算的証明

Anna Rose:這聽起來有點像你之前描述的,與不可信服務器交互的想法。這讓我想起了coSNARK世界,儘管我意識到,coSNARK的目標是保持隱私。如果你將要被証明的信息髮送給不可信的服務器,隱私就會被洩露。這就是coSNARK試圖解決的挑戰。在這裡,你使用SNARK來証明那個不可信的服務器的行爲正確。

Dan Boneh:完全正確,完全正確。實際上,我們馬上就會談到coSNARKs。Anna,你的直覺非常好,非常有預見性。所以,SNARKs可以用來驗証FHE計算的正確性。因此,比如説,Zama對在FHE之上實現SNARKs很感興趣。所以,你運行FHE,然後你在FHE計算本身之上運行SNARK。我們自然又會想起來折疊方案,事實上,與FHE兼容的折疊方案會很有意義。從某種意義上説,LatticeFold,因爲它使用與FHE相同的環,兩者可以很好地協同工作。所以,這是FHE領域的人們正在研究的東西。

然後,我想談談另一個方向,這正是coSNARKs出現的地方。到目前爲止,我們談到了SNARKs如何用於認証FHE計算。事實証明,FHE也可以幫助SNARK世界。那麼它們如何幫助SNARK世界呢?這就是coSNARKs的作用所在。

協作式SNARK中,可能我們試圖計算証明的秘密見証是由多個參與者共享的。也許自然地,數據已經在多個參與者之間共享,他們共同試圖証明某件事是真的。這種情況可能會在銀行業中出現,比如多個銀行分享——他們各自擁有交易圖的視圖,他們試圖証明關於交易圖的全局聲明。所以,他們共同試圖証明某件事是真的,但他們不能共享數據給彼此。他們需要協作來生成SNARK。

所以,有一繫列關於協作SNARKs的工作。我想這是由Alex Ozdemir和我開始的,後來有很多工作跟進。基本上,我們如何讓協作SNARKs工作?我們通過使用安全多方計算(MPC)。所以,我們使用MPC來加速SNARK生成過程。事實証明,這是一個相當不同尋常的情況,MPC不會增加太多的開銷。因爲大部分的SNARK生成工作可以在本地完成,即使數據是共享的。這是一個很不尋常的情況,在這種情況下,MPC相當高效。它不會在SNARK生成之上增加太多的開銷。事實上,Sanjam Garg實際上有一些工作表明,MPC不僅不會損害SNARK生成,它實際上可以加速SNARK生成,因爲現在你有多個機器可以用於生成SNARK。這非常有趣。但FHE在哪裡髮揮作用呢?

Anna Rose:在這個構造中,FHE是否替代了MPC?

Dan Boneh:是的,你説對了,完全正確。所以,你可能會嚐試做的是,也許每個持有見証份額的參與者,他們可以用FHE加密他們的見証,並將其髮送到一個中央服務器。現在,讓我們思考中央服務器在做什麼。現在,中央服務器有了一堆FHE加密的見証,它想要在見証之上生成一個SNARK。所以,現在它要做的是在加密的見証上運行SNARK証明者。所以,現在它將運行SNARK証明者在加密數據上。

Anna Rose:但是,最終狀態下的驗証者如何驗証?它無法驗証加密數據中的內容。它必須信任FHE。

Dan Boneh:不,不,不完全是。所以,髮生的事情是——也許我們應該用一個更簡單的例子來解釋。一個方式是,我們有一個更簡單的場景。一種描述方式是,我們有一個在多方之間共享的見証,我們使用 FHE 在加密見証上計算加密的 SNARK。但是現在,一旦我們有了加密的 SNARK,它對任何人都沒有用,因爲它是加密的。那麼接下來會髮生什麼呢?實際要求生成 SNARK 的各方將對加密的 SNARK 進行閾值解密,從而獲得明文SNARK。

Anna Rose:我想我明白了,你已經使用 FHE 加密,然後你把它髮送給 SNARK,這一切都是爲了証明加密的數據。最後的結果是一個可以驗証的証明。但對我來説,驗証它隻會返回一步。對吧?它隻會返回加密數據的証明者。它不會完全返回明文數據。

Dan Boneh: 嗯好的。我們實際上使用可能更簡單的場景來解釋一下。所以我可以——也許我跳過了兩步。假設,Anna,你有一個見証,你想要生成一個SNARK,証明你的見証滿足某個屬性。假設你是一個弱設備,比如你的手機,或者你在一個Wasm虛擬機中運行,你沒有太多的內存,也沒有太多的時間。你可以在本地生成整個SNARK,但這可能需要一些努力,可能需要你大量的內存。相反,你可以將你的見証用FHE加密,然後髮送到一個遠程服務器。現在,遠程服務器可以在加密的見証上運行整個SNARK証明者。遠程服務器將從中得到一個加密的SNARK,一個加密的証明。它將加密的証明髮送回你,然後你可以解密,得到明文的証明。

Anna Rose:這樣做的全部目標是能夠使用不可信的服務器來進行証明生成。

Dan Boneh:完全正確,完全正確。

Anna Rose:我明白了,因爲我想我對這個目標感到睏惑,但目標隻是能夠使用那個計算能力。

Dan Boneh:是的,實際上這裡有多個目標。所以,我們可以一個一個地討論。

Anna Rose:哈哈好的。

Dan Boneh:如果你是一個弱設備,你想要創建一個SNARK,你可以自己生成SNARK,但你必須自己運行整個証明者。或者你可以將你的見証用FHE加密,髮送到服務器,服務器將在FHE下運行証明者,髮送回加密的証明,然後你解密。所以現在你,你是客戶端,所做的隻是加密和解密。因此,假設你做的工作要少得多。當然,這對服務器來説要睏難得多,服務器必須在FHE下運行整個SNARK証明者。這就是有趣的研究問題所在。

也許爲了把這個問題帶回一步,與協作式SNARKs聯繫起來。在協作式SNARKs的世界中,見証是分佈在多個服務器上的,他們不相互串通,他們運行MPC來生成SNARK。在這裡,他們實際上可以將SNARK生成外包給一個服務器。所以,你不需要這種不串通的假設。你有一個服務器來生成SNARK,但現在這個服務器必須做更多的工作,因爲它是在FHE下進行証明生成。

Anna Rose:但我們是否想象,這個生成加密証明的不可信服務器,也可以是一颱擁有ASIC的強大機器?你可以增強它,以便它能夠處理。

Dan Boneh:有可能,是的,完全正確。那肯定是一颱非常強大的機器。有趣的是,實際上已經有幾篇論文討論了這個想法。不幸的是,這些論文沒有繫統名稱,所以我無法通過繫統名稱來引用它們,但在ePrint上有兩篇論文討論了使用FHE來計算SNARK。我會説一篇來自Sanjam Garg的團隊,一篇來自Vercauteren的團隊。有趣的是,他們使用的SNARK繫統是Fractal,FHE繫統是通用的BFV FHE。我隻想説,論文中的結論是,對於一百萬個約束,所以不是不是很大但也不小的約束,服務器可以在大約20分鐘內完成。所以,他們可以在加密的見証上生成一個SNARK証明,服務器需要大約20分鐘。然後,酷的是,客戶端不需要做——客戶端隻需要加密和解密。

所以,我不是説這是你明天應該立即去實現的東西,因爲這仍然相當理論化,相當長期。但有趣的是,也許有機會設計與SNARK証明者特別兼容的FHE繫統,使得在SNARK之上的FHE計算不會像可能的那樣昂貴。所以,我隻是想提一下,作爲未來可能的有趣研究方向,可能會使得在客戶端生成SNARK証明更容易,客戶端現在隻需要進行加密和解密,而不是運行整個証明生成過程。

Anna Rose:這在不可信服務器上生成加密証明的証明者,是否實際上使用了你之前提到的任何基於格的東西?還是這些完全不同的工作?

Dan Boneh:哦,不,不,你説得完全正確。所以,FHE現在完全是關於格的。所以,可能我們希望使用的SNARK也涉及類似的代數結構。儘管已經完成的工作,也就是我提到的兩篇論文,目前還沒有使用格。它們更有趣的是在基於哈希的SNARK世界中。

Anna Rose:如果它是基於格的,會有幫助嗎?因爲如果你確實創建了更好的硬件,你可以利用它,因爲我們基本上爲基於格的一切優化了硬件。

Dan Boneh:可能會的,是的。所以,我不想讓人們對此過於興奮,因爲這仍然是很遙遠的事情。目前還不清楚這將如何工作,何時有用。它是否真的比在本地計算SNARK更好?但我想,在見証自然分佈在多個參與者之間的情況下,你可以考慮使用協作式SNARK來進行証明生成,或者你可以考慮使用FHE的協作式SNARK,他們都將計算外包給一個服務器。這個服務器生成加密的SNARK,然後參與者通過閾值解密來共同解密。

Anna Rose:有趣。

Dan Boneh:這隻是一個潛在的架構。所以,在未來,不要立即跑去實現這些東西。現在,這些仍然隻是研究方向。

Anna Rose:去年,我覺得我有很多關於折疊的對話,但當時似乎折疊隻在基於配對的世界中工作。我聽説有些折疊工作開始轉移到基於哈希的領域,人們正在嚐試。但在這裡,你幾乎看到折疊甚至突破了那裡,你開始看到它與格結合,以及這帶來的東西。就像這是一個我曾經覺得被限定在一個象限的技術,現在我們看到它被廣泛使用。

Dan Boneh:哦,折疊將接管世界。這是一個非常重要的技術,基本上允許你將一個非常大的証明分解成許多小証明,並同時處理所有這些部分。實際上,你提到在基於哈希的世界中的折疊,因爲那裡我想提一下有一個相當有趣的髮展。有一篇論文叫Arc,剛剛髮佈在ePrint上。作者是Benedikt、Pratyush、Wilson和William。實際上,它允許你在沒有同態承諾的情況下進行折疊。還記得我們如何談到折疊需要同態承諾嗎?所以,你要麼使用Pedersen哈希,要麼使用Ajtai哈希。Arc基本上允許你在沒有同態承諾的情況下進行折疊,具體來説,它適用於基於哈希的累積方案。因此,對於基於哈希的方案,這些也將是後量子的,並且與目前正在實現的很多東西兼容。所以,我認爲Arc是折疊世界中一個相當重要的步驟,因爲它確實允許在這些基於哈希的方案上進行折疊。

例如,如果你需要在低內存的客戶端上進行証明,折疊幾乎是你唯一可用的選項。並且可能使用Arc,你實際上可以使用基於哈希的方案來做到這一點,而不是使用加法同態承諾。所以,記住Arc是一篇相當有趣的論文,我認爲。

Anna Rose:好的。我想我們已經在折疊和FHE上覆蓋了很多內容。

Dan Boneh:是的。


Anna Rose:但還有什麼,Dan?我知道你總是同時探索多個研究線索。那麼,接下來是什麼?

Dan Boneh:是的,所以讓我們提昇一個層次。我想也許我們一開始有點技術性,所以也許我們可以提昇一下,談談更多的應用,SNARK的應用。所以,我想談兩個應用。一個是我想重溫一下實際上使用零知識來對抗虛假信息,特別是証明圖像操作的工作。

Anna Rose:是的。

Dan Boneh:但在那之前,我會非常簡短地談談我們最近在機器學習領域做的零知識工作

Anna Rose:哦,酷。

Dan Boneh:傳統的 ZKML 問題是這樣的。我有一些數據,而你有一個模型。我想把我的數據髮送給你,希望你在我的數據上運行你的模型,然後把結果返回給我。但在 ZKML 中,你還需要向我提供一個証明,証明你正確地運行了模型,你沒有走捷徑之類的。所以 ZKML 的意義在於你有一個承諾後的模型,現在我可以保証你根據我髮送給你的數據正確地運行了承諾後的模型。

Anna Rose:是的。這有點類似於你之前描述的 FHE 環境中髮生的事情,你想証明它被正確地執行。在這個案例中,涉及到機器學習模型,你想証明他們按照他們所説的方式運行。

Dan Boneh:完全正確。他們有一個承諾後的模型,他們想要証明他們根據承諾後的模型正確地運行了。有一些庫實際上可以在合理的時間內爲機器學習生成零知識証明。我們感興趣的問題是:假設你使用一個機器學習模型來決定一些關鍵事項,比如誰可以獲得抵押貸款。你將你的財務數據髮送給銀行,銀行運行一個機器學習模型,根據你的數據決定你是否獲得抵押貸款。

在這種情況下,人們關心的是公平性。我們如何知道,第一,對所有人都使用了相同的模型?也許銀行對你運行了一個模型,對我運行了另一個模型,我們因此被區別對待。這是 ZKML 實際上可以幫助的,因爲銀行可以証明所有的結果都是使用相同的承諾模型進行的。這就是 ZKML 所做的。對每個人都應用了相同的承諾模型。但這還不夠。我們如何知道這個模型實際上是公平的?

Anna Rose:所以他們可能運行了相同的模型,但也許模型中有一些東西——我猜,你是在尋找偏見嗎?

Dan Boneh:是的,完全正確。這裡我們藉用了一個來自算法公平性的大領域的概唸。算法公平性是一個巨大的研究領域,基本上研究我們如何測試機器學習模型實際上是公平的。特別是,我們使用的概唸稱爲“個體公平性”,這意味着相似的人應該被相似地對待。你希望説的是,銀行並沒有僅僅基於你的性別或郵政編碼做出決定。銀行是公平的,所以如果你和我相似,模型會以相似的方式對待我們。

那麼,我們有一個叫做 FairProof 的繫統,當你向模型提交查詢時,你將你的財務數據髮送給模型,模型返回一個証明,表示:“是的,我使用了通用的模型來評估你的查詢,但我也向你証明,對於你的數據,模型是公平的。”換句話説,即使你改變了性別或郵政編碼等受保護的特徵,模型也會給出相同的決定。

Anna Rose:但是要得到那個証明,你是否需要再次運行它?比如説,你需要用變體再運行,然後証明結果是相同的?

Dan Boneh:你需要做的是查看模型的幾何結構。你查看你髮送的數據點,圍繞這個數據點建立一個盒子,然後証明在整個盒子內,模型都會做出相同的決定。所以,這不僅僅是查詢幾個其他點,而是証明在整個區域內,所有的決定都是一緻的。我們稱之爲 FairProof,它實際上運行得相當好。它不適用於像 ChatGPT 這樣的模型,但確實適用於相對簡單的模型,比如用於財務決策的模型。

這爲 ZKML 開闢了一個新的方向,你不僅証明模型被正確地運行,而且還証明該運行具有某些性質,比如公平性。你可能想要証明模型的全局公平性,即模型在所有可能的輸入上都是公平的,但通常我們無法做到這一點。這些模型太複雜了,我們無法給出模型在所有情況下都公平的通用証明。

我們能做的是,給定一個特定的查詢,我們可以説對於這個查詢,模型是公平的。這就是爲什麼這些証明必須是在線生成的。對於每個查詢,我們都必須生成一個証明,証明對於這個查詢,模型被正確地運行了,並且響應在我們定義的公平性概唸下是公平的。

Anna Rose:在這個模型中,機器學習研究人員是否已經在做這種驗証,我們隻是藉用了,還是整個構造都來自你的團隊,他們之前沒有檢查過,現在我們需要首次檢查它?

Dan Boneh:完全正確。這個概唸實際上與機器學習中的魯棒性概唸密切相關,在那裡你希望証明小的變化不會改變結果。這就是所謂的魯棒性。新的地方是零知識部分。魯棒性是一些在離線環境中檢查的東西,不會與任何人共享。而現在,使用零知識,我們可以將其髮送回客戶端,説:“看,這裡有一個証明,模型確實以正確的方式對待了你。”

Anna Rose:我明白了。以前是由人工審計來進行檢查嗎?

Dan Boneh:嗯,實際上,現在並沒有這樣做。但這裡有趣的是,我想讓聽衆思考的是,零知識在機器學習中還有許多我們尚未探索的應用。例如,公平性的証明就是其中之一。可能還有其他事情,事實上,我們正在研究我們可以証明的關於模型的其他性質。也許下次我來時,我可以談談這些。

Anna Rose:好的。

Dan Boneh:因此,零知識和機器學習之間存在有趣的聯繫,基本上是証明模型被正確使用。這個領域,我認爲將繼續髮展。這是關於機器學習的內容。我想回到圖像,因爲正如你所説,那也是我非常興奮的事情。

Anna Rose:是的。

Dan Boneh:也許值得回顧一下零知識是如何用於証明圖像操作的。

Anna Rose:或者圖像溯源,展示它來自哪裡。

Dan Boneh:是的,完全正確。所以,讓我們快速回顧一下。現在有一個標準叫做 C2PA,代表“內容溯源與真實性”,相機內置了秘密密鑰。每次你拍攝一個場景的照片,基本上相機會對場景進行籤名,然後查看圖像的人可以知道:“哦,這張圖像來自那個相機,是在這個時間、地點拍攝的,拍攝時相機處於這樣的配置。”這樣你就可以追溯到這是一個真實相機的圖像。順便説一下,自從我們上次談話以來,髮生了一件新事情,即使是生成式 AI 模型現在也會髮佈 C2PA 証明。例如,當你讓 DALL·E 爲你生成圖像時,圖像將附帶一個 C2PA 証明,這非常有趣。

Anna Rose:它是否説明這是由 AI 生成的?它實際上在聲明——

Dan Boneh:是的,完全正確。

Anna Rose:好的,因爲我記得上次我們談到它時,我們討論的是使用零知識在圖像溯源中對抗 AI,証明一個經過轉換的最終圖像來自原始圖像。在這種情況下,AI 本身也在聲明:“不不,這是 AI 生成的。”因此,如果你本來想使用零知識進行轉換,你也可以証明它是 AI 生成的。

Dan Boneh:完全正確。這是圖像溯源。無論你將其追溯到真實的相機,還是生成式 AI 模型,你都會知道圖像的來源。這就是重點。我認爲,希望在 10 年內,每個內容都會有某種溯源証明附加在上麵,而沒有溯源証明的內容基本上會被忽略。因此,最終,我認爲每個人都會競相生成這些溯源証明,這就是我們將如何處理對我們消費的內容的信任。

Anna Rose:你預測 10 年。我想——我感覺我們肯定會在 10 年之前看到這些東西。但我想你暗示的是,在 10 年內,幾乎所有東西都需要有它。

Dan Boneh:嗯,好吧,10 年實際上是隨口説的。我不知道爲什麼我説 10 年,但讓我們説,總有一天,是的,總有一天。

Anna Rose:我認爲我們有點在等待——是的,我們在等待我們已經使用的常用設備,隻是附帶——

Dan Boneh:是的。

Anna Rose:比如經過認証的傳感器和現在的麥克風。有人去年在黑客鬆上構建了一個。我是説,他們可以將其放入這些設備中,但需求必須存在,特別是如果這對消費者有任何額外的成本。消費者需要想要它。

Dan Boneh:絶對的。

Anna Rose:我知道有實驗,但到目前爲止,它並不在所有東西中。雖然我有這個想法,如果蘋果隻是將其放入——你知道,手機公司,你從你的手機上拍了那麼多照片,爲什麼不添加那個小小的認証——

Dan Boneh:嘿,那不是個好主意嗎?

Anna Rose:是的,對吧。

Dan Boneh:是的,是的。

Anna Rose:但到目前爲止,我認爲他們還沒有這樣做。但如果他們這樣做了,我認爲會改變很多,至少在真實的人圖像溯源方麵。

Dan Boneh:非常正確。所以,最終,也許我們會生活在那種環境中。順便説一下,我應該説 C2PA 存在一些問題。它並不是——這個技術基本上對相機或生成式 AI 生成的圖像進行籤名,但這本身還不夠。還有很多內容涉及到 C2PA。讓我給你一個例子。也許你有一個開源模型,你想用它來生成圖像。嗯,開源模型不能籤署任何東西,因爲它們無法維護秘密密鑰。那麼我們在説什麼?我們是在説開源模型將不再被允許生成圖像嗎?這不好。所以我們必須爲開源模型找到解決方案。但有一些工程方法可以解決這個問題。希望事情會得到解決。當然,C2PA 還有其他問題,例如,如果有人從相機中偷走了密鑰?也許我買了一颱相機,把它拆開,取出了密鑰。現在我可以髮佈假的 C2PA 証明。我們必須以某種方式處理這個問題。因此,C2PA 包括吊銷機製,這是一個龐大的領域,讓我們這麼説。但並不像僅僅對圖像進行籤名那麼簡單,還有很多東西。但在這個對話中,讓我們隻關注零知識部分。

Anna Rose:好的。

Dan Boneh:那麼零知識在哪裡髮揮作用呢?當你想要將其包含在報紙文章中時。你的相機拍攝了一個事件的照片,照片現在附有籤名。但報紙編輯幾乎從不在文章中使用原始照片。他們會調整圖像的大小,使其更小,可能會模糊一些麵孔。

Anna Rose:改變顏色。

Dan Boneh:是的,可能會改變對比度。完全正確,改變顏色。順便説一下,有趣的是,去除紅眼是不允許的。我剛剛髮現了這一點,這很有趣。

Anna Rose:從什麼?

Dan Boneh:美聯社。

Anna Rose:真的。

Dan Boneh:美聯社不允許去除紅眼。這被認爲是太過分了。但你可以模糊一些麵孔,如果你願意的話,你可以裁剪部分圖像。因此,編輯實際上總是對圖像進行一些更改,然後將其放入文章中。問題是,現在讀者會看到編輯過的圖像,他們無法再驗証籤名。因爲你無法——你需要原始圖像來驗証籤名,但他們沒有。所以我們所做的是——這是與 Trisha Datta 以及 Binyi Chen 合作的工作。我們有一篇將在即將舉行的 Oakland 會議上髮表的論文。這是我們——兩年前我們就談過這個。實際上我們兩年前就髮表了這個想法。還有其他團隊也在研究這個。但新的地方是,我想向聽衆介紹一個可能對你們有用的小技巧。

在構建零知識証明時——哦,抱歉,我忘了説零知識証明在証明什麼。因此,報紙編輯會刪除圖像上的籤名,即 C2PA 籤名,然後他們會模糊、裁剪、調整大小等等,然後附加一個零知識証明,証明編輯後的圖像來自一個正確籤名的 C2PA 圖像,並且唯一的修改是這些允許的轉換,如模糊和裁剪、調整大小等。

Anna Rose:轉換。

Dan Boneh:是的,這些允許的轉換。所以,現在讀者不再驗証籤名,而是驗証零知識証明,他們對圖像的溯源有了一定的保証。

Anna Rose:通常當我聽到這種描述時,它是串行的。所以你不會一次完成,而是,你模糊它,創建一個証明,証明那個模糊來自——圖像是來自上一個圖像加上模糊。然後下一步可能是,裁剪。所以你做另一個証明,証明結果是相同的。你有沒有聽説過它被組合起來?

Dan Boneh:是的,這是個好點子。老實説,我們也是一次一步地做。但沒有理由你不能將這些步驟組合起來。隻是從操作上來説,我們一次做一步更容易。但這裡有個問題。簡單地説,你需要做的是証明圖像轉換是正確進行的,但你還需要証明原始圖像是正確籤名的。問題是,這些相機會對圖像進行 SHA256 哈希。現在這些圖像非常大。比如説,支持 C2PA 的徠卡相機,它是一個 6000 萬像素的相機。所以在 SNARK 電路中對 6000 萬像素的圖像進行 SHA256 哈希,這是不現實的。這真的相當睏難。

Anna Rose:好的。

Dan Boneh:是的,那真的非常慢。忘掉圖像操作,僅僅驗証原始圖像的籤名實際上就相當睏難。

Anna Rose:是的。

Dan Boneh:這實際上是論文的重點。我們如何讓籤名驗証在 SNARK 電路中快速運行?

Anna Rose:論文的名字是什麼?

Dan Boneh:叫做 VeriTAS

Anna Rose:好的。

Dan Boneh:VeriTAS:在零知識中証明圖像操作。它在 ePrint 上,即將在即將舉行的 Oakland 會議上髮表。也許我快速分享一下核心思想。一個想法是,我們嚐試改進哈希函數,構建一個儘可能快的哈希函數。你猜怎麼着?事實証明,一個非常適合這個的哈希函數是基於格的哈希函數

Anna Rose:哇,又回到了格。太酷了。

Dan Boneh:又回到了格。是的,因爲格哈希非常快,非常方便在 SNARK 中使用。這是一個方法。所以我們用格哈希代替 SHA256,然後我們可以在 SNARK 中以合理的成本進行籤名驗証。但事實証明,還有一個更好的想法,我們可以將所有的籤名驗証移出 SNARK 電路。這是一個我想讓你的聽衆知道的有用技巧。這個技巧是這樣的。假設相機所做的是,不是對圖像的哈希進行籤名,而是對圖像的多項式承諾進行籤名。讓我們展開一下。

我們將圖像視爲 6000 萬個像素,我們將它們視爲多項式的繫數。我們對該多項式進行承諾,承諾將非常簡短。然後相機隻需對該多項式承諾進行籤名。所以相機需要做的是,對圖像進行多項式承諾,然後對該承諾進行籤名。現在你可能會説,這對於相機來説可能太難了。也許我的徠卡相機無法對大型圖像進行多項式承諾,但生成 C2PA 圖像的 OpenAI 當然可以。所以,生成式 AI 需要生成 C2PA 圖像,他們可以對圖像進行多項式承諾,然後對該承諾進行籤名。

爲什麼這有用呢?事實証明,現在零知識証明隻需証明圖像操作,而不需要証明任何關於籤名的內容。籤名可以直接髮送給客戶端。這是對承諾的籤名。所以你將籤名和承諾髮送給客戶端。這些都是簡潔的。

Anna Rose:是的。

Dan Boneh:事實証明,通過 Plonk 技巧,客戶端在 SNARK 之外驗証籤名,而 SNARK 隻需驗証被籤名的數據與 SNARK 電路中聲明的內容匹配。 SNARK 電路現在隻關注圖像操作。

Anna Rose:但你能跳過轉換嗎?還是仍然需要每個轉換的証明?

Dan Boneh:不,你仍然需要進行轉換的証明。我們在這裡節省的是,你不需要在 SNARK 中驗証籤名。

Anna Rose:我明白了。

Dan Boneh:這是一個人們應該知道的有用技巧。如果你對消息的多項式承諾進行籤名,那麼就不需要在 SNARK 中驗証消息的籤名。 這基本上大大加快了速度,這是一個重大改進。現在我們實際上正在研究視頻的溯源,事實是我們不必在 SNARK 中爲視頻生成籤名驗証,這是一個巨大的改進。

Anna Rose:改變了一切。

Dan Boneh:是的,改變了一切。

Anna Rose:實際上,我不知道 Dan 你是否聽説過這個。我想最近有另一個關於視頻的工作,叫做 Eva。實際上是我的 ZKV 聯合創始人之一的作品,我相信他們也在處理這個領域。所以——

Dan Boneh:太棒了。

Anna Rose:是的,我們會在節目説明中添加這個。

Dan Boneh:非常樂意聽到。我們很樂意與他們合作。是的,這很棒。

Anna Rose:很好。

Dan Boneh:是的,這就是爲什麼這個領域如此有趣。到處都有想法,與每個人合作非常棒。

Anna Rose:完全正確。這很有趣。你確實看到人們在研究項目上前進,然後他們有時會圍繞某些解決方案或架構開始收斂,或者他們實際上探索了非常不同的領域。我不認爲這個——這個似乎更專注於 IVC。我不知道它是否涉及任何格的內容,所以——

Dan Boneh:是的,當然,總是有很多想法在流傳,合作空間很大。這就是爲什麼這個領域這麼有趣。

Anna Rose:是的。Dan,我知道我們已經達到了我們今天想要討論的主要主題的結束,但有沒有任何你希望人們進行研究的零散實驗,或者你剛剛開始探索但還沒有深入研究的其他線索?

Dan Boneh:是的,絶對有。實際上,我們可以一直談下去。我本來也想談談密碼學中的問責問題,但也許我們下次再説。圍繞那個有很多有趣的工作。也許一個很好的結束方式,因爲我們時間到了,是我想提一下實際上在春季,我要開始一門新課程,叫做“應用零知識”。 基本上,它將從對零知識証明沒有任何了解開始,一直到 zkVM 是如何工作的,以及折疊等。所以我們會帶着學生完成整個旅程。應該是一門非常有趣的課程,我很興奮,期待着教授它。我想分享的是,這將是一門應用課程。所以會有編程項目,學生將實際編冩使用或生成 SNARK 証明的代碼。我想分享的是,我們的社區已經使得 SNARK 証明生成變得如此容易,使用這些 zkVM,現在我無法給出一個編程項目去做它,因爲太容易了。

Anna Rose:真遺憾哈哈。

Dan Boneh:因爲 zkVM,使得生成証明變得如此簡單,以至於這已經不再是一個有趣的項目了。

Anna Rose:所以必須是應用方麵的。

Dan Boneh:是的,當然,我們會做應用方麵的編程項目,但我也希望學生了解爲什麼這些証明繫統有效,爲什麼它們是可靠的。所以我想我們會做類似 ZK Hack 的編程項目,我們拿一個証明繫統,故意破壞它,刪除其中的一些檢查,然後學生的任務是實際構建一個定理,一個不正確的聲明,但他們能夠生成一個証明,驗証者會接受。所以他們能夠爲不正確的聲明生成証明。這是一個了解証明繫統如何工作的好方法,這正是 ZK Hack 的全部意義。

Anna Rose:是的,我們實際上有一個項目,我實際上——我想強調一下,因爲實際上 ZK Hack Online 即將開始,當我們錄製時。到這期播客播出時,它可能剛剛開始。對於任何想要對你剛才所説的有一個感覺的人,Dan,就是這種被破壞的協議並試圖找出如何修複它。所以 ZK Hack 確實有這個謎題黑客比賽。這是第五次我們舉辦它。它是一個多週的活動繫列,我們每週都會有這些謎題。並且有一個競賽,誰能最快地髮現漏洞並做出冩作。所以我會添加一個鏈接到最新的 ZK Hack V。如果有人在稍後收聽這個播客,活動已經結束,我們有一個完整的頁麵專門用於這些類型的謎題。實際上,Dan,我們去年也合作過一次。

Dan Boneh:是的,那是一個有趣的。

Anna Rose:在這種情況下,你是否想象學生設計這些,或者你設計它們,然後他們需要對它們做一些事情?

Dan Boneh:是的,可能我們會兩者結合。

Anna Rose:好的。

Dan Boneh:希望在季度結束時,我們會有一大堆 ZK Hack 給你。

Anna Rose:哇。

Dan Boneh:你可以在未來的 ZK Hack 中使用它們。

Anna Rose:那太酷了。很好。

Dan Boneh:但無論如何,我覺得很有趣的是,現在零知識領域已經髮展到這樣一個地步,給一個項目去構建一個零知識証明太容易了。

Anna Rose:太容易了。

Dan Boneh:我們需要做一些不同的事情。

Anna Rose:有趣。我想我們還有最後一件事要預告。正如一些聽衆可能知道的,ZK 白闆課程第二季目前正在播出。我們有六個核心模塊。Dan,你有一個將在今年晚些時候髮佈的額外模塊。所以我隻是想讓聽衆知道——是的,我不想透露任何東西。這是我的問題。我不想真的説出來,但在今年晚些時候,將有一個模塊髮佈,來結束 ZK 白闆課程第二季。

Dan Boneh:是的,我很享受把它整理出來。希望它會成爲一個有用的資源。

Anna Rose:很好。實際上,如果有人——我的意思是,我假設很多聽衆都知道這一點,但你也製作了 ZK 白闆課程第一季的前三個模塊。我也會在節目説明中添加這個鏈接。對我來説,那是我進入技術領域的入門。即使它是在我開始這個播客多年之後髮佈的,也是我第一次將所有這些詞匯放在一起——我想,“哦,原來他們的意思是這個。”觀看那些視頻對我非常有幫助。

Dan Boneh:哇,太棒了。

Anna Rose:在你的課程中,你是否認爲——你仍然從那個起點開始,還是你會説這個領域已經髮展到如此程度,——你今天如何開始教授零知識?

Dan Boneh:看,現實是我們的領域已經擴展到如此程度,現在你可以教授多季度的課程關於証明繫統。還有多種方式教授証明繫統。有理論課程,有應用課程,有非常實用的課程。有多種方式教授這些材料。所以,是的。但你必須從相同的起點開始,你必須解釋什麼是零知識,爲什麼它如此重要。實際上,我認爲最重要的是解釋爲什麼它成爲一個大話題,爲什麼它突然變得如此有用。爲什麼對 SNARKs 有如此大的需求,而對其他密碼學原語沒有看到這麼大的需求。現實是,SNARKs 讓我們做了其他任何方式都做不到的事情。這就是爲什麼它們如此重要。如果你想擴展以太坊,以太坊的世界已經趨向於 L2,SNARKs 可能在其中扮演重要角色。

Anna Rose:完全正確。好吧,Dan,非常感謝你再次來到節目,爲這期節目做客,向我們介紹你正在研究的主題,你感興趣的內容,以及即將在春季推出的課程。是的,非常感謝你分享這一切。

Dan Boneh:是的,Anna,這非常有趣,我希望你們喜歡它,很高興再次參與。

Anna Rose:非常感謝。對我們的聽衆們,謝謝你們的收聽。