Features and Concepts
Splinter allows the same network to do two-party private communication, multi-party private communication, and network-wide multi-party shared state, all managed with consensus. A Splinter network enables multi-party or two-party private conversations between nodes using circuits and services.
- 
    A node is the foundational runtime that allows an organization to participate in the network. 
- 
    A circuit is a virtual network within the broader Splinter network that safely and securely enforces prvacy scope boundaries. 
- 
    A service is an endpoint within a circuit that sends and receives private messages. 
A Splinter application provides a set of distributed services that can communicate with each other across a Splinter circuit.
Designed for privacy
The key concepts of Splinter are fundamentally anchored to privacy.
- 
    Circuits define scope and visibility domains. 
- 
    Shared state, a database updated by smart contracts, is visible only to the services within a circuit. 
Distributed and flexible
Splinter works across a network.
- 
    State agreement is achieved via the Merkle-radix tree in Transact, allowing multiple services to prove they have the same data down to the last bit, cryptographically. 
- 
    Consensus is provided for creating real distributed applications. Splinter currently includes two-phase commit for 2- or 3-party conversations. 
- 
    Connections are dynamically constructed between nodes as circuits are created. 
Agile with smart contracts
- 
    Smart contracts capture business logic for processing transactions. 
- 
    Runtime deployment of smart contracts means no need to upgrade the Splinter software stack to add business logic. 
- 
    Sandboxed WebAssembly smart contracts keep the network safe and ensure determinism. 
- 
    Scabbard, an out-of-the-box Splinter service that runs Sawtooth Sabre smart contracts across nodes, coordinated with consensus. 
Designed for applications
- 
    State delta export allows an application to materialize the Merkle-radix tree database to another database such as PostgreSQL. Applications can read from the materialized database (just like any other web application). 
- 
    Admin services provide applications with a REST API to dynamically create new circuits, based on business need. 
- 
    Authorization for circuit management can be delegated to application code and defined by business policies.