A statically generated progressive web application layer on top of an interoperable decentralized, replicated, authoritative global state machine with minimal trust between nodes would allow for the creation of a distributed enterprise sales and finance automation platform. Such a network would have many useful applications in eCommerce, finance, insurance, healthcare and more. We present Stateset, a distributed sales and finance automation network, and describe in detail how it achieves the goal of a globally distributed system shared between firms, providing a secure and state-of-the-art platform for managing sales and finance operations. Stateset is built on 10 fundamental technologies; Cosmos-SDK Blockchain Application Framework, a UTXO based State Machine, Tendermint BFT Consensus Engine, Trusted Executable Environments (TEE) for Private and Verifiable Computation, a Deterministic JVM (DJVM), IPFS for content addressed networking and storage, IBC for transport, authorization and ordering with other blockchain networks, Next.js React framework, Hasura GraphQL API Engine and Agoric.
Stateset is a next-generation, secure, sales and finance automation platform for the world. There will be a collective oneness for all businesses where contracts, assets, capital, transactions and messages can be securely transacted freely without intermediaries or enforcement agents. Our vision for the enterprise software, SaaS computing and financial services industry is there will be an interoperable network of blockchains using a composable set of distributed b2b business and financial workflows that have a shared common global view between organizations. In Stateset, data is owned by the customer and the business processes are shared between a global network of nodes transacting sale and finance information. Modules for different processes between counterparties are richly composable and distributed amongst a network of peers and nodes in the network. We exchange the paradigm of custom implemented and siloed workflows withing one organization for a new orchestrated, shared and agreed upon set of flows between nodes in a globally distributed network. We imagine entire value chains of trade partners onboarding into the network in groups of producers or consumers, lenders or merchants, brokers or providers, controllers or processors of data subjects; any form of party and counterparty. Robust data mapping has been built into the platform to ensure that these types of trade partners are using a platform the is logically centralized but organizationally decentralized across network participants. This is the natural progression of computing. Going from on-premise databases, to distributed cloud multi-tenant instances, to a completely decentralized global platform for business to business workflows involving sales, finance, back office and other key revenue driving processes. Stateset is the infrastructure for the future of this computing paradigm. There will be a network of interoperable economically incentivized blockchain networks; the cornerstone of the infrastructure of global economy over the next two decades.
Data and processes will be implemented upon multiple blockchain protocols that are local to specific regions but that interact with each other through the infrastructure layers. These sections will have their own form and order of transactions and be able to interchange assets with Stateset UTXOs leveraging the same replicated and highly available cluster of nodes communicating via ABCI. There will be an internet of blockchain nodes that are used for consumer and business applications built on many different blockchain core protocols. Stateset has delivered a structured format and set of workflows with deterministic transactions outputs for sales and finance automation that are traversable between the nodes at a point-to-point network layer. Stateset is going to displace legacy enterprise software, on-premise and cloud business solutions; with next-generation technology that is more secure and robust. It is built on state-of-the-art Byzantine Fault Tolerant engine and an enterprise-grade, distributed state machine. It will be a constant, an infrastructure and shared system of record network of nodes that are able to exchange assets, messages and other types of state and information securely and instantly across the globe. B2B Enterprise Applications B2B enterprise software for sales, service, marketing, finance, middle and back office functions; are mission-critical for revenue driving within an organization. This is the initial focus for workflows being built into Stateset. Stateset redesigns these b2b applications from first principles as a set of shared workflows between organizations. We have designed lead generation, lead sharing and lead management across organizations. Account and Contact management with robust Controller and Processor data mapping built in for GDPR and CCPA compliant data subject adherence and consumer data privacy. Contract management software for buy side and procurement as well as sell side contracts with shared execution logic between organizations. Case, Application, Contract, Invoice and Loan Lifecycle management using auto-executing and reconciliation free workflows across counterparties. Order Management across the entire value chain with auto-replenishment between vendors and merchants. Invoice and Billing Management with mitigation of counterparty risk related to non-payment and non-performance. Asset Management that is native to the ledger and no longer siloed within one organization. Documents are file storage that is content addressed and proxy re-encrypted for secure uploading and sharing with participants in a completely verifiable manner. Stateset is the future of b2b sales and finance software. Stateset has been developed from first principles for companies to run their mission critical revenue driving operations, accelerate working capital lifecycles and accelerate growth across their entire value chain. The following technologies are state-of-the art developments that are critical to the Stateset Network and Stateset Platform. Our mission is to create a fast, state-of-the-art user interface to access a network of organizations powered through a distributed b2b state machine for revenue driving sales and finance operations. The following are technologies used to accomplish the mission.
UTXOs, unspent transaction outputs, are one of the fundamental innovations by Satoshi Nakamoto when developing the Bitcoin Blockchain Network. Protocols such as CKB Nervos and Corda both leverage the UTXO model. Stateset is a distributed state machine built on the Corda Blockchain protocol that does not order all transactions as one single virtual execution that forms the blockchain; instead, it defines states and transactions, where every transaction consumes (multiple) states and produces a new state. In the Stateset Network the transactions are also validated and signed by a third-party notary node and replicated through a cluster of notaries nodes using Tendermint BFT and ABCI. The stateset can be thought of as the global set of UTXOs in Bitcoin, the global UTXO of cells in Nervos or the UTXOs of sales and finance automation states in Stateset Network.
Stateset at the infrastructure level is comprised of a distributed network of Corda Nodes used for business to business workflows. The network allows for net new nodes on the network to join and leave the network at will with unspent output recovery with other nodes in the network through the cluster of notary nodes. The Stateset Network is the authoritative, single state across multiple networks using a deterministic virtual machine. Stateset Network is logically centralized but organizationally decentralized across 1000’s of organizations around the world that are managing front, middle, back office and working capital lifecycles. The network leverages a thin waist and uniform peer-to-peer networking protocol for assimilation and standardization across the network. An organizations services on the network consists of the docker containers for user interface, Graphql engine, Spring REST service and each nodes PostgreSQL. Containers are provisioned using CodeShip and Terraform and are orchestrated using Kubernetes. Docker files are used to containerize the application as well as to update different services on the network. PostgreSQL is used as the underlying RDBMS. Known entities on the network will be identifiable on Stateset upon login and known entities on the network are able to be directly transacted with in a secure and privacy preserving manner. Nodes on the network are able to instantly communicate with other nodes on the network in real-time on a global transaction network that is secured and replicated in trusted executable environments. All of the business information that is executed will be the same shared business execution logic across same across every node in the network. Shared execution logic ensures that counterparties are viewing the same exact data when transacted with. There is not concept of global state but a set of peer-to-peer UTXO sets across a globally distributed network of a nodes. The UTXO sets are maintained between companies for post-contract and asset lifecycles and managing data mapping processes across organizations. Double spending of input states is prevented using a cluster of nodes using Tendermint BFT which communicate with the Stateset State Machine using ABCI (Application Blockchain Interface).
Stateset Notary Clusters
Notaries on the network leverage the Tendermint BFT algorithm for coming to consensus on the Stateset network. There are 7 notaries for every notary cluster in the Stateset network. The pluggable consensus is used as a replicated state machine for UTXO based consensus based on probability. Transactions that are occurring on the network have to choose a Notary before executed. Notary clusters relay the transaction as validating or non-validating notary nodes. ABCI is used to communicate the state machine workflows on the Stateset Network with the Notary Clusters using Tendermint BFT to reach consensus on the validity of transactions. The Notary Cluster keeps a running chain height on top of key value store that is highly available and globally distributed for notarization of transactions. The Stateset Notary Cluster prevents double spending of input states on the Stateset Network. Stateset workflows initiate the state changes and creates transactions outputs once signed and verified by the notary cluster. Each state points to a notary responsible for ensuring transaction uniqueness, i.e., that each state is consumed only once.
HSM and Key Management
Keys will be managed by the companies that are the legally known entity on the network. The Key Management is leveraging a HSM to secure the keys to sign messages on the network. The cryptographic operations that are performed by the HSM are key generation and signing. The private key material is stored in the HSM if the node is configured to use an HSM. The public keys are stored in the HSM (if configured for the node) and the respective key stores, which is the node key store for the node CA key and legal identity of the organization on the network. The certificate chain is stored there as well. The certificate chain is not stored in the HSM. Operations involving the private keys such as signature generation will be delegated by the node to the HSMs, while operations involving the public keys will be performed by the Stateset node. A Stateset node, including a notary node, must have all its keys in the same KeyStore or HSM. Splitting the keys across a combination of different key stores and HSMs is not supported.
Agents are unique to every known identity on the network. Based on what information it knows about the current state of the business, it will start business processes and flows on the network. The Stateset network will have agents living on the network that are instantiating flows between entities on the network. The agents will also be able to give the same answer to everyone across the network. The Agents will be operated via voice and text using a deep learning based Natural Language Understanding RNN. The latest advancements is using XLNet Autoregressive pretraining for language understanding. XLNet maximized sequence using all possible permutations of the factorization order. The factorization order is arbitrary and the target is ambiguous producing start of the art results. Data from the Stateset Network can be extracted from the PostgresDB and used for training data for the Stateset Agent. This will enhance the ability for the Agent to execute workflows on the network. The RNN is called upon via voice and text and the agents are able to traverse the different networks to execute transactions. The agents are able to effectively leverage the RPC calls on the network to configure parameters or metadata about the chain. A custom metadata page is accessible via the agents for updating the parameters of the network. The agents are leveraging natural language processing to perform intent and entity detection from a given utterance. The agents are stateless and query directly from the blockchain networks. Many abstractions of the agent will be available depending on the endpoints. One of the most anticipated endpoints will be audio that are calling to the agent to perform state changes on the network such as transactional operations and querying state from the blockchain networks. Other anticipated application will be voice usage in VR and AR systems to make wake call at which point the agent would be leveraged as a broker between the different API endpoints and chains.
SGX Nodes and Differential Privacy
Intel SGX will provide the trusted executable environment (TEE) for an encrypted ledger. Enclaves create a tamper-proofed space for programs to execute, so that they can process data without the owner of the physical hardware being able to inspect or interfere with it. This allows organizations to run computations without anyone having access to them creating powerful tool for solving problems involving multiple nodes in the network. Anywhere collaboration is needed but trust is expensive can benefit from enclave technology. TEEs also present the opportunity to integrate differential privacy on the Network of nodes performing privacy preserving analytics on the business network of nodes. Differential privacy with a Stateset node is implemented as an augmentation to the Corda Nodes SQL database used a ledger. This is attached to the Corda JVM is a parameter in the node configuration file and leveraged at the state layer. Leveraging queries to retrieve ledger states that have been recorded in the Stateset Nodes vaults. The state could include personal identifying information (PII) or other types of customer data that does not belong to the Node operator nor the owner of the node. Stateset allows for performing privacy preserving data analytics and machine learning on the Stateset Node is utilizing differential privacy on the SQL database that is used as the storage layer of the distributed business network.
Stateset Network Governance
Governance of the Stateset Blockchain Network will be done on chain using the modules given by the Cosmos-SDK. This includes all upgrades across the network for platform versioning. These include governing limits associated with max transactions and message sizes and the computation that occurs across the network. Governance also includes the acutal core committers to the codebase and the ownership of the technology. The Stateset Network is Open Source Software licensed under Apache 2. This means that developers can contribute to the opensource version of the protocol.
Stateset Network DevOps
Stateset uses continuous integration / continuous deployment using CodeShip, Terraform, and Kubernetes Engine on Google Cloud Platform (GCP). The Terraform Provider for Stateset deploys the Hasura instance with a Cloud SQL Database Proxy Container connecting to the Postgres Database running on Cloud SQL. On net new customer sign up; a terraform script is called upon and deploys the entire stack of containers in gke with a prefix dependent on the customer’s nodeName. Docker Containers and Docker Compose can also be used to standup initial networks. Consul is used for service mesh networking and service registry discovery for the Stateset Network. 3 Consul Servers are used to manage agents that are sidecars for services running on the Stateset Network. These agents are able to broker message back to the Server cluster which uses Raft consensus to come to a single source of truth on the services that are running on the network. Kubernetes on GKE with Consul based mesh networking provides visibility into the network infrastructure and services that are running.
Virtual/Augmented Reality Interface
VR/AR will be used as a graphical user interface and input layer for interacting with Stateset. Stateset leverages virtual and augmented reality headsets as well as Augmented Reality from mobile devices to interact with the Stateset network. The primary input mechanism is voice leveraging Natural Language Processing to activate flows on the network. The flows are leveraged to make state changes across the Stateset network. Hololens will be used as an interface into the ledger specifically how to visualize the current state of the contracts that have been deployed on the network. The ability to see the transactions that have occurred in a simple interface that multiple companies can operate on is essential.
Plaid is being used for our allowing our customers to securely connect their bank accounts to the Stateset Platform. Stateset uses Plaid for its underwriting models and for connecting our merchants and lenders bank accounts to the Stateset Network. This is to create an access token that allows us to generate a report that is used by the lender to review account holder information, assets and other transaction history. Plaid is a core component of the finance automation component and working capital automation of the Stateset Network. Combined with the Stateset Network, it allows us to have access to not only provide financial data but eventually service the loans and credit or debits accounts accordingly. The buyer, the seller and the lender compare the receivable details, approve the transaction, change records of ownership, and arrange for the transfer of cash. All three parties will be part of nodes on the network.
Next.js and GraphQL
Agoric Smart Contracts
We have proposed a system for distributed sales and finance automation workflows without relying on a single cloud based multi-tenant entity. We started with the usual framework of enterprise processes within a company related to revenue driving applications but is incomplete without a way to share state and the business process between different organizations in the value chain. To solve this, we proposed a peer-to-peer network of nodes that are able to use a flow framework for b2b transactions that are notarized using Tendermint BFT to record a history of all transactions that quickly is replicated across a cluster of notary nodes. This creates an authoritative shared system between organizations around the world for sales, finance and commerce.