Why is it a way longer than the usual addresses?
For the same reason Monero addresses are longer. Because, it encodes two public keys. One which is used to spend the bitcoin, and another which is used to scan the bitcoin. Think of it like this:
- The receiver creates two pairs of private and public keys; (a, A) for scanning, and (b, B) for spending. Their silent payment address is [A, B] (concatenation of public keys A, B)
- The sender uses one of their inputs as another pair of private and public keys. Let's call them r and R.
- The sender constructs a public key P which is the result of adding the public key of the private key hash(r*A) to B. (At this point, the receiver doesn't know they control P)
- When the receiver receives the sender's transaction, they can perform a mathematical operation, and realize they can work out the private key that is used to produce P.
Read more about it in here:
https://monero.stackexchange.com/a/1535/17055. It's how a stealth address works, which is very similar to how a silent payment address works.
The way I understood it, people running their own nodes will benefit in the speed of scanning compared to those relying on SPV clients. Someone correct me if I am wrong.
That's correct. When a sender pays you silently, you don't know where your bitcoin is, unless you check for all incoming transactions and perform the necessary operations. That's a burden for SPV clients, because they somehow need to be aware of all incoming transactions (that matter*).
* not all transactions can be silent payments, so there are a lot of exclusions the server can make.