3

I try to design a DApp and I need some help regarding the architecture design.

My use case is a market place - where seller can sell their products and buyers can buy their products. The DApp should work fully decentralized. The marketplace should work on the mobile phone as an app.

The first elements is a app in the IOS and android store that’s clear for me. But where is the blockchain? Therefore, I read this article. It says that:

“This means, every person who wants to interact with a dapp (Decentralized Application) will need a full copy of the blockchain running on their computer/phone”

But what happened if I design the architecture in that what that a setup a central server where every IOS App connets and on this server there is running one instance of the blockchain.

Based on the user credentials (ID and Private Keys) the users can add some new information into the blockchain. The replication of the blockchain will be done by all other nodes (who are using for example Ethereum) and must not be done by “my” clients.

I know that this design is wrong and crosses the principles of blockchain and decentralisations but does it work? And what are the arguments against this design?

1

1 Answer 1

2

Besides your centralised architecture which requires full trust in your server, you have 2 options.

  1. light client (as 5chdn mentioned)
  2. client side wallet connecting to a node.

The 2nd design is not "wrong". While you service your clients with an own node, and arguably this node could fake some transactions in the short run, it is a good balance between trust and usability. MyEtherWallet uses exactly this design. Consider implementing an option to choose the address of the remote node and rely on services like Infura.io per default in order to assert the node is not in your control.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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