ethereum - teory and practice
TRANSCRIPT
ETHEREUMTHEORY AND PRACTICE
EDUARDO NUNES PEREIRA
SOFTWARE ENGINEER
HISTORYCRYPTOCOIN
THEORY • HISTORY • CRYPTOCOIN
E-CASH (1980 - 1990)
▸ Conceived by David Chaum as an anonymous cryptographic electronic money or electronic cash system in 1983.
▸ Cryptography
▸ Centralized
THEORY • HISTORY • CRYPTOCOIN
B-MONEY (1998)
▸ Wei Dai is a computer engineer and cypherpunk best known as creator of b-money and the developer of the Crypto++ library.
▸ Creating money through solving computational puzzles
▸ Decentralized consensus
THEORY • HISTORY • CRYPTOCOIN
BITCOIN (2009)
▸ Created by Satoshi Nakomoto.
▸ Public / private key
▸ Distributed consensus
▸ Proof of work (Hashcash)
THEORY • HISTORY • CRYPTOCOIN
ETHEREUM (2015)
▸ Ethereum was initially proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and programmer.
▸ Is a currency, like Bitcoin
▸ Built-in virtual machine and programming language
▸ Alternative protocol for building decentralized apps
▸ Smart contracts
IF AT FIRST AN IDEA DOES NOT SOUND ABSURD, THEN THERE IS NO HOPE FOR ITAlbert Einstein
BLOCKCHAINTHE NEXT INTERNET REVOLUTION
THEORY • THE NEXT REVOLUTION • BLOCKCHAIN
WHAT IS BLOCKCHAIN ?
▸ Simple, is a public and digital ledger or a public database of transactions
▸ Distributed among computers on the internet
▸ Without a central authority
▸ Anyone can participate
BLOCKCHAINA TRANSACTION STEP BY STEP
SMART CONTRACTSDISTRIBUTED COMPUTATION
THEORY • SMART CONTRACTS • HOW IT WORKS
HOW IT WORKS ?
▸ Ethereum Virtual Machine
▸ Global Computer
▸ Gas, “the fuel for the computation”
▸ It has a programming language
THEORY • SMART CONTRACTS • SOLIDITY
SOLIDITY
▸ Compile to Ethereum Virtual Machine
▸ Object oriented programming (OOP)
▸ C-Like and Javascript-Like
▸ Statically typed
▸ The official, but it’s not the only option
THEORY • SMART CONTRACTS • DAPPS
DAPPS (DISTRIBUTED APPLICATIONS)
▸ Frontend to Smart Contracts
▸ Can be deployed anywhere
▸ Use the blockchain as the database
▸ The next generation of apps
THEORY • SMART CONTRACTS • TRUFFLE
TRUFFLE
▸ Uses NodeJS (Javascript)
▸ Compile and deploy Smart Contracts
▸ Unit tests ready
▸ Easy Dapp environment
SMART CONTRACTSTHE FIRST DAPP STEP BY STEP
THE SCIENCE OF TODAY IS THE TECHNOLOGY OF TOMORROWEdward Teller