2

What are the benefits using Whisper or swarm/PSS over using a centralized service like Amazon SQS?

My use-case is: deliver information (to say to another party that they should do an action in a smart contract) ?

2

Some benefits of Whisper and PSS are:

  • End-to-end encryption where the encryption keys are provided by and to the ethereum node itself. Both node services offer builtin encryption. With PSS you can also use external encryption.

  • Forward secrecy whisper natively and PSS optionally supports forward secrecy using symmetric keys that are discarded after a certain time.

  • Dark routing making it practically infeasible to tell who is the originator of a message and who is the recipient. Whisper is fully dark, where all messages are broadcast to everyone until expiry time is reached. PSS offers the possibility of routing with partial or full address, sacrificing secrecy for efficiency.

  • Relayed messaging i.e. you don't need to be directly connected (by TCP/IP) to a peer to exchange messages with it.

  • Protocol schemes specific to PSS, which gives you a framework for implementing communications protocols in your node logic (or even from an external process). In fact, you can use any devp2p protocol over pss with a little bit of wrapper code.

Both services are native to go-ethereum (Whisper is also in Parity, I believe). This means that you can send and receive messages from the same node process with code native to it, instead of implementing an extra messaging layer.

There are some caveats, though. Among them:

  • Efficiency is sacrificed for secrecy, especially in the case of Whisper, that broadcasts all messages to everyone, generating a lot of traffic in the process, and may cause the messages to take a while before arriving.

  • Mailboxing, meaning delivery service of messages sent while peer is offline, is currently not provided at all by PSS (but is on the roadmap). I believe Whisper uses a system where it gives permission to certain nodes to store messages beyond their expiry time, from whence they later can be retrieved.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.