Not so smart contracts
It’s been a weird 24 hours, I am beyond conflicted. I haven’t digested all data available to me yet, and as such, I don’t have any elegant conclusion to the events that transpired. It did make me think about smart contracts, and the role they play in our ecosystem. There is a weird duality to smart contracts. They are these immutable unchangeable things that just relentlessly do their job. Their job however, might not seem so clear at start, their job, is to remove the human condition. It is to remove the human failure point. This is not only a trust assumption, but also a contingency. If I die today, all my code I wrote in defi will keep working exactly as designed. It does not need me.
To some, this is a flaw, to me, this is a feature. Immutability is the feature. I’ve been an advocate in the past against proxy patterns, they add reliance on their human overlords, they can’t simply quietly do their assigned task, because they know there is an ever watchful entity, ready to replace them at any given moment. But this fear doesn’t just belong to the smart contract, but it should also belong to the users, these patterns introduce risk. But, we have mitigation tools; we add timelocks, to ensure participants enough time to respond, we add multisigs to ensure a given failure point isn’t a single human. But ultimately, these are work arounds to allow humans some manner of control over their relentless smart contract amalgams.
How far have we strayed.
I wrote it once before, I’ll repeat it here. In crypto, you vote with your money. If you keep voting for low energy scams, get rich quick schemes, or low effort forks, you will only get more of those. Building is incredibly hard, it takes so much longer than anyone thinks, building platforms that require 0 human interference, even moreso. Yet, we as a culture have arrived at a point where humans are managing these protocols directly, they are sending around funds from EOA’s, I myself have been at fault of this. I myself have strayed from the vision.
I often speak about protocol to protocol, or robot to robot, I use to believe what we are building wasn’t for humans, it was for machines, a new machine currency, a way for our future machine overlords to transact, a mechanism that can exist long after we are extinct. I still believe this, but I have strayed.
In longing for acceptance, I started looking towards community, I started looking for comradery. I wanted to belong. Its easy to feel alone, its easy to feel isolated. The amount of people I can have deep technical conversations with about the nuances of smart contracts and their intersection with digital finance, I can count on one hand. Of which, most have retired, or become so unmotivated they simply don’t care.
I need to revisit my motivations, but in reading my own code, it seems while my motivations have strayed, my dedication to my cause have not. My code has no proxies, no human components, no admin functions, no DAO control, no multisig or timelocks, its pure simple execution. Anyone that wishes to confirm this can review the code for Solidly
Immutability and the lack of human interaction is a feature, not a bug.
We often talk about trust assumptions. Code has no trust assumptions, only humans do.
I will continue working towards our machine overlord future. Maybe they’ll keep me as a pet.