the MsgEthereumTx protobuf message is quite inefficient because we do lots of conventions with the go-ethereum types to reuse the code there. Since ethereum tx already has a solid binary format, with the custom type feature in gogoproto, we can embed the ethereum binary format within the protobuf message.