作者:Spiral
來源:https://spiralbtc.substack.com/p/making-bitcoin-speak-human
作者:Conor Okus & Mat Balez
只要你發送過真正的點對點比特幣支付,你一定知道這個過程有多令人焦慮。我們要複製一段看起來非常奇怪的字符,然後粘貼到我們的錢包軟件中,同時祈禱自己不會一不留神搞錯一個字符,然後將錢幣發送到永世不得超脫的地獄中。
“人眼可讀的比特幣地址(Huam Bitcoin Addresses,HBAs)” 是我們為 BIP 353 標準提議的用名;這個標準可以將用戶在 Cash App、Venmo 和 Paypal 這些應用中熟悉的、符合直覺的使用體驗帶到比特幣應用中。用戶不必再處理長而嚇人的錢包地址,HBA 讓發送比特幣就像發送郵件那樣簡單。
作為一項建立在 “域名系統(DNS)” 之上的開放行業標準,BIP353 將收款標識符從 “bc1q0zv3j4kzv…” 這樣的形式(地址),轉變成了人眼可讀的形式,比如 “₿conorokus@twelve.cash” 。這是易用性的巨大進步,它可以幫助減少在複製粘貼過程中發生的錯誤,也能幫助人們消除完全不敢自己發起交易的畏難情緒。
DNS 已經是人們在使用互聯網時習以為常的事物。它是一個強大的命名系統,計算機用它來溝通彼此,將一個域名(比如 “www.google.com”)轉化為實際的 IP 地址(比如 “142.251.16.100”)。當人們在瀏覽器的地址欄裡輸入域名的時候,就是在使用這個系統。我們可以在比特幣世界中實現類似的效果,區別這是,這將用於支付。
把錢發送給名字,而不是隨機的字符串
在支付應用中使用名字,更加方便、清晰且容易記憶。比如說 “**$judysmith**” 和 “@moneyball”。它們是用戶體驗的橋了,將大部分的底層複雜性 —— 比如身份、合規規則、支付渠道以及它們之間的所有東西 —— 都隱藏起來。
比特幣是強大的,但依然讓人感覺難用
作為一項技術,比特幣被開發成去中心化、開放和全球化的,但我們依然用人類感覺完全陌生的東西來 “解決” 人類(譯者注:這裡是一語雙關,英文中的 “address” 既有 “解決” 的意思,也可以表示 “地址”):
- “把你的區塊鏈地址發給我吧”。這需要支付者仔細檢查,然後複製和粘貼一段較短的、看起來完全沒有規律的字符串。
- “請給我一張閃電發票”。這也需要支付者仔細檢查,然後複製粘貼一串很長的、沒有規律的字符串。
你要不是比特幣圈子裡的人,要發起支付的時候根本不會這麼說話,這正是它可能影響比特幣成敗的原因。我們必須直接面對比特幣應用中最主要的使用體驗問題之一:能不能創造出一種對人類友好的地址系統,同時保留比特幣的核心屬性?
這是一個大問題,但如果能得到正確的解決,就能帶來下一波用戶,同時移除用戶採用的一個顯然的障礙。
解決一個重要的點對點障礙
HBA 的首要應用場景是,它讓比特幣支付可以互操作,不僅能跨越整個生態系統,還能跨越不同的 L1 和 L2 支付協議。它讓你可以從 任何 錢包或交易所給 任何另外一個 錢包或交易所即時且隱私地發送只發布,不需要事先的協調或特殊的啟動設置。
但 HBA 也可以用來提升原子化的清掃。它讓你可以從一個託管商移動資金到你自己的錢包,安全、隱私、沒有摩擦 —— 一切操作都是避免地址複用的。它是從 “我買了比特幣” 到 “我控制著我的比特幣” 的簡單路徑。
最後,當你在硬件簽名器商檢查收款人地址時,HBA 讓這個過程更加清楚、更少出錯。要確認一個你可以識別的簡短名稱,比掃描一長串字符要容易得多。
打開引擎蓋
一個 HBA 可以用來接收比特幣,不論其中用還到了什麼支付協議。它的工作原理是,指向一個存儲在安全的 DNS 記錄中的 BIP 321 URI,從而讓 HBA 運行在我們已經擁有的互聯網基礎設施上。他們(HBA 和互聯網)使用同一套全球化的、經過壓力測試的 DNS 系統:你每次在瀏覽器地址欄裡輸入一個 URL,都是在運行一次 DNS 查詢,只是你不會發覺。這也是錢包軟件的熟悉領域。

- HBA 的 DNS 查詢流程,來自 Bitcoin Design Guide -
(譯者注:請注意,在上圖中,解析出來的 BIP321 URI 帶有兩種信息,一種是閃電網絡要約;另一種是靜默支付地址。)
為了講得具體一些,我們設想 Bob 想要接收一些比特幣。
整個過程會是這樣的:首先,Bob 的錢包軟件或者服務會幫助他建立一個人類可讀的比特幣地址。在這背後,他的支付指令,比如一個 BOLT12 要約,會安全地存儲在 DNS 中。然後,如果 Alice 想要給 Bob 支付,她不需要讓 Bob 生成一張發票,也不需要實時協調任何東西。Bob 只需用自己喜歡的方式分享自己的 HAB 給 Alice:可以是文字消息,可以打電話,也可以放在自己網站上,甚至是名片上 —— 這都不重要。當 Alice (在比特幣錢包軟件中)輸入 Bob 的 HBA 時,錢包軟件會從 DNS 自動查詢 Bob 的支付信息、獲取 Bob 的 BOLT12 offer,然後給 Alice 準備好支付信息。只需點一次屏幕,她的錢包就會通過閃電網絡給 Bob 發送支付。
而且,當有了異步支付協議的支持(近期已在 LDK0.2 中實現)之後,Bob 是否在線也不重要了。當他的節點或者服務回到線上的時候,祝福就會送達。所有這些都無需中心化的服務器、也不需要 Bob 保持在線,任何一方,都只需分享一個簡化之後的地址。

