Dan Finlay 自 2016 年起便積極推動 MetaMask 的發展。在這段時間裡,他對安全、分散式、無需許可的運算技術的未來懷抱著深厚的熱情與願景,並正透過 MetaMask 將這份願景化為現實。 Warpcast: https://warpcast.com/danfinlay
閱讀所有文章了解 Snaps 的故事、這對 MetaMask 的意義,以及邁向協作未來的下一步。

今天,我們正式在 MetaMask 的公開版本中推出了 MetaMask Snaps 的第一個版本。這是一支出色的團隊歷經多年辛勤耕耘與原創研究所結出的成果,我很高興能與大家分享它的意義、緣起,以及未來的發展方向。
我相信 Snaps 最初的核心理念 至今依然正確。Snaps 是個好主意,理由與以太坊是個好主意、與電腦運算是個好主意如出一轍:通用型思考工具,就是這麼強大。
這麼長的時間以來,我們一直試圖為以太坊——一台圖靈完備的電腦——打造一個介面,但這個介面卻只由單一團隊來撰寫!顯而易見,要為以太坊這樣一台開放式機器打造理想的錢包,就必須具備與它同等的靈活性。今天,我們朝著這個目標邁出了重要的一步。
MetaMask Snaps 是錢包中的全新系統,讓使用者能夠在執行時自行選擇為錢包加入額外的功能擴充。 我們在推出時已備有一套 API 及合作夥伴,讓我們的錢包能夠即時支援新的區塊鏈、新的交易安全服務商,以及多種通知系統(包括一個聊天 Snap!)。我們認為這將在擴展性與安全性方面帶來許多全新可能,但這真的只是個開始。
對我而言,Snaps 故事中最重要的部分,在於我們的錢包核心現在擁有了一套系統,讓我們能夠退一步,謙遜地邀請社群為最棘手的問題提供他們自己的解決方案。我對交易安全的未來有著宏大的想法與見解,但這並不代表它就應該是唯一被驗證的方向。我們正在協助引領一個分散式運算的新典範,有許多問題需要創意性的解決方案,因此我始終相信,降低嘗試新事物的門檻與成本,能夠成為找到這些難題答案的重要催化劑。這不是為了技術本身而加速,而是為了加速我們找到更好做事方式的過程。
在這個過程中,我曾反思:從長遠來看,我預期未來會有更多軟體是開放式、易於擴充且相互連結的。安全的可擴充性系統應該是個已被徹底解決的問題,坦白說,我認為它應該成為軟體建構與撰寫的預設方式,而且我相信長期來看確實會如此。由於安全可擴充的軟體目前還不是唾手可得的通用商品,我為我們的團隊感到無比自豪——他們正在為打造一個更具協作性的運算未來開闢道路。
我們通往 Snaps 的旅程,帶領我們穿越了電腦運算史上一些令人振奮的角落,也讓我們結交了許多珍貴的朋友。在這項工作中,我們與 Agoric 的合作夥伴關係價值難以言喻——他們設計了一套 JavaScript 隔離 API,向 JS 標準委員會 TC-39 提出了提案,實作了一個今日即可使用的可運作 shim,並與我們攜手完善這套系統、LavaMoat,以及我們整體的安全運算方法。我們的 Snaps 系統採用了 Agoric Compartment shim,並在 iframe 內進行額外的隔離限制。你可以在這裡觀看我與 Agoric 首席科學家 Mark Miller 的對談,也可以在這裡閱讀我們對 Compartment shim 進行的紫隊安全審計報告。
我們在一個對 WebExtension 而言格外充滿挑戰的時期踏上了這段旅程:Google 本身提出了一項重大改革,涉及 MetaMask 等擴充功能的運作方式,一度讓整個專案籠罩在可能遭受致命打擊的陰影下(至少也是一個迫使我們離開擴充功能平台的變革)。所幸,很大程度上得益於 Consensys 與 Google 雙方都有極為聰明且體貼的商務拓展人員,我們得以在擴充功能平台的變革方式上找到折衷方案,讓 MetaMask 的宏大目標得以實現,同時也不損及任何一方的安全理念。
這些變革仍需要 Consensys 各方的巨大貢獻來協助我們應對。推動一項重大計畫穿越 MetaMask 這樣一個被大量使用、安全至關重要的產品,本身已是一大挑戰,更何況還要同時將整個程式碼庫遷移到一個本質上全新的平台。這項壯舉見證了 MetaMask 多個團隊緊密協作、共同分擔重任,才得以解鎖另一端更令人振奮的工作,我對他們每一位都深懷感激。
Snaps 系統包含了 MetaMask 錢包有史以來最精彩的設計貢獻(相關的設計改變也即將延伸至錢包的更多部分!)。從網站向使用者提議安裝 Snap、使用者安全地審視相關風險,到我們為 Snap 確認操作所提供的可擴充使用者介面系統(而且只會越來越好),這一切都是無數深度安全設計討論、使用者研究,以及無數靈感火花的結晶。我們在這裡打造了一套世界級的權限系統,並持續朝著更令人期待的方向推進。
即將推出的部分,我個人最期待的 API 包括:新的帳戶類型(4337,你好)、Snap 自定義資產(Snap 資產目前還不會出現在主要代幣列表中……但快了),以及主畫面小工具——這些都將運用我們正在建構的可擴充 UI 框架,你現在就能在 Snaps 所展示的自訂確認畫面中率先體驗。
我們已備有一頁經過完整審計的 Snaps,現在就可以試玩,我強烈建議你去看看。從長遠來看,我預期最有趣的 Snaps 將會是那些打破我們對這套系統既有認知的應用。我想在此向 Archis 致敬,他製作了一個 Snap 示範,利用 LLM 指示錢包執行交易。在 AI 浪潮席捲之際,現在真的是打開錢包進行瘋狂實驗的最佳時機。
擁有一套管理安全可擴充性的系統,其實是一個全新的開始。我們今天推出的每一個 API,都能讓一個 Snap 將 MetaMask 的實用性倍增,但也許更重要的是:有了這個基礎,我們可以越來越多地審視錢包中任何我們認為使用者應該擁有更多掌控權、或開發者有更多創意可以發揮的部分,然後開放一個 API 方法,讓創意湧入,將產品帶往全新的方向。這不只是一次功能發布,這是產品採取一種截然不同的、更加對外協作姿態的宣示。 在協助打造 MetaMask 將近八年的歲月裡,我最大的痛苦之一,就是始終清楚地意識到那片創意的汪洋——它就在我們的待辦清單觸及不到的地方,因為我們對安全性與相容性的基本義務從未間斷。Snaps 是一種謙遜的承認:我們無法獨自完成這一切。探索最好的網際網路的旅程,需要許多人的創意貢獻。更何況,就連我自己的想法,我們也來不及一一實現!Snaps 其實暗藏著一點私心:你現在擴充這個最受歡迎的錢包,所需要的繁文縟節,將比上週這個世界最受歡迎錢包的創辦人還要少。
我認為有必要正視當前 Snaps 系統的一個重大限制。目前它還無法完全無需許可地進行擴充。可以安裝的 Snaps,都是我們審核通過的——我們確認它們經過審計,並且以安裝提示所說明的各種方式進行了隔離限制。這樣做既是出於謹慎考量,也因為我們對如何為無需許可的版本增加額外安全保障有一些想法,但實作需要更多時間,而我們希望先推出一些東西(已經等了很久了)。
請不要誤解,長遠的目標是無需許可的運算。在我踏入 Web3 旅程的起點,有一個觸發事件——一個好的應用程式因為莫名其妙的理由被 Apple 拒絕。如今,電腦世界似乎只有兩種選擇:安全的圍牆花園,或是完全不安全但無需許可的開放環境。我相信我們已經為開闢一個兩者皆非的空間奠定了基礎,而我們的目標正是瞄準那個中間地帶。安全的、由使用者自主掌管的運算正在到來,我們誠摯邀請你與我們一同定義它的樣貌。
如果你是想要在這個平台上進行實驗的開發者,我強烈建議你安裝 Flask——我們以開發者為核心的 MetaMask 版本。有了它,你可以安裝任何 Snap(甚至是我們尚未審計的),並開始打造屬於你自己的 Snap。
總之,這是一個值得慶祝的重要時刻,因為我們今天讓 MetaMask 的功能數量倍增,但有趣的是,最令人期待的部分,無疑是那些尚待在這個平台上建構的東西。所以我慶祝、我珍惜,我對這支才華橫溢、充滿幹勁、讓這項巨大壯舉成為可能的團隊,懷有最深切的感激。我也期待與大家一起書寫這下一個篇章。
AI 翻譯。可能包含錯誤。請務必核實資訊。