AI blockchain consensus decentralization design patterns edge computing Ethereum existential risks go, programming ideas networking programming reading reflections research rust smart-contract software-dev solidity web-dev web3