我們先從一個問題開始:什麼是異步系統,什麼是異步代碼?異步意味著不是同時發生的,或者不是在同一時間或速度發生。在計算機科學中,異步是指獨立於主程序的事件的發生。在異步系統中,操作不是由全局時鐘信號協調,而是由事件(系統中的變化)協調。異步系統的可靠運行不依賴於外部信號或消息。
異步系統通常採用模塊化框架設計。在這樣的系統中,每個模塊都可以獨立運行,並具有與其他模塊通信的能力。異步通信是指數據可以不規則地傳輸,而不是穩定地傳輸。常見的例子包括電子郵件或在線論壇,參與者在不同的時間發送消息。
異步網絡不向節點提供有關正在發送的信息狀態的任何反饋,這可能導致節點具有不同的視圖關於網絡的整體狀態。本質上,節點不必等待其他節點接收它們的消息,這可以提高事務吞吐量。
半同步網絡旨在確保網絡的全局狀態永遠不會分裂。如果網絡被分區,節點之間的共識會減慢,直到再次恢復。無論是優先考慮一致性還是可用性,都可以設計異步或半同步區塊鍊網絡。如果網絡想要優先考慮可用性,則添加所有事務而無需任何停機時間。如果網絡想要優先考慮一致性,則在確認所有先前的交易之前,某些交易可能不會被處理或暫停。
一些區塊鏈設計使用拜占庭容錯(BFT)的實現,稱為異步拜占庭容錯( aBFT)。即使攻擊者控制了近三分之一的網絡,它在數學上也能保證最終達成共識。這裡所說的異步是指不對時序做任何假設。
希望您在閱讀完這篇文章後能夠進一步了解什麼是異步系統,什麼是異步代碼。


















