A Distributed Ledger can be described as a ledger of any transactions or contracts maintained in decentralized form of replicated, shared, and synchronized digital data geographically spread across multiple sites, countries, or institutions, without requiring central authority or centralized data storage. All the information on it is securely and accurately stored using cryptography and can be accessed using keys and cryptographic signatures.
In a distributed ledger, Consensus among the nodes must be reached to validate a transaction. Once the transaction is validated it gets stored in the ledger in an immutable way across the network. Any change or addition made to the ledger is reflected and copied to all participants in a matter of seconds or minutes. While centralized ledgers are prone to cyber-attack, distributed ledgers are inherently harder to attack because all the distributed copies need to be attacked simultaneously for an attack to be successful.
Blockchain is a distributed ledger that constantly grows as new sets of data, or 'blocks', are added to it. Each block contains a timestamp and a link to the previous block, so they actually form a chain. Blockchains can be used for a wide variety of applications, such as tracking ownership or the provenance of documents, digital assets, physical assets or voting rights. Blockchain technology has been popularized by the Bitcoin digital currency system and Ethereum.
This course will cover a wide variety of state-of-the art topics and technologies including: an overview of blockchain concepts, hash functions, public key cryptography, digital signatures, consensus protocols: proof of work and proof of stake, Ethereum, the Ethereum Virtual Machine, the Solidity programming language (an object-oriented, high-level language for implementing smart contracts designed to target the Ethereum Virtual Machine), decentralized applications, smart contracts, tokens, and security considerations of decentralized applications and blockchain systems.
This is an advanced, fast pace course, requiring advance reading of assigned reading and research materials, technology references and seminar style presentation and review of the material in class. Student presentations, research papers and projects will be encouraged. Additionally, there will be numerous guest speakers from academia and industry pioneering in the distributed ledger and blockchain technologies.