SlideShare a Scribd company logo
Building Blockchain Solutions
with Algorand Developer Tools
Russ@algorand.com
Russ Fustino
Technical Evangelist
Allison Nolan
Product Marketing
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Russ Fustino
2
• Algorand Technical Evangelist
• Microsoft MVP (2013-2018)
• Book Author – “Azure and Xamarin Forms”
publisher Apress.
• Publisher of several apps including the
Endorsed Jethro Tull App
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Get the goods
• Code and SDKs:
https://github.com/algorand
4
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Tamperproof Transparency Trust
The Blockchain Promise
Unlimited Applications
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Ransomware Attacks
6
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Erosion of Trust
7
Agenda
§ What is Algorand?
§ Algorand’s Consensus Model
§ TestNet
§ Process Architecture
§ APIs, SDKs and Command Line tools
§ Planned Developer Features
What is Algorand
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Borderless…
Commerce
Transactions
Exchange
Opportunity
Applications
Development
Finance
Currency
EconomyMoney
Governance
Investment
Participation
Trade
Markets
Customers
Technology
Innovation
Contracts
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand
§ Pure Proof of Stake (PPOS) Blockchain
§ Permissionless
§ Fast Transaction Throughput and Finality
§ No Forking – only one Block can get Quorum
§ Upgrades on Chain
Consensus Keynote by Silvio Micali, Founder of Algorand
“Building the Technical Innovation Required for a New Borderless Economy“
https://www.coindesk.com/events/consensus-2019/videos
Algorand YouTube Channel
https://www.youtube.com/algorand
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
The Blockchain Trilemma
“At most two of…”
Security
Scalability
Decentralization
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Generating New Blocks
• Various approaches for choosing the next block:
• Proof-of-work
• Delegated proof of stake
• Bonded proof of stake
• All these approaches have a fatal flaw
• “The whole economy is at the mercy of a small part of
the economy.”
13
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
proof-of-work
• Minors own only a small fraction of the money in a proof-of-
work blockchain
• There are only 3 mining pools
• The chain is not secure.
• An adversary may thus attack either the protocol  or
communication network
• Forks can cause scalability issues
• Not Green
14
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
(continued)
Delegated proof-of-stake
• The community empowers a few special delegates, to choose
the next block
• It is centralized from the get-go.
• Since the delegates are known, a determined adversary
could bring down all the delegates by a fast DoS attack.
15
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
How do you select a new block to be appended to the chain?
(Continued)
Bonded Proof-of-Stake
• Bonded PoS allows 20 users, or as many as are willing, to put
some money on the table — a bond.
• These are the users who select the next block.
• If they misbehave, their money is confiscated.
• makes it easy for big thieves to put a disproportionate amount
of money on the table for the sole purpose of controlling the
blockchain.
16
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand’s Logic and Pure Proof-of-Stake
• No money is ever hostage.
• All money is always where it should be: in your wallet, at your fingertips ready
to be spent, or in the various financial instruments that the Algorand
blockchain offers you.
• We want block generation to be simultaneously scalable, secure, and
decentralized.
Phase 1
• A single token is randomly selected, and its owner is the user who proposes the
next block.
Phase 2
• 1000 tokens are selected among all tokens currently in the system. The owners
of these 1000 tokens are selected to be part of a phase-2 ‘committee,’ which
approves the block proposed by the first user.
17
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Defeating the Trilemma
§ Security –
§ Committee members are not known until after the fact
§ Everything is cryptographically signed
§ Scalability
§ Minimal messages
§ Lottery execution extremely fast
§ Decentralization
§ Low barrier to entry
§ Anyone can participate in consensus
19
Alogorand’s CORE Technology in a nutshell)
https://medium.com/algorand/algorands-core-technology-in-a-nutshell-e2b824e03c77
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
’s Technical Advancements
• A new and super fast Byzantine agreement – Allows system to agree on a new block
while that block propagates
• VRFs (Verifiable Random Function) is open sourced and Cryptographic Self-Selection
to Blockchains. Allow users to secretly, fairly and provable select themselves
• Player Replaceability – Withstands the corruption of all users in the middle of a
protocol.
20
Algorand Consensus
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Consensus Overview
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Foundation Dutch Auctions
• https://algorand.foundation/
• Foundation will launch Auctions
• Tokens bids stored on chain
• Auction winners are recorded on chain
• Auction parameters posted to chain prior to Auction
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Foundation Rewards
§ See Foundation site
§ https://algorand.foundation/token-dynamics
§ All users online and offline are eligible to earn rewards
Algorand TestNet
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet Live!
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet Node Map
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
TestNet AlgoExplorer
34
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Install you node!
Install new node
• Log into https://developer.algorand.org/
• https://developer.algorand.org/docs/introduction-installing-node
35
Process Architecture
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Wallets and Accounts - Logical Overview
wallet Account
Private Key
Address/Public Key
Derived
Mnemonic
Spending
ParticipationParticipation Key
Account
Account
Im
port/Export
Stand Alone SDK/Algokey Generated
WalletID
Wallet Name
Mnemonic
Wallet Driver
Spending keys used for creating and issuing signed transactions
Participation Keys are used for participating in consensus and associated to
spending keys
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Multi-Sig accounts
Multi-Sig
Account
Address2 (PK2)
Address1 (PK1)
Address3 (PK3)
Threshold Level
Address(Hash of PKs)
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand Processes
kmd
algod
Node
1
2
1. KMD handles all interaction with
spending keys, including signing
transactions. Signing can be stand
alone as well.
2. Algod is responsible for
processing the protocol and
interacting with SQLite to record the
ledger. Implements REST API for
read only APIs.
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Node Scenarios
kmd
algod
Node
kmd
algod
Node
kmd
algod
Node
algod
Node
algod
Node
kmd
algod
Node
kmd
Node
Offline algod
Relay
App
Algorand Wallet
Air Gapped
Application
JS SDK,
GO SDK,
Java SDK
APIs and Command Line
Tools
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Algorand APIs and Command Line Tools
• algod process is for
protocol and read only Rest
APIs, submit signed txs
• kmd process is for wallet
integrations and
transactions
• Goal command line tool for
interacting with Node
• algokey stand-alone
command line utility used
to generate, import, export
keys and to sign
transactions.
• SDKs stand alone key
functions
Goal
kmdSwagger Supported Rest/JSON
HTTP PORT
Swagger Supported Rest/JSON
HTTP PORT algod
Algorand Node
JS SDK, GO SDK, Java SDK
Algokey
Custom
Code
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Goal
goal
clerk
account
addpartkey
balance
changeonlinestatus
importrootkey
list
new
multisig
rename
send
multisig
rawsend
ledger supply
logging
disable
enable
send
network
create
delete
restart
start
status
stop
node
clone
generatetoken
lastround
restart
start
status
stop
version
Wallet
KMD
list
new
start
stop
delete
listpartkeys
rewards
pendingtxns
SDKs and Swagger
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Swagger.Json
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Generating Clients
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
SDK Functionality
49
kmd Wrapper
algod Wrapper
Stand-alone
functions
Create accounts
Account Mnemonic
Create Transaction
kmd
algod
Sign Transaction
Air Gapped
Applications
Networked
Applications
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
SDK Documentation
50
JS, Go, Java SDK’s Demo
51
Coming Features
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Near Term Projects
§ Vault - Solve blockchain storage issues
§ Pixel – Address size and bandwidth of multi-signature requirements
§ Self Validating Transactions – Address balance time constraint
§ Atomic Swaps – Crosschain and multi-asset swaps in single transactions
§ Post-and-Sale Trades – Get buyers and sellers together quickly
Further out
Smart² contracts, quantum-resiliency
• Click to edit Master text styles
• Second level
• Third level
• Fourth level
• Fifth level
Sign up Today!
55
Questions?

More Related Content

What's hot

Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)
Russ Fustino
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to know
Russ Fustino
 
Algorand
AlgorandAlgorand
Algorand
atousa_ahsani
 
Understanding Algorand's smart contract language
Understanding Algorand's smart contract language   Understanding Algorand's smart contract language
Understanding Algorand's smart contract language
Vanessa Lošić
 
Algorand
AlgorandAlgorand
Algorand
Andrew Huang
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021
DanielBohnemann
 
Diving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future PossibilitiesDiving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future Possibilities
intotheblock
 
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
R3
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple Tutorial
Eric Lee
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
LennartF
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
Manuel Garcia
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Dash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for TechiesDash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for Techies
Joseph Holbrook, Chief Learning Officer (CLO)
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp:  TokensCorda Developer Bootcamp:  Tokens
Corda Developer Bootcamp: Tokens
R3
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
Benjamin Fuentes
 
Response cards k12 qt ntx lt
Response cards k12 qt ntx ltResponse cards k12 qt ntx lt
Response cards k12 qt ntx lt
William McIntosh
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
Arnaud Le Hors
 
Bit coin
Bit coinBit coin

What's hot (18)

Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)Building with Algorand Blockchain 2020 (everything you need to know)
Building with Algorand Blockchain 2020 (everything you need to know)
 
