Spark Program | HashThis Project

Spark Program | HashThis Project Announcement

The Spark Program is dedicated to supporting community developers and innovative projects. After a review process, we are pleased to announce that the grant application for the HashThis project has been approved.

Project and developer information

• Project name: HashThis (CKB-based data integrity verification dApp)
• Developers/Team:
oïclid (@oiclidoiclidoiclidoiclidoiclidoiclidoiclidoiclid on Discord) (Years of experience in distributed systems)
shaaibu (blockchain developer)
Paul (senior smart contract engineer)
• Project overview: HashThis is a lightweight dApp designed to prove that data existed at a specific point in time and has not been tampered with. Users hash data locally and anchor the hash to the CKB chain, after which integrity and timestamp verification can be performed. The project follows Web5 principles, ensuring data is fully controlled by the user, with CKB serving only as a decentralized verification and timestamping layer.

Spark Program funding decision and rationale

The Spark Program committee has decided to provide funding equivalent to $500 (to support initial prototype development). The project is expected to be completed within 8 weeks.

The main reasons for this decision are as follows:

Ecological value and technical demonstration
The project demonstrates CKB’s potential as a neutral data integrity settlement layer, aligns with Web5 principles, and provides developers with easily reusable examples.

Practical delivery scope
The project has clear goals and focuses on the core flow of “hash → anchor → verify.” Its deliverables include an open-source codebase, a testnet prototype, and demo videos, making it well suited as a seed project supported by the Spark Program.

Experienced team
The development team has a strong background in distributed systems, blockchain tooling, and smart contract development.

Fund management and project transparency

To ensure the Starfire Program’s openness and transparency, all grant funds will be managed and disbursed through a dedicated multisig wallet. Project progress, fund usage, and final deliverables will be published through official channels.

• Project multisig wallet address:

ckb1qrg6n7rh4mfltcruh8zjkcdtjmgx7fg2u6yre3ls5fprmvyhdlyzzqdya8pe5la39gr9n57wgyhfrlc3h8kf24q4wv8wy

• Multisig administrators:

This wallet uses a 2/3 multisig scheme and is jointly managed by the following project committee members to ensure fund security and proper use: Devrel Lead Hanssen, Research Lead Zhouzhou, Devrel member Yixiu.

• Fund disbursement disclosure:

Detailed information and transaction hashes for all fund disbursements (including the initial 20% startup funds and subsequent payments) will be published on the Spark Dashboard, Nervos Talk forum, and the relevant channels of the Discord community.

• Communication channels:

The discussion thread for this project within the Nervos Talk post “Spark Program | Hash This Project” will serve as one of the main public channels for communicating and updating project progress, to promote open information sharing.

Support and outlook

We look forward to HashThis successfully validating CKB’s use cases in the field of data integrity and providing the ecosystem with a valuable open-source example.

The Spark Program will provide the project with necessary support, including regular weekly sync meetings, technical mentoring, and post-completion publicity.

On behelf of Spark Program Committee



星火计划 | Hash This 项目公示

星火计划致力于支持社区开发者和创新项目。经过评审流程,我们高兴地宣布,对 HashThis 项目的资助申请已获批准。

项目与开发者信息

**• 项目名称:**HashThis(基于 CKB 的数据完整性验证 dApp)
• 开发者/团队:
oïclid(@oiclid _ on Discord)(多年分布式系统经验)
shaaibu(区块链开发者)
Paul(资深智能合约工程师)

**• 项目简介:**HashThis 是一款轻量级 dApp,旨在证明数据在特定时间点已存在且未被篡改。用户在本地对数据进行哈希处理,并将哈希值锚定到 CKB 链上,随后可进行完整性与时间戳验证。该项目遵循 Web5 原则,确保数据完全由用户控制,CKB 仅作为去中心化的验证与时间戳层。

星火计划资助决定及理由

星火计划委员会决定提供 500 美元 等值的资助(用于支持初始原型开发),项目预计将在 8 周 内完成。

该决定的主要理由如下:

  1. **生态价值与技术展示:**该项目展示了 CKB 作为中立数据完整性结算层的潜力,符合 Web5 理念,并为开发者提供了易于复用的示例。

  2. **务实的交付范围:**项目目标明确,专注于“哈希 → 锚定 → 验证”的核心流程。其交付物包括开源代码库、测试网原型及演示视频,非常适合作为星火计划支持的种子项目。

  3. **团队经验丰富:**开发团队在分布式系统、区块链工具及智能合约开发方面拥有深厚的背景。

