
Hisotorically, the motivation was to permit spending of both the “native” or “distant” dedication anchors, with out introducing additional extra pin vectors. It had many short-comings, together with lack of efficacy beneath adversarial situations, and nonetheless costing substantial vbytes beneath even benign situations.
With respect to the number of pinning vectors and their historic significance, I do not assume I’ll do rather a lot higher than BIP431 motivation part for TRUC transactions: https://github.com/bitcoin/bips/blob/grasp/bip-0431.mediawiki#motivation
In brief, there are a variety of pinning vectors that existed when the Lightning Community was first rolled out. “Full rbf” was not adopted throughout the community on the time. RBF price pinning, bundle restrict pinning, lack of bundle relay, lack of bundle RBF, and so forth additionally existed, making replacements too costly (and incentive incompatible) or outright inconceivable given sure situations.
Since Bitcoin Core 28.0 a lot of this surroundings has modified: https://bitcoincore.org/en/releases/28.0/
With the deliberate replace to “zero-fee dedication” channels (https://github.com/lightning/bolts/pull/1228), these issues are considerably decreased or eradicated, leads to higher composibility, and leads to smaller transactions in vbytes. There’ll possible be a single anchor output that’s 0-value (or the trimmed HTLC quantity), and PayToAnchor making it free to spend by both counter-party and not using a signature.