SlideShare a Scribd company logo
1 of 37
Download to read offline
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart
Contracts
The Blockchain Beyond Bitcoin
Jim McKeeth
jim@mckeeth.org
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Summary
A smart contract is a program that runs on the blockchain. This session is a technical look
at the blockchain and smart contracts from a programmer's perspective. We will start with
the basics of the blockchain and work our way up through the EVM and smart contract
standards. Then we will discuss alternative blockchains and the options they provide.
While smart contracts are the basis of
NFTs and Distributed Finance (DiFi),
this session's focus is on technology
and will explore many potential uses,
including an introduction to Solidity
and other smart contract programming
languages.
Presented at the
Boise Software Developers Group
on September 12th, 2023
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
▪ Long time software developer
▪ Delphi, C/C++, Java, JavaScript, Ruby, Python, Perl, Objective-C, etc.
▪ Invented and patented pattern and swipe to unlock
▪ e.g. US Patents # 8352745, 6766456
▪ Built thought controlled drone with Google Glass and
wireless EEG headset
▪ Contributor to Internet of Things and Data Analytics
Handbook
▪ Previously worked for Embarcadero (Delphi) and EOS
Network Foundation (Web3)
▪ Developer Advocate, blogger, podcaster, and webinar
host
About Jim McKeeth
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Disclaimer
▪ This is NOT investment advice
▪ I own a trivial amount of Ethereum and other tokens
▪ While I find the technology very exciting,
there is a lot of hype, and “scams”
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Source: gartner.com/smarterwithgartner/3-themes-surface-
in-the-2021-hype-cycle-for-emerging-technologies
▪ NFTs were at the Peak of Inflated
Expectations in 2021 with gartner
estimating they were 2 to 5 years
before plateau.
▪ Christie auction house announced
two major firsts:
▪ It will accept cryptocurrency
▪ It will offer for sale an NFT
backed purely digital work
▪ As of July, 2021, NFTs had a
market valuation >$300 million
USD
Expectations
Time
Hype Cycle for Emerging Technologies
Innovation
Trigger
Peak of
Inflated
Expectations
Trough of
Disillusionment
Slope of
Enlightenment
Plateau of
Productivity
Plateau will be reached:
↗️ < 2 years 2️⃣ 2 to 5 years 5️⃣ 5 to 10 years ↘️ > 10 years
2️⃣ Non Fungible Tokens (NFT) [2021]
Decentralized Finance
(DeFi) [2021] 5️⃣
Decentralized Autonomous
Organizations (DAO) [2019] 5️⃣
2️⃣ Blockchain [2018]
5️⃣ Blockchain for Data
Security [2018]
Blockchain [2016] 5️⃣
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Agenda
▪ Cryptography Basics
▪ Cryptocurrency Overview
▪ Blockchain Overview
▪ Ethereum
▪ Mining: Proof of Work vs Proof of Stake
▪ Smart Contracts
▪ NFTs
▪ Future of Blockchain
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Definitions
▪ Web3 - The idea of a decentralized Internet based on public blockchains
▪ FinTech - Financial Technology
▪ DeFi - Decentralized Finance - FinTech on Web3/Blockchain
▪ Fiat Money - Money not backed by a commodity. Issued by government or central
bank.
▪ Fungible - Mutually interchangeable by another identical item
▪ Token/Coin - A “unit” of cryptocurrency that has an owner on the blockchain
▪ NFT - Non Fungible Token - A unit on the blockchain that is unique
▪ Smart Contract - A contract that is defined on the blockchain and immutable
▪ DAO (Decentralized Autonomous Organizations) - An organization whose rules are
defined via Smart Contract making it transparent and independent
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
What are Cryptocurrencies?
▪ The idea predates Bitcoin as “electronic cash”
▪ An alternative, virtual, electronic currency
▪ Previous attempts used “smart cards” to hold
value
▪ Uses cryptography as means to protect value
(thus the “crypto” in the name)
▪ Bitcoin was the first successful decentralized
cryptocurrency, meaning there is no central
authority
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Commodity
Money
Cash
Central Bank
Issued
Cryptocurrency
(retail)
Wholesale
Cryptocurrency
Other Local
Currency
Central Bank
Issued
Cryptocurrency
(Wholesale)
Central bank
reserves
Central Bank
Digital
Currency
Virtual
Currency
Bank
Deposits
Universally
Accessible
Electronic
Central
Bank-issued
Peer-to-Peer
The Money Flower
Adapted from Bank for International
Settlements publication of Central
Bank Cryptocurrencies by Morten
Linnemann Bech and Rodney Garratt
17 September 2017
www.bis.org/publ/qtrpdf/r_qt1709f.htm
A Taxonomy
of Money
Crypto-
currency
e.g. Gold
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Encryption Basics
▪ Public key encryption is asymmetrical
▪ Everyone knows the public key used for encryption
▪ Only the receiver knows the private key used for decryption
▪ Blockchain doesn’t use encryption, just signatures
▪ A cryptographic hash is a fixed size thumbprint that
uniquely identifies an arbitrary input (one way)
▪ Example: SHA-256 is a 256-bit thumbprint
▪ The algorithm is designed to prevent collisions: two different
inputs producing the same output
▪ Digital signature is generated with the private key and
validated with the public key
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
How Big is 256 bits?
▪ Number of values = 2256 = 1.158 x 1077 = 1 followed by 77 zeros
▪ The odds of collision for two different inputs is 1 in 1077
▪ For comparison, that is about halfway between the number of atoms on
earth (≈1050) and the years left before the heat death of universe
(≈10100)
x 1050 =
(or aprox. 167 bits)
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
What is ?
▪ Designed by pseudonymous Satoshi Nakamoto
▪ Originally described in 2008 paper “Bitcoin: A
Peer-to-Peer Electronic Cash System”
▪ Original white paper bitcoin.org/bitcoin.pdf
▪ Distributed Miners maintain the blockchain
transaction ledger with proof of work timestamps
▪ A block completes every 10 minutes, generating
6.25 BTC for generator (payout changes over time)
▪ Transactions are in satoshi = 0.00000001 BTC
▪ 16 satoshi = 1 US cent (Nov 2021)
▪ An individual uses a wallet to access their BTC
▪ The digital credentials to transfer bitcoins
bitcoin.org
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Understanding Crypto
▪ A physical dollar bill has a serial number, and is always worth
it’s value. You can’t divide it up.
▪ A ledger, bank account, or deposit is a digital representation
of an amount of money, including fractions of a dollar.
▪ Bitcoin is a way to track value, not a collection of individual
bitcoins.
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Understanding Wallets
▪ A wallet is a asymmetric cryptographic key
▪ Public key is the wallet address
▪ Private key is the part you keep secret & safe
▪ Two types: Hot (online) vs Cold (offline)
▪ Hot wallet’s are more convenient, but can be compromised
▪ Very popular hot wallet: metamask.io
▪ Cold wallet is less convenient, but more secure
▪ Like an encrypted USB drive
▪ Exchanges also offer hot wallets, but then they control the secret key
and are even more risky
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Ethereum
▪ An open-source, public, blockchain-based distributed
computing platform featuring smart contracts
▪ A smart contract is a program that executes on the
Ethereum Virtual Machine (EVM)
[a decentralized Turing-complete virtual machine on the blockchain]
▪ Most Smart Contracts are written in Solidity, an OOP
language (Viper & Yul are other languages)
▪ Ether is a cryptocurrency whose blockchain is
generated by the Ethereum platform
▪ "Gas," an internal transaction pricing mechanism, is
used to mitigate spam and allocate resources on the
network. It is paid for with Ether
ethereum.org
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Other EVM Compatible Blockchains
▪ Binance Smart Chain
▪ Fantom
▪ Polygon
▪ Avalanche
▪ Cardano
▪ Tron
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
So What is the Blockchain?
▪ When there is no central ledger, how to do you know which ledger is true?
▪ Without consensus for the ledger there is no way to prevent someone from
repeating a transaction multiple times (aka double spending)
▪ Blockchain solves this as each block contains the hash of previous block
▪ Once a new block is added to the chain it validates all previous blocks
▪ Kind of like a singly linked list that uses hashes instead of pointers
▪ The more blocks after a transaction, the more secure
▪ The first block is called the genesis block
▪ In case of disagreement, consensus is based on the longest chain
▪ If majority of the nodes aren’t colluding, the whole network is secure
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Simple Blockchain Example
Idx Data Timestamp Hash
0 This is the data stored on the blockchain 20210120T005509Z Genesis block
1 Here is some more data. 20210120T125509Z 6948 F840 1E13 4EAB 508E 2FB1 CB54 8C35 3CB4 AAE2 3B1A A0D3 66C5 335C 5AEA 8B1E
2 This could be a hash of other data 20210121T005509Z 7253 4287 903B FFB0 85DF 0EC5 0D63 9640 72F6 26A5 5343 1F01 F12E 7A14 1E64 3F75
3 If the data is a hash, then it keeps it secret. 20210121T125509Z 8F76 E681 2F24 00E5 FBF0 48FC A16C CBE6 0FDB 9387 77A9 5BFB 1501 B180 546E 7F51
4 Change a block and all future blocks are invalid 20210122T005509Z 66F3 34C6 5129 164A 3661 055F 10BB A1CC 0FAF 4228 579D 15CF C5E7 45ED F4BB 5F11
5 Once a new block is added . . . 20210122T125509Z 4D63 2816 7361 96A9 F66C CC23 ABF5 A635 51F9 E627 C6FA 965E 8DE5 0AF0 95FD F48B
6 then the previous block cannot be changed . . . 20210123T005509Z 296C DD47 43DF 453E 0910 9099 131E B27F 33FF ACC3 2998 B5A9 1FB1 0402 9270 1F67
7 without changing the next block. 20210123T125509Z 1B3F AF1C BDE9 DD3A A493 CD8D 6262 EEE6 0C81 0E69 6086 51BB 8078 FA09 BC69 EDC5
8 Even the slightest change . . . 20210124T005509Z F3ED FD45 7D46 587C 7D1C 0CEB 8F32 D1B8 2CFB 7D55 14CC A68C C489 581B 7095 E0BE
9 triggers a whole different hash. 20210124T125509Z A2EE 401C 0D1C 6881 29E6 EC82 47E4 3921 16D5 CF35 D827 AB3A C08D 5056 95FF 1C7F
10 The last block validates the whole chain 20210125T005509Z 9F9D 97D3 64B9 692B 1934 19A9 7137 C377 75D2 73AF C028 6BDD B7CA BE35 C438 23AA
669C 2798 0331 6C75 E892 9993 4099 73E2 24FA 9802 22B3 52C6 9893 EFE7 EB76 E68D
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Blockchain Demo
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
What is Mining? (Proof of Work)
▪ Mining is the process of finding a nonce (number used once
- unique number) that generates a SHA-256 hash meeting
the current difficulty target
▪ The difficulty target is the number of leading zeros
▪ Every 2,016 blocks (~14 days at ~10 min/block), the difficulty
target is adjusted based on the network's recent
performance
▪ Bitcoins exist as a result of the transaction on the ledger
▪ This effort and power requirement to compute a block,
and the blockchain is what secures the ledger
▪ Other proofs include Proof of Authority, Proof of Stake,
and Proof of Space
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Mining Demo
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Proof of Stake
▪ Powered by a smart contract
▪ Only works on established network with existing coin
▪ Proof of work is needed to “seed” the network, then
Proof of Stake is the more sustainable evolution
▪ Anyone can stake 32+ Ether coin
▪ Volunteer validate transactions and blocks
▪ Rewarded with Ether for valid blocks
▪ Larger stake = greater reward & more vote
▪ Fraudulent blocks penalize stake
▪ Vulnerable to 51% attack (same as Proof of Work)
▪ No longer uses high amounts of energy and hardware
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart Contracts
▪ A smart contract is a program that takes place on a blockchain
▪ You can think of a smart contract as a microservice that runs trustless on
the backend of your application
▪ Smart contracts have many applications, ranging from sports betting to
online voting
▪ The true power of smart contracts is in managing assets that have value
and are scarce (NFTs)
▪ Once added to the blockchain, a smart contract becomes public and
cannot be modified or removed
▪ This assures users that the rules are transparent and will never change
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart Contract ≈ Microservice
▪ Like a microservice that exists on a cloud platform and is activated when called
▪ For a smart contract you pay a fee to deploy it, and then the callers pay the cost of
calling it
▪ Instead of paying a monthly hosting fee, it is part of the blockchain, and the program
runs as needed during block validation
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Why are Smart Contracts Cool?
▪ No “terms subject to change”
▪ No “forum” or “venue selection clauses”
▪ No “confidentiality provisions”
▪ No arbitration or mediation clauses
▪ Can be more concise than traditional contracts
▪ Mathematically provable
▪ As a programmer you have the advantage:
You don’t need a lawyer to translate!
▪ These can all be negatives too….
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Solidity
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 declared contract changes
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);
}
}
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart Contract Stack
▪ Web based IDE: remix.ethereum.org
▪ Solidity for VS Code by Juan Blanco
▪ Q&A ethereum.stackexchange.com
▪ Solidity Language: soliditylang.org
▪ Testnets: ethereum.org/en/developers/docs/networks/
▪ sepolia.dev / goerli.net / arbitrum.io
▪ Each with it’s own faucet
▪ Wallet: metamask.io
▪ Local Ethereum environment: hardhat.org
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart Contracts Demo
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Other Smart Contract Languages
▪ Vyper – 2nd most popular for EVM-compatible blockchains. Contract-oriented, pythonic
programming language with strong typing, small compiler code, and efficient bytecode
▪ Yul is an intermediate language for Ethereum that supports the EVM
▪ Cairo is a Turing-complete smart contract programming language built for creating
STARK-provable programs for general computation
▪ Rust is a popular smart contract programming language for many non-EVM-
compatible blockchains such as Polkadot and Solana
▪ Move is a Rust-based smart contract programming language originally developed for
Meta’s Diem blockchain
▪ C++ used by EOS and Antelope based blockchains – compiles to web assembly
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Ethereum Virtual Machine
▪ Opcodes www.evm.codes
▪ EVM Architecture
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Shard Chains & Layer 2
▪ Sharding is a multi-phase upgrade to improve Ethereum’s
scalability and capacity planned for ~2022
▪ Sharding is the process of splitting the blockchain horizontally to
spread the load
▪ Will reduce network congestion and increase transactions per
second by creating new chains, known as “shards”
▪ Shard chains spread the network's load across 64 new chains
▪ They make it easier to run a node by keeping hardware
requirements low
▪ ethereum.org/en/eth2/shard-chains/
▪ ethereum.org/en/developers/docs/scaling/layer-2-rollups/
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Non-Fungible Tokens (NFTs)
▪ An NFT is a unique blockchain-based digital asset
▪ Links to meta-data defining real-world assets like
digital art, music, subscriptions, or tokenized physical
assets like houses or cars, etc.
▪ NFT verifies provenance, ownership and access
▪ Ethereum is most popular blockchain for NFT
▪ Ownership rights vary by NFT
▪ Uses immutable public blockchains - usually
Ethereum
▪ Based on Smart Contracts, defined by ERC-721
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Understanding Fungibility
▪ The value of a coin is fungible (Interchangeable)
▪ Any quarter has a face value of 25¢
▪ But an individual physical coin is non-fungible (unique)
▪ Especially an older coin may have collectable value
▪ Based on material, history, condition, etc.
▪ Or a certain coin may have sentimental value to the owner
▪ Tied to a memory, source, origin, etc.
▪ NFTs attempt to digitally capture the idea of owning a unique
digital asset
25¢
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Token Standards (Ethereum Improvement Proposals)
▪ ERC-20 – A standard interface for fungible (interchangeable) tokens, like voting
tokens, staking tokens or virtual currencies.
▪ ERC-721 – A standard interface for non-fungible tokens, like a deed for artwork or a
song.
▪ ERC-777 – Allows people to build extra functionality on top of tokens such as a mixer
contract for improved transaction privacy or an emergency recover function to bail you
out if you lose your private keys.
▪ ERC-1155 – Allows for more efficient trades and bundling of transactions – thus saving
costs. This token standard allows for creating both utility tokens (such as $BNB or
$BAT) and Non-Fungible Tokens like CryptoPunks.
▪ ERC-4626 – A tokenized vault standard designed to optimize and unify the technical
parameters of yield-bearing vaults.
▪ Full list: eips.ethereum.org/erc
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
▪ Created in 2015 by Juan Benet of Protocol Labs [ protocol.ai - ipfs.io ]
▪ An open-source protocol and peer-to-peer network for storing and sharing data in a
distributed and decentralized file system
▪ Uses content-addressing to uniquely identify each file in a global namespace
connecting all computing devices
▪ Inspired by or evolved from BitTorrent
▪ Any user in the network can serve a file by its content address
▪ Peers in the network find and request content using a distributed hash table (DHT)
▪ Frequently used to store NFT related files
▪ FileCoin rewards uses for persisting content [ filecoin.io ]
▪ Supported by Cloudflare, Brave Browser, and others
InterPlanetary File System (IPFS)
Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
Just the Tip of the Blockchain Iceberg
▪ Blockchain is an emerging technology
▪ Everyone is focused on the Bitcoin gold rush
▪ Blockchain may have the bigger/longer impact
▪ Ethereum is a more evolved platform
▪ Shard, Layer2, & Proof of Stake and other changes
improved sustainability
▪ Smart Contracts are the foundation of Ethereum’s
platform
▪ NFT is at the peak of inflated expectations today
▪ This is a rapidly evolving family of technologies

