Swarm
何時應在 AWS SQS 等傳統消息通道上使用 Whisper 或 PSS?
與使用 Amazon SQS 等集中式服務相比,使用 Whisper 或 swarm/PSS 有什麼好處?
我的案例是:傳遞資訊(告訴另一方他們應該在智能合約中採取行動)?
Whisper 和 PSS 的一些好處是:
- 端到端加密,其中加密密鑰由乙太坊節點本身提供並提供給乙太坊節點本身。兩種節點服務都提供內置加密。使用 PSS,您還可以使用外部加密。
- 前向保密本機耳語,PSS 可選地支持使用對稱密鑰的前向保密,這些對稱密鑰在一定時間後被丟棄。
- 暗路由使得分辨誰是消息的發起者和誰是接收者實際上是不可行的。Whisper 是完全黑暗的,所有消息都會廣播給每個人,直到到期時間。PSS 提供了使用部分或完整地址進行路由的可能性,犧牲了保密性以提高效率。
- 中繼消息傳遞,即您不需要直接(通過 TCP/IP)連接到對等方以與其交換消息。
- 特定於 PSS 的協議方案,它為您提供了在節點邏輯(甚至是外部程序)中實現通信協議的框架。事實上,您可以
devp2p
通過 pss 使用任何協議,只需一點包裝程式碼。這兩種服務都是原生的
go-ethereum
(我相信 Whisper 也在 Parity 中)。這意味著您可以使用本機程式碼從同一節點程序發送和接收消息,而不是實現額外的消息傳遞層。不過,有一些警告。其中:
- 為了保密而犧牲了效率,特別是在 Whisper 的情況下,它將所有消息廣播給每個人,在此過程中產生大量流量,並且可能導致消息在到達之前需要一段時間。
- 郵箱,意味著在對等方離線時發送消息的傳遞服務,目前PSS根本不提供(但在路線圖上)。我相信 Whisper 使用了一個系統,它允許某些節點在過期時間之後儲存消息,以後可以從那裡檢索它們。