“There’s An App For That™.”
Application software was nothing new in 2010, but thanks to developments in mobile phone operating systems, the ability for users to perform coordinated tasks or functions for their benefit was now always within reach: word processor, media player, photo editor, mobile game, web browser, etc. This allowed for developers to build and host their own software applications that could interface with smartphones’ mobile operating systems allowing their “App” to be run on the user’s mobile device while receiving permission to access and record users’ data. With the advent of blockchain technology, and the distributed computing platform powering it, this saying, popularized and trademarked, by Apple, a little less than a decade ago is in need of an “update”.
“There’s a DApp for that.”
A new wave of application software — Decentralized Applications or “DApps”- has emerged. Like any other App on a smartphone or desktop, DApps package together tasks or functions to be used for the benefit of the user. The fundamental differences between DAppss and Apps lie in the source powering the DApps processes, and the control of users’ data. Apps are centralized applications on a desktop, mobile device, or web browser, and rely on centralized resources for compute, storage, authentication and coordination operated by a centralized third party. Alternatively, DApps rely on distributed resources from a peer-to-peer network for compute, storage, authentication, and coordination. The level of separation between an App and a DApp is similar to the separation between a horse-drawn carriage and a car — they have four wheels and roll on a road, but other than that, they are completely different. Different propulsion, type of wheel, type of brake, type of cabin, materials of construction, and on and on.
In earlier posts, “Blockchain Vs Cryptocurrency” and “Cryptocurrency vs. Token, What’s the Difference?”, we covered the nuances between two different emergent technologies and their commonly mistaken relative: cryptocurrency. Now, we aim to show you how these two pieces of technology, blockchain and tokens, can be used in combination to power DApps.
So, DApps allow the use of applications without a centralized authority running the processes or owning the underlying data. The peer-to-peer network making this possible are the nodes processing new information onto the blockchain. Endless Dapp solutions are now possible through the autonomous claim settlement of smart-contracts paired with the storage, immutability, and trustless nature of the blockchain. The fuel that powers these smart contracts are tokens that were also created by a smart contract of the same programming language (Learn more about this in our future blog post “Smart-contracts and programming languages”).
Tokens are issued by a particular group on specified terms to be used within a system as a store of value. One example of this can be found by looking at the blockchain platform that has done for DApps what Apple did for Apps: Ethereum. Ethereum through its smart contract programming language, Solidity, has been a catalyst in the creation of DApps by allowing anyone who understands smart contracts the ability to issue tokens using their ERC-20 standard smart contract token creation template. Developers can easily create an ERC-20 token and distribute the token via smart contract over the Ethereum blockchain to users’ individual Ethereum wallet addresses. Token developers do this in exchange for the native token of the Ethereum blockchain, ETH, as a means of crowdfunding their application that will utilize the newly minted token.
Developers build DApps like a normal tech company would build an App, with the exception of using smart contracts to carry out the functional backend interactions between the user and the Dapp’s infrastructure. These smart contracts utilize the DApps native token in various ways to incentivize the blockchain node operators to continue to process the application’s functions and record the encrypted data to the blockchain. The way tokens are utilized within a DApp varies based on the developer’s plan, or the “tokenomics”. Some examples of different ways tokens can be used to interact within a DApp include providing permission to perform certain operations, granting access, rewarding interaction, controlling service delivery, storing value, tracking events, among others. For most use cases a token is required to be fungible, or replaceable with an identical copy, but that is not always the case.
There are also DApps that involve non-fungible tokens, where each token in the system is unique. This becomes wildly popular with CryptoKitties, an ethereum token that is based on the ERC-721 standard smart contract template for creating non-fungible tokens. In this particular DApp participants are rewarded with a unique token as a reward for interacting with the DApp’s smart contracts. Users purchase a “Cryptokitty” using ethereum via the DApp’s marketplace. Once the user receives their token they can now interact with the DApp by breeding their tokens, siring their token, or auctioning the token. When tokens interact with each other via the DApps breeding or siring smart contracts a new “cryptokitty” token is created from the interaction. All of this is recorded via smart contract to the Ethereum blockchain encrypting the data while allowing users to verify ownership of their non-fungible tokens, and using the blockchains native token, ETH, as the fee for Ethereum’s peer-to-peer shared computer resources for powering the DApp.
The Everest platform makes use of two DApps: the Everest DApp, for individuals, and Everest Agent DApp, for representatives of partner organizations. Both are based upon a cryptocurrency wallet for the Ethereum blockchain, and are powered by several smart contracts that provide the user with critical functionality required to be a participant/contributor in the global economy. Unlike other DApps, the DApps in the Everest system are powered by two blockchains, and utilize the user’s biometrics plus a password/PIN to secure and control the user’s data.
Everest also uses two tokens to interact with its DApps. The ID token grants different levels of permissions to the API. By using the API, institutions are able to make use of Everest Dapp’s smart contracts to fulfill functions/tasks critical to their operations like distributing resources to biometrically verified individuals. The CRDT token acts as a value-stable, fungible voucher that can be issued to track the distribution of resources using the DApps, smart contracts and EverChain transaction engine.
One example showcasing how both tokens are used within Everest’s DApps is Micro-finance. Through this example, individual users would search the DApp’s lender marketplace to be paired with a global market of competitive lenders. Users grant lenders access to specific identity data such as name, age, credit history, employment records, wallet contents, and/or any other relevant information needed or agreed upon by the lending and borrowing parties. When the user finds a lender that is offering a fair rate and requesting an acceptable amount of the user’s identity data, the user initiates a smart-contract sharing their data with the lender in exchange for a loan based in CRDT tokens. The initiation of this smart-contract triggers another smart-contract that validates that the user requesting the loan is the owner of that identity data, recording that validation in a block of the EverID blockchain. Once the identity is validated, then the user receives the loan, and the transaction between the user and lender is encrypted and recorded within a block of the EverChain blockchain. The lender is holding in their EverWallet the sum of ID tokens required so that they are included as an option in the marketplace, and another amount of ID tokens based on the amount of funds deployed and customers serviced via Everest. In this example, the ID token is serving two utilities: granting the lender access to the system, and providing the lender tiered permission to the functionality of the microfinance smart contract.
“Killer app,” is a marketing term referring to a software application so desirable that it increases the demand/value for the technology underlying the application: Blockchains existed pre-Bitcoin, and tokens existed pre-smart contract. As you have read above, blockchain paired with tokenization has allowed for the possibility of new applications not previously considered because of centralized limiting factors. These new applications, DApps, may be the ultimate “killer app,” as they are more resilient from attack, more secure for the user, and provide new capabilities not offered on platforms built in the 20th century. Everest hopes to be one of the future “Killer DApps,” by giving the entire world access to the global economy, and helping to bring the world’s attention to the power of blockchain, tokens, and DApps.
Go to https://Everest.org to learn more.