How exactly bitcoin addresses work?
Bitcoin addresses are a specific encoding (base 58 check encoding) of the RIPEMD160 of the SHA256 of a public key. This hash is known as the hash160 of a public key. When you enter an address into your wallet, it decodes the address into the hash160 and builds the proper output based upon the version number (the thing that decides whether an address begins with a '1' or a '3'). This output is used in your transaction.
what determines whether an address is for bitcoin and not for it's clones or some altcoins?
Nothing does. Generally a different version byte is chosen so that the prefix of the address will be different and thus distinguishable. However some altcoins do use the same version bytes and thus are indistinguishable from a Bitcoin address (e.g. litecoin's p2sh addresses are the same as bitcoin's). Other than that there is no difference as the addresses are still the base58 check encoding of the hash160 of an ECDSA public key.
What happens if you send bitcoin to other addresses or vice versa?
The Bitcoin goes to a normal output. Generally the coin is considered burned, but it is still possible to access it because the receiver of the transaction can simply import their private key from another coin and import it to the coin that was actually sent.
Is it possible to create an address offline? if so then how the system knows if it can deposit bitcoins in it or not?
Yes. Addresses do not need to register with anything to indicate that it can be sent to. As I said earlier, addresses are simply used to build transaction outputs. Transaction outputs don't care whether they are actually spendable, they just have to be valid outputs.
Now what if a group of few thousands members decide to clone bitcoin and have control over a few considerably large volume exchanges and do trades then how can we tell the difference?
The transactions made with the cloned coin will not have the same blockchain as Bitcoin. The transactions that they try to spend from do not exist on the Bitcoin network so their transactions are considered invalid.
Or what if a bitcoin node which has the ledger tries to clone bitcoins by using the blockchain information in hard drive? or they just use blockchain as their clone's block chain?
At the time of any fork of the blockchain, the attackers blockchain will diverge from the Bitcoin blockchain. If they try to steal coins that are not theirs, Bitcoin nodes will simply reject the transactions as invalid. Sure they will have the coins on their blockchain, but no one cares about that because that blockchain is not Bitcoin's.
What should people know when using different wallets and exchanges?
They all must follow the consensus rules in order to be using Bitcoin.
What happens if 50 nodes go offline or in a fake online environment and do transactions and do the confirming themselves?
Then they have forked the blockchain and their transactions and blocks will not be considered valid. With the current difficulty, their chain would lose.
is it possible for miners to predict the hashes of future to be bitcoins and use it to create them and then the network verify those coins as legit ones?
No, that is not how Bitcoin works. First of all, hashes are randomly distributed, so you cannot predict a hash. Secondly, Bitcoins are not objects. Rather they are values assigned to transaction outputs.
Where exactly new bitcoins generated by which mechanism that is in nodes wallet software?
When a miner mines a block, they include, as the first transaction in their block, a coin generation transaction. This transaction has no inputs and creates one or more outputs whose values are at most the sum of the block subsidy (currently 12.5 Bitcoin) and all of the transaction fees paid by the transactions in the block.
which one of nodes creates the problems for miners to solve?
No node does that. Miners don't actually solve problems. What they do is they build an 80 byte block header which consists of a version number, timestamp, the previous block hash, merkle root of all transactions in the block, the current target, and a nonce. Then that is hashed with SHA256 double. This hash is then compared to the current target. If it is less than the target, then the block is valid and broadcast to the rest of the network. If it is invalid, the miner changes something in the header (usually the nonce, then the merkle root) until a valid hash is found.
and what if someone finds a way to make the system favor some selected miners?
The Bitcoin network does not choose a miner to win. All miners attempt to find a valid hash for the current block. It is a competition, and only one wins. If multiple miners solve a block simultaneously, the block considered the winner is the one that is built on top of next. A sustained fork is incredibly unlikely to happen.
I highly suggest that you do your own research into how Bitcoin works. There is lots of documentation on all of the technical inner workings of Bitcoin. A good place to start is the developer documentation on bitcoin.org.
First of all, must say I appreciate the staff member who took the trouble to answer each question. For readers like myself, who were complete newbies when we first found bitcoin and whose technical knowledge is at a beginner's level, these questions are actually not as simple as they may appear to a lot of forum users here. You might see also that I'm a Full Member and still consider myself perhaps at the lower 1% percentile in terms of bitcoin technical understanding.
Yes, we do attempt to do our own reading, or else we would not know how to ask questions like the above.
It is helpful to point out developer documentation but again, they are quite complex for someone like myself. Hell, even reading whitepapers on this forum is a confusing chore but I try to do as much reading as I can. On the other hand, more accessible and simpler documents are outdated (for example, I read all about fees and confirmation times from the wikis but found this to be different from practice - blockchain.info also only recently updated their estimated confirmation message on a tx page).
What I'm trying to say here is that... if posters don't want to help or answer, it's fine but you don't have to patronise users who may genuinely seek simple explanations.
Thank you again to the Staff Member who responded. Some answers gave me information I had never been aware of. The burnt bitcoins for example:
"The Bitcoin goes to a normal output. Generally the coin is considered burned, but it is still possible to access it because the receiver of the transaction can simply import their private key from another coin and import it to the coin that was actually sent."
Did you mean to say I could retrieve mistakenly burnt Bitcoin by import my alt's private key into, for example, Electrum?