The short answer is that you need the contract code and ABI to check if it is a ERC20 compliant token or not but you can use http://testnet.etherscan.io/ (or the live version) to get this information.
To reach the ethereum genesis block programatically, starting from an erc20 token I give you, you need that "need the contract code" part which is centralised.
To reach the ethereum genesis block programatically, starting from an erc20 token I give you, you need that "need the contract code" part which is centralised.