Let me preface this piece by saying that Statistics as a method is not fundamentally flawed, but ask any Machine Learning engineer in your local cafe, and they’ll be quick to tell you that the process of data collection and storage is usually flawed. A new engineer is quick on their feet to go to Kaggle and download a dataset, perform a few cleaning operations, do a little analysis, classification, prediction and update their Linkedin headlines with “Machine Learning Enthusiast”, “AI Expert” and “Data Scientist”. While I find little points of contention with the first two titles, the last one is questionable, since you’re working with what is essentially a DIY data cleaning project, instead of true data processing, but I digress.
Data, especially in these “unprecedented times” of COVID-19 pandemic, are much far from the utopia that is Kaggle. Data in real life is messy, full of clutter you don’t want and has flaws that we will talk about. I will also go over how a lot statistics are not absolute truths. Darrell Huff’s book “How to lie with statistics” has 10 chapters barring introduction and acknowledgements, but we will look at 3 concepts.
A few months ago, just when the lockdowns were to start in India, an Islamic missionary group named Tablighi Jamaat had a congregation in South Delhi. This ended up becoming a hotspot for Coronavirus in India. Twitter trolls and journalists were too eager to attack the entire Muslim community. Muslims were lynched, attacked and discriminated against.
Layer 2 solutions have become an integral part of the Ethereum road-map, especially short term. This is a good time to do an overview on Rollups and talk about the progress on rollups this year.
Question #1 - What are Layer 2 (L2s)
High gas fees are a problem that Ethereum currently faces. dApp Builders have to be careful so as to optimise their code to cost the least gas to the user. Let's start with a few obvious places to reduce gas: Minimize what you store on-chain. For example if you're building a blog on Ethereum - store the blog in IPFS and the CID in your Solidity. Later on you can optimise this further.
It's often better to compute the value of something off-chain and just enter the value in your code rather recompute it on-chain. This reduces the cost of running functions everytime your code runs. This is where it starts to get non-obvious. When you're coding in something like Python, you'd be OK with calling functions from an another class, but in Solidity, these cost a lot. Store your returned data somewhere and use those.
Good place to start from here would be to run eth-gas-reporter on your code to analyse the gas cost of your code to run on the EVM. You'd have a better idea of what's happening now. More often than not, it's a simple fix revolving around how you're storing data or accessing any data.
“An Irrefutable case for Ethereum” - A thread addressing some of the more common criticisms of Ethereum.
Criticism #1 - Gas Fee will kill Ethereum
Gas Fee is the tax you pay to use an ecosystem - it incentives miners to validate blocks (since Ethereum is currently run on PoW). There are nuances to this - we will focus on L2s, ETH 2.0 & EIP1559.