Skip to content

PreciDatos use cases

Barnabé Monnot edited this page Nov 28, 2019 · 3 revisions

Incentivising increased commitment

Verified reports generated via PreciDatos can be checked against company commitments. We may want to reward implementing commitments the way we reward good data reporting: companies put up a stake which is returned back with interests for fulfillment.

An aside - Kickback mechanism

Kickback is an Ethereum application to incentivise specific commitments. Meetups are the bread and butter of the crypto ecosystem, yet many participants RSVP but do not show up eventually. This creates pressure on the meetup organisers to cater for a larger number of attendees while the real number of attendees is uncertain.

This issue is solved by asking each participant to deposit a small stake, e.g. 0.1 ETH, prior to the event. Assuming 100 participants sign up, the total deposit is 10 ETH. Say 50 of them do not show up, flagging their addresses as not physically verified by the meetup organisers. Attendees who checked in are able to share the wealth of those who didn’t, leaving 0.1 ETH richer than they came in.

A similar mechanism could be implemented to motivate actors to fulfill their commitments, with successful actors rewarded from the stake of unsuccessful ones.

Payment rules

Companies participating in a consortium, in the system described as is are incentivised directly proportional to the work that has been done. A linear scale, while simple to implement and reason about, does little to incentivise increased commitments or higher targets.

Thus consortia which desire their members to increase their commitments might do well alter their payment calculation rules to incorporate some form of target based or commitment based bonus tier.

As with the previous section, the exact design of these incentivisation structures are left as a discussion for the readers and implementers of this system, as different specific will work for different consortia, and different industries.

Solar Energy Production

For the purposes of this hackathon, we have implemented a simple proof of concept. We use as an example a solar energy farm which is required to report its daily power production. We also assume that this farm is a corporation with 5 executives.

Each executive registers their cryptographic identity into an Ethereum smart contract (based on Semaphore, a zero-knowledge signalling gadget), so that anyone can anonymously prove their membership in the set and broadcast a whistleblowing signal.

We then simulate the following process of the company reporting data, along with a deposit, for five days in a row, and an executive anonymously blowing the whistle on data reported on the fifth day. This locks up part of the total deposit. After an investigation (outside the system), an investigator then seizes part of the total amount deposited, and rewards part of the seized funds to a separate address specified by the whistleblower when she blew the whistle earlier.

  1. On day 1, the solar farm publishes their true power readings on a smart contract and deposits 0.1 ETH along with the data.
  2. The solar farm does the same for days 2, 3, and 4.
  3. On day 5, however, the solar farm reports false power readings.
  4. Alice, an executive in the corporation, decides to blow the whistle on this false reading. She produces a zero-knowledge proof of her membership in the set of executives, states that the readings of day 5 are fraudulent, and publishes it. Most importantly, the proof does not reveal Alice’s identity.
  5. The smart contract locks up 0.2 ETH of deposits pending the results of an external investigation.
  6. We assume that the investigator is a trusted third party. They hold the administrative private key with which they can unlock the farm’s deposit, or trigger the confiscation of said funds. Alice is rewarded a portion of the deposit for correctly whistleblowing, with this portion determined by the rules agreed upon, and saved in the smart contract. In this demo, she is rewarded 0.1 ETH. For the sake of anonymity, we assume that her payout address, specified along with the zero-knowledge proof, is unlinked to the address used to register her identity.

For the sake of simplicity, we have not implemented features which would be crucial to the security of the system. A more sophisticated system would:

  1. Require that the whistleblower’s payout address be part of the signal, so that without the whistleblower’s private key, an attacker cannot substitute their own address and frontrun the transaction.
  2. Use a multi-party computation ceremony to securely generate the proving and verifying keys for the zk-SNARK.
  3. Require whistleblowers to deposit funds along with each proof as a bond which the investigator may seize if they find evidence of a fraudulent report. This would disincentivise participants from making such reports.

Plastic cleanup: PreciDatos + subsidised climate activities

PreciDatos is designed to be a modular data reporting system. The following use case combines PreciDatos with an infrastructure paying for climate-friendly activities.

We have an organisation dedicated to cleaning up spaces from plastic (e.g., Ubin plastic cleanup). The government is offering to pay the organisation per amount of plastic removed, with the following incentives:

  • $x paid per ton of plastics removed
  • $y in fines levied per ton of plastics not removed but claimed fraudulently

The cleanup flow is as follows:

  1. Cleanup organisation uses PreciDatos to submit cleanup report.
  2. Data is checked with staked returned if all goes well.
  3. Cleanup organisation can claim funds for the cleanup.

Scenario 1: All actors act in good faith

  1. Organisation cleans up 100 tons of plastic
  2. Organisation reports 100 tons of plastic cleaned, and invoices for $x * 100
  3. Government pays the organisation $x * 100 - the full amount

Scenario 2: The organisation acts in bad faith

  1. Organisation cleans up 50 tons of plastic
  2. Organisation reports 100 tons of plastic cleaned, and invoices for $x * 100
  3. Government pays the organisation $x * 100 - and is thus defrauded by the organisation by $x * 50

Scenario 3: The government acts in bad faith

  1. Organisation cleans up 100 tons of plastic
  2. Organisation reports 100 tons of plastic cleaned, and invoices for $x * 100
  3. Government pays the organisation $x * 50 - and is thus defrauding the organisation by $x * 50

In these scenarios, what is evident is that there needs to be some checks and balances.

  • A means for the organisation’s reported amount to be challenged
  • A means for the organisation to prove its reported amount