- 涉及 DNS 查詢、用戶錢包和 閃電/比特幣 網絡 的支付流程,來自 Bitcoin Design Guide -
保持比特幣的比特幣性
也許 HBA 最重要的東西是,它是用戶體驗上的突破,既能幫助比特幣拓展到日常生活中,又 無需 犧牲讓比特幣成為 比特幣 的品質。以下是 HBA 跟比特幣的願景保持一致的地方:
- 隱私性:沒有第三方服務器可以跟蹤支付信息(比如發送者、數額和元數據)。
- 抗審查性:因為不需要中心服務器充當中間人,所以也無人能阻塞、過濾或者凍結你的支付。
- 安全性:HBA 的設計消除了一個服務商居間替換掉你的發票、盜竊發送給你的支付的風險。而且,DNSSEC 自身保護著支付指令,確保它們不會被篡改。
- 互操作性:HBA 打開了封閉的支付孤島,讓支付可以跨越多個系統。它可以在一個人類可讀的名稱下統一和集成其它的支付協議。
HBA 提高了比特幣的易用性,而不會犧牲它的原則。
HBA 是最終的比特幣標識符
因為 BIP 353 HBA 位於其他尋址方案之上,所有它有望成為最容易交互、最面向未來的唯一標識符。
對這樣的解決方案的需求已經存在很長時間了。但現在,隨著比特幣支付準備好了擴大規模、新的協議帶著自己專有的命名格式湧現(比如 Spark 和 Ark,還有很快會到來的東西),這個問題變得越來越重要。沒有一個統一的標準,整個生態系統就有可能分裂成無法互相兼容的地址方案,以及令人困惑的使用體驗凡是。
HBA 給了這個行業一次機會,能夠形成一個簡單、對人類友好的標識符,可以跟每一種協議搭以及每一位用戶搭配使用。
那麼 “閃電網絡地址” 呢?
“閃電網絡地址”(通過 LNURL 協議得以實現)是類似的人眼可讀地址,在多年以前就出現了,早於 BIP353 的存在;它是為了解決類似的用戶體驗需求,只是在兩個方面有重大讓步:
- 信任第三方服務器,意味著他們能夠監視你的支付對象、審查你可以支付的對象,甚至在特定設置中可以盜竊你的資金。這不是比特幣擴容成為所有人服務的道路。
- 它只適用於閃電網絡,不是為了跟其它協議(比如 Ark、Spark、Cashu)和區塊鏈支付(比如 “靜默支付”)互操作而設計的。LNRUL 將用戶鎖在生態系統的一個組成部分中。
閃電地址可以認為是一種權宜之計,現在已經完成了它的使命。使用 BIP353 + BOLT 12,我們現在有了一種人眼可讀的地址系統,可以實現類似的用法,而 不需要 中心化、信任因素和互操作性侷限性。
新的起點
現在,我們有了一個更好的解決方案,是時候該推動 HBA 走向大規模採用了。“Phoenix 錢包” —— 可能是最好的自主保管移動端消費者錢包軟件 —— 在 2024 年退出了向 HBA 發送和通過 HBA 收款的全面支持(在 “設定(Settings)”-> “實驗性功能(Experimental)”)中找到。已經有數十款錢包軟件和比特幣應用支持發送資金到 BOLT12 Offer 。“Cash App”(擁有 570 萬存量用戶)已經表示他們正在開發這樣的支持。勢能正在積累,我們渴望看到更多的錢包軟件和比特幣產品跟上腳步。
以下是我們認為在你的應用中支持人類可讀比特幣地址的實用路徑:
採用 BIP 321 作為常見的地址格式
支持 BIP 321 URI 作為表達支付指令的統一方式(不論使用什麼協議)、為互操作性和麵向未來的特性創造出一個堅固的基礎。令人鼓舞的是,這已經得到了絕大部分的錢包軟件和交易所的支持,只有一小部分例外。
支持發送給 BOLT 12 和 HBA
對於絕大部分錢包和服務來說,這是相對輕量的轉變,對用戶體驗的影響也不到。目標很簡單,讓你的用戶能夠給 任何 擁有一個 HBA 的人支付,不論對方使用什麼錢包、什麼網絡。只要做到這一點,就能為網絡和你的用戶創造很大的價值。許多跨生態的錢包和應用都已經添加了前置性的對 BOLT 12 的支持,為下一步添加對 HBA 的支持準備好了基礎。

- BOLT 12 採用狀況的截圖,來自 bolt12.org -
支持通過 BOLT 12 和 HBA 來收取支付
這會創造更大的價值,因為你的用戶將能在一個穩定、可記憶和可以互操作的地址上收取比特幣 —— 就在你的域名裡面。它要求你的 DNS 服務商實現 DNSSEC,還要加上一些後端和使用體驗的開發(例如,用戶名挑選、管理 Offer);但這是有價值的,這樣你的用戶就可以在任何地方出示自己的 HBA 了。
終有一天,比特幣將不再給人感覺是一個小眾的、複雜的金融工具。人們會覺得它是透明的、用起來毫不費力的。通過人眼可讀的域名,支付將經過不同的 app、國界和貨幣,最終送達。到那時候,用戶就不再考慮協議、支付渠道和層級了。事實上,他們將完全不再需要思考這些東西,這正是理想的狀態。
要開始嘗試使用人眼可讀的域名來發送支付,請下載 Phoenix 錢包,你可以在其中親身體驗魔法。如果你更懂技術,希望實現自我託管的 HBA 解決方案,請看這個教程。
(完)



