Node Application: Each Node must install and run a computer application definitive to the ecosystem they wish to participate in. Using the case of Bitcoin as an example ecosystem, each computer must be running the Bitcoin wallet application. once one has a node application one can participate in the respective blockchain ecosystem.
Shared Ledger: A data structure(Ledger) is managed inside the node application. Contents for the ecosystem can be viewed, once the node application is in running state. If you are running the Ethereum client, you can see the Ethereum ecosystem ledger and interact according to the rules of that ecosystem (smart contracts, payments, etc.). If you are running the Bitcoin client, you can participate in the Bitcoin ecosystem, according to the rules set out in the program code of the Bitcoin node application.
Consensus Algorithm: The consensus algorithm is implemented as part of the node application, providing the ‘rules of the game’ for how the ecosystem will arrive at a single view of the ledger. Different ecosystems have different methods for attaining consensus depending on the desired features the ecosystem needs. This can be vested in many different schemes: proof-of-work, proof-of-stake, proof of concepts each of these qualifies nodes as a valid node in different ways.
Virtual Machine: The virtual machine is the final logical component implemented as part of the node application that every participant in the ecosystem runs. It’s an abstraction of a machine operated with instructions and Implemented as part of the node application that every participant in the ecosystem runs.