This content was deleted by the author. You can see it from Blockchain History logs.

Whom do we blame when things go wrong in a Dapp?


Another day, another blockchain arises. Dapps are the flavor of the year. New ICOs promise exciting revolutions in work, entertainment, finance, insurance, real estate, infrastructure, content publishing, construction and a lot more.

ATLANT threatens to create a gigantic peer to peer real estate market out of thin air. SALT wants to wipe out institutional lending. TenX wants to make companies like Thomas Cook an afterthought. Tutellus would have you believe that going to a university is passé.

The only thing I can think of when I am watching this endless stream of revolutionary offerings is where is the legal protection? Does any of this matter at all unless the user is protected? Decentralized apps are great to have and solve some very fundamental problems. But they also create new ones for as we all are aware, no system is perfect.

When something does not turn out as expected then who will we hold accountable? Will it be the entire community or will we have pre appointed guardians of the galaxy? Are there mechanisms to redress claims of inequity?

Just to be clear, these are not disagreements with the community. These are basic service breakdowns or even disruptions that could cause harm to the user.

Consider the Storj/SiaCoin as an example. They supply storage that is truly decentralized by using consumer PCs or servers across the world. They keep abundant replicas of your data that is sliced, encrypted and scattered everywhere. All of this comes without steep cost of ownership that most of the online storage providers suffer from. Even when several nodes are down, the software is smart enough to figure where your scattered pieces are and then put them back together before delivering your required file.

“All is well that ends well”, isn’t it? Here is a probable conversation between you and your storage provider:


You: Can I have the file ITR20180305.xls please? I tried to copy it over but nothing is happening.
Provider: Please wait… We are unable to retrieve your spreadsheet since many of our nodes are not cooperating and it looks like your file is not retrievable in the near future.
You: What! Wait, you told me this was not going to happen! This happens to be my income tax return which I absolutely need right now.
Provider: We are working on it and once we have consensus on what has happened we shall definitely revert back. Please be patient while we try and find your file in our daily snapshots, monthly backups, yearly archives, external vault and even our digital trash repositories.


At this point, most users who are part of the community will wait endlessly if required. Others however may not be so forgiving. They would want immediate redress. What do they do?

It is assumed that when we design our Dapp we have made what we think is the best possible set of decisions for the platform and for its users. Hence I am not talking about technology decisions taken but rather about the fallout from the failure of such decisions.

It is natural to think that a community will take care of its own. We can always join existing forums where this issue can be raised. There will be a lot of discussion about problems that can be avoided in the future. Some of the more smart developers will figure out a way (if you are lucky) to retrieve what you lost.

There will be people who will take up your case provided you vote for them in return. You could file a bug if you have the technical knowhow. Maybe the community compensates (unlikely) you with money or some tokens.

At some point of time all blockchain implementers have to realize that external legal recourse will be sought. Governments may be called in if the loss is too severe. Judges may have a say in how you can govern your community if they find sufficient reason. Transparency alone cannot atone.

If indeed someone wants to go through due process then whom does he/she file a case against? There are no directors in a DAO merely stakeholders whose value can go up/down based on how much they earn or offload. Consensus would have driven technology changes which in turn could have introduced regressions. Who will be held responsible?

One thing is clear that if the blockchain does not invest in redressing grievances, then external intervention will be a painful reality.

Don’t get me wrong, it is not like most blockchains are not aware. It is just that their focus is more on the primary use cases rather than grievance which has to be architected right at the inception. Everyone knows that all blockchains will have many audit tools like:

  • Block explorer which will allow us to list all transactions and their order of occurrence
  • Search tool enabling free text enquiries across transactions
  • Continuous monitoring tools that allow instant and proactive snooping of the transaction chain
  • Tools to explore users transactions between specified time windows

But is this really enough?


Let us understand a simple and straightforward flow in the grievance process and then apply ourselves to dealing with its implications:

Grievance block mining

We have two choices and each one is a little nasty. We can take the easy approach and treat grievance transactions just like any other. This means that it can be lumped with regular transactions into any block. Hence when a request is made to provide a complete audit trail, we will need to write special tools that extract all related transactions and create a timeline of events that correspond to the grievance.