More Related Content

What's hot

Blockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesBlockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesNabi Hasan
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshellDaniel Chan
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Edureka!
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology FundamentalsExperfy
 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensusITU
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and PrivacyAnil John
 
What Is Bitcoin And How Does It Work?
What Is Bitcoin And How Does It Work?What Is Bitcoin And How Does It Work?
What Is Bitcoin And How Does It Work?101 Blockchains
 
Blockchain technology ppt
Blockchain technology pptBlockchain technology ppt
Blockchain technology pptasrithak
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashirImran Bashir
 
Blockchain and distributed ledgers
Blockchain and distributed ledgersBlockchain and distributed ledgers
Blockchain and distributed ledgersRobin Teigland
 
Overview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsOverview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsJohannes Ahlmann
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to BlockchainJordan Harris
 
Blockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation SlidesBlockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation SlidesSlideTeam
 
Bitcoin, Cryptocurrency, & Blockchain Presentation
Bitcoin, Cryptocurrency, & Blockchain PresentationBitcoin, Cryptocurrency, & Blockchain Presentation
Bitcoin, Cryptocurrency, & Blockchain PresentationMaxWheelock
 

What's hot (20)

An Introduction to Blockchain
An Introduction to BlockchainAn Introduction to Blockchain
An Introduction to Blockchain
 
Blockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in LibrariesBlockchain Technology and Its Application in Libraries
Blockchain Technology and Its Application in Libraries
 
Ethereum in a nutshell
Ethereum in a nutshellEthereum in a nutshell
Ethereum in a nutshell
 
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
Blockchain Explained | Blockchain Simplified | Blockchain Technology | Blockc...
 
Blockchain Technology Fundamentals
Blockchain Technology FundamentalsBlockchain Technology Fundamentals
Blockchain Technology Fundamentals
 
Blockchain
BlockchainBlockchain
Blockchain
 
Blockchain, cryptography, and consensus
Blockchain, cryptography, and consensusBlockchain, cryptography, and consensus
Blockchain, cryptography, and consensus
 
Blockchain Security and Privacy
Blockchain Security and PrivacyBlockchain Security and Privacy
Blockchain Security and Privacy
 
All about Bitcoins!
All about Bitcoins!All about Bitcoins!
All about Bitcoins!
 
Blockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for DummiesBlockchain and Cryptocurrency for Dummies
Blockchain and Cryptocurrency for Dummies
 
What Is Bitcoin And How Does It Work?
What Is Bitcoin And How Does It Work?What Is Bitcoin And How Does It Work?
What Is Bitcoin And How Does It Work?
 
Blockchain technology ppt
Blockchain technology pptBlockchain technology ppt
Blockchain technology ppt
 
