Modern web apps have a user interface that sends requests to compute instance running business logic, which then retrieves or updates information housed in a database. With a smart contract application, your business logic and data are stored on a blockchain running on a network of nodes. Your user interface connects to the network to interact with the contracts through a wallet extension on the browser using RPC. Users can authenticate themselves via cryptographic signatures instead of email and password.
When I was building my first decentralized application, there were a lot of things I loved:
Geo-redundancy through the network nodes
Users paid for the compute cost of their interactions
Unlimited free read requests of the contract state
No server maintenance
Shared authentication scheme with other apps (wallet signing)
Simple code deploys
That sounds like a CTO’s dream and is pretty much what I got when I deployed my first smart contract to Ethereum about 6 years ago. I wrote my business logic into a javascript-like language, paid a one time fee to deploy the contract to the blockchain, and then all interactions that updated the state of the contract were paid for by the user. Read requests from the contract state were free to everyone. There were a few things that were not great, though:
Updating code was a pain, if not impossible, depending on your initial code
The cost users paid for transactions was many times higher than it would have cost me to run a server
Contracts were not ideal for complex logic or data storage
High volume applications could clog the whole network
Immutable public code that could be run on home nodes was target practice for hackers
Most of these issues still exist, but data storage via the Graph or IPFS has expanded some of the functionality available to smart contract developers. I believe we are still early, but I also believe that it is ok if smart contracts are not the answer to everything. Smart contracts work very well for DeFi and people seem to love using them for claiming pictures of cartoon monkeys.
Disclaimer
We, Digital Opportunities Group, LLC, are not providing investment or other advice. Nothing that we post on Substack should be construed as personalized investment advice or a recommendation that you buy, sell, or hold any security or other investment or that you pursue any investment style or strategy.
Case studies may be included for informational purposes only and are provided as a general overview of our general investment process. We have compiled our research in good faith and use reasonable efforts to include accurate and up-to-date information. In no event should we be responsible or liable for the correctness of any such research or for any damage or lost opportunities resulting from use of our data.
We are not responsible for the content of any third-party websites and we do not endorse the products, services, or investment recommendations described or offered in third-party social media posts and websites.
Nothing we post on Substack should be construed as, and may not be used in connection with, an offer to sell, or a solicitation of an offer to buy or hold, an interest in any security or investment product.