Collectors

Collectors are software or hardware tools that gather data from the digital or physical world, package it, and send it to subscribers.

The Oz Collector Factory contract is open source - to view the code, visit our GitHub repository: https://github.com/Oz-Security/oz-protocol

How Data is Shared

Data collection has four key steps:

  1. Gather data points from an authoritative source (web page, application, IoT sensor, etc)

  2. Structure data into a format defined by the collector contract

  3. Retrieve the list of subscribers from the Oz chain

  4. Send data to each subscriber on their subscriber list

Data Providers

Data providers are users who use a collector to gather and share data with their subscribers. To become a data provider, users must install or deploy a collector and hold the corresponding collector NFT.

Collector NFTs are used to whitelist data providers and track their reputation.

Fees

Subscription Fees

Application teams can subscribe to the data feeds provided by each collector. To ensure maximum control over the data received, application teams can choose which data providers to subscribe to for each collector type.

Developer Fee

Collector developers earn a portion of the subscription fee paid to every data provider using their collector. During the early phases of the protocol, we're working to discover the optimal value of the collector fees.

As of now, the recommended fee amount is 20% of the total subscription fee.

This fee is paid entirely to the collector developer.

Building your own collector

During testnet, collector development is permissioned. To start building your own collector, reach out to the Oz team. We'd be excited to help you set up and deploy your own collector to begin gathering and sharing data.

To implement a collector, you'll need the following:

  1. Identify your data source. This can be an existing application, a new application, or a sensor device.

  2. Define your Schema. Define a JSON schema indicating the values you intend to collect.

  3. Define your fee address. This address will receive all collector fees from your data provider subscriptions.

  4. Deploy your collector contract. Get in touch with us to facilitate deployment of your contract

Considerations

  • Be careful to inform users of the types of data being shared via your collector. Users will send data directly from their collector device to their subscribers securely using HTTPS, but this doesn't necessarily mean you should send PII.

  • Limit payload sizes. If you intend for your data providers to send data to a large set of data, consider implementing an intermediate scaling solution to receive and propagate signals to a larger set of users.

Collector Architecture

The collector architecture has three key components:

  1. The collector factory. This is a smart contract deployed on Oz Protocol that manages collector contracts.

  2. Collector contracts. These are individual smart contracts that define each collector. Oz supports an unlimited number of collector contracts. Each collector contract has a corresponding data format.

  3. Collector NFTs. To share data via a collector, users need to hold the corresponding NFT. This token is used to track the user's reputation and whitelist their data feed.

Last updated