My block brother Paul and I have a secret learning technique that we hope you pick up on and try for yourself. Ok, so it is not that much of a secret, but really is one of the best ways to learn something new, DO IT! Blockchain technology is quite complex, even people with domain expertise in one area like cryptography have much to learn in the other domains.
Seriously, just look at this tweet showing a venn diagram of the space:
1/ Blockchains and cryptocurrency sit the intersection of cryptography, distributed systems, economics and politics. pic.twitter.com/B4n83atxyk
— Taylor Pearson (@TaylorPearsonMe) October 27, 2017
Full image credit and source here
So how can you begin to understand the implications this technology may have on your life? If it really is going to change the world in the near future, how can you get your hands on it?
Just as the internal combustion engine enabled cars to become a reality, smart contracts usher in a new type of internet application dApps. Let’s take a high level look at smart contracts, then show you a great place to discover all kinds of dApps.
What is a Smart Contract?
The best way to describe smart contracts is to compare the technology to a vending machine. Ordinarily, you would go to a lawyer or a notary, pay them, and wait while you get the document. With smart contracts, you simply drop a bitcoin into the vending machine (i.e. ledger), and your escrow, driver’s license, or whatever drops into your account. More so, smart contracts not only define the rules and penalties around an agreement in the same way that a traditional contract does, but also automatically enforce those obligations.
Smart contracts are the new piece of the programming puzzle that let developers build new applications that are distributed across many computers, and don’t rely on one organization or person for them to continue to function.
The Beginnings of a Revolution
Stepping back from blockchain technology, let’s think about another revolutionary technology that sheds some light on the possibilities Guttenberg’s printing press. It took the existing technology of books, and made them cheaper, more accessible. Most importantly, it gave authors power never before experienced. Now their ideas could spread with less cost farther, and faster.
Could smart contracts be as revolutionary as the printing press was? My gut tells me the effect they have on society will surpass the effect printing had… but keep in mind I tend to get REALLY EXCITED with technology, so keep my exuberant tech bias in mind.
Just as the books themselves were not the actual change agents, it was the authors ability to communicate knowledge, others to take that knowledge and apply it, the benefits of smart contracts are further downstream. Right now, they can be challenging to write without having huge security issues. Another downside to writing smart contracts is:
Get it right once or get it wrong forever.
Another phrase to describe blockchains are immutable ledgers. So the code published ‘on-chain’ is now locked there forever (or as long as that blockchain is around).
Why on earth are smart contracts a good idea then? If you read one of the other articles I recently wrote, you might have bought into the idea that the internet is broken. Smart Contracts don’t inherently fix anything, but they are an interesting tool that can provide transparency and autonomy to the ideas software engineers come up with. Smart contracts can do more complex things than just send and receive transactions. When developers write a front end for users to interact with their smart contracts, these contracts form the basis for decentralized applications, or dApps.
Imagine a Facebook that did not require a company to run the software? Not only would the code be transparent (I could see how my news feed was generated), but I would no longer be the product Facebook sold to advertisers. Users might choose to allow advertising in order to pay for the computers running this software, or some might opt out of ads and pay out of pocket, or other ingenious schemes for running social network software.
Still not quite sure how all this works? That’s ok! You should probably just go use some of these dApps to get a better understanding of what I am saying anyways!
Try Out a dApp
I know I have linked to this dApp Store before, but I just love it so much I had to do it again.
The dApp store is a fantastic list of many distributed apps in existence. Just reading through the types of apps that are already on the blockchain will give you a sense of where the technology is currently at, and what might be possible in the near future.