What are Dapps?
A frontend user interface and a smart contract are both components of a decentralised application (dapp), which is a programme created on a decentralised network. Your dapp can even incorporate a smart contract that someone else has created because smart contracts on the QI Blockchain are transparent and accessible, much like open APIs.
Learn about the fundamentals of blockchain technology and the decentralised nature of the QI Blockchain network before diving into the world of dapps.
A dApp is a decentralized application that runs on a distributed ledger, such as a blockchain. Unlike traditional apps, which rely on a central server, dApps are powered by a peer-to-peer network. This decentralized structure offers several advantages, including improved security and transparency.
- Decentralised - dApps run on QI Blockchain, an open, public, decentralised platform that is not controlled by any one entity or group.
- Deterministic - dApps serve the same purpose no matter what environment they are executed in.
- Turing complete - dApps can carry out any activity if they have the necessary resources.
- Isolated - dApps are run in a virtual environment called the Ethereum Virtual Machine so that if a smart contract has a problem, it won't interfere with the blockchain network's regular operation.
In order to introduce dapps, smart contracts—the backend of a dapp, for lack of a better term—must be introduced. Visit our section on smart contracts for a thorough description.
A smart contract is a piece of code that operates exactly as intended and is stored on the QI Blockchain. Once implemented on the network, smart contracts cannot be changed. Dapps can be decentralised because the logic spelt forth in the contract, not a person or organisation, governs them. This also implies you need to draught your contracts very carefully and test them thoroughly.
- Zero downtime – The network as a whole will always be able to serve users trying to engage with the smart contract once it has been placed on the blockchain. Therefore, malicious actors are unable to conduct denial-of-service attacks against individual dapps.
- Privacy – A real-world identity is not required in order to use or deploy a dapp.
- Resistance to censorship – Users cannot be prevented from submitting transactions, establishing dapps, or reading data from the blockchain by a single entity on the network.
- Complete data integrity – Cryptographic primitives provide for the immutability and irrefutability of data recorded on the blockchain. Malicious actors are unable to alter transactions or other data that has already been made available to the public.
- Trustless computation/verifiable behaviour – Without the need to rely on a centralised authority, smart contracts can be analysed and are guaranteed to execute in predictable ways. This is not the case with traditional models; for instance, while using online banking services, we must have faith that financial companies won't mishandle our personal information, falsify records, or experience a hack.
- Maintenance – dApps can be more difficult to maintain since it is more difficult to change the code and data that is published on the blockchain. Once a dapp (or the underlying data stored by a dapp) is launched, it might be challenging for developers to update it, even if defects or security threats are found in an older version.
- Performance overhead – Scaling is quite challenging, and there is a significant performance overhead. Every node processes and saves every transaction in order to reach the degree of security, integrity, transparency, and dependability that QI Blockchain strives for. Additionally, the proof-of-work process takes time. Back of the envelope math estimates the overhead at approximately 1,000,000x that of the current standard compute.
- Network congestion – The entire network experiences a lag when one dapp consumes excessive amounts of processing resources. If transactions are put in quicker than the network can currently handle (15–20 transactions per second), the number of unconfirmed transactions will quickly increase.
- User experience – Because the typical end user might find it too challenging to set up the tool stack required to connect with the blockchain in a properly safe manner, it might be more difficult to design user-friendly experiences.
- Centralisation – On top of the QI Blockchain's basic layer, user- and developer-friendly solutions may ultimately resemble centralised systems. Such services might, for instance, conduct critical business logic on a centralised server before writing to the blockchain, offer a frontend using a centralised server, or store keys or other sensitive information there. Many, if not all, of blockchain's advantages over the conventional approach, are eliminated by centralised control.