8. Building Blockchain Apps
An Intro to Dash Platform
Dana Alibrandi
Product Owner at Dash Core Group
dana.alibrandi@dash.org
January 30, 2019
Kuala Lumpur, Malaysia
9. About Me
● 6 years of product management experience
● 2 years of teaching experience
● Based in Los Angeles, California
● Currently...
○ Product Owner at Dash Core Group
○ Lead Product Management Instructor at Product School
12. What is a Blockchain?
A special type of read-only database that is…
Immutable
Decentralized
Secure
Auditable
13. Characteristics of a Blockchain pt. 1
Immutable
● Transactions are grouped together in blocks
● Blocks cannot be deleted once confirmed
14. Characteristics of a Blockchain pt. 2
Decentralized
● Blocks are confirmed by independent users on a p2p network, all
of whom maintain a full copy of the blockchain
16. Characteristics of a Blockchain pt. 3
Secure
● Each new block contains a reference to the most recent
confirmed block…
therefore, changing an older block requires changing each
subsequent block after it
17. Characteristics of a Blockchain pt. 4
Auditable
● Each block is chronological, time-stamped, and accessible to
anyone wishing to verify it
21. Let’s Agree to Agree
Consensus
● Each node participating on the p2p network follows a set of
shared rules on how to confirm blocks
● Commonly referred to as a protocol, i.e. the Bitcoin Protocol or
the Dash Protocol
● Shared consensus allows for multiple independent
implementations (resilient)
○ Reference specification
24. To Recap
We have this awesome new kind of database that is...
● Immutable
● Auditable
● Secured by numerous independent parties
25.
26.
27. Spending the Same Money Twice
Double-spending is a problem in any digital currency system where
one unit of digital currency can be spent more than once.
Because digital currency is just a file, what is to stop a malicious actor
from simply copying that file and spending it again?
31. I Don’t Trust You
Blockchains and cryptocurrencies are said to be trustless, that is to
say, they eliminate the need to trust an intermediary party
This is misleading, blockchains don’t eliminate trust. However, they
distribute it across many independently verifiable parties.
33. Tonight’s Goals
1. Blockchains
2. Cryptocurrencies
3. Dash!
4. Other Blockchain Use Cases
5. Dash Platform!
6. Ethereum vs. Dash Platform
7. Q&A
34. ● Founded in January 2014
● Forked from the Bitcoin codebase
● Masternodes (more on this later)
● Speedy confirmation times
● Ability to instantly confirm transactions
● Ability to mix transactions for privacy
● Active development team
35. A Multi-Tiered Network
Masternodes are collateralized nodes on Dash’s p2p network that
provide extra services in exchange for increased rewards
Similar to how nodes verify transactions by proof-of-work, the
services provided by masternodes are verified by a proof-of-service
(PoSe) algorithm.
36. If Men Were Angels....
Decentralized projects present a unique problem with decision
making. With no explicit authority in charge, who makes decisions
regarding the direction of the project?
This question is referred to as governance
38. Dash Governance
Dash created one of the first decentralized autonomous
organizations (DAOs).
Decision making is governed by the masternode operators (MNOs),
and each MNO has the power to submit proposals to advance the
network, as well as vote on other proposals.
39. Dash Core Group
The MNOs fund a dedicated development team known as Dash Core
Group.
Dash Core Group leads development, marketing, and business
development efforts on behalf of the wider network.
41. Dash Core Group pt. 2
Dash Core Group is…
● Funded by the treasury
● Owned by the network through an irrevocable trust
● Transparent
● Can be defunded by network in the event of poor
performance
42. Tonight’s Goals
1. Blockchains
2. Cryptocurrencies
3. Dash!
4. Other Blockchain Use Cases
5. Dash Platform!
6. Ethereum vs. Dash Platform
7. Q&A
43. Blockchain Use Cases
As Bitcoin become more popular, developers wanted to extend the
original functionality in order to build more complex apps
● OP_RETURN
○ Hacky way to store data to the blockchain
○ Used in proof-of-existence apps
Eventually, this need contributed to the rise of Ethereum...
46. A Blockchain Land Registry
In 2010, a 7.0 Mw earthquake devastated the Caribbean island of
Haiti.
After the earthquake, the centralized server containing land registry
titles was destroyed.
Consequently, rebuilding efforts have been undermined by unclear
ownership and land squatting.
47. A Digital Notary: Proof of Existence
Blockchains can be used to prove ownership at a specific point-in-
time for any digitizable property.
● Hash your document
● Post that hash to the blockchain
● Create a digital signature
● Share your public key
● Use your private key to prove ownership
The digital equivalent of signing your name on a document.
48.
49.
50.
51.
52.
53. Tonight’s Goals
1. Blockchains
2. Cryptocurrencies
3. Dash!
4. Other Blockchain Use Cases
5. Dash Platform!
6. Ethereum vs. Dash Platform
7. Q&A
54. ● Automatic instant transaction confirm
● Long Living Masternode Quorums
● Deterministic Masternode List
● Decentralized HTTP API
● Decentralized application storage
● Human readable user names
● Mitigation against 51% attacks
Evolution
55. A Platform to Rule Them All...
Dash Platform
● Provides a framework for developers to build custom
applications that leverage the Dash network.
● Key components include DAPI (decentralized API), Drive
(decentralized storage), and Dash’s core protocol
56. What Does This Actually Mean?
Build apps and integrate them into Dash Platform
● Use programming languages you already know
● Use client libraries to simplify development
● Host all of your data on our network
● Provide users with the option to secure their data on Dash’s
blockchain
● Leverage blockchain integration to pursue anti-advertising
monetization strategies
57. DAPI: A World First
A decentralized HTTP API living on Dash’s masternodes
● Multiple points of connection for clients
● Easy integration into your app through NPM
● Easily submit data structures to secure to the blockchain
59. Drive
Decentralized storage for your application data
● Use our masternode network for your application storage
● Each masternode contains a copy of your app data
● Access your app data at any specific point in time
● Secure your application state to Dash’s blockchain
● Built with MongoDB and IPFS
60. How Does This All Work
Integrating your application to Dash Platform
● Register your application and its data objects using a data
contract.
● Secure and save your data by submitting state transitions.
61. Data Contracts
Every application on Dash Platform must have a data contract, which
is….
● A formal agreement between a service (Dash Platform) and a
client (your application) that abstractly describes the data to
be exchanged.
● Analogous to a database schema in an object-relational db.
● Uses JSON schema.
63. State Transitions
A JSON-formatted data structure containing a change in your
application’s state, which you’d like to save and secure to Dash’s
blockchain.
● Each State Transition packet contains a header and a body
○ Header contains a hash of the body
○ Body contains the actual data
66. Tonight’s Goals
1. Blockchains
2. Cryptocurrencies
3. Dash!
4. Other Blockchain Use Cases
5. Dash Platform!
6. Ethereum vs. Dash Platform
7. Q&A
67.
68. Ethereum: The World Computer
Unlike Bitcoin and Dash, Ethereum’s main purpose is not to be a
cryptocurrency. Rather, Ethereum aims to be a decentralized,
distributed computing platform.
To put it differently, nodes on the Ethereum network execute
programs called smart contracts and (some) application data is
secured to the Ethereum blockchain.
69. Ethereum: Points of Differentiation
The Ethereum Platform has a cryptocurrency known as Ether.
However, the main purpose of Ether isn’t to process payments.
Ether’s main purpose is to purchase Gas, which is Ethereum’s internal
credit system for executing smart contracts. Consequently, Ether is
referred to as a utility token.
70.
71. The Issue with Ethereum...
Network congestion
● Computation occurs on network nodes, which can and has
resulted in significant network slowdowns.
Programming Language
● Developers need to learn Solidity, a new programming
language, in order to execute smart contracts.
72. A Quick Comparison
Ethereum
● Computation occurs on nodes
● Learn and develop using Solidity
● Only sync account balance and
transaction data to the blockchain
● Use Ether to pay for smart contract
execution
● Fluctuating cost for smart contract
execution
Dash Platform
● Computation occurs on client
● Develop using Javascript (and more)
● Sync your entire application data to
the blockchain
● Use Dash to pay for state transitions
● State transition fee is the same as a
normal transaction
76. www.productschool.com
Part-time Product Management, Coding, Data and Digital
Marketing courses in San Francisco, Silicon Valley, New York,
Santa Monica, Los Angeles, Austin, Boston, Boulder, Chicago,
Denver, Orange County, Seattle, Bellevue, Toronto, London and
Online
Editor's Notes
Remote PM, did a coding bootcamp, worked in digital media, didn’t study computer science
Blockchain is essential a database, albeit a special one.
Blockchain is essential a database, albeit a special one.
Banks and clearhouses play this intermediary role to prevent double spending
In a cryptocurrency, the network plays this intermediary role
In a cryptocurrency, the network plays this intermediary role