We’re releasing the biggest release in Dash’s history, the Evolution platform.
What started as a simple vision for blockchain-level usernames and contact lists back in 2015 has evolved into a much more ambitious project. In order to properly fill in all the missing gaps around decentralized money, we had to dive into decentralized data as well. Now, after many years, we’re finally releasing the first great step in fulfilling this vision: the Genesis release.
So what is Dash Evolution?
Evolution is a first-of-its-kind decentralized application platform that lets you build apps on fast, easy and reliable access to decentralized data.
More specifically, Evolution is a platform for executing data contracts. These write data to indexed and queryable decentralized storage. A sidechain run by the same nodes as run the main chain processes data transactions, while the network’s decentralized API allows anyone to access that data on demand.
It’s ideal for any app where you want to store data in a decentralized way, and quickly search and access exactly the piece of data you need. Some of these might include accounting software, merchant maps, social media, really anything where you need to store data in a decentralized, censorship-resistant way, and where you can easily call up exactly the data you need, exactly when you need it.
This is a very ambitious project. This isn’t just adding a new feature set to Dash, but rather is launching an entirely new and radically different blockchain network that interfaces with the legacy Dash network.
STRUCTURE
Let’s break down the structure of the Evolution platform.
Evolution is run by validator nodes called Evolution Masternodes (EvoNodes), a special kind of masternode that runs both Core (the regular Dash payments chain) and Platform (Evolution). It’s comprised of four major elements:
- Platform chain
- Data contracts
- Data storage
- DAPI
Platform Chain
The Platform Chain is a sidechain that, as mentioned above, is run by EvoNodes, which also secure the legacy Dash chain. It uses the account-based model (single addresses have balances), as opposed to the UTXO model (multiple addresses hold coins, or UTXOs) of the Core chain. It uses a heavily-modified derivative of Tendermint (Cosmos) consensus called Tenderdash. The main differences between Tenderdash and Tendermint are that Dash’s version has same-block execution, meaning you don’t have to wait for the next block after writing new data in order to query it. It also uses a rotating quorum, or subset, of validators (Scalable Byzantine Fault Tolerance or sBFT) instead of using all the validators concurrently (Practical Byzantine Fault Tolerance or pBFT).
Users register identities on Platform in order to use the chain, which are then associated with their private keys on the Core chain. They use these to receive and use Credits, which are Dash equivalents on the Platform chain. Credits are minted when they’re bridged from the main Dash chain. The Dash is locked via an asset lock in order to mint the equivalent amount of Credits, and then burned when the Dash on the main chain is redeemed. The chain is validated by EvoNodes, with quorum signatures being written to the Core chain, thereby benefiting from the security of the Core chain as well. Users use credits to pay fees to process state transitions, as well as store data.
Data Contracts
Evolution executes data contracts to the network. A data contract is a database schema which specifies how data is written to the Evolution platform. Data contracts are associated with owner identities, and state transitions on the Platform chain execute them to write documents, which are stored in Dash’s storage mechanism. A developer registers the data contract via state transition, and users then access and in turn use state transitions to write their own resulting documents. Contracts can be modified by the owner in certain backwards-compatible ways such as adding new documents and optional properties, adding non-unique indices, and so on. They can optionally include a contract revision history. Documents can be created, replaced, and deleted from storage by their owner.
Data Storage
Evolution stores decentralized data from data contracts in a multi-layered, indexed, and highly-queryable database system, mainly: Drive, GroveDB, and RocksDB. Drive essentially tells the network to insert/store a given document, while GroveDB sorts it into a particular reference/subtree/etc., and RocksDB stores the key-value mapping (i.e. “name = evan”). It’s a much more thoroughly-developed data storage solution than many alternatives, and is optimized to be indexed and able to be quickly queried in a decentralized and provable way. This is an abbreviated version, and more in-depth information on the subject can be found in the developer documentation.
DAPI
DAPI, or the Decentralized API, is how users and developers communicate with the Dash blockchain. It allows users to interface with both the Core and Platform chains, directly with the network itself, without having to run a full node. This significantly cuts down on infrastructure costs for interfacing with the decentralized network, and also cuts out the need for a trusted third-party service to run nodes on the user’s behalf.
WHAT CAN YOU DO WITH DASH EVOLUTION?
As mentioned above, Evolution is a platform of executing data contracts to write to, and access from, decentralized storage. But what is it actually good for? Why did we build it in the first place?
There are endless use cases for Evolution; however, the initial, foundational two applications/data contracts are DPNS and Dashpay.
DPNS
DPNS, or the Dash Platform Name Service, is a naming service for identities. Essentially, it allows users to associate certain human-readable usernames with their identities for easy lookup and display. This is the foundation for other contracts such as DashPay which facilitate interactions and payments between users. A username is registered and associated with an identity, which can then be interacted with via username.
DashPay
DashPay is a payment app contract which allows users to easily exchange payments. It interfaces with DPNS for username lookup, then allows identities to form connections with each other. Once a connection is formed, encrypted extended public keys are shared between the new contacts, so that payment information can be exchanged in a fully-private and encrypted way without exposing public keys. The relationship between the contacts is tracked internally so that each has a record of payments to and from the other. If a user device is lost, via recovery phrase they may recover not only their funds, but their username, contacts, and history with their contacts. This re-creates the modern payment experience in a fully decentralized and trust-minimized way, and without exposing sensitive payment details to the public blockchain.
WHY USE DASH EVOLUTION?
A user will want to use Dash because they are able to enjoy a much easier and more intuitive payment experience thanks to DPNS and DashPay, all privately and without trusting a centralized third party such as a company which could lose or sell their data, or which could be shut down or censor them. Users will also want to use apps built on Dash because they can truly own their own data: when interacting with data contracts, their resulting data stored by the Dash network will be owned by them. Their data stays with them, even if the application they were using shuts down. We believe this is a major incentive to use apps built on Dash over legacy apps. Each new app built adds more utility to a user registering an identity and owning their own data. We eventually envision a single “login with Dash” function where users are able to completely wean themselves off of trusting their data and credentials to legacy centralized companies, and can simply tap into a unified decentralized network instead.
A developer will want to develop on Dash because they can easily build a legacy Web2-style app in familiar languages such as JavaScript, easily read write data to the network without needing to run a node or pay for an infrastructure provider, and pay as they go for data storage on an immutable network that can’t be shut down, and that they can modify if need be. Their data can be easily queried and accessed on-demand. They essentially can build on the familiarity, performance, and ease of use of legacy systems, combined with the immutability, decentralization, and universal access of blockchain.
The Genesis release includes all of the above-mentioned functionality, plus non-fungible token (NFT) support. Immediately after release we will be focusing on improving network stability and launching DPNS and DashPay, after which we will focus on enabling credit withdrawals for EvoNodes, fungible token support, and throughput improvements.
We’re incredibly excited about this release, nine years in the making since its initial conception, and can’t wait to see developers and users building the decentralized futures on Dash.
The Evolution of money and data is here.
If you would like to start building on Evolution, please fill out this questionnaire.
Awesome article and achievement by Dash. Would love a collaboration between Dash and Hive. A match i heaven!
We're working on it!
This is amazing.
i love the structure of Dash evolution. Hopefully, in the nearest future, there wil be a colab with hive.
Yes, we're actively working on it. We'll see some cool things soon!
!luv
@dashpay, @nwothini335(4/10) sent you LUV. | tools | discord | community | HiveWiki | <>< daily
Upvoted, and reblogged to get the word out that dash is back on Hive.
I feel a post coming. :)
Cheers!
Thanks very much!
Your welcome
Congratulations @dashpay! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)
Your next target is to reach 9000 upvotes.
Your next target is to reach 100 comments.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out our last posts:
Sounds like a lot of work and planning has gone into this latest evolution of dash.
As one of the OG chains and one with an actual purpose and community behind it i think it's great that your still innovating and trying to fulfil that original promise.
I'll be keeping an eye out for future updates and see is there anywhere that i can jump in and start exploring.
For sure! Pay attention to next week when we're adding username creation to the wallets. Definitely want to register your Dash username to pair with the Hive one.
Absolutely. I've held my username across every platform so far. I'll want it on dash as well.
Awesome!
Well , mostly way over my head, but worthy of a second read.
Yes, it's a big achievement, most of the space won't understand how important it is until later.
Basically, we have a data network that can write decentralized data that anyone can INSTANTLY write and access EXACTLY the piece they want, without having to run a node or an indexer (two things that cost a lot and introduce trust elements to the system).
We're making a video series soon, it'll be on 3speak (and of course here).
Wow!
Thanks for the explanation
I look forward to hearing more from Dash here.