Here’s why. Ethereum is based on blockchain technology where all transactions are meant to be irreversible and unchangeable. By executing a hard fork and rewriting the rules by which the blockchain executes, Ethereum set a dangerous precedent that goes against the very essence of blockchain. If the blockchain is changed every time a large enough amount of money is involved, or enough people get negatively impacted, the blockchain will lose its main value proposition – secure, anonymous, tamper proof & unchangeable.
Ethereum addresses are composed of the prefix "0x", a common identifier for hexadecimal, concatenated with the rightmost 20 bytes of the Keccak-256 hash (big endian) of the ECDSA public key (the curve used is the so called secp256k1, the same as Bitcoin). In hexadecimal, 2 digits represents a byte, meaning addresses contain 40 hexadecimal digits. An example of an Ethereum address is 0xb794F5eA0ba39494cE839613fffBA74279579268. Contract addresses are in the same format, however they are determined by sender and creation transaction nonce. User accounts are indistinguishable from contract accounts given only an address for each and no blockchain data. Any valid Keccak-256 hash put into the described format is valid, even if it does not correspond to an account with a private key or a contract. This is unlike Bitcoin, which uses base58check to ensure that addresses are properly typed.
As of November 2017, Bitcoin and other digital currencies are outlawed only in Bangladesh, Bolivia, Ecuador, Kyrgyzstan and Vietnam, with China and Russia being on the verge of banning them as well. Other jurisdictions, however, do not make the usage of cryptocurrencies illegal as of yet, but the laws and regulations can vary drastically depending on the country.
There is ongoing research on how to use formal verification to express and prove non-trivial properties. A Microsoft Research report noted that writing solid smart contracts can be extremely difficult in practice, using The DAO hack to illustrate this problem. The report discussed tools that Microsoft had developed for verifying contracts, and noted that a large-scale analysis of published contracts is likely to uncover widespread vulnerabilities. The report also stated that it is possible to verify the equivalence of a Solidity program and the EVM code.