it's a little different and worth mentioning: silent payments doesn't use an op_return for the shared secret, it uses the input public keys. this means you can't know whether a transaction is a silent payment unless you are the recipient. excellent for privacy, which was the goal (im one of the authors of the protocol). the trade-off is recipients must check every transaction with taproot outputs with an elliptic curve multiplication. for a public server supporting multiple cliente, this can be a heavy load on a server. the main thing frigate is doing is using GPUs for checking multiple transactions at a time for clients.
could also be done with just CPU, but it's gonna be slow.
(edited)