SIP Call #53 - SIP for Inscribing Immutable Data on Stacks - Friday 21st July 12pm ET

:white_check_mark: Sign-up: AddEvent
:calendar: This Friday, 21st July 12pm ET
Screenshot 2023-07-17 at 8.08.02 PM

4 Likes

Excellent idea! I started working on a prototype for Proof of Existence of documents for Stacks (inspired by https://poex.io/ that uses Bitcoin blockchain). There is a basic incomplete implementation for the first milestone, no smart contract but using Memo Field of transaction to store the hash fingerprint of the document. There is a more detailed Roadmap in the README.md file:

(from https://github.com/jo-tm/chainverifier/blob/main/README.md)

Roadmap

Version: v0.1 - Milestone 1: ExpressJS Serverless App with Proof of Existence

Features:

  1. User can upload a file (max size 100MB) to generate a SHA-256 hash.
  2. The hash is stored on the Stacks blockchain as a transaction.
  3. The app provides a Transaction Id (Document Digest) and Timestamp (Date and Time of transaction).
  4. The transaction is sent to the Hiro Wallet, with the destination address being a BURN address.
  5. User pays for the Stack blockchain fees for the transaction.
  6. App does not deploy a special smart contract; it uses Stacks transactions and data stored in transactions in the memo field.
  7. Another feature allows users to verify a Transaction Id against another uploaded file for Green or Red Flag indicating validity.
  8. The hash is computed in the user’s browser (client-side) and is not uploaded to the server.
  9. Support for Stacks Blockchain and connection to Hiro Wallet.
  10. Short domain and app name chosen.
  11. The app displays a connection status to Hiro Wallet and transaction pending/completed messages.

Header Text:
“Certify your documents - The original STX blockchain notary service. Instant, anonymous, distributed, and secure proof of existence for any digital document.”

Text (Use Case 1):
A: Registration: The app stores a unique identifier (hash) generated from your document, linked to the submission time, ensuring anonymous and private proof stored in an immutable decentralized system. Users can select a file to start, and the document itself will not be uploaded.
B: Payment: To record the unique identifier, a new transaction in the Stacks blockchain is created. The fees for this transaction are to be paid in Stacks (STX).
C: Certified: Successful embedding of the document’s digest in the Stacks blockchain, providing permanent certification and existence proof. Transaction ID and details are provided for verification.

Text (Use Case 2):
“Validation: Once a transaction is created, the unique identifier is securely stored in the blockchain. Your document’s existence is permanently validated by the blockchain, even if this site is compromised or down. The transaction can be consulted from any Stacks service.”

Version: v0.2 - Milestone 2: Fee Collection Smart Contract

Features:

  1. Deploy a Proof of Existence smart contract written in Clarity.
  2. The smart contract collects fees and stores the Registry of Digest.
  3. Only the deployer of the smart contract can withdraw collected fees.
  4. The fees are a fixed number of STX or a percentage of the average transaction cost.

Version: v0.3 - Milestone 3: Decentralized Storage of Hashed Files

Features:

  1. Users can choose decentralized storage for uploaded files.
  2. File content is encrypted using AES-256 with the hash of the file as the symmetric key.
  3. Utilize HHS or another p2p web service for file upload and replication on multiple nodes.
  4. Special registered storage nodes are used, and nodes are randomly selected for file replication.
  5. Banning mechanism for nodes that are offline, with multiple bans leading to removal from the storage nodes list.

Version: v0.4 - Milestone 4: Enhanced Decentralized Storage

Features:

  1. 20% of nodes are randomly selected for file replication, ensuring increased redundancy.
  2. All selected nodes must store the complete file.

Version: v0.5 - Milestone 5: Fee Distribution among Storage Nodes

Features:

  1. Storage nodes must register into the smart contract to be eligible for storage rewards.
  2. Users include Stacks addresses of 5 storage nodes to distribute fees when registering a file digest.
  3. Each node receives a share of the fees, minus 10% for the admin/deployer address.
  4. The smart contract provides a “withdraw-fees” function for nodes to claim their collected fees.
  5. A dashboard displays File Digest, Timestamp, and the number of Storage Nodes available for each file.
  6. Users can pay to replicate files into additional nodes if the number of available nodes is low.
3 Likes

this is Phillip’s Github re his SIP: https://github.com/paradigma-cl/unreplaceableDigitalID/blob/main/sip-proposals.md

You guys may wanna create a collaborative Github PR or repo so multiple can contribute to this SIP idea?

Best if you can attend the SIP call tomorrow at 12pm ET and hash it out together on live call if you can make it?

Phillip is in discord if you wanna contact him directly as well.

1 Like

Great to see your initiative as well Jo-tm

2 Likes

“With a wonderful touch of BNS identitys too”

We like it !

2 Likes

Here is the video of the presentation Inscribing Immutable Data on Stacks - SIP Community Call (07/21/2023) - YouTube