Message

在 Bitmessage 中傳播一條新的廣播消息需要多長時間?

  • February 17, 2016

當一條消息被簽署後,它就會傳播到整個網路。我想知道“平均”需要多長時間?

有兩種類型的消息,私人消息和廣播消息。私人消息使用接收者的公鑰加密。廣播消息使用發送者的公鑰加密。話雖如此,網路中消息傳播延遲的原因很少,以下是我的假設。

  1. 在私鑰的情況下:一旦消息被簽署並廣播,每個節點都嘗試用自己的公鑰解密內容,但失敗了。節點是僅在嘗試解密後才轉發消息還是在收到消息後立即轉發?因為這肯定會導致消息傳播延遲。
  2. 廣播消息是否也一樣,即節點只有在解密失敗後才轉發消息,還是在收到消息後立即轉發?
  3. 消息大小對解密和傳播是否重要?
  4. 網路延遲延遲與消息大小無關。
  5. 網路的直徑也是不可能的。

有沒有人跟踪類似於比特幣的 Bitmessage 統計數據?我試圖訪問<http://bitmessage.adammelton.com/>但沒有這樣做,它對你有用嗎?

PS 抱歉,這個問題在比特幣的 stackexchange 中可能看起來有點無關緊要,但是我們認為 Bitmessage 是沒有區塊鏈的比特幣,並且大部分技術都繼承自比特幣。另外我相信很多開發者同時關注比特幣和Bitmessage。因此,親愛的大家,請不要刪除這個問題:) 非常感謝。

目前,大約有 5000 個節點,一條消息的傳播時間不應超過 15 秒。通常,它更快。

  1. 如果工作量證明足夠,則轉發消息。轉發時沒有簽名驗證,因為只有消息的收件人可以驗證。如今,PyBitmessage 在單獨的執行緒中執行解密嘗試,因此轉發和解密並行執行。
  2. 根據對象的類型,有些版本在轉發方面有不同的延遲,有些版本沒有延遲。但這與解密嘗試無關,它是一種減輕定時攻擊的嘗試。
  3. 對於傳播大小確實很重要,因為傳輸需要更長的時間,但是我認為差異不會那麼大,尤其是在您使用快速連接的情況下。對於解密,數據本身是用 AES-256-CBC 加密的,而且速度非常快,在我的筆記型電腦上我得到了 100MB/s 左右,所以你應該不會看到很大的不同。
  4. 延遲確實會影響速度,但一些網路操作是非同步的,至少在 PyBitmessage 中是這樣,所以從實際角度來看,這沒什麼大不了的。
  5. 我不明白這一點。如果網路中有更多節點,則需要更長的時間,但另一方面,如果它們連接良好,則速度會更快。PyBitmessage 預設嘗試維護 8 個出站連接,如果總連接數超過 220 個,則拒絕傳入。

最近推出了一個新的統計網站:https ://beamstat.com/ ,效果很好,只是節點數不完整。

引用自:https://bitcoin.stackexchange.com/questions/40843