A dispute resolution mechanism using UMA’s optimistic oracle
Raise Dispute
raiseDispute
function on DisputeModule.sol. This function will in turn call assertTruth
on UMA’s OptimisticOracleV3.sol
. To initiate a dispute the dispute initiator will need to post a bond of at least the minimum bond defined by UMA for the selected currency. Note that this bond will be lost if the dispute is deemed not verifiably correct by the oracle.getMinimumBond()
on
OptimisticOracleV3.sol
(OOV3), found on our aeneid
testnet
and
mainnet.(Optional) Dispute Assertion / Counter Dispute / Make Appeal
raiseDispute
call there is a period of time called “liveness” in which a counter dispute/appeal can be submitted. The liveness period is split in two parts: (i) the first part of the liveness period in which only the IP owner can counter dispute/appeal and (ii) a second part in which any address can counter dispute/appeal - which can be done by calling disputeAssertion
on ArbitrationPolicyUMA.sol
. To counter a dispute the caller will need to post a bond of the same amount and currency that was used by the dispute initiator when raising a dispute. Note that this bond will be lost if the original dispute is deemed to be verifiably correct by the oracle.After this step, the dispute is escalated and will be reviewed by external party UMA.(If step 2 happened) UMA Reviewers Judge the Dispute
Settle Assertion
settleAssertion
which in turn distributes the bonds back to the address that wins the dispute.settleAssertion
on UMA’s OptimisticOracleV3.sol
.settleAssertion
on UMA’s OptimisticOracleV3.sol
.Dispute Tag | Dispute Evidence Contents | Dispute review process (Human reviewer instructions) |
---|---|---|
IMPROPER_REGISTRATION | A. Showcase or pointer to the pre-existing IP that is being infringed upon by the disputed IP B. Proof of public display of the pre-existing IP at an earlier date than the infringing IP (onchain or offchain) and/or instructions on where/how to check it | 1. Check if the pre-existing is the same or very similar to the disputed IP using input A - Mickey Mouse with 1 pixel difference is an infringement - Mickey Mouse with a new hat is an infringement unless it’s a derivative of the original Mickey Mouse with an appropriate license 2. Check the registration date of the pre-existing IP using input B 3. Confirm that the disputed IP has a later registration date 4. Confirm that the disputed IP is not a derivative of the pre-existing IP |
IMPROPER_USAGE Examples (non-exhaustive): Territory, Channels of Distribution, Expiration, Irrevocable, Attribution, Derivatives, Limitations on Creation of Derivatives, Commercial Use, Sublicensable, Non-Transferable, Restriction on Cross-Platform Use | A. PIL term that has been violated B. Description of the violation C. Proof of the violation | 1. Read the associated PIL term description on the PIL license official document using input A 2. Read the violation description using input B 3. Decide on the veracity of the proof presented by checking on associated platforms when possible using input C |
IMPROPER_PAYMENT | A. Description of each payment the disputed IP received that should have been shared with its royalty vault and/or its ancestors but it were not B. Proof of those payments that were not properly shared as royalties | 1. Check veracity of the proof of payments by checking on the associated platforms when possible using input A and B 2. If proof of payments are deemed to be real, confirm that the payment has indeed not been made onchain by checking on the blockchain explorer. Payments should be made calling payRoyaltyOnBehalf() function on RoyaltyModule.sol smart contract. In addition, royalty payments must be made within 15 days of when the capital was originally received by the owner/IP who is paying those royalties. |
CONTENT_STANDARDS_VIOLATION No-Hate, Suitable-for-All-Ages, No-Drugs-or-Weapons, No-Pornography | A. The content standard point that has been violated B. Description of the violation C. Proof of violation | 1. Read the associated content standards description on the official content standards section in the PIL using input A 2. Read the violation description using input B 3. Decide on the veracity of the proof presented by checking on associated platforms when possible using input C |