Coinbase專訪Mina CEO:Justin表示ZK-Snarks就是加密魔法

Mina Protocol早在2018年第二季度時,就獲得Coinbase Venture的種子輪融資,Coinbase作為宇宙超級大所,也是目前區塊鏈行業所有項目心中的聖殿,但凡能獲得Coinbase Venture投資的項目何時上Coinbase交易所?所有人都心知肚明,不會不來,只會遲來。

Coinbase Speaker Series是Coinbase Venture在Youtube在真人對話採訪節目,目前對話過的區塊鏈名人有:以太坊創始人V神,萊特幣創始人Charlie, Paradigm聯合創始人Fred Ehrsam,A16Z合夥Vijay Pande等等,都是區塊鏈行業中頂級機構,技術大拿,加密行業創新變革者。

Mina基金會首席執行官Evan在2019年6月做客Coinbase Speaker Series和主持人Justin Mart聊了聊Mina的發展,雖然是陳年視頻,但是裡面內容也挺精彩,值得一讀。

MinaClub把採訪內容整理成文字版,帶大家穿越到2019年,那個時候Evan還是嫩嫩的,Mina Protocol還叫Coda Protocol…..

需要注意的是:Mina Protocol前身是Coda Protocol,因為名字侵權問題,於2020年9月完成品牌升級,本文大部分會用Coda Protocol替代Mina Protocol.

左邊:Evan 右邊:Justin

Justin: 歡迎來到Coinbase Speaker Series, 我想快速介紹一下介紹來自(1) labs Evan Shapiro,建立Coda Protocol的團隊,我們非常很高興歡迎Evan來參加此次對話,Coda是一家coinbase Ventures投資組合的公司,我們將與Evan討論創辦Coda背後的靈感是什麼,它是如何運行以及它會為這個領域帶來哪些創新?

順便說一下,我叫Justin,你們會有些人不認識我,自我介紹一下,我在Coinbase Venture企業開發團隊和風險投資團隊工作。今天能和你聊聊天,挺開心的,Evan,我們就從簡單介紹你開始,Evan畢業於卡內基梅隆大學,他擁有科學和計算機科學學士學位,並且在卡內基梅隆大學個人機器人實驗室工作期間獲得了研究碩士學位,在那裡他做過了一些牛逼的機器人平台研究,之後他作為一名軟件工程師,任職於Mozilla。大約一年半或兩年前,他共同創立了(1) labs,創辦了Coda Protocol,獲得了業內知名加密機構比如Metastable Capital, Electric Capital, polychain等種子輪融資,也獲得了Coinbase Ventures的投資,作為(1) labs首席執行官,非常歡迎你的到來!

為了更好地了解你,現在你能簡單介紹一下自己的個人經歷和背景嗎?以及你是如何進入加密貨幣的?

Evan: 嗯,正如你說的,我畢業於卡內基梅隆大學,攻讀計算機科學專業,我去CMU之後非常計算機科學,本科畢業之後又攻讀機器人學碩士學位。我們做了很多研究,比如基本的運動規劃,如果你有一個機器人,其中一個機器手臂,裡面還有很多關節,你就知道如何更好地移動它,挺有趣的當時。

在那之後我搬到這裡,同一時間,我的一個高中朋友,他在克萊爾搬到這裡在伯克利大學攻讀排版博士學位,我們有共同的愛好,喜歡待在一起研究項目,我們真正開始深入研究的一件事是加密貨幣。尤其是在2017年初,我們看到許多新項目雨後春筍般在以太坊上發行,他們發行項目的願景都很宏大。

大量項目鋪天蓋地,什麼方向都有,但當時我們更多看到的技術的短板與突如其來牛市的爆發不匹配。我們開始想,自己能往什麼方向,能改進哪些東西,能為技術的短板去做一些嘗試,也是從那時起,我們開始考慮建立Coda Protocol,開始思考當前有哪些技術約束,技術底層要如何構建,以及如果你取消對某柴限制,又會導致什麼情況發生。

也就是2017年那個夏天,我們就想著創建一個協議,過了大約四五個月,就開始籌集資。

Justin:所以,當時就想著直接建立一個Protocol? 跟多大多數人比,你的經歷真的很有趣。當我與大多數人談論加密貨幣時,吸引他們的就是幣價,看著幣價漲漲跌跌,然後他們去交易所買幣,最後才參與到這個行業來,而對你來說,最初吸引你的竟然是技術。

Evan: 是的,我們從2011年開始,當時還在讀高中就開始關注比特幣,比特幣背後的區塊鏈技術真的非常給力,非常迷人;你可能喜歡做這個通常需paxos算法。加密貨幣,POW共識共制都挺複雜,但是研究起來相當有趣。

