{"id":26323,"date":"2019-05-21T01:10:54","date_gmt":"2019-05-21T01:10:54","guid":{"rendered":"https:\/\/www2019.dash.org\/?p=26323"},"modified":"2022-11-30T08:51:00","modified_gmt":"2022-11-30T08:51:00","slug":"an-introduction-to-dash-platform-dapi-and-drive","status":"publish","type":"post","link":"https:\/\/www.dash.org\/news\/an-introduction-to-dash-platform-dapi-and-drive\/","title":{"rendered":"An Introduction to Dash Platform, DAPI, and Drive"},"content":{"rendered":"
\n
\n
\n

Following the open sourcing of Dash Core Group\u2019s (DCG) project repos, we are excited to provide the community and the general public with more insight into our product development. Before going further, I would like to provide background for our product thinking, through a high-level introduction to the Dash payments network and its vision for the future.<\/p>\n

Dash is a leading cryptocurrency and p2p network, allowing individuals to send money to anyone, anywhere, for a nominal network fee, typically less than one cent ($0.01 USD). DCG is one of the many organizations working on behalf of the Dash network. Our mission is to build the most user friendly payments network in the world. In that regard, our primary efforts have been focused on evolving our network technology and forging partnerships with organizations and businesses. Evolution, DCG\u2019s vision for upgrading the Dash network, involves several distinct initiatives including Core protocol upgrades and the development of the most user-friendly crypto wallet to date.<\/p>\n

In order to facilitate the development of this new wallet, as well as many other use cases, DCG is building Dash Platform, an application development platform leveraging Dash\u2019s masternode network and blockchain. Comprised of two main architectural components, Drive and DAPI, these components turn the Dash p2p network into a cloud, through which developers will be able to integrate their applications. For our MVP release, the platform will primarily act as a Database as a Service, using\u00a0data contracts<\/em>\u00a0to define custom data structures for applications, storing that application data on our masternode network, and notarizing that data via our blockchain.<\/p>\n

While still in active development, the DCG team is happy to invite the community to review our code, assess our security, and contribute toward our development as we progress toward our v1.0 release.<\/p>\n

Next, let\u2019s delve into the two main components comprising Dash Platform: Drive (decentralized storage) and DAPI (decentralized API). These reference implementations are written in Rust and Node.js.<\/p>\n

Drive, Decentralized Storage on the Dash Masternode Network<\/strong><\/p>\n

In order to integrate applications with Dash Platform, it is necessary for developers to create a data contract. This data contract will describe the data structures comprising their application. It\u2019s analogous to creating a database schema for a document-oriented database like MongoDB.<\/p>\n

Any data created by users of your application will be validated and verified against this contract. Upon successful validation\/verification, your application data will be uploaded to Drive, where it will be stored on our masternode network. In exchange for hosting this data, masternode owners will be compensated using fees charged to users, similar to traditional transaction fees. These fees will be based on user-requested data operations such as reading, writing, and storage duration. Our PoSe (proof-of-service) algorithm will be updated to keep track of whether masternodes are hosting Drive, thereby making them eligible for compensation in exchange for their service to the network.<\/p>\n

Data is uploaded to Drive via state transitions, which are special transactions that describe a transition in your application\u2019s state. A record of your application\u2019s state transitions is stored in Drive, allowing you to view your application data at different points in time. This provides potent functionality for use cases that require high levels of trust between multiple, independent parties. This functionality facilitates the access of records which are secured and verified according to our consensus protocol, rendering them auditable by any involved party. Some example use cases include chain-of-custody, digital rights management, supply chain, property records, and audit management.<\/p>\n