资金管理与项目透明度

为确保星火计划的公开透明,所有资助资金都将通过一个专用的多签钱包进行管理和拨付。项目的进展、资金使用情况及最终成果都将在官方渠道公示。

• 项目多签钱包地址:

ckb1qrg6n7rh4mfltcruh8zjkcdtjmgx7fg2u6yre3ls5fprmvyhdlyzzqdya8pe5la39gr9n57wgyhfrlc3h8kf24q4wv8wy

• 多签管理人:

此钱包为 2/3 多签机制,由以下项目委员会成员共同负责,确保资金安全和规范使用:Devrel Lead Hanssen、Research Lead 舟舟、Devrel 成员 Yixiu。

• 资金发放公示:

所有资金发放(包括首笔20%的启动资金及后续款项)的详细信息及交易哈希都将在 Spark Dashboard,Nervos Talk 论坛及 Discord 社区相关频道公示。

• 沟通渠道:

该项目在 Nervos Talk 帖子《星火计划 | Hash This 项目》中的讨论线程,将作为项目进展沟通与更新的主要公开渠道之一,以促进信息的开放共享。

支持与展望

星火计划将为该项目提供必要的支持,包括定期的周同步会,技术辅导,以及结项后的宣传。

我们期待 HashThis 成功验证 CKB 在数据完整性领域的应用场景,并为生态带来有价值的开源范例。

代表星火计划委员会


Spark Program Dashboard | 星火计划公告板


Hash This Project Details | Hash This 项目详情

3 Likes

HashThis: A CKB-based dApp Proposal for Data Integrity Verification

This proposal is the final version, consolidated after multiple rounds of discussion and refinement between the applicant team and the committee. For details, click the title to jump to the corresponding Discord post.

1. Project Overview

HashThis is a lightweight dApp that lets users prove that data existed at a apecific time and has not been altered. Users hash data locally, anchor the hash on CKB, and later verify its integrity and timestamp. The project focuses on a single, clear workflow: hash → anchor → verify. It is an application-level prototype, not infrastructure.

  • Target users:

    individual developers and builders in the Nervos/CKB ecosystem

    community members needing simple proof of data existence

    Hackathon teams and early-stage dApps requiring integrity verification

2. Team information

oiclid — oiclid (oïclid) · GitHub
15+ years experience in distributed systems and blockchain tooling.

shaaibu — shaaibu7 (Shaaibu Suleiman ) · GitHub
Blockchain developer (Ethereum, L1/L2) .

Paul — PaulElisha (paul elisha) · GitHub
Smart contract engineer, 3x global hackathon winner.

3. Technical Architecture and Interaction Flow

  • Frontend: Web UI for uploading/re-uploading files, initiating hash calculation, and showing verification results.
  • Backend: Minimal API for fetching transaction data from CKB and returning it to the frontend for comparison.
  • Blockchain: CKB testnet for prototype deployment, storing immutable hashes in transaction cells.
  • Privacy: All hashing occurs client-side; on-chain storage contains only the SHA-256 hash.

3.1 User interaction flow

  1. User opens the HashThis web application
  2. User selects a file or inputs text locally
  3. The application computes a hash locally (data never leaves the device)
  4. The user submits the hash to be anchored on CKB testnet
  5. At a later time, the user re-uploads the same data
  6. The application recomputes the hash and verifies it against the on-chain record
  • Step 5: Subsequent Users Re-Upload the Same Data

    • Users select the same file or data they previously hashed.
    • The application computes the SHA-256 hash locally on the client side.
    • No raw data or previous hashes are ever stored on the server or backend, preserving user privacy.
    • The locally computed hash is packaged in a standard format for comparison with the on-chain record.
    • Optional: The system can attach metadata such as a timestamp or anonymized user ID (stored off-chain) for analytics without compromising privacy.
  • Step 6: Re-Calculate Hash and Compare with On-Chain Record

    • The application queries the CKB blockchain for the original transaction where the hash was stored.
    • Each hash is stored as a 32-byte SHA-256 value in the data field of a CKB cell.
    • Lock scripts and scripts on CKB ensure transaction integrity and prevent unauthorized modification of the hash cell.
    • The locally recomputed hash is compared byte-for-byte with the hash stored on-chain.
    • If the hashes match, the data integrity is confirmed, and the user receives a success notification.
    • If the hashes do not match, the user is alerted to a potential discrepancy.
    • This comparison ensures end-to-end verification without exposing sensitive data.

