2. JANE FINE
Director of Product Marketing, Analytics
@janeuyvova
PAVEL DUCHOVNY
Sr. Technical Services Engineer
@DuchovnyPavel
3. What We Set Out To Do
avoid hype no cryptocurrency talk
lead with our customers real-world applications
take a practical approach architecture and APIs
build an application identity management
leverage and reuse go build your own!
4. Blockchain / Digital Identity
92% view blockchain
as an opportunity
3% use blockchain
in production today
“Blockchains allow users to easily prove their identities, protect
ownership of digital assets, and verify transactions without a high-cost
intermediary.”
“Blockchain: A Study Rooted in Reality” published by SAP on April 8, 2018
“Study | Blockchain for Social Impact: Moving Beyond the Hype” published by
Stanford Graduate School of Business, 2018
6. How Our Customers Use Blockchain Today
Determine exposure and
positions
Reduce time to transmit
funds/ anti-money
laundering
Streamline identity
verification
Optimize contract
negotiation across vendors
Establish digital trust
Optimize supply chain
bottlenecks
Monitor and improve
vehicle safety
Develop usage-based
insurance products
Cryptocurrency powered
mobile network
Financial ServicesGovernment IoTDigital Currency
Trading and storing of
digital assets
Portfolio management
7. What We Built:
Decentralized Identity Management
Create a network across multiple providers to
gain access to new customers and improve
overall customer experience
Use limited trust to share anonymized customer
data for benefit of expanding their offer portfolio
Consume and produce information stored on the
blockchain
Interact with blockchain seamlessly by accessing
their account services
Use existing accounts verification by Bank A to
be eligible for offers provided by Bank B
Maintain privacy while preserving convenience
and ease
CustomersFinancial Services Providers
8. Decentralized Identity Management for Customers
Customers need to be in control of
their digital identity
Where their data physically resides
How personal information is shared
Leverage their data
❏ receive best offer at the right time
❏ simplify applying for new services
❏ maintain privacy
9.
10. Decentralized Identity Management: Financial
Services Benefits
Attract new customers
Respond quickly
Manage risk
Leverage partnerships
Base decisions on latest data
11. 2. Single transaction
created
3. Transactions
grouped in blocks
5. Block approved by
majority and pushed
to blockchain
4. All nodes listen for
new blocks and
approve
1. Customer logs
in to access
account and
shares digital
attributes
blockchain
accounts
profiles
transactions
customer
360
12. Blockchain Network
MongoDB Stitch - App
backend
MongoDB Atlas
Node
Bank
A
Bank
B
Node
Node
Node
Node
Node
Node User
A
User
A
Credentials/
Keys/Data
Credentials/
Keys/DataNotification
Majority
Credentials/
Keys/Data
Approve
Decentralized Identity Architecture
Bank
BBank
B
Credentials/
Keys/Data
14. Easy:
Any programming
language
Any data type or
model
Flexible:
Adapt in rapidly
changing
environment
Integrate across
existing data and
applications
Fast:
Scale with less code
Built-in distributed
features
Versatile:
Wide variety of data
access patterns
Build heterogeneous
blocks
Why MongoDB for Blockchain
16. Streamlines app development with
simple, secure access to data and
services from the client with less code
to write and no infrastructure to
manage.
Getting your apps to market faster
and reducing operational costs.
MongoDB Stitch Serverless Platform
17. Authentication
Authorization
Encryption
Auditability
Note on Established Security Practices
Network isolation and Peering
Role-based access control
Stitch Rules
Encryption in flight and at rest
Full database auditing
Stitch Logging
Strong passwords
2FA
LDAP integration
Stitch Flexible Auth Options
While security is being attributed to blockchain as
a core attribute, there are many vulnerabilities.
Established enterprise security practices apply
now more than ever.
19. Blockchain APIs
node / isNode
transactions/ populateUserInfo
approveByMajority
addBlock/validateBlock
blockchain
any information/action a user placed as a candidate for
blockchain data.
worker in the blockchain network, produces and signs
blocks / function to verify a certain node id is a valid node
groups all transactions in the next block and computed
the block hash/ validates that the proof-of-work is valid
verify that majority of currently active nodes have
approved the block
view which uses $graphLookup to traverse the chain
of blocks
21. How we built blockchain app with Stitch
Authentication
Rules
Functions
HTTP Services
22. MongoDB Stitch: Authentication
Anonymous Auth (Nodes)
Email/Password Auth (Client App)
We are using Authentication mechanisms for
the different parts of the system.
23. MongoDB Stitch: Rules
We are using rules to assure a
node can vote only once
We are using rules to validate
an inserted block
25. MongoDB Stitch: HTTPS Services
We are using HTTP service to identify user
IP details. Restricting it only for this provider.
26. MongoDB
Change Streams
receive real-time notifications on document changes based on
sophisticated aggregation pipelines.
nodes get notifications on pending blocks/user actions by
subscribing the collections via change streams
27. MongoDB
graphLookup
$graphLookup stage allows us to traverse a
collection by connecting the fields into a graph
we use this stage to define a blockchian view
to represent the full approved blockchain.
29. Digital Identity - Beyond Financial Services
Prevent praud
Limit control of entities /
groups
Enforce sustainability
Voting
Land Rights
Census / Services
Trace raw materials
Contain outbreaks
Enable certification
Supply Chain Government Food / Drug Safety
30. Why Build Blockchain Apps on MongoDB
stitch anonymous auth ++
changestreams listen for blocks to verify
flexible data model blockchain fields + user data
schema validation enforce specific fields
graphlookup traverse / analyze blockchain