Building with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to knowBuilding with Algorand 2.0, everything you need to know
Building with Algorand 2.0, everything you need to know
 
Algorand
AlgorandAlgorand
Algorand
 
Understanding Algorand's smart contract language
Understanding Algorand's smart contract language   Understanding Algorand's smart contract language
Understanding Algorand's smart contract language
 
Algorand
AlgorandAlgorand
Algorand
 
Algorand Technical Workshop 2021
Algorand Technical Workshop 2021Algorand Technical Workshop 2021
Algorand Technical Workshop 2021
 
Diving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future PossibilitiesDiving into Algorand - Overview, Key Metrics & Future Possibilities
Diving into Algorand - Overview, Key Metrics & Future Possibilities
 
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
DevDay: Writing a Secure CorDapp, (almost) Everything You Didn't Know You Nee...
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple Tutorial
 
Ibp technical introduction
Ibp technical introductionIbp technical introduction
Ibp technical introduction
 
Introduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger ProjectIntroduction to Blockchain and the Hyperledger Project
Introduction to Blockchain and the Hyperledger Project
 
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
Javantura v6 - Case Study: Marketplace App with Java and Hyperledger Fabric -...
 
Dash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for TechiesDash Crypto Currency Intro for Techies
Dash Crypto Currency Intro for Techies
 
Corda Developer Bootcamp: Tokens
Corda Developer Bootcamp:  TokensCorda Developer Bootcamp:  Tokens
Corda Developer Bootcamp: Tokens
 
Demystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabricDemystify blockchain development with hyperledger fabric
Demystify blockchain development with hyperledger fabric
 
Response cards k12 qt ntx lt
Response cards k12 qt ntx ltResponse cards k12 qt ntx lt
Response cards k12 qt ntx lt
 
Hyperledger community update 20180528
Hyperledger community update 20180528Hyperledger community update 20180528
Hyperledger community update 20180528
 
Bit coin
Bit coinBit coin
Bit coin
 

Similar to Building Blockchain Solutions with Algorand Developer Tools

Algorand Development Environment
Algorand Development Environment Algorand Development Environment
Algorand Development Environment
Vanessa Lošić
 
Bypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingBypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingJakub Kałużny
 
MongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventMongoDB and MongoMK Source Event
MongoDB and MongoMK Source Event
Yuval Ararat
 
The Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL FailuresThe Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL Failures
☠Tony Trummer☠
 
20221110 MetaCoin
20221110 MetaCoin20221110 MetaCoin
20221110 MetaCoin
Hu Kenneth
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
Mike Long
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to Algorand
TinaBregovi
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
RussFustino
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
Vlad Mihalcea
 
