Skip to content

Instantly share code, notes, and snippets.

@lingtran
Forked from worace/crypto_sessions.md
Created April 4, 2016 22:18
Show Gist options
  • Save lingtran/814cbae22ef165f29b44e98924d3caf4 to your computer and use it in GitHub Desktop.
Save lingtran/814cbae22ef165f29b44e98924d3caf4 to your computer and use it in GitHub Desktop.

Week of April 4 Crypto Currency After School Sessions

In preparation for the hackathon this week I have been trying to revive our in-house cryptocurrency project, AKA ClarkeCoin

4:15 - 5:15 Each Day

Monday - Technical Fundamentals -- Hashing Algorithms and Public/Private Key Encryption

  • What are the core technical tools that make a blockchain-based system work?
  • What is a hashing algorithm?
  • How does public/private key cryptography work?
  • How can we utilize these tools ourselves through commonly available libraries?

Tuesday - Hashing Algo Applications -- Hash Tables (Maybe also hash-array tries) (Very common tech interview quesion)

  • Before diving into crypotocurrency itself, what are some additional applications of these techniques (HINT: you use them all the time in every programming language!)
  • In this session we'll look at Hash Tables, a very common data structure that leverages Hashing for performance and flexibility
  • we'll also touch on Git, another ubiquitous system which heavily exploits hashing algorithms

Wednesday - Blockchain Basics -- How does Bitcoin work?

  • Now for the meat -- let's talk about how bitcoin and other cryptocurrency systems actually work
  • This session is somewhat involved but as we will see it's largely made up of some clever applications of the techniques we've already been looking at
  • We'll look at bitcoin's transaction and block structures, discuss the basics of how the network operates, and look at a few node interactions from the perspective of both a normal user and a miner

Thursday - ClarkeCoin Intro and Project Discussion

  • Now that we've seen the basic ideas, let's talk about how we approached building our own copy of this system within turing
  • we'll look at where the project stands, the existing documentation and tutorials, and discuss some ways to get involved
  • We'll try to think of a few different projects that could be approached at different levels of difficulty:
    • a command line block browser / explorer
    • a web-based block browser / explorer
    • a js-based (or cljs!) desktop wallet client
    • a non-mining full node
    • a complete full node with mining!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment