Authorship Claim & Smart Contracts

Introduction

This guide shows how to prove you authored any digital file—PDF, code, manuscript—without publicly releasing its contents.

We use SHA‑256 checksums and a simple smart contract to create an immutable, timestamped record of your work.

Why Checksums

  • SHA‑256 generates a unique 64‑hex‑character fingerprint for any file.
  • Even a single-byte change produces a completely different hash.
  • By registering the hash, you prove that exact file existed at a specific time.

Steps

  1. Compute the checksum: sha256sum myfile.pdf Copy the 64‑hex output and prefix with 0x.
  2. On the contract’s “Write” tab, call registerWork(checksum). This stores your address and block.timestamp.
  3. Transaction confirms—your hash is now on‑chain.

Solidity Code

        // SPDX-License-Identifier: MIT
pragma solidity ^0.8.2;

contract AuthorshipClaim {
    /// @notice Publish only an event: off‑chain you read block.timestamp
    event WorkRegistered(
        bytes32 indexed checksum,
        address indexed author
    );

    /// @notice Stamp a hash to chain in the cheapest way possible
    function registerWork(bytes32 checksum) external {
        emit WorkRegistered(checksum, msg.sender);
    }
}
        

Verify

Later, recompute the checksum and call getWork(checksum) or isRegistered(checksum). You’ll see the original registrant and timestamp.

Conclusion

This method provides a tamper‑proof, timestamped proof of authorship without exposing your file’s contents.