3.2 On-chain hash storage details

  • Every original hash is written into a CKB transaction cell as 32-byte SHA-256 data.
  • The transaction includes minimal metadata: block height, timestamp, and transaction hash for immutable proof.
  • No personal data or raw files are ever stored on-chain.
  • This design allows any user to verify a hash independently without accessing confidential data.
  • Cells can be structured in a modular way to support future expansion, such as batch submissions or linking multiple hashes.

3.3 Verification Flow

  1. User uploads a file → hash computed locally.
  2. Hash submitted to CKB → transaction cell stores the 32-byte SHA-256 hash.
  3. Later, user re-uploads the same file → hash recomputed locally.
  4. Application retrieves original hash from the corresponding CKB transaction.
  5. Local hash compared to on-chain hash → success/failure displayed.
  6. Users or developers can independently verify data existence without server-side storage of sensitive files.

4. Project milestones (8 weeks)

Milestone 1 (Weeks 1–2): Scope and Foundations

  • Finalize functional scope and success criteria for the prototype

  • Define clear user flows for hashing, anchoring, and verification

  • Set up the open-source repository and project structure

  • Configure CKB testnet environment and tooling

Milestone 2 (Weeks 3–4): Core Hashing and Anchoring

  • Implement local hashing logic for text and small files (browser-side)
  • Define minimal data schema for hash submissions
  • Implement CKB anchoring logic (hash + timestamp metadata)
  • Test transaction creation and submission on CKB testnet

Milestone 3 (Weeks 5–6): dApp Integration and Verification

  • Build a minimal frontend UI (hash, submit, verify views)
  • Integrate frontend with CKB anchoring flow
  • Implement verification logic (re-hash data and compare with on-chain record)
  • Handle basic error states and edge cases

Milestone 4 (Weeks 7–8): Deployment and Validation

  • Deploy hosted frontend and any required backend helpers
  • Prepare clear documentation and usage examples
  • Record an end-to-end demo video
  • Publish public test cases for community validation

5. Budget: $1,000 (100% CKB)

Development: $600

Hosting: $250

Docs and demo: $150

6. Core Deliverables

6.1 Prototype validation

  • Publicly accessible demo URL
  • Simple test cases usable without reviewing code
  • End-to-end demo video demonstrating the full flow
  • Prototype Definition, Open Source, and Deliverables

6.2 Runnable prototype

  • A publicly accessible web dApp
  • Can compute hashes of text and small files locally
  • Hashes and timestamp metadata can be recorded on the CKB testnet
  • On-chain records can be verified by re-hashing

6.3 Open-source and Depo

  • MIT License
  • Full frontend source code
  • CKB anchoring scripts and transaction logic
  • Any lightweight backend helpers used
  • README with setup, deployment, and usage instructions

6.4 Documentation will include

  • User guide explaining hashing, anchoring, and verification
  • Technical overview of the CKB integration
  • Instructions for local setup and deployment

6.5 Demo video will showcase

  • Entering or uploading data
  • Local hash generation
  • Anchoring the hash to CKB
  • Verifying data integrity end-to-end

6.6 Known limitations

  • Testnet-only deployment
  • Minimal UI focused on core functionality
  • No advanced features such as encryption, access control, or batching

6.7 Deployment details

  • Hosted static frontend
  • CKB testnet interaction via lightweight scripts or helpers

7. Relevance to the CKB

  • Demonstrates CKB as a neutral settlement layer for data integrity

  • Practical Web5-aligned use case (proof of existence, verification)

  • Simple, developer-friendly example that can be reused or extended

  • Web5 Alignment

    HashThis embodies Web5 principles by keeping data fully user-controlled, performing all hashing locally, and using CKB solely as a decentralized, neutral verification and timestamping layer rather than as a data storage system.

3 Likes

The first installment (20%) 36,765 CKB

2 Likes

want to highlight that you will be able to save your users money by committing the hashes to an accumulator on-chain and doing merkle proofs of the value in that accumulator

Stay tuned for more info!

4 Likes