Blockchain 101 by imran bashir
Blockchain 101  by imran bashirBlockchain 101  by imran bashir
Blockchain 101 by imran bashir
 
Blockchain and distributed ledgers
Blockchain and distributed ledgersBlockchain and distributed ledgers
Blockchain and distributed ledgers
 
Overview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus MechanismsOverview of Blockchain Consensus Mechanisms
Overview of Blockchain Consensus Mechanisms
 
Introduction to Blockchain
Introduction to BlockchainIntroduction to Blockchain
Introduction to Blockchain
 
What is Block chain
What is Block chain What is Block chain
What is Block chain
 
Blockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation SlidesBlockchain PowerPoint Presentation Slides
Blockchain PowerPoint Presentation Slides
 
Bitcoin, Cryptocurrency, & Blockchain Presentation
Bitcoin, Cryptocurrency, & Blockchain PresentationBitcoin, Cryptocurrency, & Blockchain Presentation
Bitcoin, Cryptocurrency, & Blockchain Presentation
 
Blockchain
BlockchainBlockchain
Blockchain
 

Similar to Smart Contracts - The Blockchain Beyond Bitcoin

Blockchain, bitcoin, ethereum and ICOs
Blockchain, bitcoin, ethereum and ICOsBlockchain, bitcoin, ethereum and ICOs
Blockchain, bitcoin, ethereum and ICOsBogdan Fiedur
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & EthereumBlockchainHub Graz
 
2019 blockchain economy
2019 blockchain economy2019 blockchain economy
2019 blockchain economyHeung-No Lee
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and BitcoinHugo Rodrigues
 
Blockchain an introduction_n_li
Blockchain an introduction_n_liBlockchain an introduction_n_li
Blockchain an introduction_n_linikinew1
 
Paradigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked ComputingParadigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked Computingkumar641
 
Blockchain technology Overview
Blockchain technology OverviewBlockchain technology Overview
Blockchain technology OverviewLalitha Prasanna
 
OVERVIEW ON CRYPTOCURRENCY
OVERVIEW ON CRYPTOCURRENCYOVERVIEW ON CRYPTOCURRENCY
OVERVIEW ON CRYPTOCURRENCYdrrammohan
 
Blockchain & crypto
Blockchain & cryptoBlockchain & crypto
Blockchain & cryptoAtul Mangat
 
Intro to Blockchain Slides
Intro to Blockchain SlidesIntro to Blockchain Slides
Intro to Blockchain SlidesShannon Wells
 
The Greatest Invention Since Electricity
The Greatest Invention Since ElectricityThe Greatest Invention Since Electricity
The Greatest Invention Since ElectricityMeg Montgomery
 