Justin:好吧,那現在讓我們一起聊聊Coda吧!所以你最後決定發起Layer 1 區塊鏈, Coinbase Ventures也參投了種子輪融資,也是一項非常酷的技術,所以我很想听聽項目背後的靈感,想知道為什麼你決定創辦Coda,你能談談Coda是什麼嗎?

Evan: 當我們開始研究,什麼是基礎層協議?它是什麼樣的?它的組成部分是什麼?我們注意到的是,是如果你想成為鏈上的一員,你必須運行了完整的節點,像比特幣之類的區塊鏈,你必須驗證,下載並訪問區塊鏈,當今的技術非常重要,因為您必須完全下載整個區塊鏈,如果你去查看目前的數據狀態,基本是幾百G的容易,完全下載同步數據需要幾天時間,而且還必須保持時時在線後才能下載完。而且隨著更多交易的增加,數據只會變得越來越大。這也激發了我們真正深入研究區塊大小,這也正是Coda做的技術創新。

Justin:具體化一點,我覺得真正令人著迷的是Coda的目標是:簡潔的區塊鏈,實際上正在將區塊大小壓縮到極致,接下來我們一起了解它是如何實現的。

你們在坐各位,有有多少人在任何區塊鏈上運行過自己的完整節點?所以我認為我們所有人都通過第三方與這些區塊鏈進行交互,我們不是這些區塊鏈中的本地不可信參與者,當我們考慮時,這有一點是,如果每個人都必須使用第三方服務,這將如何保持去中心化以及我們將如何去創建基於這些東西的應用程序和項目。

這是我認為團隊coda的核心要解決的問題。我認為這是一個非常技術性主題的談話,尤其是coda正在使用zk-snark去做一些真正具有開創性的事情,我想讓我們談談它是如何實現的?你嘗試講得簡單易懂點,你解釋一下,coda如何能保持簡潔性?

Evan:好吧,讓我來試試吧,所以通常當你有一個加密貨幣並且你想使用它時,你想驗證它,你必須下載區塊鏈中的所有區塊塊,下載完你就擁有所有的數據,但是,如果你要添加更多區塊,這區塊鏈會越來越長。

因此,讓我們思考一下區塊鏈的用途,它所做的是向我證明世界的某些狀態就像世界的真實狀態和世界的最強狀態,一些數據庫,一些分類帳本,是真正的分類帳本。

那我們就得發出疑問:為什麼這些證明必須n個區塊那麼長。有沒有辦法以某種方式壓縮它,答案是肯定的,您可以使用零知識證明來創建數據庫當前狀態證明,同時保持體積非常非常小。

事實上,一個證明僅僅是恆定的大小,而且僅有幾千字節,所以一旦你有了,你就不需要下載整個區塊鏈。您只需要保存數據庫的當前狀態以及該數據庫就是您想要的樣子的證明。

Justin:可以這麼理解嗎?當每個參與者都獲得區塊鏈的這個非常簡潔的證明時,其他人必須下載整個歷史交易,對嗎?

Evan:不完全是這樣,他們可以選擇持有它,然後你知道它與任何其他區塊鏈相同,如果他們願意,他們可以查看整個歷史。但要成為共識節點,你所要做的就是保持區塊鏈的當前狀態,這意味著你只需要在當前時間保持所有當前賬戶餘額,如果情況發生變化,你可以忽略舊數據。

Justin:這挺有趣的,你能談談目前區塊鏈正在努力解決的問題和用例嗎?

Evan:是的,所以我的意思是我們只是簡單地討論了一個,就像你現在想要下載一個完整節點需要幾天時間一樣。當您擁有同步區塊鏈時,您可以立即下載完整節點。這意味著通常在加密貨幣中,區塊鏈的擴展性和去中心化之間存在某種緊張關係。以比特幣為例,他們將區塊大小保持在非常低的水平,是因為他們希望最大限度地保持去中心化。如果區塊體積,你需要向區塊鏈增加越來越多的數據,並且它體積大小會增長得越來越快。對於傳統區塊鏈來說,不敢讓區塊體積變得太大,但是一旦你的區塊鏈大小不變。您可以將區塊大小設置為您想要的大小,跟網絡可以處理的大小一樣大。因為它只是被折疊成這個很小的零知識證明,它也不會影響鏈的去中心化,這是你獲得的一個很大的優勢,可以保持吞吐量和去中心化。

Justin:那麼一個簡潔的區塊鏈究竟是如何同時實現可擴展性和吞吐量,你也給大夥分享一下?

