DeFi Blockchain

JaxNode March 2021

Full Disclosure

  • I am not a Fiduciary
  • Please do not use this as financial advice
  • Don't take financial advice from anyone who bought an airplane
  • I own BlackBerry stock

DeFi topics

  • Money
  • Blockchain
  • Cryptocurrencies
  • Distributed Finance (DeFi)
  • Smart Contracts
  • Solidity
  • Distributed Applications (Dapp)
  • Non-fungible Tokens

What is Money

  • Social Contract for exchanging goods and services
  • Replaced the Barter System
  • Medium of Exchange
  • Measure of Value
  • Paper money replaced coins as Legal Tender
  • Most Paper money is now a Fiat currency

Crypto Currencies

  • Crypto for short
  • Digital money based on blockchain technology and is decentralized and encrypted
  • Can be used for purchasing products and services
  • Also just used as an investment

Paul Krugman

Bolivarian Republic of Venezuela

Inflation rate of 2665% this year

Was 350000% in 2019,

slowed to 2900%

in 2020

Was the richest nation in South America 20 years ago

Largest oil reserves in the world

20% of all US Dollars in circulation were minted in the last year

Legality

  • Russia initially skeptical, now embracing Crypto
  • Most mining in China
  • India has outlawed Bitcoin
  • Venezuela came up with their own (Petro)
  • Janet Yellen Treasury Secretary has concerns
  • Gary Gensler incoming SEC Chairman very pro Crypto currency
  • Gary Gensler taught a course at MIT on Cryptocurrency and Blockchain

What is Blockchain

  • Digital ledger
  • Chain of blocks of data
  • First made popular with Bitcoin
  • Can be used for all kinds of apps besides Cryptocurrencies

Blockchain principles

  • Combine data for a hash
  • Bitcoin uses Sha256 as its hash
  • Data can contain transactions for its data
  • Nonce is used to with the data to compute a hash with leading zeros
  • Blocks are added to one another with the previous hash as part of the data to create blocks

Demo

Cryptocurrencies

  • Bitcoin launched in 2009
  • Litecoin introduced 2011
  • Dogecoin introduced 2013
  • Ethereum launched in 2015
  • Bitcoin and Ethereum the largest
  • Cardano (ADA)
  • 100s of new 'Coins' launched in ICOs since
  • Many have disappeared as well

Bitcoin

  • Invented by Satoshi Nakamoto?
  • No one is sure if he actually exists
  • Started at $0.30, now worth > $50,000
  • Finite number of coins, no inflation
  • Miners earn coins through 'Proof of Work'
  • Bitcoin is based on a linear blockchain
  • Transactions take over 10 minutes¬†

Lite and Dogecoin

  • Meant to be more accessible
  • Also finite number of coins
  • Both use more efficient hash
  • Dogecoin started as a joke

Ethereum

  • Started in 2015 by Vitalik Buterin
  • Started as journalist for Bitcoin Weekly
  • Uses a Merkle tree instead of a linear blockchain
  • Also uses Smart Contracts
  • Introduced the Solidity programming language
  • Ethereum setup as a Non-profit
  • Ethereum network used not just for financial transactions, but for distributed applications

Environmental Impact

  • Bitcoin mining uses the amount of electricity produced by the entire nation of Argentina
  • Miners usually mine where electricity is cheap
  • Below $0.05 kWh
  • JEA costs $0.12334 kWh

PoW vs PoS

  • Proof of Work used for most Blockchains
  • Proof of Stake much more energy efficient
  • Proof of Stake Mining is done by stakeholders
  • Stakeholders are randomly picked to mine blocks
  • Ethereum is moving from PoW to PoS in layer 2
  • It will take a while for Ethereum to transition to PoS

Cardano

  • Cardano (ADA)
  • Uses Proof of Stake
  • Claims to be the most Eco-friendly Crypto
  • Create Smart Contracts with Plutus platform
  • Programmed in Haskell

Algorand

  • Founded by MIT professor Silvio Micali
  • Proof of Stake
  • Permissionless Blockchain
  • Uses Verifiable Random Function
  • Smart Contracts written in version Python

Distributed Finance

  • Banks and others institutions are using or investigating Blockchain technology
  • Allow for financial transaction without the need of banks or fiat currencies
  • First big use of Bitcoin was Silkroad
  • Some currencies offer savings rates as high as 9%
  • Money can be earned through proof of stake and mining
  • Largest mining farms in China and Russia

Smart Contracts

  • Ethereum first to introduce
  • Can create contracts with logic
  • Solidity is a Touring complete language for creating smart contracts
  • Contracts can be used to guarantee that a financial transaction is only used for a certain type
  • They can also be used for distributed applications
  • Processing a transaction on Ethereum or other networks requires 'fuel'¬†
  • Fuel costs on Ethereum's network can be over $10 dollars

Solidity

  • Language for programming the Ethereum Network
  • Use it to create Smart Contracts
  • Touring Complete language
  • Based on JavaScript and C++
  • Supports types and inheritance
pragma solidity >= 0.7.0 <0.8.0;

contract Coin {
    // The keyword "public" makes variables accessible from other contracts
    address public minter;
    mapping (address => uint) public balances;

    // Events allow clients to react to specific
    event Sent (address from, address to, uint amount);

    // Constructor code is only run when the contract
    // is created
    constructor() public {
        minter = msg.sender;
    }

    // Sends an amount of newly created coins to an address
    // Can only be called by the contract creator
    function mint(address receiver, uint amount) public {
        require(msg.sender == minter);
        require(amount < 1e60);
        balances[receiver] += amount;
    }

    // Sends an amount of existing coins
    // from any caller to an address
    function send(address receiver, uint amount) public {
        require(amount <= balances[msg.sender], "Insufficient balance.");
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent (msg.sender, receiver, amount);
    }
}

Solidity Tools

  • Visual Studio Code extension
  • Node.js based compiler
  • Web3 JS Library
  • Truffle for testing
  • Ganache personal blockchain
  • Drizzle React based Redux store
  • Remix is an online Solidity playground

Demo

Dapps

  • Decentralized applications
  • Ethereum Network is used for financial and many other types of applications
  • Games and Social networks can run as Dapps
  • Use fuel or 'Gwei' to pay for transactions
  • Interplanetary Filesystem or (IPFS) is a Dapp
  • Websites can be hosted on IPFS using ipfs://

Binance

  • Binance is a Crypto exchange and network
  • Node.js APIs for monitoring and buying Crypto
  • They have there own network for processing Smart Contracts
  • Based on Ethereum's network
  • It is a centralized network

Demo

Kings of Leon

Non-Fungible Tokens

  • Non-Fungible Tokens (NFTs)
  • Also based on Blockchain
  • Being used for 'Digital Art'
  • Kings of Leon first band to release album as NFT
  • OpenSea.io market place for Digital Art
  • ERC721 specification for Ethereum
  • Mintbase, Cargo or Rarible can be used for creation

Questions?

Links

  • slides.com/davidfekke/defi
  • github.com/Jaxnode-UG/blockchain-demo
  • github.com/Jaxnode-UG/public-private-key-demo
  • github.com/Jaxnode-UG/truffle-event-tests
  • remix.ethereum.org