1. 程式人生 > >學習分散式系統,這些術語你瞭解嗎?

學習分散式系統,這些術語你瞭解嗎?

對於剛進入區塊鏈行業的小白同學來說,一切都顯得比較陌生,很多概念性質的東西理解起來也比較吃力,本文和大家分享的是區塊鏈分散式系統中常見的一些專業分類,一起來看看吧,希望對大家有所幫助。

1. Failure models 失效模型 機器故障:當機器(節點)出現故障時,共識協議就用於解決機器可能出現的狀態不一致問題。

· 拜占庭容錯:機器不僅可能出現故障,還可能會“撒謊”。 

2. Network models 網路模型:

· 同步(Synchronous):我們不僅需要考慮機器會出現的各種故障問題,也要考慮網路通訊的型別。在通訊同步模型中,我們假設的是所有執行正常的節點(機器)都將在特定的時間內傳送和接收訊息。比如,你可以假定每條訊息需要在5秒鐘/分鐘/小時內傳送出去。

· 非同步(Asynchronous):這是同步的對立面。即便對於執行正常的節點(correct nodes)來說,訊息通訊延遲問題依舊可能存在。這種情況帶來的結果是:你無法判定到底是節點出現故障了,還是節點沒有故障,只是需要長時間才能迴應。

· 部分同步(Partially Synchronous):這種模型介於同步和非同步之間。意思就是,存在一個上界(upper bound),但是這個上界並非被所有節點所知。我認為這種通訊模型與實際的廣域網通訊(即網際網路)非常相似。這只是我的個人觀點哈,如果不同意見,歡迎反饋!

3. Message models 訊息模型:

  我將只考慮一種型別的訊息模型:已驗證的通訊(authenticated communication),即各節點將對訊息進行簽名,任何人都可以驗證來自某個其他節點的訊息是真實可信的。

4. Guarantee models 保證模型:

  這個命名有點奇怪,但我覺得這可以更好地描述該情況。

· 非概率性(Non-probabilistic):如果某個共識協議是非概率性的,就意味著該協議可以保證安全性(沒有概率分佈),只要一定數量的節點執行正常即可。

· 概率性(Probabilistic):如果某個共識協議是概率性的,那我們將自動引出一個概率分佈(probability distribution)。通常來說,這種模型只能在1-ϵ的概率之間保證安全性,其中ϵ是系統設計人員選擇的某個值。比如,一個概率性協議可能只保證99%的安全,即便一定數量的節點執行正常。記住這一點,這很重要!

 

原文連結:https://www.kg.com/article/504509681390194688