The proof-of-work system, alongside the chaining of blocks, makes modifications of the blockchain extremely hard, as an attacker must modify all subsequent blocks in order for the modifications of one block to be accepted. As new blocks are mined all the time, the difficulty of modifying a block increases as time passes and the number of subsequent blocks (also called confirmations of the given block) increases.
The "Metropolis Part 1: Byzantium" soft fork took effect on 16 October 2017, and included changes to reduce the complexity of the EVM and provide more flexibility for smart contract developers. Byzantium also added supports for zk-SNARKs (from Zcash), with the first zk-SNARK transaction occurring on testnet on September 19, 2017.
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.
J. P. Morgan Chase is developing JPM Coin on a permissioned-variant of Ethereum blockchain dubbed "Quorum". It's designed to toe the line between private and public in the realm of shuffling derivatives and payments. The idea is to satisfy regulators who need seamless access to financial goings-on, while protecting the privacy of parties that don't wish to reveal their identities nor the details of their transactions to the general public.