-
CS Lewis 說,完整性即“做正確的事,即使沒有人在看”。
-
尖端的密碼學將使區塊鏈能夠根據這一理念管理每個人的數據。
當人們發現到我離開大學是為了去區塊鏈行業工作時,他們經常說我正忙著解決一個不需要解決的問題。
一個理智的學者應該知道不要被時代的浪潮丟下。我堅信區塊鏈將顯著增長,也正是因這樣的信念我才離開大學,並且相信我可以僅僅依靠數學研究成果,讓區塊鏈以大規模的計算完整性運行。這並不是抽象的預測:我是StarkWare 的聯合創始人,我和同事們已經用這種數學方法建立了一系列先進的區塊鏈技術。
這次職業轉變的原因是,我希望看到區塊鏈提供的東西能給人類的生活狀況帶來明顯的改變。我希望它能用一個更透明、更公平、更民主的新體系,取代那些在我們所有的金融交易中起到中介作用的中心化機構,同時以主流金融公司所承諾的同等水平的,甚至是更高水平的,完整性來運營。
偉大的CS Lewis 寫了大量關於完整性和其它崇高具有價值觀的文章,都抓住了完整性這個詞的力量。他把它定義為”做正確的事,即使沒有人在看”。這正是我對處理我的資金的人或與之相關的計算所期望的: 一切都能符合我所說的計算完整性的標準。
早在區塊鏈之前,計算機科學家就一直致力於此,儘管使用的是不同的語言。在1991 年的一篇開創性文章中,四位理論計算機科學家——László Babai、Lance Fortnow、Leonid Levin 和Mario Szegedy——預見到了這樣一種情況:”一台可靠的PC 可以監控一群超級計算機的運行,這些超級計算機可能使用了極其強大但不可靠的軟件和未經測試的硬件。” 用Lewis 話說,即確保在涉及到促進我們金融交易的大量計算時,系統總是在“做正確的事”。
但是,也有人提出”如果它沒有壞,就不要修理它” 這樣的觀點,他們認為區塊鍊是為了改變而改變,並沒有帶來什麼特別的好處,目前的系統就很好了,考慮到區塊鏈所支持的現行系統,這個觀點值得在此加以討論。
信譽良好的可信方反复博弈
在過去的一個世紀裡,我們已經習慣了由銀行這樣的可信機構來處理和授權我們的金融互動。如今這樣的機構有很多,包括Visa、SWIFT 和許多交易所。
這些機構承擔了所有有關計算和記錄的艱苦工作和它們所導致的麻煩問題。但主要的缺點是,我們都被期望要完全信任他們,無需我們再做出任何監督。問題是,我們為什麼要滿足於此呢?特別是在一項技術能帶來更透明的解決方案的時代,即區塊鏈時代。
諾貝爾獎獲得者經濟學家Paul Krugman 給出了一個有趣的答案。他說,現在已經有一種”技術” 可以讓民眾相信,可信機構在以誠信行事
他創造性地使用了”技術”這個詞來談論聲譽問題。 “思考這個問題的一種方式是,聲譽是一種技術,” 他說,”我們通過將一次性遊戲改變為重複遊戲來解決了許多經濟問題,即將人們拿錢就跑的一次性遊戲,轉變為人們在某一時期都有良好行為動機的重複遊戲,這樣你就會在下一個時期信任他們,並一次往復操作。” 所以,在他看來,銀行和其它可信任的機構為我們提供了良好的服務。
這是一個重要的觀點,但在我看來,這經不起推敲。區塊鏈預示著太多的承諾以至於不能被忽視。而且,今天的局勢對我們有利的說法也不是正確的。如果銀行是可信機構的縮影(有些人可能會質疑這種說法),那麼請記住,全世界至少有約17 億成年人仍然沒有銀行賬戶——沒有機會接觸銀行或金融機構。但他們正在慢慢發現加密貨幣。在非洲,有140 萬人持有加密貨幣,且這個數字在不斷增長。此外,直到幾十年前,人們和小企業之間幾乎所有的金融交易都是在沒有銀行中介的情況下完成的。向電子貨幣的現代轉型,使得幾乎所有交易都通過一小群“大而不倒”的機構進行,從而讓它們獲得了巨額的、本不應獲得的利潤。因此在我看來,現有的可信機構系統為通過區塊鏈進行重大改進留下了空間。
所以支持轉向加密貨幣的人說“讓我們扔掉會帶來重複遊戲和聲譽的社會技術,並嘗試建立一個完全基於一種算法來運行系統,讓該算法來保證我們擁有我們所需要的東西”。
擁抱區塊鏈的原貌
區塊鏈依賴於“分佈式賬本”的理念而不是信任的機構,開闢了一個全新的金融交易世界。這些賬本通過被廣泛共享和詳細審查,實現了計算完整性。換句話說,交易不是由銀行家或其它可信的一方來驗證,而是通過數量來驗證。
這是一個了不起的進步。那麼,為什麼我不能對此感到滿意,並接受區塊鏈的現狀呢? 為什麼要去改變區塊鏈的工作方式呢?
答案是,區塊鏈面臨一個巨大的障礙,即擴展性問題。區塊鏈通常每秒只能處理10 到15 筆交易,這實在太小了,以至於使區塊鏈無法成為規模化的應用。
大多人沒意識到區塊鏈的擴展危機,但它實際上影響著我們每個人。仔細想想,為什麼我們日常使用的加密貨幣應用程序沒有得到很好的發展,為什麼沒能讓技術普及開來使得普通人也能充分利用區塊鏈的力量?因為面對目前的需求,區塊鏈承受著壓力,這使它的速度變得很慢,並導致交易費用飆升,這不利於這項創新技術的發展,那麼更何談使大規模的人群從中受益。當擴展性能為區塊鏈創造了喘息空間時,我們將看到加密貨幣應用程序的建設熱潮。
讓我們看看系統的具體細節,以了解阻止區塊鏈擴展的原因。
區塊鏈實際上是在構建完整性,這好比你在餐廳與服務員的互動,服務員在你點單後附送一張清單,擔當起你的點單”Prover(證明人)”的角色,而你驗證這份清單,使你成為”Verifier(驗證者)”。你可以通過簡單重複地計算Prover 做過的計算來驗證計算的(清單的)完整性。因此你是通過”簡單的重複操作”來建立的完整性。
區塊鏈的工作原理與此類似。提交給區塊鏈的每筆交易都被視為點餐清單,區塊鏈的每個節點都必須通過簡單的重複計算來驗證這些交易。如此就不需要可信方,如果有人作弊,每個節點都能看到。
缺點是,很多節點都需要做大量的計算。以及更重要的是,這種計算繁重的模式限制了區塊鏈的擴展性,其每秒鐘的交易量上限很低。如果區塊鏈上的所有設備都需要是擁有許多內核和巨大磁盤空間的超級計算機,那麼這一點就需要得到糾正,因為這將很快使區塊鏈類似於它試圖顛覆的舊系統——用運行一小批超級計算的公司取代銀行。為了防止這種情況,真正去中心化的區塊鏈推崇的一個關鍵原則是包容性問責制(inclusive accountability),即驗證整個區塊鏈的完整性必須能夠通過我們日常的筆記本電腦來完成。
因此,基於驗證其完整性的包容性,區塊鏈的巨大優勢——記錄的保存是完全可靠的——就顯現出來了,但這是以吞吐量為代價的。這好比民主制度下的每個決定都是由公民投票做出的,這是一個非常包容的過程,但在時間、精力和系統能力需求方面是繁重費力的。
這就是為什麼區塊鏈社區中雖然存在著不滿情緒,但對可擴展解決方案擁有巨大的興趣。在關於如何盡可能好地做到這一點的討論中,我和我的團隊被稱為是擴展的首要支持者,但也極力反對任何與區塊鏈相關的安全、速度或其它優點做出妥協。 StarkWare 的精神是在保持完全計算完整性的同時進行擴展。
對於今天的許多人來說,究竟如何擴展區塊鏈,似乎是一個無關緊要的技術問題。然而就像對社會上其它大型基礎設施的選擇一樣,包括如何組織民主或構建稅收和福利制度,可能會對我們所有人產生重大影響。
別太複雜了,相信芯片就可以了
一個現成的解決方案不是就在眼前嗎?區塊鏈使我們無需信任像銀行這樣由人類管理的實體。本著這種精神,如果我們想擴展它,就把我們的信任放在硬件上。
被稱為可信執行環境(TEE) 的芯片提供了這樣的解決方案。如果你想在區塊鏈上寫入許多交易,就把所有相關輸入都傳輸給TEE,TEE 會生成一個將被寫入鏈上的簽名密鑰,並表明TEE 已正確處理了所有交易。因此,鏈上的節點不再需要驗證長字節的計算,而是驗證由TEE 發出的證明了許多交易完整性的短的簽名密鑰。基於向鏈上添加的數據越少驗證完整性所需的計算也就越少這一點,區塊鏈可以被擴展,無需使用超級計算機來替代驗證它的筆記本電腦。
這個解決方案聽起來很完美,但事實並非如此。讓我們假設芯片是按照最高標准設計和製造的,安全性也和我們所希望的一樣高。然而,儘管如此,每個芯片都依賴於一個隱藏的內置密鑰。雖然提取密鑰極其困難且昂貴,但如果這樣做能帶來巨大的收益,就總會有人願意去嘗試。需要強調的是,一旦TEE 芯片被發送,它就不再受製造商的控制,可能會落入惡意之人手中,包括作為其安全性前提的密鑰。這意味著,即使攻擊在現在不可行,也可能在一兩年後變得可行,然後系統就會受到威脅或被破壞。
2010年,前美國軍事安全專家Christopher Tarnovsky 發現了德國英飛凌公司號稱infineon 不可破解的SLE66 CL PE 芯片的一個弱點,他使用了一台電子顯微鏡、酸和其它工具破解了該芯片。雖然這些物品不是家常所用,但對於任何想破壞金融系統的人來說,它們肯定是唾手可得的。
隨著技術的進步,用於惡意用途的技術也在進步,芯片的破解也將會越來越容易,越來越便宜。破解芯片的價值高低取決於對它們的使用,當破解它們帶來的收益價值越高就意味著破解成本越低,彼時破解動機就會上升。
信任數學
對於區塊鏈,理想的情況是,通過最少的計算,使得節點能夠保證添加至鏈上的所有內容。如此人們將有能力向鏈上添加更多的項目,區塊鏈也就可以大規模地擴展。
我所關注的研究分支提供了一種僅靠數學就能生成”證明”的方法,以證明許多交易的完整性。與其將這些交易發送給網絡的所有節點檢查,不如由單個證明程序處理它們,並向區塊鏈提交一個簡潔的計算完整性證明。
談論證明聽起來很抽象,讓我們更具體一些。它們是一堆協議,旨在說服任何觀察它們的人相信這些聲明都是正確的,就像在法庭上執行的公開、透明的協議,旨在說服聽眾正義已經得到了伸張。我參與發明的證明系統——STARK,要求證明者Prover 提交一個證明(執行計算的註釋日誌),以證明成千上萬個交易的完整性。
對於Verifier 來說,要檢查計算是否有效,不需要重複Prover 進行的計算,也不需要閱讀提交的日誌。相反,Verifier 對該日誌中的條目進行隨機抽樣(幾千字節),而這些樣本中的數字模式提供了驗證計算完整性所需的所有信息。有且只有計算是有效的,Verifier 才認為證明是有效的,並同意接受將交易提交到鏈上。
由此可見,這裡沒有可以被黑客攻擊的硬件,只有已發布的、同行評議的和公開審查的數學及其在公開可用的軟件代碼中的實現。該軟件僅驗證證明,即使證明是由惡意方使用有故障的硬件產生的,計算完整性仍然有效。
長久以來,我一直夢想著將數學的“真理”用於這些奇妙的證明系統之下,讓人們對運行在現代生活中的系統(包括但不限於金融系統)更有信心。 STARK 證明系統使數學的真理像自然規律一樣不可篡改。就像萬有引力迫使物體落地一樣,STARK 證明系統迫使計算中的”雜質”被暴露出來。
自20 世紀80 年代以來,STARK 系統的理論前身一直被大力研究,但最初的結構效率太低,無法在實踐中使用。在我的研究生涯中,有整整十年都在致力於克服這一障礙,首先是理論上的,然後是實踐上的,並且我不確定如何將我的研究應用到社會運行中。 STARK 系統並不是為區塊鏈設計的研究,但在2013 年我參加了在San Jose 舉行的比特幣會議,我開始意識到它非常適合用於處理區塊鏈的挑戰。如今在許多優秀團隊的努力下,基於數學的區塊鏈擴展正在迅速推進,Zcash、Aztec、The Matter、Hermez 和Miden 就是顯著的例子。與StarkWare 的優秀團隊合作是一段令我振奮的經歷,StarkWare 不僅將我們的研究帶入生活,而且以我無法想像的獨特方式擴大和創新。
最近的一項創新是StarkNet,這是一個開放的網絡,可以幫助所有基於以太坊構建的軟件擴容。今天,任何人都可以使用它來部署任何智能合約,而任何用戶都可以向這些智能合約發送交易。使用數學和加密證明來驗證區塊鏈的完整性,形成了一類稱為有效性證明(Validity Proofs)的擴展解決方案,StarkNet 只是解決方案之一。
Optimistic
另一種擴展區塊鏈的有趣方法是基於欺詐證明(Fraud Proofs)而不非有效性證明。與STARK 方法一樣,欺詐證明方法通過創建樂觀的假定為正確的交易批次,使區塊鏈的節點不必對每一筆交易進行”簡單重複計算”。驗證交易所需的所有原始輸入都被上傳或”rolled up “到區塊鏈,所以我們稱之為Optimistic Rollup。
在基於欺詐證明的系統中,Optimistic Rollup 節點監控已處理的交易,若節點認為向鏈上提交的更新似乎存在問題,則可發起挑戰。
如若這種情況發生,且挑戰是正確的,不准確的計算就會失效,時鐘就會退回到所有這些節點都同意所有計算具有效性的最近時刻(發布錯誤區塊的一方支付罰款,檢測方獲得獎勵)。
Optimism 帶來了效率。由於交易被提前認為是有效的,所以在每個交易上花費的計算很少,如此看來,似乎欺詐證明很適合於可擴展性受限的環境。
但是,無論是由於錯誤還是惡意, 如果Optimism 導致一個不可變的分類帳本中包含有錯誤的陳述,則會產生災難性的後果。
如若一個不正確的狀態真的被忽略了,或因攻擊者設法讓試圖報告欺詐行為的用戶沉默(通過發動拒絕服務攻擊)而錯過了,那麼它將被寫入區塊鏈而再無任何補救措施。這意味著一個已知的虛假聲明可以被接受為真實,例如”Eli Ben-Sasson 現在是世界上所有加密貨幣的所有者”。 Optimistic Rollups 分配了一個時間框架——爭議時間延遲( DTD:Dispute Time Delay )——用以對一個狀態在區塊鏈上被終態化之前對其進行爭議,DTD 越長,系統原則上越安全。
當然,我們可以使用非常長的DTD,但屬於DTD 的每個小時都是在延遲交易在鏈上被終態的時間。目前正在進行測試的Optimistic Rollup 系統使用為期一星期的DTD。用戶必須等待如此長的時間才能提取資金或NFT 等資產。流動性提供者可以為他們提供替代流動性,但這就像從發薪日貸商那裡借錢一樣——成本很高。
就我個人而言,我相信STARK 有效性證明而不是欺詐證明,因為它在沒有DTD 的情況下擴展了區塊鏈並驗證了每一筆交易,而非依賴樂觀的假設。它更符合區塊鏈的核心原則:”驗證它,而非選擇信任”。
很明顯,區塊鏈將塑造我們的未來,但也很明顯,為了充分發揮其覆蓋全球範圍的潛力,區塊鏈需要進行擴展。弄清楚如何在不損害區塊鏈核心原則的情況下實現計算完整性,是擺在我們眼前的一大挑戰。
當我們的團隊每天收到來自世界各地的消息,告知我們他們正在使用StarkNet 進行試驗,基於STARKs 運行的絕對完整性來執行合約時,我在思考這個項目將引領我們走向何方。
大約15年前,我們感覺到了智能手機應用程序的潛力,但我們無法想像其用途的多樣性,它們將帶來的一系列好處,以及它們將帶來的社會和經濟變革。這就是現在區塊鏈所處的位置,而擴展是缺失的一環,它可幫助區塊鏈的潛力得以實現並且是每個人都能體驗到。
這幾乎肯定意味著沒有銀行賬戶的人可以獲得資金,以擁有更多的機會;也可以基於NFT 給藝術和設計帶來新的生機,並在下一次大流行之前為健康記錄的保存提供急需的更新;可以幫助選舉系統更容易使用,以一種更巧妙的方式指導政府選舉而不是每四年進行一次大規模投票;在保護我們的個人數據和記錄的戰鬥中,它將帶來變革性的變化。
我幾乎可以肯定,在十年或二十年後,我將回顧區塊鏈在實現擴展後取得的巨大進步,那將會是一些出乎我意料的東西,一個我甚至無法想像的東西。這就是為什麼在創新領域工作既激動人心又使人極其謙卑的原因,因為我們等待著看到其他人將利用我們幫助釋放的技術取得什麼成就。