I am familiar with Bitcoin's model, but a complete noob in real-world details. I am entertaining the idea of a service that receives transactions (A->B) and "wraps" or completes them to include (A->B & B->C).
Is it possible to create a transaction requiring 2 wallets to participate?
For example, to create a transaction sending coins from Alice to Bob, and from Bob to Charlie?
I had in mind a process where Alice creates the first half-baked transaction (Alice -> Bob), send it to Bob, Bob "adds" its piece (Bob -> Charlie), and the result is a valid transaction.
Obviously, the (Alice -> Bob) part must not be reusable by anyone else.
Can that be achieved? How? What's a good starting point / alternatives?