作者:五火球教主 / 來源:白話區塊鏈
上篇:可以像微信錢包一樣?2020年數字錢包技術重要的進化方向(上) / 本文為錢包技術哪家強(下)在上篇,我們介紹了2020年錢包在易用性上的突破,即 - 智能合約錢包。在友好度上無需助記詞,萬一丟失密鑰可以使用類似微信朋友找回。
通過智能合約托管,可以延展出許多功能和用法,想必在未來 1-2 年的 To C 市場一定大有所為。
而今天要介紹的,則是加密貨幣錢包 2020 年在安全性和專業性上的突破,相信在即將來臨的區塊鏈落地領域,會牢牢占據一定的 To B 市場份額。比特幣等加密貨幣必須不斷提升安全性以面對未來技術發展過程中的諸多挑戰。

01
To B 的加密錢包的需求
想象一下,現在是 2030 年,區塊鏈已經有了非常好的落地應用,作為一家區塊鏈或者說應用到區塊鏈技術的企業 CEO,你的公司錢包里存儲著價值數億甚至數十億美金的加密貨幣。
這時,你考慮的一定不是易用性,便捷性這些要素,你大概率也不太敢把這些資金托管給智能合約。你腦子里想的,一定是“安全,安全,安全”。
這里的安全,不單單只是一個助記詞,私鑰,或是與網絡隔離的硬件錢包這么簡單,畢竟,助記詞容易丟失,私鑰容易泄露,硬件容易損壞。
再者,你還得信任公司里管理私鑰的財務人員,除非你想把所有的私鑰和助記詞都自己藏著。
有沒有什么好的解決方案?
秘訣全都在簽名技術里。
02
簽名技術
一、多重簽名(簡稱多簽 - Multisig)
還記得好萊塢電影里的核按鈕么?
很多人之前以為,想要發射核彈,好像美國總統打開手提箱,插入鑰匙,拍一下紅色按鈕,核彈就“嗖”的上天了。
后來好萊塢電影幫助他們糾正了這個觀念,畢竟這可是可以毀滅地球的東西,哪能這么兒戲?除了極其繁瑣的命令確認程序與步驟之外,想要發射核彈, 核彈控制面板只有在兩把鑰匙同時插入且同時旋擰的時候才有效。而兩把鑰匙,分別掌握在國防部長和總統兩個不同的人手里。

這就像是,在一個過于重要的保險箱上,設計了兩把鎖,并將鑰匙分給了不同的人,只有兩個人帶著各自鑰匙同時出現,保險箱才能開啟。
而區塊鏈世界里的多簽,是類似的道理,通常用于大額資產。多簽通常會有 N 個私鑰,集齊其中的 M(M<N)個簽名,才可以對資產進行操作。不同的私鑰掌握在不同人手里。所以即便部分私鑰被盜或是丟失,資產也依舊是安全的。
CSW所宣稱的百萬BTC郁金香信托,便是一個由多簽鎖住的信托。當然,如果它存在的話。
二. 多簽升級版 - 密鑰共享(SSS - Secret Sharing Scheme)
多簽雖然聽起來很不錯,然而缺點也非常明顯。
1.易用性 - 多簽的交易數據比普通交易會大 20%-60%,導致交易費也相對高出很多,且無法處理大批量的在線業務。
2.隱私性 - 多簽是把各個簽名方的簽名通過鏈上廣播的形式存在區塊鏈記錄里,簽名和地址之間的對應關系以及簽名數量相當于被公開,理論上可以被有心人追蹤,來摸清地址和業務之間的關系,導致交易的隱私性得不到保護。
于是,就有了改進的密鑰共享模式。
密鑰共享和多簽類似,只不過,并不是在保險箱上設計了 N 把鎖,而是依舊只有一把鎖一個鑰匙,只是把鑰匙切割成了好幾份,每個人保存一份。發起交易需要將一定數量的密鑰重新組裝為密鑰進行簽名。
簡單來說,你把密鑰共享理解成一份被切開的藏寶圖,或者七龍珠,集齊七顆龍珠,召喚神龍……
這么做的好處顯而易見,在保留了多簽優點的同時,多簽里交易數據大,費用高,以及隱私性的缺點不見了,聽起來像是個完美的方案……
然而,SSS 有一個致命缺點:即當密鑰被重新組裝時,會為攻擊者提供了獲取完整密鑰的可乘之機,留下不小的安全隱患。
于是乎,現在有了秘密共享的再升級版。
三. 密鑰共享升級版 - 門限簽名 (Threshold signatures)
門限簽名與密鑰共享很像,不同的是,密鑰共享是各個子密鑰需要組裝成完整密鑰,才能使用,因而存在完整密鑰暴露和被盜的風險。
而門限簽名的原理則是基于多方安全計算 (MPC: Multi-Party Computation )。各個子密鑰之間具備一定的代數結構,在使用時,各個子密鑰輪流進行(交易)簽名,生成最終有效的簽名。完整密鑰無需被組裝,因而不存在完整密鑰的“暴露時間”,讓攻擊者“無機可乘”。
你看,門限簽名在保留了密鑰共享優點的同時,又把密鑰貢獻會暴露完整密鑰的缺點用數學方法消除于無形,這也是為什么 2019 年,許多錢包有計劃升級門限簽名技術。
目前,已經有幾家有了初步的可用產品,為了避免廣告嫌疑,大家請自行搜索,相信 2020 年,各位一定可以看到更多的基于門限簽名技術的錢包現在我們的視野中。
03
寫在最后的題外話
最后說一個題外話,是關于在 BCH 19 年升級中使用,且大概率 2020 年會部署在 BTC 上使用的 Schnoor 聚合簽名,因為此簽名技術目前專用于 BTC 與 BCH,所以沒有放在前面章節來講。

