What is the actual process of validating transactions on the blockchain? For example checking that no double spend has occured?

I know PoW and PoS is more or less the mechanism used to select who get to write the next block. It also help prevent the sybil attack. But this does not do anything regarding the integrity of the block that is going to be added.

A validator or a minor haven been selected to write a block can still go ahead and put in inaccurate content. I know this is not happening, hence there is a process to check this. What exactly is the process? And how does it work? And how do nodes who are caught trying to do such get punished?

1 Answer 1


I was asking the same question, the ethereum white paper has answers, check them out. https://ethereum.org/en/whitepaper

here are something i found

From a technical standpoint, the ledger of a cryptocurrency such as Bitcoin can be thought of as a state transition system, where there is a "state" consisting of the ownership status of all existing bitcoins and a "state transition function" that takes a state and a transaction and outputs a new state which is the result. In a standard banking system, for example, the state is a balance sheet, a transaction is a request to move $X from A to B, and the state transition function reduces the value in A's account by $X and increases the value in B's account by $X. If A's account has less than $X in the first place, the state transition function returns an error. Hence, one can formally define:


  • well I can have a situation where instead of moving the funds from A to B, I split the funds into 2 from a part from A to B and move another from A to C. A has the funds so it should be fine, but the funds should all have gone to B and none to C. How is that guarded against? Oct 17, 2021 at 11:43
  • 1
    If i understood your question, User A signs a transaction to transfer some amount to User B, you as a miner picked the transaction and tries to split the fund as A-B and A-C. if that's is your question ,you are trying to create a transaction A-C without the signature of User A , this will make the transaction cryptographic-ally unproven that it came from User A, the apply function might be checking underneath. Good Question Though!
    – leycun
    Oct 17, 2021 at 13:13
  • Ha indeed. Cryptography saves the day again! :) Oct 17, 2021 at 13:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.