台灣交易所 MaiCoin 集團的技術研發公司 AMIS,在錢包的安全問題上找到了新的突破口,他們將結合冷錢包與熱錢包的的特性,試圖定義出一款「由軟體設計的冷錢包」。
加密資產的安全性問題長年來都備受考驗,舉凡先前就曾發生過多起重大的交易所遭駭事件;而不光只是駭客攻擊,舉凡私鑰遭竊、硬體錢包丟失、遭設局搶奪等案例都層出不窮,甚至還有因交易所創始人逝世卻無人知曉私鑰,而導致用戶資產遭凍結的荒唐事件。
因此,加密貨幣錢包的管理問題,一直都是個為人詬病的痛點,也是產業界共同在努力的目標。
而儘管是目前最被廣泛應用的多重簽名錢包(Multisig Wallet),在使用的便利性上仍有很大的不足,其風險也很明顯;例如,多簽錢包的交易,容易因為所需的簽名數量較多而使交易變大,從而導致手續費較高,與此同時,也會暴露簽署該筆交易的參與者資訊。
不過,在研究學者的努力下,錢包資安似乎又遇見了新的轉機。
AMIS Wallet Service
AMIS Wallet 將門檻式簽章方案(Threshold Signature Scheme, TSS)的技術結合到錢包上;據 AMIS 首席科學家陳昶吾博士透露,AMIS Wallet 具備了 TSS 的所有特性,而與其他使用 TSS 錢包最大的差異在於,他們的 share* 具備層級性。
[註*]share 是類似多簽錢包的概念,差異在於它是有私鑰部分材料的隨機分片,本文下方會做較完整的解釋。
他解釋道,一般的 share 都是具備同等效力,如多簽錢包那樣,只要湊齊足夠的人數就能取得權限;舉一種 2-of-3 的場景為例,share 被分配成「用戶-託管方-銀行」3 份,其最大的問題在於,當發生盜簽時,沒有辦法真正的去究責相關單位,任何兩方都有能力產生簽章,但卻無法辨識參與的簽章的 share 是來自何者。
但相較於傳統的 TSS,AMIS Wallet 的每筆交易都一定要滿足用戶端和銀行方的 share 參與其中才能成立,實現了類似傳統銀行層層上簽的流程,且由第三方託管的 share 也同時保留了「用戶可能遺失 share」所需的復原能力。
[註*]「n-of-m」,m 代表 share 的數量,n 則代表門檻,只要拿到 n 個 share,就可還原完整的簽章。
這麼做的好處在於,用戶手上握有最大的主控權,銀行也無法在沒有用戶的同意下擅自移動資產。
故銀行若沒有扮演好守門人的角色,對交易進行嚴格的風控,銀行就會被咎責,這也是為了解決未來錢包服務可能需要遵守的合規性,就像美國金融犯罪執法網路(FinCEN)需要對金融機構的資金劃撥進行咎責一樣。
陳昶吾博士指出,他們之所以這麼做也是為了符合 MaiCoin 集團一直以來追求的合規精神。
另外,TSS 產生簽章是在鏈下(off-chain)進行的,因此在概念上來看,AMIS 想做出的是「軟體設計上的『冷錢包』」;陳昶吾博士說明,冷錢包雖然相對安全,但便利性不足,因此若能設計出不需存放任何私鑰的冷錢包,將能提供 24 小時全天候服務,很大程度地解決使用上的不方便。
這項技術可用於數字資產交易所、需要託管服務的金融組織、需要私鑰保管的 PoS 客戶端,或是想使用去中心化金融(DeFi)卻無力保管私鑰的用戶;不過,雖然陳昶吾博士提及上述用途,卻並沒有明確指出 AMIS Wallet 的下一步將踏在哪。
當然,不是只有 AMIS Wallet 在使用 TSS 技術來強化錢包的安全性,例如加密貨幣錢包商 ZenGo 也已經把 TSS 置入他們的系統中;而為了更好理解 AMIS Wallet,下文將會簡述 TSS 技術的功能。
門檻式簽章方案(Threshold Signature Scheme, TSS)
在解釋 TSS 前,必須先討論一項類似的加密技術「Shamir’s Secret Sharing(SSS)」。
SSS 將一把私鑰切分成好幾塊 share,而不是像多簽錢包那樣擁有多把私鑰;以 3-of-5 為例,share 是具備部分私鑰關聯材料的隨機數,只要能集齊 3 個以上的 share,就能組出私鑰(完整的 Secret)以進行交易。
這個技術的優勢在於,以往駭客只需要針對單一資料庫進行攻擊,就能取得私鑰以盜取資產;但假如用戶將 share 分別託付給多方保管,則會迫使駭客的攻擊範圍擴大,且使用由隨機數所生成的 share 也同樣會增加攻擊的困難度。
但其問題在於,私鑰在生成與簽章(交易)的瞬間,仍會形成一個完整的私鑰,因此風險仍舊存在。
TSS 的優勢,就是得力於它具備了分散式私鑰生成(distributed key generation, DKG)和分散式簽章(distributed signing)的功能;也就是說,任何時候都只會有簽章的出現,不可能在任何主機上找到私鑰的蹤影,所以免去了很大程度的駭客風險。
就傳統方式而言,公鑰是私鑰透過橢圓曲線密碼學(Elliptic Curve Cryptography, ECC)進行計算後所生成,然後再經由公鑰去算出公共地址(public address)以進行交易。
由於 TSS 的私鑰生成是在鏈下,用戶可以使用自己的伺服器去生成一個帳戶地址以及關聯對應私鑰的 shares,再依據自身的場景與應用將 share 分配給不同的參與者;share 的生成也可以外包給託管方,或其他任何提供此類服務的對象,當然混合式的生成方式同樣是可行的。
也就是說,TSS 的錢包可以做到集中式、分散式,甚至是混合式的服務。
綜上而言,TSS 同樣可以產生公共地址,但沒有人能從鏈上的資訊得知這個公共地址是怎麼生成的,從而提高用戶的隱私性;再加上,簽章是需要由多方 share 組合計算,而在層層 share 的搜集流程中,可以起到稽核(policy check)的作用,也更符合銀行既有的內控措施。
另外,TSS 還有具有復原的特性;也就是說,如果用戶不慎遺失了 share,仍可以用演算法回推出簽章,再重新生成一組新的錢包將資產進行轉移。
?相關報導?
「區塊鏈帳聯網如何在金融領域做到創新?」——AMIS首席科學家/以太坊基金會研究員.陳昶吾
全臺第一家,MAX 交易所實體店開幕:成為世界領先的 STO 交易所
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!