CS1951L 2023

@cs1951l-2023

Private team

Joined on Jan 18, 2023

  • :::info Released: Tuesday, April 11th 11:59pm EST Due: Tuesday, April 25th 11:59pm EST ::: Introduction Now that we're familiar with a blockchain's Layer 1 from Coin, it's time that we move on to a Layer 2 scaling solution! In class, you've learned about off-chain payment channels. Lightning is a scaling protocol for Bitcoin, and we've done our best to imitate that here. While we did cover Lightning (very) briefly in class, we strongly recommend that you watch the following 20 min video to better understand what we're asking you to do. Without a strong conceptual understanding, this project will be a toughie. And that would suck :(
     Like  Bookmark
  • :::info Released: Friday April 14, 2023. Due: Friday April 28, 2023 at 11:59PM ET. ::: Introduction Welcome to the Solidity lab! This assignment will help you set up your development environment and get you up to speed with the language you'll use to develop smart contracts for blockchains using the Ethereum Virtual Machine (EVM). You'll also use Solidity for the last course project: Swap! Solidity may look similar to languages you've used before, but there are several quirks and features that make it a bit tricky. If you have any questions about this language, please ask the TA staff on EdStem or your classmates on the Discord!
     Like  Bookmark
  • :::info Released: March 6th, 11:59pm EST Due: March 24th, 11:59pm EST ::: Introduction In Chain, we learned how a cryptocurrency might implement a blockchain for block storage and validation. Now it's time to flesh out the rest of the system! You've heard about nodes, miners, and wallets in class (or will soon). Now's your chance to dive into the details of how these parts come together. This project builds on the blockchain that you implemented for your first project. Don't worry if you didn't pass all of our tests on Chain -- we've provided our solution for the blockchain.
     Like 1 Bookmark
  • :::info Released: May 6nd, 11:59pm EST Due: May 18th, 11:59pm EST ::: :::danger There are NO LATE DAYS allowed for this assignment. You must submit your whitepaper by 11:59pm on May 18th. Anything later than that will receive a 0. ::: Introduction Like other technical domains, cryptocurrencies and blockchains tend to have underlying white papers---documents designed to outline a project's goals, purpose, and underlying technologies (consensus algorithm, structure, etc...). You have two options for how you can complete this assignment, both requiring an understanding of whitepapers as well as their outlined components that you should have learned throughout this course. First, you should read a few famous white papers for reference.
     Like  Bookmark
  • :::info Released: April 27th, 11:59pm EST Due: May 6th, 11:59pm EST ::: Introduction You've now worked across several different aspects of blockchains. First, you implemented a blockchain storage solution in Chain. Then, you added a consensus mechanism in Coin, allowing us to run a fully (mostly?) functioning cryptocurrency. Lastly, you implemented a scaling solution in Lightning. Now, it's time to dip your toes into smart contracts and cross-chain commerce. If you haven't already completed the Solidity lab, do that first. It covers Hardhat installation, which is required for this project.
     Like  Bookmark
  • :::info Released: May 1st, 11:59pm EST Due: May 8th, 11:59pm EST ::: Problem 1 Alice, Bob, and Carol want to exchange assets. Which of the following protocols are atomic swaps? Don't worry about who's getting which asset. You only need to make sure that the swap is correct. We strongly recommend you draw out these graphs. :::info Hashed Time Locks:
     Like  Bookmark
  • :::info Released: March 13th, 11:59pm EST Due: March 19th, 11:59pm EST ::: Problem 1 (12 Points) In 2015, The ERC-20 token standard was created, "allow[ing] developers to build token applications that are interoperable with other products and services" (Ethereum docs, 2021). The main methods of interest in the IERC20 interface are: totalSupply, balanceOf, transfer, allowance, approve, and transferFrom.
     Like  Bookmark
  • :::info Released: February 13th, 11:59pm EST Due: February 19th, 11:59pm EST ::: Instructions Submit your answers to the following problems on Gradescope. Information to help you answer these questions may be found in the lecture slides, recordings, and notes. Problem 1 (10 points) Suppose that Bitcoin's current minting reward is $R$, and that a miner $M$ mines a block with total transaction fees of $F$.
     Like  Bookmark
  • :::info Released: February 6th, 11:59pm EST Due: February 26th, 11:59pm EST ::: Introduction Chain is an example storage system (a blockchain) for a cryptocurrency. Chain is modeled after Bitcoin's storage system, though heavily simplified. The goal of this project is to give you a taste of the many working components of a blockchain. Components Chain consists of several main components. Here's a quick overview:
     Like  Bookmark