Cryptoeconomics.Study

Cryptoeconomics.Study

  • Course
  • Community
  • Contribute
  • Languages iconEnglish
    • 中文

›1.1 Hashes and Signatures

Getting Started

  • Welcome
  • Development Setup
  • Course Overview

Ch1: Payment Processor

    1.0 Chapter Overview

    • Lecture

    1.1 Hashes and Signatures

    • Lecture
    • Code Challenge

    1.2 Payment Processor

    • Lecture
    • Code Challenge

    1.3 Replay Protection

    • Lecture
    • Code Challenge

    1.4 Account Model vs UTXOs

    • Lecture
    • Code Challenge

    1.5 Centralized Systems

    • Lecture
    • Code Challenge

Ch2: Network Models

    2.0 Chapter Overview

    • Lecture

    2.1 Networks and Synchrony

    • Lecture

    2.2 Double Spends

    • Lecture
    • Code Challenge

    2.3 Latency-Based Consensus

    • Lecture
    • Code Challenge

    2.4 Proof of Authority

    • Lecture
    • Code Challenge

Ch3 Proof of Work

    3.0 Chapter Overview

    • Lecture

    3.1 Decentralized Consensus and Blockchains

    • Lecture

    3.2 Bitcoin and Nakamoto Consensus

    • Lecture
    • Code Challenge

    3.3 Merkle Trees

    • Lecture
    • Code Challenge

    3.4 Game Thoery in Bitcoin

    • Lecture
    • Code Challenge

    3.5 Selfish Mining

    • Lecture
    • Code Challenge

More

  • Resources
  • Glossary
Edit

Lecture


Hashing and Signatures

  • A practical guide to two of the most important cryptographic primatives!





Slides

Google Sheets Link


Ch1.1 Overview

Cryptographic Hashes

What is a cryptographic hash?

  • data (preimage) => hash function => unique output (hash)

Preimage Resistance:

  • Given the output of a hash function (hash) you cannot determine the input data to that hash function (preimage)

2nd Preimage Resistance (aka Collision Resistance):

  • A hash cannot have more than 1 preimage - each piece of data produces a unique hash

Random Oracle:

  • A hash has no statistical correlation to the input data that created it (aka it looks like random data)

Cryptographic Signatures

What is a cryptographic signature?

  • A mathematical way to prove that a signer signed something

Public/Private Keys:

  • Public key is like an address/username
  • Private key is like a password/signature

Signature Functions:

  • Allows you to sign stuff with your keys
  • This also allows other people to verify that you did or did not sign something

Verification Functions:

  • If you have a hash you can check that against a message (data), message signature, and public key of the signer to determine if that key signed that message. This is used to prove that X person signed Y document. If someone tries to change the document or the signature, the hash will be completely different.


Recommended Resources

Crptographic Hash Functions

  • SHA256 Hash App - Whatever you type into the box is instantly hashed via the SHA256 algorithm.
  • Wikipedia - Everything you could ever want to know about hash functions.

Cryptographic Signatures

  • Anders Brownworth's blockchain demos - Videos explaining (and showing) hash functions and signatures in more detail.
  • Wikipedia - Everything you could ever want to know about digital (and cryptographic) signatures.


Last updated on 9/3/2019 by burrrata
← LectureCode Challenge →
  • Cryptographic Hashes
  • Cryptographic Signatures
Course
Getting Started
Community
ForumContributors
More
BlogNewsletterGitHub
Copyright © 2019 Cryptoeconomics.Study