This article is way too long and could have said the same thing in a quarter of the space. Roundabout trips through history of IBM and the mainframe intend to lay a foundational understanding but really don't succeed.
Even when it finally gets to blockchains and Ethereum I think we need a more to the point description.
The idea of domain name serving over the internet without any intervention is fascinating, though it would be interesting to see what the societal reaction would be when someone registers childporn.com or assassinationmarket.com (with corresponding content, of course). As soon as mainstream society discovers that this content can't be taken offline, the backlash to the whole system might be severe.
good point. wikileaks was a small organization which managed to create an uncensorable system, AFAIK among other things by using a wide net of ISP's relations. one can solve some of these problems based on votes. currently google and ICANN largely defines where the boundaries are (who-is policy of domains, what constitutes trademark, etc.)
I'm curious how the immutability of block chains meshes with the fragility of programming. What happens when a contract on the Ethereum blockchain is found to have a bug? How can it be amended?
In some scenarios, it makes sense to program in hooks for upgrading functionality. Since contracts can call other contracts, you can just write a new contract and point the old contract at the new functionality if the architecture is suited for it.
Other than that, you basically write smaller, well-tested programs that don't irrevocably lock up people's assets.
Simple! When a bug is found, someone (or even everyone) involved with the contract loses their money. It's one of the many downsides to handing control of your cash over to an irreversible computer program.
You would have to create a new contract, and broadcast to people that they should use the other contract. All these systems heavily rely on decentralised reputation - not just for users but for contracts as well.
Given that contracts can call other contracts and, presumably, set up new contracts, I wonder if it's possible to set up self-referential loops of never-ending contracts. Denial of service?
If by Bitcoin you mean a block chain based cryptocurrency, then yes, since Ethereum is already a blockchain based cryptocurrency. If you mean the exact protocol of bitcoin, the answer is also yes (Ethereum is turning complete, so it should be able to do anything minus networking) although in practice it would be inefficient.
Even when it finally gets to blockchains and Ethereum I think we need a more to the point description.