Is it possible to do within one single transaction?
Absolutely.
will it be possible ... to verify that, the Bitcoin which it now received ... and the one which it already received ... were from the same source ?
Maybe. It depends on how the transactions are structured.
Think of transaction outputs as lumps of gold.
I have 1 lump of gold worth 1 BTC. I melt it and pour it into 2 equal lumps of gold each worth 0.5 BTC. Now I give 1 of those to you, and I give the other to your father.
Now your father receives another lump of gold from someone else worth 0.6 BTC.
If your father is going to send you 0.5 BTC worth of gold, there are 3 possibilities on how he can structure his transaction:
- He can just give you the one lump of gold that he has that is worth 0.5 BTC. This is the one he received from me, and is therefore "from the same source" as the 0.5 BTC lump that you already have.
- He can melt the lump of gold that is worth 0.6 BTC and pour out a 0.5 BTC lump and a 0.1 BTC lump. Then he can give you that 0.5 BTC lump and keep the 0.1 BTC lump for himself. This 0.5 BTC lump is not received from me and therefore is NOT "from the same source" as the 0.5 BTC lump that you already have.
- Now here is where it can get messy, and difficult to answer your question... He can melt the 0.5 BTC lump and the 0.6 BTC lump into a bowl of 1.1 BTC worth of liquid gold. Then he can pour out 0.5 BTC worth of that into a lump of gold and pour the remaining 0.6 BTC worth into another new lump of gold. If he gives you the 0.5 BTC lump, how much of it is "from the same source" as the 0.5 BTC lump that you already have? All 0.5 BTC worth? None of it? 45.5% of it?
This is how bitcoin transactions work.
Transactions accept distinct previous transaction outputs as inputs to provide value to the transaction. Then the transaction takes the combined value of all the inputs and creates NEW outputs such that the sum of the value of all the new outputs is less than or equal to the total value provided by all the inputs (when the value of the sum of the outputs is less than the value of the sum of the inputs, then the remaining "leftover" value is the transaction fee for the miners). There is nothing in the transaction that indicates which portion of each input is being used for any specific output. So, while you can see a chain of the specific inputs that are used to create outputs, and then where those specific outputs are used as inputs to create other outputs, and so on, it can be difficult in some situations to assign a specific input (or sub-set of inputs) to a specific output (or sub-set of outputs).