返回部落格
安全

一文看懂觀察錢包:看得見一切,簽不了交易

一隻大眼睛注視著餘額面板與地址,一把金鑰被圈在禁止符號之中:觀察錢包看得見一切,卻簽不了任何交易

每一款錢包 App 都把兩件性質截然不同的工作綁進同一個介面:讓你看見自己擁有什麼,以及把資產移走。觀察錢包把這兩件事拆開了。它只匯入公開資訊——一份地址清單,或一把擴展公鑰(xpub)——完全不持有任何私鑰材料。這讓它恰好握有錢包一半的能力:顯示餘額、追蹤歷史、產生收款地址,甚至把一筆交易準備到只待簽名的程度。它永遠做不到的,是簽名。無論觀察錢包被攻破得多徹底,都產生不了一枚有效簽名,因為簽名所需要的材料根本就不在裡面。

這聽起來像一種限制,而它確實是——一種刻意為之的限制。「觀察」與「簽名」的分離,是每一套嚴謹冷儲存方案沉默的骨幹:面向網際網路的裝置知道一切、卻做不了任何事;金鑰則活在一台什麼都不面向的裝置上。本文將說明觀察錢包如何運作、它能做什麼與不能做什麼、那個常令人意外的隱私注意事項,以及這種分離在日常實務中如何運轉。

一組種子,兩種金鑰

一切都建立在一種說來簡單、卻怎麼強調都不為過的不對稱性之上。私鑰產生簽名;對應的公鑰只能驗證簽名。由私鑰算出公鑰是一瞬間的事;反過來推導,則是整個系統賴以成立的那道難題。地址又由公鑰衍生而來,因此資訊嚴格單向流動——種子、私鑰、公鑰、地址——永遠不會沿著這條鏈逆流而上。

階層確定性錢包——即 2012 年提出、如今幾近通用的 BIP32 標準——把這種不對稱性從單一金鑰擴展到整個錢包。一組種子生成一整棵金鑰對之樹,而這棵樹也有屬於自己的公開半邊:擴展公鑰,也就是 xpub。一把 xpub 能推導出錢包此生會用到的每一個收款地址,卻推導不出任何一把私鑰。把這把 xpub 匯入另一個 App,你便重建了這個錢包完整的公開面貌——每一個地址、每一筆餘額、每一筆交易,無論過去或未來——而裡面沒有任何能夠花費的東西。這就是觀察錢包:一張完整的地圖,只是引擎被拆走了。

它能做什麼——又止步於何處

具體而言,一個由 xpub 建立的觀察錢包可以:

  • 顯示餘額與歷史,涵蓋每一個衍生地址,並隨著款項到帳與確認即時更新。
  • 產生全新的收款地址,讓你在完全不接近私鑰的情況下接受入金。
  • 建立未簽名交易——選幣、設定手續費、指定目的地——並封裝成標準格式(在比特幣上通常是 PSBT),供獨立的簽署裝置讀取與核准。
  • 廣播已簽名的交易——只要簽名從別處抵達。

清單到此為止,一項不多。它不能簽名、不能花費、不能掃走資產,也不能核准任何事情,在任何情況下都不能。它可以把一筆交易準備到最後一個位元組,但決定性的那一步永遠發生在別處。偷走它所在的手機,你偷到的只是一個檢視畫面。這個名字精確而非自謙:這個錢包真的只是在觀察。

觀察錢包把你手上最暴露的裝置,變成最不危險的那一台。
觀察端可以顯示餘額、收款並建立未簽名交易,但簽名被劃上禁止記號;私鑰存放在另一台獨立的離線裝置上
三項能力留在線上;第四項永遠不在。

冷儲存為何建立在這種分離之上

冷儲存的核心藏著一個矛盾。它的全部意義在於私鑰永不接觸連網的機器——但你仍然需要查看餘額、接收入金,終究也要花費,而這些全都離不開網路。必須有某個東西站在中間,而那個東西就是觀察錢包。

標準的循環是這樣的:連網裝置上的觀察錢包建立一筆未簽名交易,並把它遞過氣隙——通常是一枚 QR Code 或一個檔案。持有金鑰、沒有任何網路連線的離線簽署裝置,顯示它被要求核准的內容,簽名,然後只把簽名傳回來。觀察端接著廣播。金鑰在任何一個方向上都不移動;未簽名交易朝一個方向跨越,簽名朝另一個方向跨越。最關鍵的是,助記詞從頭到尾都不必輸入、還原到、甚至展示給任何一台曾經連網的機器——而既然助記詞是一個單點故障,讓它徹底遠離連網硬體,多一點儀式感也值得。

硬體錢包是同一套架構的另一種包裝。電腦上的配套 App 在功能上就是一個觀察錢包,而接在傳輸線另一端的裝置就是簽署者——兩種形式都是健全的設計。差別只在傳輸方式(USB 或藍牙,對上跨越時更容易被人檢視的 QR Code),以及你是否需要專門購買硬體。Ownbit 的冷錢包工作流程用兩支普通手機實作了 QR 版本——下文將詳述。

隱私注意事項:xpub 是一張地圖

