I am relatively new to the blockchain technology. I understood that DApps have some advantage over regular web apps such as no payment services as paypal are needed, no login is required etc.

However, since you have to pay for every logic that is executed in the blockchain, isn't it much more expensive to base a project on a DApp compared to a regular web app? Is it worth the extra costs?


Thank you for the thorough answers which helped me a lot in understanding the topic.


Yes, it is worth developing DApps. I will reason on that in the following.

Operating infrastructure is never free. Even when services on the internet are offered for free, there is someone who pays for the cost for providing the service. The reason why a service is still offered for free is that while you use the service, you give something that is worth more than what you get. In many cases it's the data you create or offer, which can be used to gain revenue. This way, the overall business case works, even though the service seems to be "free".

The difference with blockchain applications is that the cost of operating the infrastructure is not hidden but becomes visible from the first moment. It's hard to say if blockchain is more expensive than legacy technology.

However, comparing the costs is not the point, given the opportunities and fundamental changes blockchain technology brings. And this actually answers your question: Yes, it is worth developing DApps, since it enables you to use the advantages and opportunities that blockchain technologies brings, which are huge and capable of bringing fundamental change to technology and society.

In the future, the business model we have with today's successful internet business will become present also for applications based on blockchain technology. So also in the blockchain field, access to the application will be offered for free to improve user experience, while the application generates sufficient profit to cover infrastructure operating costs.


Blockchain is not only related to costs. It is, in my humble opinion, good because it brings decentralization to the system. For example, a tollway system that is using blockchain would have more transparency if it uses only cash. With blockchain, users would know how much is the road revenue, for example. You may find more info here about decentralization and here you can watch Vinay Gupta talking about promise of blockchain. I hope it helps.


You do not need to use the blockchain for every operation you do. Actually, you should avoid to interact with it as much as possible.

Imagine you want to do an ethereum chess game (winner wins monney). The naive way to do so is to implement all the logic of a chess game in a smart contract, but it will be very expensive.

A better way to do so is as follows:

Player A and Player B decide (out chain) to play a game where the winner wins w. They both commit a sufficient amount of money M = c + w/2 where c will be define later (so the smart contract has 2M = 2c+w ethers). They play off chain, but each of them signs his messages.

So at the end of the game, say A won and B lost. The contract has to be as follows: if B accepts his defeat, he get c and A gets c + w. if B and A both claim they won, then A has a proof of victory (the authenticated exchange with B) so A can use this proof and : A gets w + 2c - verification cost (the - verification cost comes from the fact he has to pay for the gas). B gets 0.

So we should define c as "max verification cost". This way, the logic is on chain if you need it, but there is a strong incentive not to use it and in almost every case it is cheap.

My point is: logic on chain can be expensive, but you do not necessary need to use a lot of it. And then, you and your user get the decentralization security.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.