Evan:是的,所以讓我們考慮一下什麼是吞吐量,吞吐量是您在單位時間內添加到區塊鏈的交易數量,這實際上是區塊體積大小。因為如果您的塊大小是每分鐘知道每個單獨的區塊,並且您將塊大小增加一倍,那麼吞吐量就增加了一倍。

所以通常這會很糟糕,因為你正在增加區塊鏈增長速度,這對去中心化不利。但是有了Coda,一旦你有了一個區塊,裡面有所有這些交易,你就把這個區塊變成一個新的零知識證明,你就不需要再保留這個區塊了。您擁有新數據庫的新零知識證明,因此這意味著您可以使區塊大小非常大,但您的證明大小保持不變。

Justin:讓我們深入了解一下ZK-snarks,它就像是一種神奇的觀察技術,加密魔法,密碼學魔法。雖然我有數學背景,但我好幾次試圖理解ZK-snark,但這玩意對我來說很難,即使因為這是Coda Protocol的核心部分。我想知道你是否花點時間解釋一下ZK-snarks是如何工作的?實際上它們是如何最終創建一個非常簡潔的證明?

Evan:我想我們可以在幾個層次去理解零知識證明,讓我從一些有點技術性的東西開始,然後我會用類比的方式讓大家更容易理解。

如果你想像你想要運行一個計算,通常來說,如果你想知道那個計算的結果,你必須自己運行它,你必須知道告訴你的計算機:“好吧,我已經輸入數據,讓我們看看輸出結果會是什麼啥?”,讓我們看看計算結果是否真的符合我們的預期。

而零知識證明,讓我們做一些不同的事情,那就是,不需要自己運行程序,其他人也可以運行程序,有人在互聯網上隨機給你一些證明,這些證明跟你自己運行程序得到的“證明結果”是一樣的。

所以這很棒,因為使用區塊鏈,您不必運行檢查整個區塊鏈的計算,您只需檢查代表該計算的零知識證明。

撇除技術層面的理解,可以這麼理解,去思考:就像你知道一塊巨石一樣,我想向你證明我知道它存在。我能做的一件事就是帶你去看那塊巨石,或者我拖著那塊巨石,然後拿到你面前。

我可以做的另一件事是在給那塊巨石拍張照片,然後我可以給你看照片,因為你可以在照片中看到它,你相信它存在,這就是零知識證明,就像幾乎沒有證據表明某物確實存在,您不必真的看到事物,因為證明(這張照片)完全證明了它的存在。

Justin:挺有意思,零知識證明在本質上是將區塊鏈的狀態封裝成一小塊數據中,這是一個遞歸證明,遞歸如何在Coda區塊鏈中發揮作用?

Evan:你設想一下,如果每次我們向區塊鏈添加新數據時,我們必須重新計算這個證明。那真的非常頭疼,因為當區塊鍊長達10米時,也許這就是你大小10KB證明,但是當區塊鍊長達10,000米時,現在你的證明是10,000KB大小,也是很大的。

所以你需要一種方法能夠在每次更新區塊鏈時做恆定的工作量來進行更新,這就是遞歸的用武之地

比如現在我們要對區塊鏈進行更新,我們採用現有的區塊鏈到為目前為止的coda區塊鏈,比如第5000個區塊

我們查看我們為此擁有的證據,我們將這個證據與一個證據組合在一起,說明我們要添加到證據中的數據也是正確的。所以現在我們有證據證明我們有一個長度為第5,000個區塊的區塊鏈,然後我們再加多一個新塊就了。

現在我們可以創建一個第5001個新證明,所以也是遞歸更新證明的,所以這樣做非常省時省力省工作量。

Justin:我不知道能不能有更簡單的方式去理解ZK-Snarks?技術性太強了!我所理解的就是,遞歸證明就是證明上再疊加證明,再疊加證明。所以每當有人需要加入coda生態系統時,他們所需要的只是當前的遞歸證明,該證明在編碼是一種零知識證明方式,但它背後實際上有區塊鏈存在,由所有其他區塊連接在一起,並在那裡編碼,並編碼交易根.在某個地方有一個分類帳本,所有這些都經過數學證明和驗證過的。

Evan:是的,就好像一張照片,一張照片,一張照片的照片,或者每張照片都包含在照片中,一張代表以前的區塊鏈,就像你添加的東西一樣,可以這麼理解。它更像照片隧道一樣遞歸,可以讓你追溯到創始塊。