眾所周知,比特幣作為最早一代數字貨幣,雖說地址可以隨意生成,但匿名性并不強。后來出現的環簽名,防彈技術,ZkSNARKS,以及今年大火特火的MimbleWimble 等各項匿名技術,雖然已有較為成熟的應用,但若是移植到比特幣的底層協議上來,則會對比特幣整個框架做出較大修改,同時帶來不小的風險,作為不喜歡硬分叉的 Core 開發組來說,這些便都沒有被作為比特幣的匿名協議備選項。
而在 BCH 上已經實現的 Schnoor 聚合簽名技術,近期被提上了 BTC 開發議案,大概率也會在 BTC 上部署。簡單來說,Schnoor 是一種特殊的多簽技術,通過把一筆多簽交易的各個參與方的公鑰和簽名合并為一個公鑰與簽名,合并過程不可見,也無法從合并后的公鑰與簽名推導出合并前的信息。
這樣做的好處,一是性能更優,傳統多簽需要對多個簽名進行多次驗證,而聚合簽名僅需驗證一次,提高驗證速度的同時也減小了簽名大小與交易體積。
二是提供了隱私,因為對于驗證者來說,聚合簽名只有合并后的一個簽名,且無法逆推導出之前的各方簽名,整體感覺有點像達世的混幣。
但比特幣三兄弟的 BSV 則堅持門限簽名,原因卻并不是技術上的。從技術來講,門限簽名與 Schnoor 都很優秀,兼顧了性能,安全以及一定程度上隱私性,主要分歧,在于門限簽名與 Schnoor 對于隱私,以及法律合規和可追溯上的不同理念。
Schnoor 聚合簽名,無法追究當時究竟是誰簽的,有點像集體不記名表決,最后出一個公章,難以追溯到個人,有隱私+匿名的性質。
門限簽名則有點像記名多數票表決,最終可以追溯到個人,屬于隱私,但并沒有匿名屬性,有集體契約的性質。
從簽名技術的選擇上,也可以看得出形態上的不一樣 - BTC與BCH,理念是要走匿名,抗審查,難追溯的密碼朋克路線。而BSV,理念是要法律上合規,隱私但非匿名,可追溯的商業推廣路線。
孰優孰劣,很難說,更多是看市場的選擇問題,相信在下次(2024年)減產左右,我們應該可以看得到答案。
2020年,在加密貨幣行業,你看好哪些技術或應用的突破?歡迎在留言區分享你的觀點。