隨機事件在我們身邊無處不在。比如,運氣、概率和命運就與隨機性密不可分。人類不理解或無法預(yù)測的一切事物往往被歸類為隨機事件。物理世界中也有許多隨機事件,比如云的運動、粒子和波的軌跡等。然而,盡管它是那么的令人熟悉,人類卻很難將周圍的隨機性轉(zhuǎn)化為計算機可以計算的東西。
當我們談?wù)撚嬎銠C系統(tǒng)中的隨機性時,我們指的是偽隨機性,這是一種對現(xiàn)實世界隨機性的模擬產(chǎn)物。不過,這兩種隨機性很難區(qū)分。我們在這里要討論的是非常強大的模擬性隨機(偽隨機)。
隨機性在隱私技術(shù)和密碼學(xué)中發(fā)揮著重要作用。值得驚嘆的是通過一個隨機值與一條信息就能提供一種簡單而強大的加密方案。比如對稱密鑰加密技術(shù),兩方進行交流時需要事先共享一個保密密鑰,但即使是進行最簡單的交流也需要確保共享密鑰是隨機的。如果此共享密鑰不隨機,則任何人都可以通過已知的密碼算法與信息內(nèi)容竊取保密密鑰,加密也就失去了意義。
隨機性的作用:
利用隨機性可以在兩個人之間構(gòu)建一個安全的通信渠道,也可以用來確認通信雙方的身份。此外,如果同時有很多人想通過有限帶寬的通信渠道彼此通信,則可以使用隨機性來公平地確定消息傳遞的順序。隨機性也可以用來幫助一群人或計算機達成一致。隨機共識協(xié)議就是這樣一個例子。這篇文章將探討隨機性在區(qū)塊鏈中的作用。
區(qū)塊鏈是幫助多方在全球?qū)用嫔暇湍撤N程度的更新達成共識的完美例子。更新通常按照回合的方式完成,每個回合是一個周期性的離散時間段。
一般限制共識的的因素有兩個:吞吐量(在互聯(lián)網(wǎng)上的特定時間段內(nèi)可以發(fā)送的消息數(shù)量上限)以及延遲(消息通過互聯(lián)網(wǎng)發(fā)送所需的時間)。任何區(qū)塊鏈共識協(xié)議的目標都是克服上述限制因素達成共識。在公鏈中,數(shù)千個節(jié)點參與維護區(qū)塊鏈,如果每個節(jié)點都需要向其他所有節(jié)點發(fā)送消息并等待來自所有其他節(jié)點的響應(yīng),吞吐量與延遲將會讓達成共識的成本大幅增加。成本高昂是因為一個回合中傳遞的信息數(shù)量太過龐大,因此為了達成共識而優(yōu)化網(wǎng)絡(luò)溝通方案的一個方式就是削減信息的數(shù)量。
如果區(qū)塊鏈由于隨機性函數(shù)停止輸出而完全停止,在社會層面上將需要巨大的協(xié)調(diào)成本來重新啟動區(qū)塊鏈。社群需要花費大量的時間通過外部社交媒體平臺就區(qū)塊鏈的形式達成一致,這樣做的成本與解決DAO黑客的成本相當。這種巨額成本也會動搖社區(qū)對區(qū)塊鏈協(xié)議安全性的信心。
另一方面,只要偏差很小并且存在修正偏差的機制,僅僅幾輪的輕微偏差帶給區(qū)塊鏈安全性的影響也會很小。這是因為在每一輪公共區(qū)塊鏈協(xié)議中給予驗證者的協(xié)議內(nèi)獎勵相對較小。但是由于每輪或每個時期(一組輪次)都會選擇新的小組委員,因此在隨機性函數(shù)中總會存在某個顯著的偏差,讓驗證者可以鉆空子賺錢并導(dǎo)致區(qū)塊鏈協(xié)議的安全性降低。此外,主打隨機性的彩票游戲需要確保隨機源不被操縱,因為即使一點偏差也會改變彩票的贏家。這是因為篡改彩票結(jié)果的效果是巨大的,可以獲得了大量的即時獎勵。因此,這樣的游戲適合僅保證無篡改輸出的隨機性函數(shù),即使這意味著隨機函數(shù)的輸出有時會停止。