Justin:對,照片隧道,一直沿著創世塊向下尋找。所以當我們考慮這對終端用戶意味著什麼?我的意思是問你們有多少人在任何區塊鏈中運行過完整節點?我想答案不是很多。因為今天的全節點和任何其他區塊鏈很難做到你擁有整個交易歷史,你必須讓歷史在每個塊在應用時向前滾動每一個狀態變化。

而使用Coda,你只需要一個非常小的數據,其中包含一個證明存在區塊鏈的證明。

Evan:是的,所以我們討論了一些關於可擴展性的問題,但我們討論了對終端用戶的影響,還不止這些,因為這個證明不僅大小恆定,而且非常小,大約只有幾千字節,所以任何使用網絡瀏覽器的用戶,都可像使用手機一樣在該設備上獲得完整的區塊鏈。

CODA跟其他一對比,你就知道哪個更給力了。如果是一個終端用戶,你就不會再考慮你會信任什麼第三方,因為你可以讓你的設備直接連接到區塊鏈,連接到網絡並製作確保它具有最強大的鏈,並確保具有世界數據的真實狀態等。

如果您是開發人員,則不必考慮構建基礎設施以將您的用戶(如應用程序、他們的用戶設備)連接到區塊鏈,因為您的用戶設備可以代表您的應用程序完成它可以連接到區塊鏈。

Justin:那麼覺得從中會有什麼樣的應用呢?

Evan:之前最興奮的事情就是能夠構建像開發人員,終端用戶一樣可以快速訪問并快速為其構建新東西的東西。然後特別讓我興奮的是,App能夠數字貨幣商店下載,就像你知道數字貨幣的價值並且能夠將它嵌入到應用程序中並構建新的應用程序。

我一想要就更興奮的更多的是像能夠開發協調大量用戶的應用程序,就像有很多人訪問網站一樣,

Justin:太棒了,所以我們確實想把它帶到一點技術上,因為我認為這是coda 協議的核心。我有幾個關於構建簡潔區塊鍊和使用ZK snark背後意義的疑問;ZK snarks 就像真正創新的新密碼學魔法,目前比較新穎,目前密碼學領域使用更多的應該那些經過實戰考驗的。

因為它們已經存在很長時間了,當您使用ZK-Snarks 時,您對我們了解系統的邊界更有信心,它們非常新穎,而且世界上只有少數專家了解他們。所以我很好奇我們是否應該擔心在未來的某個時刻有人可能會找到一種新穎的方法來戳它或打破它。比如我們應該如何考慮這種風險?

Evan:就像加密系統一樣,snarks 就像經過了很好的實戰測試,我認為只是因為它們是在未來會因為創新而更加強大。

人們更新認知的速度也跟著技術發展速度而變化,這讓他們有點像公共知識,而不是像他們只是全新的或他們周圍的任何東西,我很高興人們以同樣的方式思考它想像你知道公鑰密碼學你正在散列我們就像你不一定知道為什麼散列有效的所有細節,但就像你知道它經過實戰測試並且你相信它有效對於人們真正了解snark。

Justin:是的,因此您在這裡進行的關鍵創新之一是如何提高snark計算效率,並且您提到一點,傳統上,使用任何類型的ZK-Snark的項目都需要大量的計算能力,這對你的系統有一定的約束和限制,你怎麼樣才能提高計算效率,以及它會如何影響開發人員的體驗?

Evan:影響最大的是,當你決定在你的協議中使用不同的加密語言時(像散列函數和公鑰密碼)這樣的加密原語時,在snark內部會比其他的更有效。所以如果你看像比特幣這樣的東西,例如它使用的散列方案和簽名方案在snark內部效率會更低,但如果你改變您使用的曲線的唇形參數以及您使用的哈希函數,您可以在snarks中找到非常有效的方案,整體體驗就會非常好。

Justin:最後一個技術問題,所以如果我們確實必須限制我們使用ZK snark的方式,以便它們都更有效?這是否意味著在coda 上開發構建這些應用程序的人必須使用也確認喜歡這個ZK-snark系統邊界的庫或語言?

Evan:因此,到目前為止,您在現實世界中想做的每件事似乎都有一個替代方案,ZK-Snarks在零知證明中也會有替代方案。

如果你考慮一下你實際上將如何編碼零知識證明,那麼有兩種思考方式。比較特殊的是使用Coda時,您可以編寫類似原始零知識證明代碼的代碼,嗯,我們編寫的這種編程語言是我們寫的snarky或者另一個是我們可以編寫一個snarky程序,該程序充當彙編語言的虛擬機,然後您編寫該程序然後進行編譯並通過遞歸snark,您可以將任何您想要的語言編譯為彙編語言。