Similar to Smart Contracts - The Blockchain Beyond Bitcoin (20)

Blockchain External.pdf
Blockchain External.pdfBlockchain External.pdf
Blockchain External.pdf
 
Blockchain.pptx
Blockchain.pptxBlockchain.pptx
Blockchain.pptx
 
Blockchain, bitcoin, ethereum and ICOs
Blockchain, bitcoin, ethereum and ICOsBlockchain, bitcoin, ethereum and ICOs
Blockchain, bitcoin, ethereum and ICOs
 
BCHGraz - Meetup #8 - Intro & Ethereum
 BCHGraz - Meetup #8 - Intro & Ethereum BCHGraz - Meetup #8 - Intro & Ethereum
BCHGraz - Meetup #8 - Intro & Ethereum
 
2019 blockchain economy
2019 blockchain economy2019 blockchain economy
2019 blockchain economy
 
Blockchain and Bitcoin
Blockchain and BitcoinBlockchain and Bitcoin
Blockchain and Bitcoin
 
Meetup #15 - 2023-08-10
Meetup #15 - 2023-08-10Meetup #15 - 2023-08-10
Meetup #15 - 2023-08-10
 
Blockchain an introduction_n_li
Blockchain an introduction_n_liBlockchain an introduction_n_li
Blockchain an introduction_n_li
 
An Introduction to Blockchains
An Introduction to BlockchainsAn Introduction to Blockchains
An Introduction to Blockchains
 
Paradigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked ComputingParadigm shift: from the bitcoin Blockchain to Networked Computing
Paradigm shift: from the bitcoin Blockchain to Networked Computing
 
Blockchain technology Overview
Blockchain technology OverviewBlockchain technology Overview
Blockchain technology Overview
 
OVERVIEW ON CRYPTOCURRENCY
OVERVIEW ON CRYPTOCURRENCYOVERVIEW ON CRYPTOCURRENCY
OVERVIEW ON CRYPTOCURRENCY
 
Blockchain & crypto
Blockchain & cryptoBlockchain & crypto
Blockchain & crypto
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
Cryptocurrency
CryptocurrencyCryptocurrency
Cryptocurrency
 
Intro to Blockchain Slides
Intro to Blockchain SlidesIntro to Blockchain Slides
Intro to Blockchain Slides
 
Let’s Talk Crypto
Let’s Talk CryptoLet’s Talk Crypto
Let’s Talk Crypto
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
The Greatest Invention Since Electricity
The Greatest Invention Since ElectricityThe Greatest Invention Since Electricity
The Greatest Invention Since Electricity
 
Btcp whitepaper
Btcp whitepaperBtcp whitepaper
Btcp whitepaper
 

More from Jim McKeeth

Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareJim McKeeth
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveJim McKeeth
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileJim McKeeth
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill SprintJim McKeeth
 
Creating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleCreating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleJim McKeeth
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled DroneJim McKeeth
 
Deep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryDeep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryJim McKeeth
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected DevelopmentJim McKeeth
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTJim McKeeth
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Jim McKeeth
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprintJim McKeeth
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer InterfaceJim McKeeth
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with JavaJim McKeeth
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Jim McKeeth
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badgeJim McKeeth
 

More from Jim McKeeth (15)

Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open HardwareRapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
Rapid Prototyping Mobile IoT Projects with Arduino and Open Hardware
 
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep DiveDay 3 of C++ Boot Camp - C++11 Language Deep Dive
Day 3 of C++ Boot Camp - C++11 Language Deep Dive
 
Day 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to MobileDay 5 of C++ Boot Camp - Stepping Up to Mobile
Day 5 of C++ Boot Camp - Stepping Up to Mobile
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Creating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 SeattleCreating Android Services with Delphi and RAD Studio 10 Seattle
Creating Android Services with Delphi and RAD Studio 10 Seattle
 
Building a Thought Controlled Drone
Building a Thought Controlled DroneBuilding a Thought Controlled Drone
Building a Thought Controlled Drone
 
Deep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming LibraryDeep Dive into Futures and the Parallel Programming Library
Deep Dive into Futures and the Parallel Programming Library
 
Embarcadero's Connected Development
Embarcadero's Connected DevelopmentEmbarcadero's Connected Development
Embarcadero's Connected Development
 
The Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoTThe Internet of Things and You - A Developers Guide to IoT
The Internet of Things and You - A Developers Guide to IoT
 
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
Accessing REST & Backend as a Service (BaaS) - Developer Direct - Mobile Summ...
 
Android voice skill sprint
Android voice skill sprintAndroid voice skill sprint
Android voice skill sprint
 
Exploring the Brain Computer Interface
Exploring the Brain Computer InterfaceExploring the Brain Computer Interface
Exploring the Brain Computer Interface
 
Introduction to Android Development with Java
Introduction to Android Development with JavaIntroduction to Android Development with Java
Introduction to Android Development with Java
 
Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!Hacking iBooks and ePub3 with JavaScript!
Hacking iBooks and ePub3 with JavaScript!
 