New Developments in the BREACH attack
New Developments in the BREACH attackNew Developments in the BREACH attack
New Developments in the BREACH attack
E Hacking
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Alejandro Hernández
 
My internwork
My internworkMy internwork
My internwork
V C
 
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive SystemsWeek 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Roger Royse
 
Spectre coin
Spectre coinSpectre coin
Spectre coin
faraz Safarpour
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2
LennartF
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
LennartF
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
ESUG
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Alan Quayle
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.
Fran Strajnar
 
5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler
Iulian Dragos
 

Similar to Building Blockchain Solutions with Algorand Developer Tools (20)

Algorand Development Environment
Algorand Development Environment Algorand Development Environment
Algorand Development Environment
 
Bypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online bankingBypassing malware detection mechanisms in online banking
Bypassing malware detection mechanisms in online banking
 
MongoDB and MongoMK Source Event
MongoDB and MongoMK Source EventMongoDB and MongoMK Source Event
MongoDB and MongoMK Source Event
 
The Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL FailuresThe Savage Curtain: Mobile SSL Failures
The Savage Curtain: Mobile SSL Failures
 
20221110 MetaCoin
20221110 MetaCoin20221110 MetaCoin
20221110 MetaCoin
 
Long Life Software
Long Life SoftwareLong Life Software
Long Life Software
 
Algorand Educate: Intro to Algorand
Algorand Educate: Intro to AlgorandAlgorand Educate: Intro to Algorand
Algorand Educate: Intro to Algorand
 
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdfBuild Blockchain dApps using JavaScript, Python and C - ATO.pdf
Build Blockchain dApps using JavaScript, Python and C - ATO.pdf
 
Transactions and Concurrency Control Patterns
Transactions and Concurrency Control PatternsTransactions and Concurrency Control Patterns
Transactions and Concurrency Control Patterns
 
New Developments in the BREACH attack
New Developments in the BREACH attackNew Developments in the BREACH attack
New Developments in the BREACH attack
 
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading TechnologiesAre You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
Are You Trading Stocks Securely? Exposing Security Flaws in Trading Technologies
 
My internwork
My internworkMy internwork
My internwork
 
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive SystemsWeek 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
Week 4 - DApps, Smart Contracts, and Decentralized Incentive Systems
 
Spectre coin
Spectre coinSpectre coin
Spectre coin
 
Wwc developing hyperledger applications v2
Wwc  developing hyperledger applications v2Wwc  developing hyperledger applications v2
Wwc developing hyperledger applications v2
 
Wwc developing hyperledger applications v4
Wwc  developing hyperledger applications v4Wwc  developing hyperledger applications v4
Wwc developing hyperledger applications v4
 
Sista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performanceSista: Improving Cog’s JIT performance
Sista: Improving Cog’s JIT performance
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
 
The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.The Quest for Enterprise Blockchain Solutions.
The Quest for Enterprise Blockchain Solutions.
 
5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler5 things you need to know about the Scala compiler
5 things you need to know about the Scala compiler
 

More from Russ Fustino

Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
Russ Fustino
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
Russ Fustino
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ Fustino
Russ Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
Russ Fustino
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
Russ Fustino
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcast
Russ Fustino
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error Reporting
Russ Fustino
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
Russ Fustino
 

More from Russ Fustino (8)

Introduction to Xamarin Forms
Introduction to Xamarin Forms Introduction to Xamarin Forms
Introduction to Xamarin Forms
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
Visual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ FustinoVisual studio enterprise 2017 mobile by Russ Fustino
Visual studio enterprise 2017 mobile by Russ Fustino
 
OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!OutSystems: A more efficient way to build apps!
OutSystems: A more efficient way to build apps!
 
Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)Rock'in with Russ & Xamarin Forms (FBI Deck)
Rock'in with Russ & Xamarin Forms (FBI Deck)
 
Implementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcastImplementing awesome crash reporting in production apps webcast
Implementing awesome crash reporting in production apps webcast
 
Improving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error ReportingImproving Your App Quality with Raygun Error Reporting
Improving Your App Quality with Raygun Error Reporting
 
JavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) uploadJavaScript for ASP.NET programmers (webcast) upload
JavaScript for ASP.NET programmers (webcast) upload
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 

Building Blockchain Solutions with Algorand Developer Tools

  • 1. Building Blockchain Solutions with Algorand Developer Tools Russ@algorand.com Russ Fustino Technical Evangelist Allison Nolan Product Marketing
  • 2. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Russ Fustino 2 • Algorand Technical Evangelist • Microsoft MVP (2013-2018) • Book Author – “Azure and Xamarin Forms” publisher Apress. • Publisher of several apps including the Endorsed Jethro Tull App
  • 3.
  • 4. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Get the goods • Code and SDKs: https://github.com/algorand 4
  • 5. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Tamperproof Transparency Trust The Blockchain Promise Unlimited Applications
  • 6. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Ransomware Attacks 6
  • 7. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Erosion of Trust 7
  • 8. Agenda § What is Algorand? § Algorand’s Consensus Model § TestNet § Process Architecture § APIs, SDKs and Command Line tools § Planned Developer Features
  • 10. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Borderless… Commerce Transactions Exchange Opportunity Applications Development Finance Currency EconomyMoney Governance Investment Participation Trade Markets Customers Technology Innovation Contracts
  • 11. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand § Pure Proof of Stake (PPOS) Blockchain § Permissionless § Fast Transaction Throughput and Finality § No Forking – only one Block can get Quorum § Upgrades on Chain Consensus Keynote by Silvio Micali, Founder of Algorand “Building the Technical Innovation Required for a New Borderless Economy“ https://www.coindesk.com/events/consensus-2019/videos Algorand YouTube Channel https://www.youtube.com/algorand
  • 12. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level The Blockchain Trilemma “At most two of…” Security Scalability Decentralization
  • 13. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Generating New Blocks • Various approaches for choosing the next block: • Proof-of-work • Delegated proof of stake • Bonded proof of stake • All these approaches have a fatal flaw • “The whole economy is at the mercy of a small part of the economy.” 13
  • 14. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? proof-of-work • Minors own only a small fraction of the money in a proof-of- work blockchain • There are only 3 mining pools • The chain is not secure. • An adversary may thus attack either the protocol  or communication network • Forks can cause scalability issues • Not Green 14
  • 15. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? (continued) Delegated proof-of-stake • The community empowers a few special delegates, to choose the next block • It is centralized from the get-go. • Since the delegates are known, a determined adversary could bring down all the delegates by a fast DoS attack. 15
  • 16. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level How do you select a new block to be appended to the chain? (Continued) Bonded Proof-of-Stake • Bonded PoS allows 20 users, or as many as are willing, to put some money on the table — a bond. • These are the users who select the next block. • If they misbehave, their money is confiscated. • makes it easy for big thieves to put a disproportionate amount of money on the table for the sole purpose of controlling the blockchain. 16
  • 17. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand’s Logic and Pure Proof-of-Stake • No money is ever hostage. • All money is always where it should be: in your wallet, at your fingertips ready to be spent, or in the various financial instruments that the Algorand blockchain offers you. • We want block generation to be simultaneously scalable, secure, and decentralized. Phase 1 • A single token is randomly selected, and its owner is the user who proposes the next block. Phase 2 • 1000 tokens are selected among all tokens currently in the system. The owners of these 1000 tokens are selected to be part of a phase-2 ‘committee,’ which approves the block proposed by the first user. 17
  • 18. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Defeating the Trilemma § Security – § Committee members are not known until after the fact § Everything is cryptographically signed § Scalability § Minimal messages § Lottery execution extremely fast § Decentralization § Low barrier to entry § Anyone can participate in consensus 19 Alogorand’s CORE Technology in a nutshell) https://medium.com/algorand/algorands-core-technology-in-a-nutshell-e2b824e03c77
  • 19. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level ’s Technical Advancements • A new and super fast Byzantine agreement – Allows system to agree on a new block while that block propagates • VRFs (Verifiable Random Function) is open sourced and Cryptographic Self-Selection to Blockchains. Allow users to secretly, fairly and provable select themselves • Player Replaceability – Withstands the corruption of all users in the middle of a protocol. 20
  • 21. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Consensus Overview
  • 22. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Foundation Dutch Auctions • https://algorand.foundation/ • Foundation will launch Auctions • Tokens bids stored on chain • Auction winners are recorded on chain • Auction parameters posted to chain prior to Auction
  • 23. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Foundation Rewards § See Foundation site § https://algorand.foundation/token-dynamics § All users online and offline are eligible to earn rewards
  • 25. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet Live!
  • 26. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet Node Map
  • 27. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level TestNet AlgoExplorer 34
  • 28. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Install you node! Install new node • Log into https://developer.algorand.org/ • https://developer.algorand.org/docs/introduction-installing-node 35
  • 30. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Wallets and Accounts - Logical Overview wallet Account Private Key Address/Public Key Derived Mnemonic Spending ParticipationParticipation Key Account Account Im port/Export Stand Alone SDK/Algokey Generated WalletID Wallet Name Mnemonic Wallet Driver Spending keys used for creating and issuing signed transactions Participation Keys are used for participating in consensus and associated to spending keys
  • 31. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Multi-Sig accounts Multi-Sig Account Address2 (PK2) Address1 (PK1) Address3 (PK3) Threshold Level Address(Hash of PKs)
  • 32. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand Processes kmd algod Node 1 2 1. KMD handles all interaction with spending keys, including signing transactions. Signing can be stand alone as well. 2. Algod is responsible for processing the protocol and interacting with SQLite to record the ledger. Implements REST API for read only APIs.
  • 33. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Node Scenarios kmd algod Node kmd algod Node kmd algod Node algod Node algod Node kmd algod Node kmd Node Offline algod Relay App Algorand Wallet Air Gapped Application JS SDK, GO SDK, Java SDK
  • 34. APIs and Command Line Tools
  • 35. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Algorand APIs and Command Line Tools • algod process is for protocol and read only Rest APIs, submit signed txs • kmd process is for wallet integrations and transactions • Goal command line tool for interacting with Node • algokey stand-alone command line utility used to generate, import, export keys and to sign transactions. • SDKs stand alone key functions Goal kmdSwagger Supported Rest/JSON HTTP PORT Swagger Supported Rest/JSON HTTP PORT algod Algorand Node JS SDK, GO SDK, Java SDK Algokey Custom Code
  • 36. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Goal goal clerk account addpartkey balance changeonlinestatus importrootkey list new multisig rename send multisig rawsend ledger supply logging disable enable send network create delete restart start status stop node clone generatetoken lastround restart start status stop version Wallet KMD list new start stop delete listpartkeys rewards pendingtxns
  • 38. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Swagger.Json
  • 39. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Generating Clients
  • 40. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level SDK Functionality 49 kmd Wrapper algod Wrapper Stand-alone functions Create accounts Account Mnemonic Create Transaction kmd algod Sign Transaction Air Gapped Applications Networked Applications
  • 41. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level SDK Documentation 50
  • 42. JS, Go, Java SDK’s Demo 51
  • 44. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Near Term Projects § Vault - Solve blockchain storage issues § Pixel – Address size and bandwidth of multi-signature requirements § Self Validating Transactions – Address balance time constraint § Atomic Swaps – Crosschain and multi-asset swaps in single transactions § Post-and-Sale Trades – Get buyers and sellers together quickly Further out Smart² contracts, quantum-resiliency
  • 45. • Click to edit Master text styles • Second level • Third level • Fourth level • Fifth level Sign up Today! 55