The future Ethereum crisis nobody has heard of yet

I’ve fallen back a lot on my Vyper series. There are actually more than one reasons, including mental health, life management, relationships, work, schoolwork… But really, the part that will be interesting to you, the readers who have been waiting for the type system article for a quarter of a year, is the part about Vyper itself, and about Ethereum.

The great gas crisis of Ethereum

So you might have heard of Gastoken. It has sent the Ethereum community into an uproar. While “tokenizing gas” sounds quite harmless at first, when you examine what it actually does, it will definitely start looking a lot more diabolical.

You’re in Limbo, you just don’t know it

Now, while I’m sure we’ll come up with something to make sure the existing wealth that is tracked by Ethereum doesn’t become unacessible, what this means is that any decentralized token, any truly decentralized contract that contains an address registry recording ownership, is pretty much a dead man walking.

function childAddress(uint256 _nonce) public view returns (address)
{
//if(_nonce == 0x00) return address(keccak256(byte(0xd6), byte(0x94), address(this), byte(0x80))); // no 0 nonce on contracts
if(_nonce <= 0x7f) return address(keccak256(byte(0xd6), byte(0x94), address(this), byte(_nonce)));
if(_nonce <= 0xff) return address(keccak256(byte(0xd7), byte(0x94), address(this), byte(0x81), uint8(_nonce)));
if(_nonce <= 0xffff) return address(keccak256(byte(0xd8), byte(0x94), address(this), byte(0x82), uint16(_nonce)));
if(_nonce <= 0xffffff) return address(keccak256(byte(0xd9), byte(0x94), address(this), byte(0x83), uint24(_nonce)));
if(_nonce <= 0xffffffff) return address(keccak256(byte(0xda), byte(0x94), address(this), byte(0x84), uint32(_nonce)));
revert(); // more than 2^32 nonces not realistic
}

So what?

I dunno. Lobby your local representative for the inclusion of CREATE2 in the next hardfork. It’s pretty bad as it looks in my opinion, and people’s total indifference in the face of impending doom is quite similar to how oil conglomerates treat global warming.

There’s two kinds of programming: functional and dysfunctional.