SlideShare a Scribd company logo
Python,
Blockchain, and
Byte-Size Change
Portia Burton
@pkafei
PyDX 2016
Who am I?
My name is Portia Burton
I am a full-stack developer at the
Atlantic magazine
Became interested in blockchains
earlier this year
Not a cryptographic expert
What is a Blockchain?
A blockchain is a cross between a decentralized data store and bittorrent.
What is Bitcoin?
Type of Cryptocurrency
Creation based on paper by Satoshi Nakamoto titled
“Bitcoin: Peer-to-Peer Electronic Cash System”
Peer-to-peer which means transactions happen without
a third party. Alice can send money directly to Bob
Many Different Types of Cryptocurrencies
Python, Blockchain, and Byte-Size Change
Bitcoin vs. Blockchain
Bitcoin is part of a blockchain
Blockchain is a digital ledger of transactions
Each transaction is cryptographically signed
Blockchains are trustless
Ethereum
Python, Blockchain, and Byte-Size Change
Introduction to Ethereum
Ethereum is a programmable blockchain, every new blockchain spawned from
Ethereum has the same properties as Ethereum
Ethereum Virtual Machine is the low level machine language
Is Turing complete, unlike bitcoin which does not have looping capabilities
It also is aware of multiple states, unlike bitcoin which is only aware of two states
(spent and unspent)
Different Consensus Mechanisms
Proof of Work: Uses the Etash DAG algorithm. The Etash
DAG algorithm is based on Bitcoin’s the Dagger-Hashimoto
algorithm.
Proof of Stake: Proof of Stake is another way of validating. It
calculates the weight of the node, being proportional to its
computational resources. It’s less resource intensive than
Proof of Work.
Ethereum Chains (not all blockchains are the same)
Python, Blockchain, and Byte-Size Change
Different Blockchains
Public blockchain: It is the official Ethereum chain that everyone can read and interact
with
Testnet blockchain: The official test chain of Ethereum. Good way to test contracts
without wasting real ether
Private blockchain: This is a blockchain that you can create yourself. This blockchain
can be freely accessed by others, or you can add addresses by invite only
Can an average developer build blockchain
applications?
Indeed, We Can!
But first, some more background
Smart Contracts (also known as DApps)
What is a Smart Contract?
Stored on the blockchain and executed
by code
Many smart contracts are written in
Solidity
Powered by gas which can be
computationally mined or purchased in
an exchange
Transaction: Signed data package that stores a message to be sent
GAS: the name for the execution fee that senders
of transactions need to pay for operations on
Ethereum blockchain
VALUE (field): The amount of wei to transfer
from sender to the recipient
STARTGAS (value): Representing the maximum
number of computational steps the transaction
execution is allowed to take
GASPRICE (value): Representing the fee the
sender is willing to pay for gas
Applications of Ethereum Blockchain of Smart Contracts
Self-executing legal contracts
Create “American Idol” where people can vote using generated tokens
Company boards can be ran virtually
Dropbox business model create and sell encrypted storage space
Predicting financial futures based on an oracle
Demo Time!
But what about Python?
Python Ethereum Client
● Regular commits
● Interacts with private blockchains AND the
official Ethereum blockchain
● Doesn’t download blocks as fast as Go or
Rust’s Ethereum client Parity
Actionable Ways Python Developers Can Interact
with Blockchain
1. Checkout BigchainDB
2. Contribute to Open Bazaar
3. Get web3 to interact with
Django or Flask
Bigchain DB
● This DB is actually in production (used
by ascribe.io)
● Hybrid of a database and blockchain
● NoSql datastore
BigchainDB compared to other data stores
Web3.js
JavaScript library that connects applications to a blockchain
The blockchain act as an alternative or complements the database
Currently web3 is used in the Javascript framework meteor but could be used in Flask
or Django
Why Should We Care?
Democracy and Governance
Democracy as We Know It Can Change
Voting can occur on the blockchain
Agreements will be controlled by code as opposed to legal contracts
Alternative way to keep track of identity
Laws and bill can be kept on the blockchain which will create a
permanent immutable record
Financial Industry
More Transparency, More Control
Money transfers can happen more seamlessly (less reliance on Western Union)
Transparent immutable ledger (do not have to trust banks with personal funds)
Access to capital for nations that lack a dependable banking system
Less Sharing in the Sharing Economy
Peer-to-Peer Profits
Ability to rent out rooms and rides without giving a portion of the profits to a
third-party company
Musicians earn more money when listeners stream their music
Alternative marketplace for creators (such as ascribe.io and OpenBazaar)
Solidity Contract Bugs
Transaction-Ordering Bug (TOD): Smart contract assumes a particular state of a
contract that doesn’t exist
Timestamp Dependence Bug: Asynchronous network is disconnected from a
synchronized global clock. Some contracts assume that network is on global contract
Unchecked Send: Most common exploit. Attacker elicits unexpected behavior from the
contract by calling if from a carefully constructed call-stack
https://ethereum.karalabe.com/talks/2016-hackethon.html#1
Smart Contract Bloopers
How to Get Started Today
Solidity Tutorial: https://solidity.readthedocs.io/en/develop/
Bootstrap Meteor App: https://github.com/SilentCicero/meteor-dapp-boilerplate
Example Dapps:
http://ethereum.stackexchange.com/questions/2940/where-can-i-find-some-solidity-smart-contract-source-code-examples
Command Line Interface of Interacting with the Ethereum Network: https://www.ethereum.org/cli
Meteor: https://www.meteor.com/
Contribute to Existing Blockchain Projects
OpenBazaar: https://github.com/OpenBazaar/OpenBazaar-Server/issues
BigChainDB: https://github.com/bigchaindb/bigchaindb/issues
Portia Burton
@pkafei
http://bit.ly/2dyGohH
Thank You!
References
1. http://ethdocs.org/en/latest/mining.html#what-is-mining
2. http://ethdocs.org/en/latest/frequently-asked-questions/frequently-asked-questions
.html#what-s-the-difference-between-account-and-wallet-contract
3. http://www.coindesk.com/making-sense-smart-contracts/
4. https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options
5. http://www.ethdocs.org/en/latest/contracts-and-transactions/account-types-gas-an
d-transactions.html
6. https://blog.ethereum.org/2016/07/12/build-server-less-applications-mist/
7.http://www.techrepublic.com/article/uk-government-using-blockchain-to-trac
k-welfare-spending/
8. https://github.com/ethereum/pyethapp
9. https://www.bigchaindb.com/whitepaper/bigchaindb-whitepaper.pdf

