More Like DUMB Contracts #AMIRIGHT?
First lets give the ELI5 (explain like I’m 5) of a smart contract. It is really just a kind of computer program that is run automatically based on conditions (which to be fair is all computer programs). The ones you probably hear about are the kind that run on the blockchain (specifically Ethereum). The smart contract will get executed if certain things happen. Example: Bob and Alice send 1 ETH to a smart contract – Then that is transferred to Mary. If either Bob or Alice fail to put 1 ETH the contract doesn’t execute. There can other conditions and very complicated programs but the gist is – A programmer makes a smart contract to do a thing with transactions and deploys it of the blockchain. That program is then distributed and executed when the conditions are met. A popular way to simplify the concept of a smart contract is a crypto vending machine – you put money in and get out what is programmed.
I have said to so many times: “A smart contract is only as good as the idiot who wrote it”. If you have any experience with the tech field you probably know good coders and bad coders. Or maybe all to a degree all coders are bad coders getting better. I have a multitude of badly written code under my belt… but you know what I can do… make it better and fix the bug. The problem with smart contracts is that once they are deployed they are not changeable/fixable. Problem might not be the right word, because this is what is needed in the smart contract. Once the contract is deployed it cannot be changed. It would be a cold crypto winter if every smart contract developer could just change the code after deployment to send all other funds to their own address instead of the NFT minting address. Because the code is immutable it is trusted… NOW what if the developer is not the more pragmatic programmer and fails to unit test, QA check or really do any thing to make sure this code is working as it is intended… We then people lose A LOT OF MONEY!
One line of faulty code and the smart contract was broken, so broken that money was lost and irretrievable even by the devs… Now rug pulls I get, the dev is actively writing malicious code to flimflam. But this is pure incompetence. The coder has lots of ways to test functionality of the smart contract with local development environments. There is are even “test nets” where the developer can test their code on a real network that mimics the ETH main net without any cost…
This unforgivable laziness or hubris or just pure incompetence is costing people more than $$$, it is reducing the trust in a space where trust is key to utility. If DUMB contacts keep making it on the main net no one will pay their ETH for fear of it getting locked or lost, or ending up in the pocket of some kids random wallet because the coder wrote faulty code that counted wrong.
How do we fix this- WRITE BETTER CODE, TEST YOUR CODE, GET SMART CONTRACTS CHECKED BY A 3RD PARTY FOR VALITITY.
Thanks for the ELI5 for us in the back.
The Crypto world needs more ELI5