Skip to content
Indtroductory course to cryptocurrencies and applications of Blockchain technologies.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
assignments Merge pull request #14 from AliferSales/master Mar 8, 2019
contracts Uodated lecture Oct 2, 2018
docker Few minor typo corrections Jul 2, 2017
lectures Updated lectures Nov 8, 2018
toy-blockchain/toychain update README Jun 20, 2017
Ethereum-White-Paper.pdf adicionei pdfs dos papers do Ethereum Aug 7, 2018
Ethereum_yellow_paper.pdf adicionei pdfs dos papers do Ethereum Aug 7, 2018
LICENSE Initial commit Apr 30, 2017 Uodated lecture Oct 8, 2018

Cryptocurrencies and Blockchain

School of applied Mathematics - FGV

Flávio Codeço Coelho

Introductory course on cryptocurrencies and other applications of blockchain technology. This course is part of the Applied Maths and Data-Science Undergraduate programs of FGV

Video lectures (in portuguese) are available on Youtube, covering part of this course's content.

News and announcements

Online Billboard

date conteúdo
2018-08-02 leitura prévia do white paper para a aula (ver bibliografia)
2018-08-09 leitura prévia do paper Raft


  1. Introdution to Bitcoin and its history; the origin of cryptocurrencies
  2. Using Bitcoin Client
  3. Cryptocurrencies: A global overview of the most important coins and how they work
  4. Interacting with Bitcoin's blockchain from the Python console
  5. Bitcoin's "Proof of Work". From concepts to practice.
  6. Introduction to Cryptographic Hash functions and their use on Blockchains.
  7. Eliptical Curve Cryptography and their use in Bitcoin.
    • RSA as a model of public key cryptography
  8. Alt coins
  9. Proof of stake.
  10. The Ethereum platform and smart contracts.
  11. Ethereum: White e Yellow paper
  12. Understanding Ethereum usage of Merkle Trees
  13. Desenvolvendo Aplicações na plataforma Ethereum
  14. Introduction to the Solidity Language
  15. Developing smart contracts: Open-zeppelin.
  16. Interacting with contracts from Javascript and Python.
  17. Developping Decentralized Apps (Dapps) using Meteor.




Byzantine Fault Tolerant Protocols

Other sources


Blockchains rely on different proving strategies to ensure distributed consensus. We will discuss some of them in this course.

Proofs of work

Proofs of Stake

Proofs of Retrievability

Proof of Burn

  • Slimcoin paper [pdf]


  1. Bruno Cuconato @odanoburu
  2. João Carabetta @JoaoCarabetta
You can’t perform that action at this time.