I cannot clearly understand if the transaction verification is done over a single or double phase. This is my understanding.
Once a transaction is completely assembled, its inputs and outputs defined with all the conditions, the inputs can be checked to make sure the sender has enough balance to process the transaction.
Block mining is performed to time stamp the transaction and prove that it existed at a certain timing. Therefore block mining is more of a confirmation that the transaction has occured at a specific time rather than checking the validation of inputs.
If what I said is correct, who performs step one. Is it done by the receiver to make sure that the sender actually owns a real balance to make the payment?
If what I said is wrong, are step one and step two done together by the miner. And can someone please provide more detailed description of this verification process of inputs and time stamping because the none of the previous questions and answers address this clearly.