Drive#
Overview#
Using the traditional, layer 1 blockchain for data storage is widely known to be expensive and inefficient. Consequently, data for Dash Platform applications is stored in Drive, a layer 2 component that provides decentralized storage hosted by masternodes. As data changes over time, Drive maintains a record of the current state of each item to support easy retrieval using DAPI.
Details#
Drive Components#
There are a number of components working together to facilitate Drive’s overall functionality. These components are listed below along with a brief description of service they provide:
Platform chain (orders state transitions; creates and propagates blocks of state transitions)
Platform state machine (validates data against the Dash platform protocol; applies data to state and storage)
Platform state (represents current data)
Storage (record of state transitions)
Data Update Process#
The process of adding or updating data in Drive consists of several steps to ensure data is validated, propagated, and stored properly. This description provides a simplified overview of the process:
State transitions are submitted to the platform via DAPI
DAPI sends the state transitions to the platform chain where they are validated, ordered, and committed to a block
Valid state transitions are applied to the platform state
The platform chain propagates a block containing the state transitions
Receiving nodes update Drive data based on the valid state transitions in the block