Dispute (Module)

The dispute module creates a way for users to raise and resolve disputes through arbitration. The main components of the arbitration system are:

  • Arbitration Policies: The arbitration policy refers to the set rules/process/entities that combined will decide on a dispute. For the beta version, the arbitration is made internally by the protocol team using commercially reasonable efforts depending on the demand with a fee refundable on the success of the dispute - just to exemplify the behavior. In future versions, different 3rd parties can integrate and provide arbitration services to users.
  • Arbitration Penalty: Currently an IP Asset that is tagged after a dispute judgement will not be able to mint licenses, all of its existing licenses become unusable and will not be able to link to any parents.
  • Tags: Tags refer to which "labels" can be applied to IP Assets in the protocol, such as "PLAGIARISM". The allowed tags are whitelisted by protocol governance.

Dispute Process Flow

Raise Dispute

The raiseDispute function is permissionless and allows any address to raise a dispute against any IP Asset registered on the protocol. The dispute initiator has to:

  • Select which "tag" it is raising a dispute on which will be applied to the IP Asset if the arbitration decision is positive
  • Submit the dispute evidence for evaluation
  • Other conditions custom to each arbitration policy - such as payment rules, etc.

Set Dispute Judgement

The setDisputeJudgement can only be called by whitelisted addresses and allows the caller to set the dispute judgment. Can only be called once as dispute decisions are immutable. If 3rd parties want to offer the possibility for recourse they can do so on their end and relay the final judgment.

Tag Derivative If Parent Infringed

If the setDisputeJudgement has tagged an IP as infringing then any address can call tagDerivativeIfParentInfringed to apply the same tag as the parent to the derivatives all the way down the derivative chain. The derivatives are tagged directly without any need for judgment given that it is considered that if a parent IP license has been infringed then all derivatives that come from that license are also implicitly in an infringement situation.

Below is an example - IPA 7 is first tagged ("PLAGIARISM") as infringing via setDisputeJudgement after having gone through a dispute process. Only after that can IPAs 3, 1, and 0 can be tagged via tagDerivativeIfParentInfringed by any address without needing to go through a new dispute process.

Resolve Dispute

There are two ways in which a tag can be applied and therefore resolved:

  1. Tag was applied via thesetDisputeJudgement function

In a case where a dispute judgment was positive, then a tag was applied. After the tag has been applied to an IP Asset, the dispute initiator can, if he/she believes the matter to be resolved and the tag to no longer apply, choose to remove it. For example, if one party owed money to the dispute initiator and paid the full amount after the dispute judgment then the tag could be cleared and the IP Asset would have a clean slate again.

If the dispute initiator chooses to not resolve, then the tag that was defined in setDisputeJudgement remains in force.

  1. Tag was applied via thetagDerivativeIfParentInfringed function

If an IP has been previously tagged as infringing via tagDerivativeIfParentInfringed - such tag can be removed via resolveDispute in a permissionless way as long as the parent is no longer considered an infringing IP Asset.
This mechanism of permissionless resolving disputes exists to make it easier to propagate down the derivative chain and remove infringement tags from derivative IPs when the parent has resolved its original dispute and is no longer considered as being in an infringing situation, and therefore neither are its derivatives.

If no address chooses to resolve, then the tag that was applied from the parent to the derivative remains in force.

Cancel Dispute

In a case where a dispute was raised but the matter has been resolved before the dispute judgment, the dispute initiator can cancel the dispute. However, depending on the conditions of each arbitration policy, there may be non-refundable fees that are not recouped on cancellation.