Justin:我們可以通過一些方法讓這一切變得更好,說老實話,讀CODA技術白皮書時我頭都炸了,順便說一句,這是非常奧帕卡的數學知識讓我們聊聊其他話題,我想談談您個人作為創始人,您知道您對CODA五年的發展期許是什麼?你希望在接下來的五年,你希望看到什麼樣的進步?

Evan:在接下來的幾年裡,我希望看到人們基本上使用加密貨幣開發和構建人們喜歡的東西,會有更廣泛的用戶群,他們也能像喜歡加密貨幣一樣喜歡密碼學。這不像是從舊的金融系統中重新創造事物,它正在構建一些對人們來說是新的、有趣的和令人興奮的東西,我想我已經開始看到這種情況在慢慢發生,人們對加密貨幣的熱情和認知都在不斷上漲,或者你知道在互聯網上嘗試新的應用程序我希望看到這種轉變對那些喜歡真正使用加密貨幣提供財務透明度的人產生影響,現在的互聯網系統是非常不透明,就像這是不可能的就像創造一個新事物一樣,我真的很高興看到加密貨幣和像O(1) Labs 這樣的東西希望在那裡產生影響,因為我們可以構建一個新的公平透明系統。

Justin:是的,有趣的是,你提到了財務透明度,另一方面,我注意到其他建立在ZK snarks上的項目都將其應用於匿名隱私支付,而Coda是用於創建簡潔的區塊鏈。你呢?有計劃讓Coda用於隱私保護?

Evan:是的,我認為隱私非常重要,這是我們想要添加的內容。所以到目前為止我們為我們工作的是,就像零知識證明SAR 已經有點像協議上的原生代碼。所以很容易,你可以遞歸驗證一個新塊遞歸私密交易。所以在核心上,就像你知道的,做這種零知識證明的遞歸組合是必要的,但在某些時候我們希望也能增加隱私。

Justin:太棒了,我個人比較好奇,建立Layer 1協議中你有沒有遇到什麼挑戰?

Evan:是的,我的意思是很多想法每天都會在我們腦海中環繞,我們會想寫一個安全協議,有什麼人會去應用使用?要如何迭代升級好技術?用戶體驗會是什麼樣子?就像是一個!對於整個項目未來的發展,未來規劃,是最挑戰的事。

Justin:有沒有在的風險或您認為如何能成功讓開發人員和用戶以及讓人們去使用這項新技術,是非常重要的。

Evan:我認為對於我們正在做,還得一步一步往前推進,一點點優化。就像我使用的github 這類在線工具箱或一些我可以開始使用的東西,我認為一定要保證好精緻的用戶體驗,只有讓用戶體驗好了,這才可以潛移默化去影響他們的想法。

Justin:Layer 1協議的構建是充滿挑戰的,你需要以非常完美的方式將所有這些不同的小細節聯繫起來,現在項目走到哪個階段了呢?

Evan:所以觸及較少的東西非常簡單,就像我認為的那樣,因為我們能夠像你知道的電話筆記那樣構建可以在任何地方運行它簡化了我們如何開發東西,因為每個平台都得到相同的待遇,也喜歡每個平台平台有點像自己處理整個基礎設施和後端,所以這有助於保證更好的用戶體驗,因為我們不必考慮所有中間件和中間組件。這可能coda編寫者的主要好處之一,我們正在擺脫開發人員和用戶之間的中間件限制;

在我們的Roadmap中,接下來很快會有公開測試網推出、然後我們會啟動公共測試網並且當我們對網絡進行測試,確保發布之前一切順利,開發人員能夠開始在Coda上構建小項目。

Justin:有明確的主網發布日期嗎?

Evan:我希望在接下來的幾個月裡會開始先推出測試網,然後我們會你知道我們會看到你知道它看起來像從那裡開始的工作量但希望不要太高,主網啟動前,需保證一點,那就是它已經非常接近功能完整了,所有組件都通過安全測試;

Justin:作為一個技術創始人,你必須非常快速地學習,你認為目前你學到最有價值的一課是什麼?

Evan:還是會像往常一樣尋求幫助,也聽了我們們顧問和投資者的很多建議,他們在這個圈子見過大量的項目給了很多建議,我們可以少走很多彎路,我也認為直覺很重要,一但你直覺告訴你你做的事情是對的,你就得勇敢前進。

Justin: 訪談也快到尾聲了。謝謝Evan. 作為coda的投資者,我們很樂意在運營過程中為您提供幫助,以我們自己的方式,在可行的情況下為你提供指導。

Total
0
Shares
Related Posts