Blockchain has recently become synonymous with “cryptocurrency,” but its applications are much wider than financial transactions. Though cryptocurrencies constitute the most popular of applications, the business applications are endless. In fact, any industry that makes use of an intermediary to verify transactions could in theory make use of blockchain technology. But how do people know if their industry and/or company stands to gain from adopting the technology?
This course provides you with the tools to discern the applicability of blockchain technology to your business model. You will do this by learning about smart contracts and how you can implement minimal trust applications for almost any task imaginable. You will analyze how smart contracts work, how they’re used today, and how to reason about their capabilities, and what ongoing technical challenges they pose. In the course project, you will come up with your own smart contract application and outline the challenges that might exist in its adoption. Ultimately you will walk away with the ability to answer one important question: Does your business need a blockchain?
Since the advent of the internet, programmers have been trying to figure out how to create a [digital] world in which people anywhere - even complete strangers - can transact directly with one another safely and efficiently. In essence, they have been trying to recreate the bedrock of civilization: an orderly system of bookkeeping that allows people to trust each other's claims about what they own, what they owe, and what they are owed. For most of the digital age, this “trust” has been facilitated by third parties such as banks, governments, or credible companies that are willing to guarantee that a transaction is valid and secure. But transactions via third parties are slow and expensive, and they cannot be verified by just anyone, which opens the door to fraud and theft.
Today, the notion of a secure and trusted third party in a digital world isn't purely mythical. And in fact, it's exactly what blockchain technology embodies in a kind of magical way. In this course, you will explore the mechanics of blockchain technology and how the blockchain acts like a trusted third party. To do this, Professor Ari Juels will design a theoretical cryptocurrency from scratch to illustrate how Bitcoin and other cryptocurrencies make use of the blockchain to transfer value from person to person. Then, once you understand how the blockchain acts as a trusted ledger, you will practice articulating other transformative ways in which blockchains can change how commercial and interpersonal connections happen online.
Cryptography has been around for thousands of years and is at the heart of digital communications today. Most people rely on cryptography on a daily basis without even knowing it; most popular messaging apps use encryption to ensure the security of messaging between two people. Blockchain technology, in a similar way, relies on cryptography to protect the identity of those sending and receiving messages and ensures that all information and transactions are secure and legitimate. Thus, to really understand blockchain technology, you have to understand the core principles of cryptography.
This course will walk you through the basics of cryptography: how information has historically been disguised (encrypted) and revealed (decrypted) using mathematics. You will see how a message can be turned into a number, and how that number can be encrypted and decrypted by two complete strangers. You will practice encrypting your own message to understand the basics of what makes a good encryption scheme. Then, you will delve deeper into the specific type of cryptography used in blockchain technology -- public key cryptography - and the promises and limitations it has in carrying out the core functions of a blockchain. You will create your own theoretical gold exchange in order to more fully understand how you can send anything to anyone around the world without a middleman. Ultimately you will know exactly how information on the blockchain is secured, legitimized, and authenticated without needing a third party to verify it.
Variations of blockchain technology have existed for decades, but the recent hype is the result of a new kind of blockchain, one that distributes the responsibility of verifying transactions and thereby making it more secure, transparent, and enduring. This course will teach you to understand the differences between the blockchain technology of today and the former, less accessible and less transparent blockchains of decades past. You will dig into the mechanics of the [newer] Bitcoin blockchain protocol and how it ensures the longevity of a decentralized public ledger as well as how it gets consensus for approving transactions. With that knowledge you will then work to analyze what problem(s) blockchain technology aims to solve, how it solves them, and how to make sense of the promises that developers of new blockchain protocols make.
You will analyze a sample protocol to determine why the protocol might not satisfy the key properties that make a “good” blockchain secure. You will be better prepared to critically analyze all the endless new cryptocurrencies that emerge and the underlying blockchain technology that they operate on. You will outline several industries and business purposes for which the blockchains of today make sense. You will solve a computational puzzle in Excel to better understand how transactions get verified in the Bitcoin blockchain protocol. In the course project, you will design a theoretical blockchain for a company, outlining advantages and disadvantages of the properties you will think the blockchain should have based on the unique aspects of your business.