What is a Full Node?
A full node is a program that fully checks transactions and blocks. Almost all full nodes support the network by accepting transactions and blocks from other full nodes. The full nodes validate those transactions and blocks and then forward them to more complete nodes.
Most full nodes also serve lightweight clients by allowing them to transfer their transactions to the network and notify them when a transaction affects their wallet. If not enough nodes perform this function, clients cannot connect through the peer-to-peer network.
Instead, they must use centralized services. Many people and organizations volunteer to run full nodes with little computational and bandwidth resources but more volunteers are needed to keep the cryptocurrencies growing.
Full nodes independently validate the entire blockchain and enforce all Bitcoin rules on all data they receive. Therefore, clients cannot be cheated by invalid blocks or invalid transactions. Running your own full node is the safest, most private, and the most trustworthy way to join the Bitcoin network.