More Related Content

PPTX
Analyzing Cryptocurrencies with Python
PPTX
Becoming a blockchain professional
PDF
Blockchain Programming
PPTX
Bitcoin: What You Need to Know
PDF
Technical toolkit for a blockchain startup
PDF
Blockchain-intro (2)
PPTX
Are blockchain and crypto interchangeable terms
PPTX
Blockchain 2.0
Analyzing Cryptocurrencies with Python
Becoming a blockchain professional
Blockchain Programming
Bitcoin: What You Need to Know
Technical toolkit for a blockchain startup
Blockchain-intro (2)
Are blockchain and crypto interchangeable terms
Blockchain 2.0

What's hot (20)

PPTX
Blockchain 101 presentation by fstream.io
PDF
Definition of Cryptocurrency
PDF
Block chain 101 what it is, why it matters
PDF
Blockchain; how it works, and why you should care
PDF
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
PPTX
Blockchain, smart contracts - introduction
PDF
Paybis.com - high level intro to blockchain for Devclub.lv
PPTX
Blockchain- how it could transform business
PDF
Blockchain - Presentacion Betabeers Galicia 10/12/2014
PPTX
Blockchain Explained
PPTX
Namecoin Primecoin Potcoin
PDF
BlockChain Public
PPTX
Introduction to blockchain and smart contracts
PPTX
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
PPTX
The curious case of Blockchain Technology
PDF
Decentralized: Blockchain & Cryptocurrency Laws in Canada
PPTX
Blockchain & Cryptocurrency
PDF
Lapine blockchain introduction 10/04/2018
PPTX
Blockchain and Bitcoin
PPTX
Presentation about Blockchain technology
Blockchain 101 presentation by fstream.io
Definition of Cryptocurrency
Block chain 101 what it is, why it matters
Blockchain; how it works, and why you should care
Blockchain And Cryptocurrency : How Blockchain And Cryptocurrency Relate To E...
Blockchain, smart contracts - introduction
Paybis.com - high level intro to blockchain for Devclub.lv
Blockchain- how it could transform business
Blockchain - Presentacion Betabeers Galicia 10/12/2014
Blockchain Explained
Namecoin Primecoin Potcoin
BlockChain Public
Introduction to blockchain and smart contracts
INTRO TO BLOCKCHAINS AND CRYPTOCURRENCY
The curious case of Blockchain Technology
Decentralized: Blockchain & Cryptocurrency Laws in Canada
Blockchain & Cryptocurrency
Lapine blockchain introduction 10/04/2018
Blockchain and Bitcoin
Presentation about Blockchain technology
Ad

Similar to Python, Blockchain, and Byte-Size Change (20)

PPTX
The Blockchain and JavaScript
PPTX
Blockchain for Developers
PPTX
Understanding blockchain
PDF
All About Ethereum
ODP
Introduction to ethereum_public
PDF
Introduction to Blockchain with an Ethereuem Hands-on
PDF
Intro to Blockchain Slides
PDF
Exploring ethereum
PDF
Decentralized Application: A Software Engineering Perspective
PDF
Blockchain and smart contracts, what they are and why you should really care ...
PDF
Introduction to Bitcoin, Blockchain, and Ethereum by Justin Wu
PDF
Blockchain and BPM - Reflections on Four Years of Research and Applications
PPTX
Blockchain, Ethereum and Business Applications
PPTX
Blockchain and Cryptocurrencies
PPTX
Blockchain on Azure and Use Cases
PDF
Blockchain development 101
PPTX
Ethereum Block Chain
PDF
Click Ventures Blockchain Ecosystem Report 2018
PDF
Fluent destry saul
PPTX
Crypto101.pptx
The Blockchain and JavaScript
Blockchain for Developers
Understanding blockchain
All About Ethereum
Introduction to ethereum_public
Introduction to Blockchain with an Ethereuem Hands-on
Intro to Blockchain Slides
Exploring ethereum
Decentralized Application: A Software Engineering Perspective
Blockchain and smart contracts, what they are and why you should really care ...
Introduction to Bitcoin, Blockchain, and Ethereum by Justin Wu
Blockchain and BPM - Reflections on Four Years of Research and Applications
Blockchain, Ethereum and Business Applications
Blockchain and Cryptocurrencies
Blockchain on Azure and Use Cases
Blockchain development 101
Ethereum Block Chain
Click Ventures Blockchain Ecosystem Report 2018
Fluent destry saul
Crypto101.pptx
Ad

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
PPTX
A Presentation on Artificial Intelligence
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
DOCX
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25-Week II
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
sap open course for s4hana steps from ECC to s4
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Dropbox Q2 2025 Financial Results & Investor Presentation
20250228 LYD VKU AI Blended-Learning.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology
A Presentation on Artificial Intelligence
“AI and Expert System Decision Support & Business Intelligence Systems”
The AUB Centre for AI in Media Proposal.docx

Python, Blockchain, and Byte-Size Change