隨機數與分散式網路:實際應用

買賣虛擬貨幣
在本文中,我們將重點討論在不可信環境中使用集體隨機數生成方案的解決方案及其實際應用。簡而言之,如何以及為什麼在區塊鏈中使用隨機數,以及如何區分“好的”和“壞的”隨機數。長期以來,密碼學家一直在研究生成一個真正的隨機數,但即使在一臺單獨的計算機上也很難達實現它。更不用說分散式網路了,其中隨機數的生成更加複雜。
在參與者之間互不信任的網路中,產生無可爭辯的隨機數的可能性允許有效地解決許多重要問題並大大改進現有的方案。此外,遊戲、賭博和彩票根本就不是首要目標,對一個沒有經驗的讀者來說,這似乎是最重要的。隨機數生成計算機本身無法產生隨機數,它們需要外部幫助。計算機可以從稱為熵源的不同來源接收一些隨機值:例如,滑鼠移動、記憶體使用量、處理器插腳上的寄生電流等等。這些值並不完全是隨機的,因為它們具有一定的範圍或可預測的變化機制。為了將這些數字轉換為給定範圍內的統計隨機數字,需要對它們進行密碼轉換。因此,我們從熵源的非均勻分佈值中得到均勻分佈的偽隨機值。得到的值之所以稱為偽隨機值,是因為它們不是真正的隨機值,而是由熵決定的。透過對資料進行加密,任何好的加密演算法都會生成統計上與隨機序列沒有區別的密文。因此,為了生成隨機資料,您可以使用熵源來確保即使在很小的範圍內,值也具有良好的不可重複性和不可預測性,其餘關於結果值中位的混淆和擴散的工作將由加密演算法處理。
在這個簡短的講解結束時,我必須指出,即使在單獨的裝置上生成隨機數也是資料安全支柱之一,因為生成的偽隨機數用於在各種網路中建立安全連線、生成加密金鑰、負載平衡、完整性監視以及許多其他方面。許多協議的安全性依賴於生成可靠的、外部不可預測的隨機數的能力,並儲存它,直到下一個協議步驟才公開它,否則安全性將受到危害。對偽隨機生成數的攻擊是極其危險的,並且威脅到大多數現代密碼軟體。如果你上過密碼學的基礎課程,你一定知道這一點,所以讓我們繼續討論分散式網路中的隨機數。區塊鏈中的隨機性首先,我將討論支援智慧合約的區塊鏈,因為它們可以充分受益於高質量、無可爭議的隨機性。這些演算法稱為“公開可驗證的隨機信標(Publicly Verifiable Random Beacons)”,為了簡單起見,我將進一步將它們稱為PVRB。由於區塊鏈是任何參與者都可以檢查資料的網路,因此名稱的關鍵部分是“公開可驗證的”,即透過計算任何人都可以獲得證據,證明區塊鏈中產生的隨機數具有以下性質:· 結果應該從一個可證明的均勻分佈值中得出,即基於眾所周知的強密碼。· 結果被控制是不可能的。因此,結果不能預測。
· 由於未參與協議或者網路中的攻擊訊息過多,很難破壞生成協議。· 所有這些都應該能夠抵抗一定數量的不誠實協議參與者的串通,例如1/3的參與者。任何一群不誠實的參與者合謀提供受控的偶數/奇數隨機數的機會都是安全漏洞。這種停止隨機數生成的任何可能性都是一個安全缺陷。嗯,在這個領域還需要面對許多重要的問題,到目前為止,這只是一個簡單的任務…PVRB最重要的應用似乎是遊戲、彩票和Du博。的確,這是一個重要的領域,但區塊鏈隨機數可以用於其他更重要的領域。我們來看看。共識演算法PVRB在網路共識組織中起著重要的作用。區塊鏈中的交易受傳送方簽名的保護,“攻擊交易”的唯一方法是在不同時刻將其包含或排除在塊(或多個塊)之外。因此,共識性演算法的主要功能是建立交易的順序和包含交易的塊。此外,區塊鏈在現實中的一個基本特性是終結性。通常,為了確認一個塊是有效的,最重要的是,也是最終的是需要收集大多數塊生產者(以下簡稱BPs)的簽名,這些簽名至少涉及到向所有BPs交付一個區塊鏈,並在所有BPs之間分發簽名。隨著BPs數量的增加,所需的網路訊息量呈指數級增長; 因此, 需要最終結果的協商共識演算法 (如超分類帳中使用的演算法) 在幾十個 BpS 的參與下已經不起作用, 因為需要大量的互動。
如果網路有一個不可否認的公平的PVRB,那麼您可以選擇一個BPs,並指定他為一個協議輪的“領導者”。如果我們有N個基點,M: M > 1/2 N是誠實的: 那麼使用共識的 PVRB 將允許您選擇一個誠實的領導者。如果給每個領導分配一個時間段, 在這個插槽中, 他可以生成一個塊並驗證一個鏈, 並且這些插槽是相等的, 那麼誠實 Bps的區塊鏈將比惡意 Bps 形成的鏈長, 而依賴鏈長度的共識演算法將更長。Graphene (EOS的前身)首次採用了為每個Bps分配相同時間間隔的原則,允許用單個簽名批准大多數塊,這大大降低了網路負載,並確保了高共識速度和穩定性。然而,在EOS中,需要使用特殊的塊(最後一個不可逆塊),它由BPs簽名的2/3 + 1來確定。這些塊用於確保最終結果(鏈叉不可能在最後一個不可逆塊之前開始)。此外,在實際用例中,協議方案更為複雜——對提議的塊進行投票涉及多個階段,以便在丟失塊和網路問題時支援網路;但是,即使考慮到這一點,使用PVRB的共識演算法需要的BPs訊息明顯更少,這使得它們比傳統的PBFT修改更快。這類演算法中最突出的例子是Cardano團隊開發的Ouroboros演算法,該演算法被宣佈在數學上對BPs合謀具有可證明的抵抗能力。在Ouroboros中,PVRB用於定義所謂的“BPs計劃”,根據該計劃,每個BPs都被分配了一個用於塊釋出的時間間隔。PVRB的最大優勢是BPs“相等”(根據它們的平衡大小)。PVRB的公平性保證了惡意的BPs無法控制時隙的排程,因此無法操縱鏈。要選擇叉,只需要依靠鏈長就足夠了,而不需要對其塊的BPs“效用”或“重量”進行復雜的計算。一般來說,如果需要在分散式網路中隨機選擇參與者,PVRB通常比基於塊雜湊值的確定性變體要好。在沒有PVRB的情況下,影響參與者選擇的能力會導致攻擊,當從幾個可用選項中選擇下一個腐敗參與者時,攻擊者會立即選擇其中的一些,以確保在決策過程中獲得更大的利益。而PVRB不相信這些型別的攻擊。擴充套件與負載平衡
PVRB可以在減少負載和擴充套件支付方面提供幫助。首先,我建議閱讀Rivest的文章“用電子彩票用作小額支付”。在Emercoin網路中,可以很好地描述基於該方案的協議。該方案有幾個問題(例如,收件人可能在收到中獎彩票後立即停止為買方服務),但在特殊應用中可以忽略這些問題,如每分鐘收費或服務的電子訂閱。然而,彩票的公平性仍然是主要的要求,而PVRB是實現這一要求的關鍵。選擇一個隨機參與者對於分片協議也非常重要,分片協議的目標是水平擴充套件區塊鏈,允許不同的BPs只處理它們自己的交易範圍。這是一項極其繁瑣的任務,尤其是在分片組合安全性方面。這和在共識演算法中一樣,選擇一個隨機的BPs來指派他負責一個特定的分片也是PVRB任務。在集中式系統中,分片由平衡器分配:它只計算請求的雜湊值並將其傳送給必要的執行器。在區塊鏈中,影響這一分配的能力可能導致共識攻擊。例如,攻擊者可以控制交易的內容,監視哪些交易屬於分片。分片是區塊鏈中最具挑戰性和最嚴肅的任務之一;它的解決方案將允許建立具有出色效能和容量的分散式網路。PVRB只是解決這一問題的重要模組之一。遊戲,經濟協議,仲裁怎樣高估隨機數在遊戲行業中的作用都不為過。它們被顯式地用於線上賭場,也被隱式地用於計算玩家行為中。對於分散式網路來說,這些問題非常複雜,因為它們不能依賴於隨機數的中心來源。然而,隨機選擇可以解決許多經濟問題,並幫助構建更簡單、更有效的協議。假設我們的協議中存在一些關於低成本服務支付的爭議,並且這些爭議很少發生。在這種情況下,如果存在不可否認的PVRB,客戶和銷售者可以就隨機解決爭端達成一致,但具有給定的概率。例如,客戶以60%的概率贏,賣家以40%的概率贏。乍一看,這種荒謬的方法允許自動解決爭端,並在不需要第三方參與和浪費時間的情況下,以完全可預測的贏/輸份額來解決爭端。此外,概率比可以是動態的,並依賴於一些全域性變數。
大量有趣的分散協議,如代幣管理的註冊中心、預測市場、鍵合曲線,以及許多其他協議,都存在經濟博弈。它們往往存在安全漏洞,而且防禦方法是相互矛盾的。用數十億代幣(“大賭注”)保護自己不受“鯨魚”攻擊的東西,可能很容易受到餘額較小的數千個賬戶的攻擊。針對單一攻擊所採取的措施,例如為使一塊大牛排不盈利而建立的非線性佣金,通常會因另一次攻擊而失去信譽。由於這是一個經濟博弈,可以事先計算出相應的統計權重,可以簡單地用具有適當分佈的隨機佣金代替常規佣金。這種概率的實現非常簡單:區塊鏈有可靠的隨機生成源,並且沒有複雜的計算即可。與此同時,請記住,對單個隨機位的控制允許降低或增加概率率。因此,公平的PVRB是這些協議中最重要的組成部分。哪裡可以找到公平的隨機性?從理論上講,分散式網路中的公平隨機性允許任何協議都具有可證明的抗碰撞安全性。理由很簡單——如果網路同意生成0或1位,並且少於一半的參與者不誠實,那麼,如果有足夠的迭代次數,網路就可以保證以固定的概率就這個“位”達成一致。這是因為公平隨機機制在51%的情況下從100個參與者中選擇了51個。但這只是一種理論上的方法,因為在真正的區塊鏈中確保這種級別的安全性需要主機之間的大量訊息和具有多種互動的複雜密碼術。在實際網路中,任何協議增強都會立即增加潛在的攻擊向量,因此,實際的實現需要更多的協議增強來保證真實世界中的安全性。這就是為什麼在區塊鏈中仍然沒有足夠穩定的PVRB用於實際測試、多次審計、負載測試和真正的攻擊,沒有這些測試,就很難稱一個產品是真正安全的。儘管如此,一些有希望的方法在許多細節上存在差異,我們相信其中之一將解決實際問題。利用現代計算資源和將理論轉化為實際的用例。將來,我們會很高興地向您介紹PVRB實現:現在有幾個實現,每個實現都有自己的一組重要屬性、實現特性和一個好主意。由於研究隨機數的團隊很少,所以每項研究都非常重要。我們希望我們的資訊能讓其他團隊在借鑑前輩經驗的基礎上更快地行動。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;