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)

  • GroveDB (authenticated hierarchical storage backend enabling cryptographic proofs returned via DAPI)

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:

  1. State transitions are submitted to the platform via DAPI

  2. DAPI broadcasts state transitions to Tenderdash, which validates them and includes them in block proposals

  3. Valid state transitions are applied to the platform state

  4. The platform chain propagates a block containing the state transitions

  5. Receiving nodes update Drive data based on the valid state transitions in the block

Storing data in Drive

Storing data in Drive#