This is a typo, should be
341 instead of
340. I was referring to the
“constructing and spending taproot outputs” section from BIP 341, particularly the
Computing the output script and
Spending using the key path subsections.
The main differences are related to the tag names and the committed data. For example, in taproot, the tweak is committed to the internal key, and is later added to that same key. On the contrary, in silent payments there can be two tweaks (first difference), let’s call them A and B, where B is optional.
Tweak A is modifying public key T, but is not committing to public key T (second difference if we extrapolate public key T as our internal key).
The idea is later developed when I mention that we cannot disguise silent payment tweaks as a merkle root even if tag names weren’t an issue.