賽博朋克的現代密碼學,可不是敲玻璃「有內鬼,終止交易」那麼簡單。
兩天前,加密做市商Wintermute遭到黑客攻擊。由於使用Profanity生成以太坊地址的方式有漏洞,造成了私鑰的洩露,1.6億美元不翼而飛。
早在今年1月份,就有人在GitHub上提出了Profanity生成vanity可能所造成的問題。
此後,也有人證明了通過使用1000個強大的圖形處理單元(GPU),所有7位字符的vanity均可以在50天內被暴力破解。
在我們上週的分析文章【Wintermute 1.6億美金天價損失,或因Profanity造成私鑰洩露】中,我們也提到了今年9月15日,1inch在Medium上發表了一篇披露Profanity漏洞的文章,並詳細介紹了他們是如何利用vanity為用戶生成私鑰的。

二級標題
二級標題
那麼私鑰到底是什麼?
和私鑰經常“成雙入對”出現的公鑰又是怎樣形成的?
密碼學
密碼學
密碼學剛出現的時候,軍事及學術界就有了加密版的處理方式——將信息進行編碼,再用一套密語進行解碼。但該設計也有一個缺陷:加密和解密的短語一旦被他人獲知,就可以隨意解讀和發送信息。
早期的加密手法被稱為「對稱加密」,因為編碼和解碼短語相同。
直到20世紀70年代,密碼學家們發明了「非對稱加密」——創建了公鑰和私鑰,將加密過程一分為二。
在這個系統中,私鑰是一個多位的、隨機的質數,可作為ID,加密和解密信息。
私鑰
私鑰
私鑰
私鑰就像信用卡密碼——在加密領域,你甚至都不需要知道卡號,就可以訪問卡內資金並且進行交易。這意味著私鑰=資產,其重要性不言而喻。
私鑰可以選擇自己保存或交由其它機構負責⬇️
二級標題
二級標題
公鑰和私鑰的關係
公鑰和私鑰是在數學上相互關聯極其大的素數。關聯的意思即為:任何由公鑰加密的東西只能由相關的私鑰解密。公鑰由私鑰衍生,它是一個長的數字序列,可作為將資金發送至某地址的通行證,就像銀行卡號。
這一功能和現實中的地址很相似,比如我知道你家地址,我就能給你寄一封信。同樣的,如果加密世界中,我知道了你的公鑰,我就可以給你發送加密貨幣或者NFT。中本聰(Satoshi Nakamoto)在設計區塊鏈交易的運作方式時,曾詳細介紹了公鑰和私鑰如何通過數字簽名實現交易。
Web3.0安全
圖片描述

二級標題
Web3.0安全
Wintermute攻擊事件告訴我們:如果錢包地址是用Profanity工俱生成的,那麼錢包內的資產將不再安全,請盡快將所有資金轉移。另外,如果用Profanity獲得了一個vanity的智能合約地址,請確保該智能合約的所有者可改變。
對於其他用戶來說,了解私鑰和公鑰,以及了解它們的交互方式是了解Web3.0的基礎。在護持安全時,CertiK安全團隊在此建議:
1. 在任何情況下都不要洩露私鑰
2. 慎重選擇自行持有私鑰亦或將其託管給相關機構比如錢包或交易所
永遠不要將鑰匙從一個錢包導入另一個錢包
使用硬件錢包
使用提供高級安全功能的軟件錢包
以及以及以及SkyTrace這樣的區塊鏈分析工具有了用武之地。
這對Web3.0安全至關重要——在攻擊發生時,可幫助我們了解攻擊發生的事件、被盜資金去向及如何減輕損失。
尤其是SkyTrace可通過公鑰來追踪和可視化錢包之間的資金流動,這又為項目提供了一條追踪被盜資金的途徑,並有概率藉此引出黑客的信息。
Skynet天網動態掃描系統也是一樣,可以通過主動監控鏈上活動,根據項目的流動性、代幣的分佈以及任何異常生成實時洞察。
但透明度對我們追踪相關信息有幫助,也同樣可以幫助黑客選擇目標。正因如此,一些比如Coinbase這樣的平台會在用戶每次交易時為他們生成一個新地址,這樣第三方就無法僅僅通過區塊鏈瀏覽器來查看用戶們的交易情況了。這也在一定程度上,保障了Web3.0的隱私性。