Inventing merit badge
Inventing merit badgeInventing merit badge
Inventing merit badge
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Smart Contracts - The Blockchain Beyond Bitcoin

  • 1. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Smart Contracts The Blockchain Beyond Bitcoin Jim McKeeth jim@mckeeth.org
  • 2. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Summary A smart contract is a program that runs on the blockchain. This session is a technical look at the blockchain and smart contracts from a programmer's perspective. We will start with the basics of the blockchain and work our way up through the EVM and smart contract standards. Then we will discuss alternative blockchains and the options they provide. While smart contracts are the basis of NFTs and Distributed Finance (DiFi), this session's focus is on technology and will explore many potential uses, including an introduction to Solidity and other smart contract programming languages. Presented at the Boise Software Developers Group on September 12th, 2023
  • 3. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth ▪ Long time software developer ▪ Delphi, C/C++, Java, JavaScript, Ruby, Python, Perl, Objective-C, etc. ▪ Invented and patented pattern and swipe to unlock ▪ e.g. US Patents # 8352745, 6766456 ▪ Built thought controlled drone with Google Glass and wireless EEG headset ▪ Contributor to Internet of Things and Data Analytics Handbook ▪ Previously worked for Embarcadero (Delphi) and EOS Network Foundation (Web3) ▪ Developer Advocate, blogger, podcaster, and webinar host About Jim McKeeth
  • 4. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Disclaimer ▪ This is NOT investment advice ▪ I own a trivial amount of Ethereum and other tokens ▪ While I find the technology very exciting, there is a lot of hype, and “scams”
  • 5. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Source: gartner.com/smarterwithgartner/3-themes-surface- in-the-2021-hype-cycle-for-emerging-technologies ▪ NFTs were at the Peak of Inflated Expectations in 2021 with gartner estimating they were 2 to 5 years before plateau. ▪ Christie auction house announced two major firsts: ▪ It will accept cryptocurrency ▪ It will offer for sale an NFT backed purely digital work ▪ As of July, 2021, NFTs had a market valuation >$300 million USD Expectations Time Hype Cycle for Emerging Technologies Innovation Trigger Peak of Inflated Expectations Trough of Disillusionment Slope of Enlightenment Plateau of Productivity Plateau will be reached: ↗️ < 2 years 2️⃣ 2 to 5 years 5️⃣ 5 to 10 years ↘️ > 10 years 2️⃣ Non Fungible Tokens (NFT) [2021] Decentralized Finance (DeFi) [2021] 5️⃣ Decentralized Autonomous Organizations (DAO) [2019] 5️⃣ 2️⃣ Blockchain [2018] 5️⃣ Blockchain for Data Security [2018] Blockchain [2016] 5️⃣
  • 6. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Agenda ▪ Cryptography Basics ▪ Cryptocurrency Overview ▪ Blockchain Overview ▪ Ethereum ▪ Mining: Proof of Work vs Proof of Stake ▪ Smart Contracts ▪ NFTs ▪ Future of Blockchain
  • 7. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Definitions ▪ Web3 - The idea of a decentralized Internet based on public blockchains ▪ FinTech - Financial Technology ▪ DeFi - Decentralized Finance - FinTech on Web3/Blockchain ▪ Fiat Money - Money not backed by a commodity. Issued by government or central bank. ▪ Fungible - Mutually interchangeable by another identical item ▪ Token/Coin - A “unit” of cryptocurrency that has an owner on the blockchain ▪ NFT - Non Fungible Token - A unit on the blockchain that is unique ▪ Smart Contract - A contract that is defined on the blockchain and immutable ▪ DAO (Decentralized Autonomous Organizations) - An organization whose rules are defined via Smart Contract making it transparent and independent
  • 8. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth What are Cryptocurrencies? ▪ The idea predates Bitcoin as “electronic cash” ▪ An alternative, virtual, electronic currency ▪ Previous attempts used “smart cards” to hold value ▪ Uses cryptography as means to protect value (thus the “crypto” in the name) ▪ Bitcoin was the first successful decentralized cryptocurrency, meaning there is no central authority
  • 9. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Commodity Money Cash Central Bank Issued Cryptocurrency (retail) Wholesale Cryptocurrency Other Local Currency Central Bank Issued Cryptocurrency (Wholesale) Central bank reserves Central Bank Digital Currency Virtual Currency Bank Deposits Universally Accessible Electronic Central Bank-issued Peer-to-Peer The Money Flower Adapted from Bank for International Settlements publication of Central Bank Cryptocurrencies by Morten Linnemann Bech and Rodney Garratt 17 September 2017 www.bis.org/publ/qtrpdf/r_qt1709f.htm A Taxonomy of Money Crypto- currency e.g. Gold
  • 10. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Encryption Basics ▪ Public key encryption is asymmetrical ▪ Everyone knows the public key used for encryption ▪ Only the receiver knows the private key used for decryption ▪ Blockchain doesn’t use encryption, just signatures ▪ A cryptographic hash is a fixed size thumbprint that uniquely identifies an arbitrary input (one way) ▪ Example: SHA-256 is a 256-bit thumbprint ▪ The algorithm is designed to prevent collisions: two different inputs producing the same output ▪ Digital signature is generated with the private key and validated with the public key
  • 11. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth How Big is 256 bits? ▪ Number of values = 2256 = 1.158 x 1077 = 1 followed by 77 zeros ▪ The odds of collision for two different inputs is 1 in 1077 ▪ For comparison, that is about halfway between the number of atoms on earth (≈1050) and the years left before the heat death of universe (≈10100) x 1050 = (or aprox. 167 bits)
  • 12. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth What is ? ▪ Designed by pseudonymous Satoshi Nakamoto ▪ Originally described in 2008 paper “Bitcoin: A Peer-to-Peer Electronic Cash System” ▪ Original white paper bitcoin.org/bitcoin.pdf ▪ Distributed Miners maintain the blockchain transaction ledger with proof of work timestamps ▪ A block completes every 10 minutes, generating 6.25 BTC for generator (payout changes over time) ▪ Transactions are in satoshi = 0.00000001 BTC ▪ 16 satoshi = 1 US cent (Nov 2021) ▪ An individual uses a wallet to access their BTC ▪ The digital credentials to transfer bitcoins bitcoin.org
  • 13. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Understanding Crypto ▪ A physical dollar bill has a serial number, and is always worth it’s value. You can’t divide it up. ▪ A ledger, bank account, or deposit is a digital representation of an amount of money, including fractions of a dollar. ▪ Bitcoin is a way to track value, not a collection of individual bitcoins.
  • 14. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Understanding Wallets ▪ A wallet is a asymmetric cryptographic key ▪ Public key is the wallet address ▪ Private key is the part you keep secret & safe ▪ Two types: Hot (online) vs Cold (offline) ▪ Hot wallet’s are more convenient, but can be compromised ▪ Very popular hot wallet: metamask.io ▪ Cold wallet is less convenient, but more secure ▪ Like an encrypted USB drive ▪ Exchanges also offer hot wallets, but then they control the secret key and are even more risky
  • 15. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Ethereum ▪ An open-source, public, blockchain-based distributed computing platform featuring smart contracts ▪ A smart contract is a program that executes on the Ethereum Virtual Machine (EVM) [a decentralized Turing-complete virtual machine on the blockchain] ▪ Most Smart Contracts are written in Solidity, an OOP language (Viper & Yul are other languages) ▪ Ether is a cryptocurrency whose blockchain is generated by the Ethereum platform ▪ "Gas," an internal transaction pricing mechanism, is used to mitigate spam and allocate resources on the network. It is paid for with Ether ethereum.org
  • 16. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Other EVM Compatible Blockchains ▪ Binance Smart Chain ▪ Fantom ▪ Polygon ▪ Avalanche ▪ Cardano ▪ Tron
  • 17. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth So What is the Blockchain? ▪ When there is no central ledger, how to do you know which ledger is true? ▪ Without consensus for the ledger there is no way to prevent someone from repeating a transaction multiple times (aka double spending) ▪ Blockchain solves this as each block contains the hash of previous block ▪ Once a new block is added to the chain it validates all previous blocks ▪ Kind of like a singly linked list that uses hashes instead of pointers ▪ The more blocks after a transaction, the more secure ▪ The first block is called the genesis block ▪ In case of disagreement, consensus is based on the longest chain ▪ If majority of the nodes aren’t colluding, the whole network is secure
  • 18. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Simple Blockchain Example Idx Data Timestamp Hash 0 This is the data stored on the blockchain 20210120T005509Z Genesis block 1 Here is some more data. 20210120T125509Z 6948 F840 1E13 4EAB 508E 2FB1 CB54 8C35 3CB4 AAE2 3B1A A0D3 66C5 335C 5AEA 8B1E 2 This could be a hash of other data 20210121T005509Z 7253 4287 903B FFB0 85DF 0EC5 0D63 9640 72F6 26A5 5343 1F01 F12E 7A14 1E64 3F75 3 If the data is a hash, then it keeps it secret. 20210121T125509Z 8F76 E681 2F24 00E5 FBF0 48FC A16C CBE6 0FDB 9387 77A9 5BFB 1501 B180 546E 7F51 4 Change a block and all future blocks are invalid 20210122T005509Z 66F3 34C6 5129 164A 3661 055F 10BB A1CC 0FAF 4228 579D 15CF C5E7 45ED F4BB 5F11 5 Once a new block is added . . . 20210122T125509Z 4D63 2816 7361 96A9 F66C CC23 ABF5 A635 51F9 E627 C6FA 965E 8DE5 0AF0 95FD F48B 6 then the previous block cannot be changed . . . 20210123T005509Z 296C DD47 43DF 453E 0910 9099 131E B27F 33FF ACC3 2998 B5A9 1FB1 0402 9270 1F67 7 without changing the next block. 20210123T125509Z 1B3F AF1C BDE9 DD3A A493 CD8D 6262 EEE6 0C81 0E69 6086 51BB 8078 FA09 BC69 EDC5 8 Even the slightest change . . . 20210124T005509Z F3ED FD45 7D46 587C 7D1C 0CEB 8F32 D1B8 2CFB 7D55 14CC A68C C489 581B 7095 E0BE 9 triggers a whole different hash. 20210124T125509Z A2EE 401C 0D1C 6881 29E6 EC82 47E4 3921 16D5 CF35 D827 AB3A C08D 5056 95FF 1C7F 10 The last block validates the whole chain 20210125T005509Z 9F9D 97D3 64B9 692B 1934 19A9 7137 C377 75D2 73AF C028 6BDD B7CA BE35 C438 23AA 669C 2798 0331 6C75 E892 9993 4099 73E2 24FA 9802 22B3 52C6 9893 EFE7 EB76 E68D
  • 19. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Blockchain Demo
  • 20. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth What is Mining? (Proof of Work) ▪ Mining is the process of finding a nonce (number used once - unique number) that generates a SHA-256 hash meeting the current difficulty target ▪ The difficulty target is the number of leading zeros ▪ Every 2,016 blocks (~14 days at ~10 min/block), the difficulty target is adjusted based on the network's recent performance ▪ Bitcoins exist as a result of the transaction on the ledger ▪ This effort and power requirement to compute a block, and the blockchain is what secures the ledger ▪ Other proofs include Proof of Authority, Proof of Stake, and Proof of Space
  • 21. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Mining Demo
  • 22. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Proof of Stake ▪ Powered by a smart contract ▪ Only works on established network with existing coin ▪ Proof of work is needed to “seed” the network, then Proof of Stake is the more sustainable evolution ▪ Anyone can stake 32+ Ether coin ▪ Volunteer validate transactions and blocks ▪ Rewarded with Ether for valid blocks ▪ Larger stake = greater reward & more vote ▪ Fraudulent blocks penalize stake ▪ Vulnerable to 51% attack (same as Proof of Work) ▪ No longer uses high amounts of energy and hardware
  • 23. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Smart Contracts ▪ A smart contract is a program that takes place on a blockchain ▪ You can think of a smart contract as a microservice that runs trustless on the backend of your application ▪ Smart contracts have many applications, ranging from sports betting to online voting ▪ The true power of smart contracts is in managing assets that have value and are scarce (NFTs) ▪ Once added to the blockchain, a smart contract becomes public and cannot be modified or removed ▪ This assures users that the rules are transparent and will never change
  • 24. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Smart Contract ≈ Microservice ▪ Like a microservice that exists on a cloud platform and is activated when called ▪ For a smart contract you pay a fee to deploy it, and then the callers pay the cost of calling it ▪ Instead of paying a monthly hosting fee, it is part of the blockchain, and the program runs as needed during block validation
  • 25. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Why are Smart Contracts Cool? ▪ No “terms subject to change” ▪ No “forum” or “venue selection clauses” ▪ No “confidentiality provisions” ▪ No arbitration or mediation clauses ▪ Can be more concise than traditional contracts ▪ Mathematically provable ▪ As a programmer you have the advantage: You don’t need a lawyer to translate! ▪ These can all be negatives too….
  • 26. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Solidity 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 declared contract changes 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); } }
  • 27. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Smart Contract Stack ▪ Web based IDE: remix.ethereum.org ▪ Solidity for VS Code by Juan Blanco ▪ Q&A ethereum.stackexchange.com ▪ Solidity Language: soliditylang.org ▪ Testnets: ethereum.org/en/developers/docs/networks/ ▪ sepolia.dev / goerli.net / arbitrum.io ▪ Each with it’s own faucet ▪ Wallet: metamask.io ▪ Local Ethereum environment: hardhat.org
  • 28. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Smart Contracts Demo
  • 29. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Other Smart Contract Languages ▪ Vyper – 2nd most popular for EVM-compatible blockchains. Contract-oriented, pythonic programming language with strong typing, small compiler code, and efficient bytecode ▪ Yul is an intermediate language for Ethereum that supports the EVM ▪ Cairo is a Turing-complete smart contract programming language built for creating STARK-provable programs for general computation ▪ Rust is a popular smart contract programming language for many non-EVM- compatible blockchains such as Polkadot and Solana ▪ Move is a Rust-based smart contract programming language originally developed for Meta’s Diem blockchain ▪ C++ used by EOS and Antelope based blockchains – compiles to web assembly
  • 30. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth
  • 31. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Ethereum Virtual Machine ▪ Opcodes www.evm.codes ▪ EVM Architecture
  • 32. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Shard Chains & Layer 2 ▪ Sharding is a multi-phase upgrade to improve Ethereum’s scalability and capacity planned for ~2022 ▪ Sharding is the process of splitting the blockchain horizontally to spread the load ▪ Will reduce network congestion and increase transactions per second by creating new chains, known as “shards” ▪ Shard chains spread the network's load across 64 new chains ▪ They make it easier to run a node by keeping hardware requirements low ▪ ethereum.org/en/eth2/shard-chains/ ▪ ethereum.org/en/developers/docs/scaling/layer-2-rollups/
  • 33. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Non-Fungible Tokens (NFTs) ▪ An NFT is a unique blockchain-based digital asset ▪ Links to meta-data defining real-world assets like digital art, music, subscriptions, or tokenized physical assets like houses or cars, etc. ▪ NFT verifies provenance, ownership and access ▪ Ethereum is most popular blockchain for NFT ▪ Ownership rights vary by NFT ▪ Uses immutable public blockchains - usually Ethereum ▪ Based on Smart Contracts, defined by ERC-721
  • 34. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Understanding Fungibility ▪ The value of a coin is fungible (Interchangeable) ▪ Any quarter has a face value of 25¢ ▪ But an individual physical coin is non-fungible (unique) ▪ Especially an older coin may have collectable value ▪ Based on material, history, condition, etc. ▪ Or a certain coin may have sentimental value to the owner ▪ Tied to a memory, source, origin, etc. ▪ NFTs attempt to digitally capture the idea of owning a unique digital asset 25¢
  • 35. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Token Standards (Ethereum Improvement Proposals) ▪ ERC-20 – A standard interface for fungible (interchangeable) tokens, like voting tokens, staking tokens or virtual currencies. ▪ ERC-721 – A standard interface for non-fungible tokens, like a deed for artwork or a song. ▪ ERC-777 – Allows people to build extra functionality on top of tokens such as a mixer contract for improved transaction privacy or an emergency recover function to bail you out if you lose your private keys. ▪ ERC-1155 – Allows for more efficient trades and bundling of transactions – thus saving costs. This token standard allows for creating both utility tokens (such as $BNB or $BAT) and Non-Fungible Tokens like CryptoPunks. ▪ ERC-4626 – A tokenized vault standard designed to optimize and unify the technical parameters of yield-bearing vaults. ▪ Full list: eips.ethereum.org/erc
  • 36. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth ▪ Created in 2015 by Juan Benet of Protocol Labs [ protocol.ai - ipfs.io ] ▪ An open-source protocol and peer-to-peer network for storing and sharing data in a distributed and decentralized file system ▪ Uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices ▪ Inspired by or evolved from BitTorrent ▪ Any user in the network can serve a file by its content address ▪ Peers in the network find and request content using a distributed hash table (DHT) ▪ Frequently used to store NFT related files ▪ FileCoin rewards uses for persisting content [ filecoin.io ] ▪ Supported by Cloudflare, Brave Browser, and others InterPlanetary File System (IPFS)
  • 37. Smart Contracts - The Blockchain Beyond Bitcoin – Jim McKeeth Just the Tip of the Blockchain Iceberg ▪ Blockchain is an emerging technology ▪ Everyone is focused on the Bitcoin gold rush ▪ Blockchain may have the bigger/longer impact ▪ Ethereum is a more evolved platform ▪ Shard, Layer2, & Proof of Stake and other changes improved sustainability ▪ Smart Contracts are the foundation of Ethereum’s platform ▪ NFT is at the peak of inflated expectations today ▪ This is a rapidly evolving family of technologies