I am very new to bitcoin and sorry if the following is too simple. As far as I understood, if there is a double spend problem, the longest chain - collecting most work - will take over. However, suppose this chain happens to extent the fraudulent, then the there is no way for the network to be aware of the fraud unless some user complains that he did not recieve the money and finds a way to tell the network. Am I right ? if so how can he inform the network, I mean blockchain-speaking. Is it a just a matter of a public information taht would ruin the trust on blockchain and that gives an incentive not to be fraudulent ?
A blockchain cannot be fraudulent. The blockchain that is "the blockchain" is the valid chain with the most work. If there were a chain which included a transaction that was the double spending transaction but not the original and that chain had more work than a different chain, then that chain is "the blockchain" and is the correct one.
If a blockchain contains two transactions which conflicts with each other (i.e. the original and the double spend are both in the chain), then that blockcahin is completely invalid and no one would accept it unless they specifically modified their software to accept it.
If a user is defrauded because someone performed this sort of attack (broadcast a double spending transaction and the double spend confirmed), the user has no way to tell the network nor does the network care if such an attack occurred. What happened was completely valid to the network so long as only one of the two transactions (either the original or the double spend) is included in the blockchain. This risk is why it is recommended that you wait for a transaction to be confirmed and have multiple confirmations before accepting a payment. The chain containing that double spend is not fraudulent.