Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decentralized Data Annotation Platform (DAP) #2504

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

BlockchainViper
Copy link

@BlockchainViper BlockchainViper commented Feb 6, 2025

Project Abstract

Please replace these instructions with a brief description of your project summarising key points (1-2 paragraphs).

If your application is a follow-up to a previous grant, please mention which one in the first line of the abstract and include a link to previous pull requests if applicable.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (Polkadot AssetHub (USDC & DOT) address in the application and bank details via email, if applicable).
  • I understand that an agreed upon percentage of each milestone will be paid in vested DOT, to the Polkadot address listed in the application.
  • I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@github-actions github-actions bot added the admin-review This application requires a review from an admin. label Feb 6, 2025
Copy link
Contributor

github-actions bot commented Feb 6, 2025

CLA Assistant Lite bot: Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. Please submit the following text as a separate comment:


I have read and hereby sign the Contributor License Agreement.


You can retrigger this bot by commenting recheck in this Pull Request

@BlockchainViper
Copy link
Author

I have read and hereby sign the Contributor License Agreement

Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the application, @BlockchainViper. Please give us a few days to catch up, someone will look into your application soon. In the meantime, I left some change requests to make the doc a bit more readable.

Can you explain how the quality of an annotation is verified, and how ZKPs come in there? Also, why do you split the functionality between pallets and smart contracts?

applications/Data Annotation Platform (DAP).md Outdated Show resolved Hide resolved
applications/Data Annotation Platform (DAP).md Outdated Show resolved Hide resolved
applications/Data Annotation Platform (DAP).md Outdated Show resolved Hide resolved
BlockchainViper and others added 4 commits February 6, 2025 23:51
Co-authored-by: Sebastian Müller <sebastian@web3.foundation>
Co-authored-by: Sebastian Müller <sebastian@web3.foundation>
Co-authored-by: Sebastian Müller <sebastian@web3.foundation>
@BlockchainViper
Copy link
Author

BlockchainViper commented Feb 6, 2025

Thanks for your questions @semuelle we are very excited about this.

1. How is the quality of an annotation verified, and how do ZKPs come into play?

Quality Verification Process:
Annotations go through a multi-step verification process to ensure accuracy and fairness:

Initial Annotation:

  • An annotator completes a task (e.g., labeling an image, tagging text) and submits it.

Cross-Verification:

  • Multiple annotators review the same task independently.
  • If discrepancies arise, the task is flagged for review.
  • Annotators build a reputation score based on accuracy over time.

AI-Assisted Quality Check:

  • Lightweight machine learning models analyze annotations for consistency and compliance with guidelines.
  • Tasks flagged as low-confidence undergo additional human verification.

Reward Distribution:

  • Smart contracts distribute rewards in DOT, ensuring transparency.
  • Annotators receive payments only for validated annotations.
  • Disputed tasks are temporarily withheld from payment until resolved.

Role of ZKPs (Zero-Knowledge Proofs):

  • Annotators generate ZKP proofs to demonstrate that their annotation meets quality standards without revealing the underlying data.

Why use ZKPs?

  • Privacy-Preserving Verification: The system can confirm correctness without exposing sensitive annotation data.
  • Trustless Validation: Annotators cannot cheat since ZKPs cryptographically guarantee compliance with predefined rules.
  • Optional Feature: Data owners can choose to enable ZKPs depending on privacy requirements.

These proofs are verified on-chain, ensuring a trustless and decentralized validation process.

2. Why do you split the functionality between pallets and smart contracts?

The hybrid approach optimizes performance, scalability, and modularity.

Pallets (Core Logic, High Performance)

Handles core blockchain functions requiring high security and consensus:

  • Task assignment and annotation tracking
  • Reward distribution (ensuring low-cost, transparent payments)
  • Reputation management and governance

Integrated directly into Substrate runtime, making it:

  • More efficient than smart contracts for frequent operations
  • More secure (runs at the protocol level, reducing attack surfaces)

Smart Contracts (Flexibility & Extensibility)

Manages customizable workflows, such as:

  • Annotation-specific verification mechanisms (e.g., ZKP-based validation)
  • Dispute resolution logic (allowing case-specific adjudication)
  • External integrations (AI-assisted annotation tools, data marketplaces)
  • Enables third-party developers to extend the system with custom logic.

Performance & Scalability Considerations:

  • Frequent, predictable operations (like task assignments and payments) stay in pallets for lower execution costs.
  • Complex, evolving workflows (like annotation verification) run in smart contracts, ensuring flexibility.
  • Enables cross-chain interoperability with other parachains or AI-focused projects.

Future-Proofing the Platform

  • Modular design simplifies upgrades.
  • New annotation types or privacy mechanisms can be introduced without disrupting existing functionality.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
admin-review This application requires a review from an admin.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants