Paper/Topic Presentation

During this class you will sign up to present a paper (or topic, which may be a few short papers) to the class. The goal is to learn something on your own and then teach it to the rest of the class.

Everyone in class will at least skim the materials you are expected to present, so you should focus your lesson on the most important, most difficult, or most relevant bits of what you have learned.

Topics List

This is an abbreviated list of topics. Once you are assigned a topic, you will be provided with more information about the resources/references to use.

  1. Smart Contracts: you will explain how we run code in the blockchain. Transactions are not always money transfers, but sometimes "machine" state changes. You will explain (at a reasonbly high level) how various smart contracts work, their limitations and their benefits.

  2. Ethereum Virtual Machine: You will explain at a somewhat detailed technical level how the Ethereum Virtual Machine (EVM) works and how to construct a smart contract in the EVM.

  3. Sybil Attacks: Controlling the majority stake in a consensus-based system is catastrophic. You'll describe general sybil attacks and ways to defeat them.

  4. Proof of X: one consensus-gathering algorithm is the Proof of Work algorithm we covered in class -- there are other "fringe" algorithms like Proof of Activity that all have benefits and drawbacks different than Proof of Work. You will analyze a few of them, compare them and contrast them.

  5. Bitcoin Double-Spend: We briefly covered double-spend attacks in class, but you will go more into depth and describe from two points of view an example "double spend event" that made the news in 2020. You must lead a discussion about whether or not this event was a real problem or not.

  6. Cryptocurrency and Privacy: Can public ledgers still support privacy? You will explain what "privacy" means in a blockchain/public ledger system and present a few points of view and explain the limits of privacy in the blockchain.

  7. Sharding: sharding is an effort to parallelize blockchain transactions. The goal is higher throughput of transactions; does it work? What impact does it have on the complexity of a system? What secondary effects (beyond parallellization) does it have on transactions?

  8. Secondary Effects: blockchain technology requires many computers do do many computations, and it has made impacts on other fields: climate change (energy consumption), gaming cost (gpu demand), etc. You will explore what secondary effects blockchain tech has had on our society and describe what has been made better (and worse) by blockchain.

  9. Non-Fungible Tokens: bitcoins are fungible (interchangable for each other), but there are also NON-fungible tokens out there. You will explain their purpose, benefits, drawbacks, and present some case studies of existing NFT implementations.

  10. Blockchain Storage: You can store data, serve web sites, and more on the blockchain. You will present the InterPlanetary File System (IPFS), ENS, and Unstoppable Domains; they have benefits and drawbacks, and you will present both.

Bidding Process

You will be given an opportunity to "bid" on these topics so you have a little say on what you get to present.. Pretend you have 1000 PAPERCOINS. Allocate the PAPERCOINS to the papers above so that every paper is assigned a "value" between zero and 1000. The total of your allocations must not exceed 1000.

You will submit your allocations to your instructor, who will assign each paper to the student who bids the highest for that paper. The assignment procedure will repeat until each paper is assigned to a student:

Essentially, topics are assigned in order of highest bid to lowest bid except in tied bids, which are ignored until the tie is broken.

If an unbreakable tie occurs, the instructor will assign the tied students at random after all other possible assignments are complete (lower bids are considered).

Minimum Requirements

In order to earn any tokens on this assignment, you must:

  1. Teach a lesson, on the topic you are assigned, using at least the references assigned to you.
  2. Correctly represent the information in your assigned references.
  3. Contribute something new to the class beyond what we have already covered.
  4. Engage with the class for at least 30 minutes on this lesson.

You are welcome to find additional references and resources to help aid in your presentation as long as they are relevant to the topic and references you are assigned. This is above-and-beyond research, and it is not necessary.

Grading

You will earn two presenter tokens if you present correct and complete information to the class as explained in the "Minimum Requirements".

You may earn one presenter token for leading a discussion with the class, engaging us in a debate, topic exploration, or otherwise elicit substantial class participation in your presentation.

You may earn one presenter token for a high level of professionalism, polish, and organization in your presentation.

You may earn one presenter token for relating your assigned topic to other topics in the course and explaining a connection or meaningful relation to what we've done that is not obvious from your assigned references.

You may earn one analyst token if you find errors, flaws, negative effects, or limitations in the resources you are assigned that are not already clearly identified by the authors of those resources.

You may earn one analyst token for presenting a case study or related event that was not directly covered in your assigned references, but is related to your assigned topic.

You may earn one coder token for implementing (in code) a feature or system described by your assigned resources.

Additional tokens may be available at the discretion of your instructor for extrordinary submissions.