前段時間為uniswap網站提供服務的cloudflare出現問題,導致uniswap網站無法打開,引起了一些人的恐慌,當然因為uniswap是鏈上的,因此基本上沒有資產受到影響,但是這也給很多人敲響了警鐘,那就是網際網路基礎設施的安全性問題。
網際網路基礎設施我們可以簡單的認為就是提供網絡服務,包括接入網絡、網站託管、CDN加速、域名服務等等,這些都組成了現在的網際網路,網際網路中的數據通過網線、光纖、衛星信號等等進行不斷的交換,那麼這裡安全性就要有一個保障,否則任何人都可以隨意的接收和破解這些信號信息,從而獲得機密信息。
如何保證這些傳輸中的信息安全性呢?其實這裡就要用到加密算法,簡單的來說我們看到的信息都是一個個加密和解密的過程,而這個過程中最重要的環節就是隨機數的加入。
毫無疑問,cloudflare自然有專門產生隨機數的方法,那即是熔巖燈,但是這種方法相對來說,過程比較麻煩,而且出故障的概率也比較大,比如監視熔巖燈中的液體流動的高速相機出現故障,那麼就從最根本源頭來破壞cloudflare的服務。
隨機數加入和加密過程其實就相當於對數據進行一個保護的過程,防止簡單的破解和篡改,現在很多場景其實用的都是偽隨機數,而真隨機數因為產生比較複雜,因此很多機構基本上也不怎麼使用。
那麼在進入區塊鏈時代的時候,其實我們發現真隨機數更加重要,因為區塊鏈產業本身就是建立在密碼學的基礎之上,數字貨幣的區塊產生一般都要加入隨機數,以便滿足符合要求的區塊,這樣一來隨機數的重要程度大大增加,又因為偽隨機數的規律性,因此尋求真隨機數就顯得尤為重要了。
這是一個比特幣的區塊構成,其中nonce就是一種隨機數,礦工在挖礦的時候一般就是不斷嘗試,找到符合條件的數字,這樣就挖礦完成。但是在POS算法之中,因為不存在挖礦了,因此這裡隨機數如果簡單的用計算機或者伺服器來生成,那麼以後就顯得危險許多了。
這樣一來,尋求能夠快速應用的真隨機數就顯得非常關鍵。
從個人計算機和網際網路的普及之後,隨機數的生成主要經歷了三個階段:
1、計算機軟體生成隨機數
2、計算機軟體通過硬體信號生成隨機數
3、專門生成隨機數的硬體
第一個我們可以理解為就是軟體程序層面上的,我們都知道計算機中大量的數據是通過數位訊號進行傳輸的,而模擬信號雖然也有,但是沒有設計專門的測量裝置,因此簡單來說,就是純代碼生成,這種隨機數我們一般都稱為偽隨機數。
偽隨機數全部依賴代碼和計算機產生的隨機變量,因此這裡如果有黑客專門對此控制的話,那麼很可能會產生帶有規律性的偽隨機數,一旦黑客收集到足夠大量的數據後,進行分析,然後利用概率的原理,理論上來說,是可以破解偽隨機數的。
偽隨機數容易破解,那麼這對安全性就提出了要求,因此人們開始通過採集模擬信號來進行隨機數的生成,比如溫度傳感器、溼度傳感器、光線傳感器、電流測試裝置等等,通過這些傳感器連接計算機,因為這些傳感器是模擬信號,也就是說可組合型就比較高了。
這樣一來,其實生成隨機數的範圍自然擴大了很多,這裡就初步滿足了真隨機數的條件,因為自然界溫溼度等等是變化的,同樣不同傳感器的性能也不一樣,差異性在這裡就比較明顯,這樣的隨機數就是真隨機數。
雖然這種方式確實解決了真隨機數的問題,但是有個問題是目前應用於實際用途卻有些困難,因為在網際網路中大量使用隨機數,因此這種情況下每個設備都連接這些傳感器採集模擬數據顯得就麻煩很多,而且還容易影響系統的運行,比如伺服器專門要用一個這樣的隨機數生成軟體來生成隨機數,就顯得拖累伺服器的系統資源了,因此這雖然是一種不錯的解決方案,但是造價太高,成本比較大,因此除了一些需求性強的領域在用,其他領域基本沒有普及,我們說的熔巖燈就是其中之一,熔巖燈產生隨機數的關鍵其實就是高速相機,這個自然不是普通相機,因此也造價不菲。
那麼第三種隨機數生成方式就誕生了,我們都知道專用電路的處理速度是非常快的,比如比特幣礦機,其實就是一種專用電路板,在處理挖礦算法的時候,甚至比顯卡都快很多,因此專用電路是隨機數生成的一個很不錯的電路,在這個基礎上添加周圍的模擬信號資源,當然不管是傳感器還是電壓電流這些都可以,再加上電路板燒寫的程序,用FPGA等方式進行整合在一起,這就形成了一個新型的隨機數硬體生成器。
當然這裡有代表性的產品就是芯鏈的BOE硬體加速器,其中隨機數生成是BOE硬體加速器的一個典型功能,實際上它主要是為區塊鏈進行硬體加速的,能夠提高公鏈的TPS等關鍵數據而聞名。
芯鏈的硬體BOE區塊鏈加速引擎就可以快速提供大量的真隨機數,這樣就可以專業服務於各大POS鏈,使得他們能夠產生真正不可破解的真隨機數!
BOE的隨機數主要有以下幾大特色
獨立電路板生成真隨機數,可以使得運行的伺服器壓力降低,這裡幾乎不佔用系統資源,它是單獨產生隨機數的,連接計算機後計算機只要接收隨機數數據就行,沒必要運行多餘的其他軟體,因此可以說能夠保證現有的網絡設施方便快速的升級和維護。
真隨機數生成速度快,因為目前不僅僅區塊鏈,而且網際網路領域其實也需要大量真隨機數,以滿足用戶大量的數據請求,因此即使有的服務商提供真隨機數,但是因為配套軟體還是在計算機上運行,因此這裡就產生的速度就降低許多,反而芯鏈因為BOE不僅僅生成真隨機數,其實還提供硬體的區塊鏈加速服務,這樣其實我們就可以將芯鏈BOE看成一個小的「專用電腦」,這個「專用電腦」五臟六腑都齊全,有自己的計算晶片、RAM,ROM、網口等設施,但是它的功能比較單一,因此效率自然更高。
體積小,使用簡單。因為BOE主要提供的是一個電路板和相關軟體資料,程序都寫在板子上面了,用戶只要在使用的時候連接電腦,然後安裝好相應的驅動就可以在線控制,因此在多個領域都可以使用,而且沒必要為了一個隨機數搞許多複雜的東西,比如cloudflare的熔巖燈,其實來說相對就複雜許多,而且成本也高,不僅僅要擺上各種熔巖燈,而且還需要不止一個高速相機來進行數據採集,至少對於普通人來說,佔地面積就很大,至於放到伺服器機房,這是很難想像的事情,而BOE電路板只是小小的板子,不僅僅便於攜帶和運輸,而且搭建起來也非常容易,因此芯鏈BOE還是具有很大優勢的。