Payjoin, first introduced in 2019 by Nicolas Dorier in BIP 78, allows both the sender and receiver to contribute inputs to a single Bitcoin transaction.