A Guideline to Gorgias to to Re:amaze Data Migration
Coco Framework Overview
1. Maturity Level 3
Phone: 202-659-2807
Fax: 202-659-2810
info@goADSI.com
www.goADSI.com
Aligned Development
Strategies, Inc.
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com
3. Maturity Level 3
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 3
What is a blockchain?
A "blockchain" is generally a decentralized, distributed, append-only ledger
for storing information with a defined consensus mechanism for
committing the system state.
Terms of Use
Central Admin
End Users
DB
DB
DB
DB
DB
“blockchain”
4. Maturity Level 3
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 4
What is distributed ledger technology?
Blockchain
“smart
contracts”
Distributed Ledger
Technology (DLT)
5. Maturity Level 3
What is the relevancy of cryptocurrency and blockchain to the
enterprise?
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 5
Implementation
Design Principles
Instance
Distributed, Peer-to-Peer,“Trustless”
vs.“Trusted”, Immutable
Bitcoin, Ethereum Virtual Machine,
Hyperledger Fabric
Ethereum Main-Net, etc.
6. Maturity Level 3
What is the relevancy of cryptocurrency and blockchain to the
enterprise?
Public Blockchain
• Incentivized by a
cryptocurrency to ensure there
is a will to reach consensus
• Data is stored “in the clear”
and publicly accessible
• Governance is rarely
centralized and membership is
open
Enterprise Blockchain
• Instances have trusted nodes
• Membership and participation
is restricted
• Work to solve a pertinent
business challenge
• Backed by large vendors:
Microsoft, Hyperledger, AWS
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 6
8. Maturity Level 3
Obstacles
• Despite the promise of DLT it was clear that:
• Time to deployment for a proof of concept was too long
• Public blockchains did not have enterprise considerations built in (e.g.,
role based access control, fine tuned confidentiality, etc.)
• Transaction processing was too slow
• Integrating with existing tools was a custom challenge
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 8
9. Maturity Level 3
Obstacles
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 9
Scalability Confidentiality Governance
How to make
an enterprise
DLT transact at
near database
speeds?
How can we
write contracts
in Solidity, but
leverage
enterprise
authentication
policies?
How can we
agree on the
rules of our DLT
implementation?
10. Maturity Level 3
COCO Framework
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 10
11. Maturity Level 3
What is it?
• An infrastructure framework that relies on Trusted Execution
Environments (TEE) to enable the following assumption:
Actors may not be completely trusted, but their nodes are trusted to
execute known code thereby creating a fully trusted network
Eliminates Byzantine Generals problem.
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 11
12. Maturity Level 3
What is it?
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 12
Trusted Execution Environment (TEE)
COCO Framework
Ethereum Quorum Corda Hyperledger
Distributed Application
13. Maturity Level 3
What is the separation of functions?
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 13
App-to-Node Confidentiality
Governance
Node-to-Node
Consensus Ledger
Persistence
Transaction
Processing
Virtual
Machine
Distributed
Ledger Model
Embedded
Blockchain
model
COCO
14. Maturity Level 3
Actors and Identity
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 14
Network Members Participants End Users
• Define network policies
• Define network
membership
• Define code executed in
the TEE
• Define initial configuration
• Have Voting Rights
• Ability to Restore Network
(if quorum reached)
• Operate VNs and Transact
on Network
• Own pk and sk
• Operate VNs and Transact
on Network
• Own pk and sk
• Interact with front end
system
• Request transactions be
completed on their behalf
• Authn and authz done by
Active Directory
15. Maturity Level 3
COCO Architecture
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 15
COCO
Interface
COCOCore
Persistent
Blockchain
State
Blockchain
Core +
Adapter
COCO
Configuration
State
Enclave in TEE
Validating Node
Application
Network
Member
16. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 16
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Azure Cloud
Bootstrapping
Member
17. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 17
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Bootstrapping
Member
Server/VM
Spins up
18. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 18
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Bootstrapping
Member
Server/VM
Installs COCO
integrated
blockchain core
19. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 19
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Bootstrapping
Member
Creates enclave
within TEE
Returns enclave
pk and
attestation
20. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 20
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Bootstrapping
Member
Upload
constitution
21. Maturity Level 3
Network Creation & Governance
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 21
Network
Constitution
• Membership List
• Code manifest
• TEE manifest
• VN list
• Voting policy
Bootstrapping
Member
Connect to Front
Ends
FE1
FEi
22. Maturity Level 3
Network Management
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 22
VN
VN
VN
VN
COCO
Member
COCO
Participant
My VN
follows your
constitution.
Mj
23. Maturity Level 3
Network Management
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 23
VN
VN
VN
VN
COCO
Member
COCO
Participant
I propose a
vote to add
Mj
Mj
24. Maturity Level 3
Transactions
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 24
Blockchain Core
Host
COCO
Blockchain
Adapter
Persistent
Replicated
Store
COCO State
Enclave
RPC Handler
DApp with COCO
RPC adapter
Enclave
Part
Host
Part
25. Maturity Level 3
Transactions
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 25
Blockchain Core
Host
COCO
Blockchain
Adapter
Persistent
Replicated
Store
COCO State
Enclave
RPC HandlerDApp with COCO
RPC adapter
Enclave
Part
26. Maturity Level 3
Transactions
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 26
Blockchain Core
Host
COCO
Blockchain
Adapter
Persistent
Replicated
Store
COCO State
Enclave
RPC HandlerDApp with COCO
RPC adapter
Enclave
Part
COCO VNs
27. Maturity Level 3
Consensus
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 27
In COCO all node execution is trusted, this simplifies the consensus
approach. There is no PoW/PoS required. Current implementations use
the Paxos algorithm1.
1http://lamport.azurewebsites.net/pubs/pubs.html#lamport-paxos
VN
VN
VN
VN
Leader Node
Submit Txns
28. Maturity Level 3
Consensus
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 28
In COCO all node execution is trusted, this simplifies the consensus
approach. There is no PoW/PoS required. Current implementations use
the Paxos algorithm1.
1http://lamport.azurewebsites.net/pubs/pubs.html#lamport-paxos
VN
VN
VN
VN
Leader Node
Process Txns
29. Maturity Level 3
Consensus
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 29
In COCO all node execution is trusted, this simplifies the consensus
approach. There is no PoW/PoS required. Current implementations use
the Paxos algorithm1.
1http://lamport.azurewebsites.net/pubs/pubs.html#lamport-paxos
VN
VN
VN
VN
Leader Node
Broadcast
Updated Store
30. Maturity Level 3
Consensus
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 30
COCO’s approach to TEE based trust does lead to some security compromises that
have known mitigations:
- Compile-time Techniques to mitigate the risk of bugs causing TEE failures.
- Minimize the trusted code base within the TEE (i.e., separate cryptographic
functions from blockchain protocol)
- Force VNs to periodically renew their membership
- Vary the consensus mechanism
31. Maturity Level 3
Summary
COCO is an infrastructure framework that relies on Trusted
Execution Environments (TEE) to enable the following assumption:
Actors may not be completely trusted, but their nodes are trusted to
execute known code thereby creating a fully trusted network
Eliminates Byzantine Generals problem.
Enables near database speed Txn throughput.
Allows Active Directory and Azure Service integration for distributed
applications.
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 31
32. Maturity Level 3
Thank you!
Questions?
1900 L St. NW Washington, D.C. 20036 | Aligned Development Strategies, Inc. | www.goADSI.com 32