觀察錢包在花費上的安全性,讓許多人對 xpub 掉以輕心,這一點值得糾正。任何持有你 xpub 的人,都能看見你的錢包用過、以及將來會用到的每一個地址——完整的餘額、完整的歷史,而且永久更新。他們拿不走任何東西,卻能看見所有東西,而對許多持有者來說,這幾乎同樣敏感。外洩的 xpub 也無法悄悄輪換:唯一真正的出路,是把資金轉移到一個由全新種子建立的全新錢包。

因此,儘管 xpub 在技術上屬於公鑰材料,也請把它當成機密對待。交給交易對手的應該是單一地址,而永遠不是 xpub 本身。只把它匯入你願意託付完整財務歷史的 App 與服務——資產追蹤工具是一種便利,但它同時也是對其營運者的一份持續揭露。唯一真正無法避免大範圍分享 xpub 的場合是多簽:共同簽名人必須交換 xpub 才能建構共享錢包;但那是一次範圍有限、經過深思的揭露,發生在本來就共同保管資產的人之間。

一把 xpub 推導出一棵分岔的地址之樹,持有 xpub 的人全都看得見,而被劃上禁止記號的金鑰顯示其中不含任何私鑰
一串字元揭露每一個地址——連同餘額——卻花不掉其中任何一筆。

人們實際上用觀察錢包做什麼

與冷儲存配對是它的旗艦用途,但這套模式在日常情境中同樣稱職:

  • 盯緊長期持倉。用口袋裡的手機留意你的積蓄,而不必隨身攜帶動用資產的權力。
  • 核實入帳。確認交易所提幣或一筆帳款確實到帳,而不必解鎖任何能夠動錢的東西。
  • 只給讀取權,不給花費權。會計師、稽核人員或共同創辦人可以完整追蹤金庫的歷史,卻沒有絲毫動用它的能力——讀與寫成為彼此獨立的權限,本來就理應如此。
  • 觀察共享的多簽。2-3 多簽中的每一位參與者都能即時追蹤錢包動態,而花費仍需湊足法定人數。可見性人人皆有;權力依然受門檻約束。

Ownbit 如何讓觀察錢包與離線手機配對

Ownbit 把這種分離內建為一級流程,而不是專家級功能。一支永久離線的閒置手機成為簽署者:它產生一組標準的 BIP39 助記詞、持有它,並且永不連上任何網路。你的日常手機則執行觀察錢包——觀察端的那一半——它知道錢包的地址、顯示餘額、建構未簽名交易。要花費時,觀察錢包把未簽名交易顯示為 QR Code;離線手機掃描它、清楚展示即將簽署的內容、完成簽名,再把簽名顯示為另一枚 QR Code,由連網手機掃描回去並廣播。跨越氣隙的,自始至終只有這兩枚 QR Code,而且不需要任何額外硬體。如果你已經擁有 Ledger 或 Trezor,同一組助記詞也可以匯入離線手機,把既有金鑰帶進冷多簽。

信任邊界對我們的約束,與對其他所有人一視同仁。Ownbit 的伺服器負責協調簽名,但從不持有使用者金鑰;每一把金鑰都是標準的 BIP39 助記詞;而整套安全模型的設計目標,是即使沒有 Ownbit 的伺服器,恢復依然可行。一個你無法獨立驗證的觀察畫面,只是又一個你被迫信任的螢幕——這套架構的意義,正在於你不必如此。

常見問題

觀察錢包會被駭嗎?

它可能被攻破,但攻擊者得到的是可見性,而不是資金——裡面沒有可竊取的私鑰材料,因此偽造不了任何簽名。真正務實的危險是欺騙:連網裝置上的惡意軟體可能顯示一個被調包的收款地址,或一筆被竄改的交易。這正是為什麼一台能在簽名前展示真實交易細節的離線簽署裝置如此重要,也是為什麼大額入金值得在簽署裝置上再核對一次地址。

分享我的 xpub 安全嗎?

在花費層面安全,在隱私層面敏感。xpub 無法用來轉移資金,但持有它的人能無限期看見你的錢包衍生的每一個地址,連同完整的餘額與歷史。給交易對手的應該是單一地址;xpub 只留給你願意託付完整財務面貌的裝置、服務與共同簽名人。

我能從觀察錢包發送加密資產嗎?

單靠它不行。觀察錢包可以建立未簽名交易,也可以廣播已簽名的交易,但簽名必須來自持有私鑰的裝置——一支離線手機、一款硬體錢包,或另一個簽署者。兩個半邊配對起來,才構成一趟完整的花費流程。

觀察錢包和冷錢包有什麼差別?

它們是同一套設計的兩個半邊。冷錢包是持有金鑰並負責簽名的離線裝置;觀察錢包則是不持有任何金鑰的連網窗口,包辦一切需要網路的事務——餘額、收款地址、未簽名交易、廣播。兩者搭配使用,金鑰便能永久離線,而日常可用性分毫不失。

如果你想在不購買任何東西的前提下體驗這種分離,Ownbit 的冷錢包工作流程能把一支閒置手機變成離線簽署者,與日常手機上的觀察錢包配對——未簽名交易進、簽名出,金鑰永不上網。更廣的安全模型建立在同樣的最小化信任原則之上,而且無論會員身分如何,金鑰始終屬於你。每位新使用者都享有 7 天免費試用。