十多年來,要進入密碼貨幣的大門,錢包一直是最令人卻步的門檻;反過來,推廣 web3 應用時最惱人的瓶頸也是錢包,過去七、八年,理論上我講解的該是分散式出版,實際上我花在替新手開錢包的時間,遠超過介紹 LikeCoin 本身。
不知各位有沒有想過,既然使用互聯網上的各種應用,簡單開個帳戶就可以,為甚麼使用密碼貨幣,卻需要大費周章開錢包,又助記詞又私鑰又地址,學習一堆新概念?
誤解詞典——錢包篇
深入討論之前,先釐清幾個錯誤觀念。
首先是錢包。在區塊鏈的芸芸詞彙當中,錢包(wallet)是最為誤導的一個,它協助用戶管理私鑰,功能其實更像鑰匙圈,Apple 的 iCloud 也提供類似功能,取名 Keychain,就清楚明瞭得多。由於掌握錢包就掌握私鑰,掌握私鑰就能動用對應地址的所有資產,效果類似「資產容器」,得容器得資產,因此用上「錢包」這個惹人誤會的類比。
再來是帳戶。很多人誤會帳戶(account)跟錢包的區別,在於前者管理資料而後者管理資產;實際上兩者的分別在於,帳戶託管於服務供應商,錢包則為用戶自主管理。因此,使用電子銀行、中心化交易所,即使管理的是資產也只需註冊及登入帳戶;相反,在分散式出版生態,管理的雖然是書本等資料,使用的卻是錢包。
誤解停不了,又有些應用,明明是徹頭徹尾的託管,卻又自稱錢包,常見例子有支付寶錢包、LINE 錢包等等。這可沒辦法,自稱銀行或許違法,自稱錢包卻無需領牌,商戶不以科普為宗旨,讓用戶誤以為資產在自己口袋,完全符合商業邏輯。
讓我們梳理一下:帳戶是互聯網興起以來行之已久、多數用戶都能掌握的身份辨識機制,用作管理寄託於應用方的資料或資產;至於錢包,在區塊鏈的語境是私鑰管理器,由用戶自主管理,不但涉及學習曲線,更嚴重的問題在於一旦弄丟,就會失去所有資產及資料,令自主的潛在代價極高。
又想方便,又要自主
帳戶方便但託管,錢包自主但麻煩,於是有人想到把錢包「嵌入」帳戶,以收方便而自主,兩全其美之效。這就是嵌入式錢包(embedded wallet)的出發點。
嵌入式錢包又稱「錢包即服務」,Wallet as a Service(WaaS),顧名思義是把錢包嵌入到應用當中,用戶無需在瀏覽器安裝外掛,或在手機安裝錢包 app,只需用電郵地址、Google 或 Apple 等帳戶註冊,即同時生成錢包。到這裏為止,流程跟網絡銀行、中心化交易所的帳戶大同小異,沒甚麼特別,但是重點在後頭。
以 WaaS 供應商 Magic.link 為例,嵌入式錢包的私鑰儲存於硬體安全模組(Hardware Security Modules, HSMs),有別於傳統託管,就連 Magic.link 內部員工都無法讀取用戶的私鑰;用戶以電郵等方式登入後,可使用會話金鑰(session key),在有效時限內代替存放在 HSM 內的私鑰簽署交易。
別被以上術語嚇怕,不妨這樣理解:這就像你使用銀行的保險箱,財物雖然存放於銀行,但保險箱必須以你手持的鑰匙才能打開,就連銀行職員也沒法盜取或偷看你的財物。Magic.link 把這個既非完全自主又不是傳統託管的機制,稱為委派金鑰管理系統(Delegated Key Management System,DKMS),申請了專利保護。
分散式系統最忌單點故障,聰明的你一定考慮到,萬一 Magic.link 結業,豈不是所有用戶的私鑰永遠消失?因此,Magic.link 設有匯出私鑰功能,讓用戶以帳戶登入簽署交易之餘,亦可匯出私鑰再匯入 MetaMask 等錢包軟體,以標準 web3 的方式管理錢包。
雖然 Magic.link 為 DKMS 申請了專利,但嵌入式錢包並非只此一家,而各家的實現細節略有不同,比如 Privy 以 Shamir’s Secret Sharing,SSS 機制(把金鑰分成多份的密碼學算法,見本郵報兩年前自製龍珠 去中心管理比特幣遺產的介紹),將用戶的私鑰分成多顆龍珠部分儲存,但原則大同小異,都是一方面避免服務供應商讀取用戶的私鑰,另一方面容許用戶以普通帳戶登入並簽署交易。

3ook.com 採用嵌入式錢包
很多讀者用過,但很少讀者知道,打從 2018 年,連嵌入式錢包這個詞都還沒出現,LikeCoin(當時 Liker Land 還沒成立)就開始使用相關技術,以名為 Authcore 的系統讓用戶以電郵地址或社交帳戶開錢包,而重點是,不論 Authcore 還是 LikeCoin 的技術人員,都無法讀取用戶的私鑰。Authcore 是香港的初創,技術硬橋硬馬,還走在時代尖端,可惜基於種種因素,沒能走得更遠,這次隨著 Liker Land 升級 3ook.com,我們只能順道改用 Magic.link 作嵌入式錢包供應商。
分散式出版是 web3 和出版的匯合,前者破格,後者傳統。七、八年來,很多用戶伴著 LikeCoin 一路走來,攻克學習門檻,成為 web3 永久居民,要求這批忠實用戶(包括我自己)走回頭路以電郵登入,未免說不過去,因此 3ook.com 保留「傳統」錢包登入,讓這批作者與讀者沿用原有的錢包地址。
但在另一極端,很多讀書人還繾綣於紙本書香之中,對電子書尚且有所保留,遑論是 web3;要這些用戶為了看書而學用錢包,是連阿湯哥都舉手投降的不可能任務(而我們竟然挑戰了幾年),因此,為了出圈接觸「現實世界」,新用戶只需以電郵註冊,連密碼都不用設就能透過嵌入式錢包暢用 3ook.com。
不過,分散式應用(dApps)的優點原是以單一身份貫穿各種應用,讓應用得以協作和組合,嵌入式錢包雖然解決了新用戶難以上手的痛點,卻只能用於單一 dApp,缺乏標準錢包在所有 dApps 共用同一地址的便利。
上週我鼓勵麻瓜到 3ook.com 以電郵註冊,獲 107 位讀者響應,收到 DHK 及小量以太幣空投。在這情況下,由於嵌入式錢包只能用於 3ook.com,讀者收到 DHK 和以太幣後如要在 Uniswap 等 dApps 使用,得先匯出私鑰再匯入到 MetaMask 等錢包,具體操作可參考 DHK dao 的教學。
嵌入式錢包把開錢包和簽署交易簡化 99%,雖然在靈活性方面沒法取代標準錢包,但能讓用戶即時享受應用的功能,他日需要跟其他 dApps 聯動時才學用標準錢包,把學習的需要大幅推後,有效解決昔日 web3 未用功能先上課程,「未見官先打五十大板」的怪現象。
發佈留言