Hi, is it possible to create smart contract with the following properties on Ethereum:
1. Once the smart contract has been created it is impossible even for the owner/creator of the associated ethereum account to change the code.
2. It is impossible for anyone (even the owner/creator of the assosiated ethereum account) to withdraw any ETH funds from the smart contract address.
3. Only the smart contract code itself can independently send ETH from the smart contract address as programmed if simple criteria is met.
4. When the smart contract code cannot be changed will it still be "future proof" so that no matter what updates is done to Ethereum that smart contract code will work and continue to run indefinitely?
I know The DAO failed, but the above should be much more simple right? and could it be 100% secure? Or do we have doubts now even for the simplest of smart contracts?