The other option is to create a new block per grievance transaction. This block could have the set of all transactions belonging to one or more grievances files. This is very expensive to maintain and may necessitate the existence of nodes that run only the grievance mining protocol.

Caveat emptor; the choice is not always a design decision. It is driven by legal and jurisdictional compliance regulations.

Grievance verification

Any grievance that is filed needs to be verified that it is indeed a problem and hence demands special purpose tools that can verify automatically.

In Storj’s case, the tool might try to find all possible actions relating to the asset just to ensure that the user has not deleted the file and is now making a fraudulent claim.

However it does not end there as future inquiries will necessitate the involvement of humans who can attest to the actions taken. This means that it is necessary to appoint and collect signature of witnesses who can confirm the validity of the findings.

Witnesses are users who are automatically appointed by the system using a round robin algorithm to just confirm the grievance transaction after it has been validated by the nodes. So witnesses are users who will sign off on reports

A voting protocol for grievances

Once a grievance transaction is inserted into a block then the block must be broadcast so that other nodes can agree.

Nodes agree by validating the grievance report and running special tools that will verify grievance condition. One may very well ask why a separate protocol is required.

Imagine a rogue node that is raising grievances and falsifying grievance reports. Anyone can fabricate a grievance transaction but when multiple “good” nodes run the verification sequence, the event can be validated. This is another reason why external digital asset integration is required.

A voting protocol involves reaching consensus on broadcast of grievance transactions and may not be run by all nodes in a blockchain.

Digital assets and Audits

Pretty much standard fare for any organization, all forensic reports need to be stored with a guarantee of immutability. There is a lot of open source software that allow such repositories to be created. But the key is to ensure that the repository has cryptographic support for audit logins.


External agencies will need special audit user access so that the audits can be hassle free and tamper proof.

a special purpose audit protocol has to be created so that the Dapp can redirect all such requests to one or more pre-designated audit nodes.

Legal framework is a must

It is a fact that grievances may need legal handling in courts. But given that we don’t even know that jurisdiction that is applicable, we need to educate the users who sign up to understand the legal framework. The court of arbitration must be decided and shared with the community.

Legal staff must be permanently part of the community and they will need to be paid a retainer for their efforts. We also need to ensure that a voting majority is required to bring lawyers on board.

It is mandatory to ensure that users sign legally enforceable EULAs with extended arbitration rules.

Any legal case will be filed against the entire community and hence everyone will be penalized in some way or the other. The legality of such an adventure is still unclear at this time.

Legal fees need to be collected and dispensed

Every single transaction in the system must add legal fees based on the size of the transaction. This means that smart contracts must automatically deduct the required fees and credit it into a system wide legal wallet that will be used only for legal purposes. Transaction fees are for:

  • Every user who witnesses and validates a grievance transaction
  • Grievance block miners will collect fees for every block
  • Court fees that will eventually accrue
  • Damages that need to be paid for any settlement decided by the external arbitration agency
  • Retainers (if dedicated staff) for legal eagles

Now if you were to say that all of this is complicated and will completely slow down primary block processing, then I will totally agree with you!

Sidechains are the answer

Sidechains are extensions to the primary blockchain (a.k.a. Mainchain). It is meant to extend the Mainchain to provide additional functionality and privacy. Everything that I have spoken about above can be a part of the Sidechain. There are many advantages to this approach:

  1. Mainchain’s don’t have to rethink their architecture
  2. All legal activities as well as audit functionalities can be cordoned off from the Mainchain with minimum effort
  3. Legal framework can be operated as a separate Dapp by flowing money or tokens to/from the Mainchain
  4. Separate legal tokens will create a fixed non inflationary fund to be used for all legal activities

It is easy to understand why Sidechains are the perfect answer to our legal troubles. It also means that grievance handling is just a small part of the legal framework. Intellectual property that is generated in the community also needs to be protected.

So whatever you do, do not ignore grievance handling or better yet make sure you have a scalable legal framework that is clearly understood by all stakeholders. Use the transparency provided by the technology as a fundamental asset in facing any legal challenges.



Comments are welcome as always.