對話Mysten Labs共同創辦人兼密碼學家:Sui引入哪些密碼學創新?
發表於 2023-06-27 17:00 作者: 區塊鏈情報速遞pro
密碼創新要如何成為 Sui 設計的核心?本文邀請到 Mysten Labs 共同創辦人兼首席密碼學家 Kostas Chalkias,由 Sui world 採訪、Foresight News 整理。 (前情提要:Sui如何解決以太坊痛點,達到「鏈上真自由」?專訪 Mysten Labs 執行長 Evan Cheng ) (背景補充: 下一次 L1 之戰中,哪些項目值得重點關注?Sui、Aptos、Aleo、Celestia、Monad)
本文目錄
本文,我們對話了 Mysten Labs 共同創辦人兼密碼學家長 Kostas Chalkias,討論了密碼創新如何成為 Sui 設計的核心,以及即將推出的功能為何令人興奮?
Q:您能簡單解釋一下密碼學家在構建區塊鏈中的作用嗎?
A: 事實上,我曾經與中本聰的第一批開發人員之一(邁克・赫恩)一起工作, 我擁有密碼學博士學位,在區塊鏈時代之前,我的關注點主要集中在學術界。由於這種參與,我可以準確地告訴您加密技術為區塊鏈基礎設施公司發揮作用,通常分為三個關鍵角色。
首先是研究,你必須在密碼學方面進行創新,因為它通常是非常高階的數學,一部分是尋找很酷的新演算法,同時也需要研究破壞演算法。我之前在一家區塊鏈公司擔任的角色就涉及審查密碼學的實施並作為白帽駭客尋找針對他們的攻擊。所做的內容「你是一名數學家,你是密碼學家。去看看這個特定的數位簽名演算法或隨機信標或其他什麼的實現。檢查一下是否一切正常」。這屬於研究領域。
其次是實施,即應用密碼學的概念。 應用密碼學家確實從產品團隊那裡得到了要求 ——「嘿,我們想要一個新的更快的簽名方案,或者我們想要為我們的客戶或客戶或社群建立一個新的隱私功能。」然後應用密碼學家不僅要設計東西、研究,還要實施它。 有時應用密碼學家還必須是一名非常強大的軟體開發人員,需要在編碼方面進行新穎的優化。
最後是創造新產品,基於密碼學家瞭解的原語基礎上,提出自己的創新想法。
總結一下,我們兼顧研究、實施與產品,這就是典型的區塊鏈密碼學家的角色。
Q: 通常是同一個人能夠做這三件事嗎?或者分成組去實施?
A: 對於 Sui 來說,因為我們引入了許多創新,所以我們需要多人從事許多工作流程。我是 Mysten Labs 的首席密碼學家,也是 Sui 的創辦人之一,所以我參與了大部分工作。但是,您無法獨自完成所有事情,我仍在向我的團隊學習。
我們不僅僅使用一種程式語言。例如使用 Rust 語言進行概念驗證,但後來我們意識到網路上的大多數人都在使用 JavaScript 或 TypeScript,密碼學家不可能自己寫所有的東西。但你不能委託給像軟體工程師這樣的通才,因為有些優化需要高階數學和加密原語知識,或者你可能需要與一些你不熟悉的庫進行互動,因此你需要其他人來接手這項工作。
我們的研究團隊總共約有 10 人,在日常工作中致力於創新和實施。我們擁有這些「聰明」的頭腦,有時我是提出想法的人,有時我也在遵循其他加密專家的方向。我們團隊可以幫助實施,或提供資源或提供有關如何擴充套件和應用一個很酷的想法的提示。
兩隻眼睛不夠,因為密碼學是區塊鏈基礎設施中極其關鍵的一部分,如果出現問題,則可能 GAME OVER,所以需要更多的眼睛。另外,需要很多創新者。
Q:Sui 設計中已應用的外部研究取得了哪些關鍵進展以及影響?內部對話有哪些關鍵創新?
A: 在密碼學方面,對我們產生影響的外部訊號是零知識證明等技術的演變,以及文獻中提出的一般隱私保護技術。不僅僅是區塊鏈在做密碼學,世界各地也有研究機構、大學部門,在做理論工作。我個人認為 Mysten Labs 非常擅長在從未有人實施過的領域尋找新理論,其中一些假設可能不準確,但我們將其與我們現有的技術結合起來,最終推動我們創造出一種新穎的產品。
Sui 有一個新功能,零知識登入(ZK Login),就是這樣應運而生的。外部提出了一些技術,但不足以為 L1 區塊鏈提供無縫的身份驗證機制,我們在它之上發明了新功能,這是應用研究的內部垂直領域,最終,我們想出了一個完整的解決方案。
我們不是大學,我們不僅僅是理論,我們需要實施生產就緒的東西,因此,我們從內部和外部討論中獲得回饋。很多時候我們閱讀科學論文,我們參加活動,我們是審稿人和演示者,我們收到回饋。顯然,我們將所有這些轉換為 Sui 上的實現。
我意識到我們的一些程式碼隨後被其他人、其他公司甚至我們行業之外的人使用,最終會看到大公司獲得這些程式碼並將其注入到自己的基礎設施中,不一定是區塊鏈基礎設施。
內部創新通常是由產品團隊觸發的。他們會來找我們說:「目前這是不可能的,我們還沒有看到這方面的研究。你能解決這個問題嗎?」
例如,啟用可發現的區塊鏈地址但具有隱私性的有趣問題。即使在您建立帳戶之前,我如何才能將某些內容傳送到您的電子郵件或電話號碼?想象一下 Venmo 風格的功能,我向您傳送資產,然後當您意識到它們在那裡時就去獲取它們。解決這個問題需要內部集思廣益,討論如何以隱私心態正確地做到這一點。從外部得到理論,我們將所有這些結合到一套工具中。大多數時候我們在這方面實際上非常成功。我們設法解決上述問題,很少會遇到產品問題而沒有解決方案。
Q:Move 如何幫助您創造這些密碼學創新,併為使用 Sui 的開發人員提供更安全的體驗?
A: 我曾經是一名 Solidity 開發人員,編寫以太坊合約,我還熱衷於破壞以太坊上的智慧合約。我的第一份工作是審計以太坊上的彩券合約,我成功地摧毀了一些演算法。當時,你幾乎可以說隨機性演算法不公平、不透明。這實際上讓我瞭解到智慧合約開發人員通常是編寫小指令碼的工程師。智慧合約不是大程式,也不是複雜的資料庫,通常,只需接受幾天培訓的人就可以編寫智慧合約並進行部署,但這需要非常仔細的稽核, web2 – web3 互動可能存在隱藏的陷阱。
我們意識到,在以太坊上,由於兩個特殊因素,Solidity 的一些安全功能存在問題。首先,工程師正在優化壓縮以減少 GAS 費用,這可能會造成使用者可能會因為沒有涵蓋邊緣情況而錯過某些內容。而且還存在重入攻擊的問題。就像一個智慧合約向另一個智慧合約付款而不更新其狀態。這種攻擊向量過去曾造成大量資金損失,包括多年前的以太坊 DAO,導致以太坊分叉。
Move 不存在這些問題,特別是對於重入問題,我們從頭開始保護原始碼。此外,我們還通過建立一種更加以物件為中心的 Move 語言,對原始 Facebook Move 進行了很多改動,這對程式碼的可重用性有很大幫助。您不需要複製貼上智慧合約程式碼,然後可能進行一些調整,而是可以呼叫原始程式碼並獲得更好的一致性保證。
同時,在 Move 中,我們為所有事物提供了物件。在 Solidity 中,當您將內容從一個合約轉移到另一個合約時,如果沒有上下文,通常您不知道它是什麼。這是地址嗎?這是一個數位嗎?這是影象 URL 嗎?當您將所有內容都視為物件時,類似於 Java 和 C++ 以及所有面向物件的語言,您可以首先將現有的客戶端專案轉換為基於智慧合約的世界,而無需關注三重優化的壓縮機制。因為你可以從字面上看到,這是一個「老虎」物件,我正在向你傳輸一個「老虎」物件。
密碼學呢?當你擁有這些物品時,當我將一些東西從一個錢包傳送到另一個地址時,你會看到一個彈出視窗,顯示「你正在轉移老虎 NFT。這隻老虎 NFT 有 X 特徵」。由於以物件為中心的設計,無論您觸控的是什麼物件,您都可以準確地看到您正在做什麼,這可以幫助您識別交易中的任何問題。許多使用者受到惡意軟體或應用程式的誘惑,試圖說服您在其他區塊鏈錢包中籤署您不希望簽署的內容。但對於 Move,這就有點困難了,使用者可以清楚地看到正在發生的事情,這會增強終端使用者的安全性。
另一件真正有助於設計更有趣和更酷的演算法的事情是由物件實現的並行化。假設我有一些鈔票,一張 10 美元的鈔票和一張 100 美元的鈔票。如果我向旁邊的兩個人提供鈔票,我可以並行執行此操作。
在以太坊上,基本概念是中央帳戶餘額,你可以從那裡轉移東西。因此,如果我要傳送或接收資金,我必須排序這些交易,我會先發送 100 美元,然後提交 10 美元交易,同時如果有人向我傳送資金,這 3 筆交易都必須被排序,這個過程是昂貴的。
這就是我們從 Move 語言中獲得所有很酷的東西的方向,作為密碼學家,我們可以使用 Move 提供的並行化和面向物件程式設計來建立更好的安全性、更酷的創新演算法。這就是整個想法。例如,我們建立了一個彩券計劃。雖然乍一看似乎很容易,但老實說,正確地做到這一點通常非常非常困難,特別是在構建具有複雜邊緣情況的多人彩券時,這也是優秀密碼學家的閃光點。我們需要一些隨機性,你需要購買彩券,這些票可以被並行購買。你如何在區塊鏈上做到這一點?Move 及其可用的加密原語幫助提供了更好、更安全的加密生態系統。
我很清楚,類似彩券系統的東西可以用在一個產品中,比如說,有 300 張票可用,但有數千人想要它們,而您希望它們被隨機分配?這個系統是 Sui 的基礎,任何公司都可以將其新增到他們的產品中。
這裡的好處是,由於 Sui 的面向物件性質,您可以從許多不同的其他智慧合約中呼叫相同的合約。我們有可組合性的概念,它實際上可以幫助您在兩種不同的彩券中使用同一張彩券,這對於創造以前不存在的新體驗非常有用。
在遊戲領域,你需要隨機性,而 Sui 實際上是最好的區塊鏈之一。對於棋盤遊戲,即使是看似確定性遊戲的國際象棋,您也需要知道誰先下棋。誰是白子,誰是黑子(正如我們所知,在國際象棋中,白色具有優勢),它需要一定的透明度才能在同一遊戲中正確匹配不同的玩家。還有政府應用程式。想象一下稅務局正在進行一些統計抽樣並選擇審計物件。他們真的能提供證據證明統計抽樣是以公平和透明的方式進行的嗎?
Q:您最近寫了一篇推文,討論將 NFT 儲存在鏈上的重要性,以便它們保持動態並隨著時間的推移而變化。您能否分享更多關於這一觀點,特別是 Sui 的資料結構如何增強 NFT 的實用性?
A:這是一個備受爭議的話題。我試圖解釋不同基礎設施所啟用的 NFT 屬性是不同的,當它只是一個靜態影象,當你您不對該影象執行任何高流量操作時,傳統結構確實非常好。但在某些情況下,比如遊戲中,玩家希望可以從 NFT 中獲得更多的收益,那麼傳統結構的 NFT 就不夠好。
Sui 有一些允許動態 NFT 的演算法,每次發生交易時,它們的欄位都會更新。當你玩遊戲的時候,你有一個英雄,你贏了,過了了關,你可能會得到一些新的武器或力量,這一切都可以記錄在區塊鏈的狀態中,並創造出一種全新的型別。另外因為 Sui 上的儲存成本便宜,NFT 可以儲存在鏈上。這使得鏈上可以更輕鬆地讀取和寫入不同的智慧合約,並實現可組合性。
在其他鏈上,您將面臨一個問題,因為更改不在狀態中。要讓另一個智慧合約讀取你的合約,他們需要知道你的結構,你需要一個鏈下解析器,這會造成一些使用者體驗的複雜性。在一些很酷的應用程式中也有條件邏輯,在提交交易的時候,你不知道你要接觸哪個 NFT,所以我能從鏈下世界提供什麼,這並不容易擴充套件。
還有威脅模型的問題,事實上,一些特定的應用程式可能會容忍壓縮和鏈外儲存。但實際上,當我們在鏈外儲存某些內容時,我們正在改變威脅模型。原因通常是中心化,想象一下,有一天,如果您將其儲存在 AWS 中,然後…… 亞馬遜就癱瘓了。亞馬遜是一家單一公司,如果它出現故障並且您無法訪問該特定的鏈下資料,您將無法在鏈上使用它;即使可以,您甚至需要資料來生成您確實擁有鏈下資料的證明,因為有時您只需要證明,對嗎?為了證明,您需要從 AWS 獲取內容,然後對其進行hash處理,並將極少量的資料傳送到區塊鏈中,這在某種程度上得到了驗證,但如果你沒有資料,你無法證明我的 NFT 內容是什麼。
所以存在一些中心化問題,儘管有些人說並不是,因為我們可以將它儲存在不同的地方。我同意,如果我們能夠設法有一個特定的設計,將所有這些威脅模型都編碼到區塊鏈中,但另一個問題是延遲,在鏈上實踐中,我們需要以最小的延遲獲得內容,如果把 NFT 儲存在其他鏈上,會造成延遲加倍,這不是我們想要的的,我們希望所有的東西儲存在鏈上,同時降低延遲性。
Q:對於 Sui 的未來,您最興奮的是什麼?
A: 這是我最喜歡的問題。我加入 Mysten Labs 的主要原因是我更喜歡創新驅動產品開發的地方。我們正在向社群提供一些新的東西。我甚至給我的兒子命名為 Kryptos。
如果你特別問我關於 Sui 的加密創新,有一件事是肯定的,那就是我們允許很多方式進行身份驗證。通常,大多數區塊鏈只支援一種簽名演算法,以太坊有自己的演算法,Cardano 和 Solana 支援另一種演算法。我們試圖能讓 Sui 與其他公鏈對話,這意味著我們允許所有現有演算法,這意味著我們與更多錢包相容。現有的錢包不需要重新發明輪子,您喜歡基於以太坊的演算法,我們支援該演算法,所以去使用它吧。你使用 iphone,那你甚至不需要錢包, iPhone 和更先進的 Android 裝置內建有這種僅支援特定演算法的安全晶片,我們也支援這一點。
然後我們本身也有多重簽名的概念,如果您注重安全性,密碼學的身份驗證部分,是 Sui 的旗艦功能之一,將創造新的身份驗證體驗。
我個人非常喜歡的另一件事是,我們從第一天起就在 Sui 內部引入了零知識證明、隱私保護技術。因此,人們現在可以建立一個具有儘可能多的隱私的 KYC 系統,他們甚至可以建立保密的金額轉帳,同時也讓他們有機會遵守法律和審計師的要求,我們把一切都放在那裡供開發人員使用。
除了所有這些演算法之外,我們的開發人員解決方案工程團隊實際上提供了非常好的支援。我們每天都和不精通密碼學的團隊一起工作,他們沒有密碼學家,但有一些非常酷的想法,如果我們得到一些回饋,我們會幫助他們實現,有些東西是不可用的或者存在問題,我們也會以極快的速度解決它們。
標題:對話Mysten Labs共同創辦人兼密碼學家:Sui引入哪些密碼學創新?
地址:https://www.coinsdeep.com/article/16957.html
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。