Decentralized Digital Notary Service Workflow:
The workflow of the Decentralized Digital Notary Service involves
several key steps that enable users to notarize and verify documents
securely using the Stellar blockchain and Soroban smart contracts. Below
is a detailed description of each step in the process:
- Document Selection:
- The user begins by selecting the document they wish to notarize or
verify through the frontend application. This could be any digital file
requiring proof of authenticity and timestamping.
- Local Document Hashing:
- Hashing Algorithm: The frontend application uses
the SHA-256 cryptographic hashing algorithm to generate a unique hash of
the selected document.
- Purpose of Hashing: This hash acts as a digital
fingerprint of the document. Even a minor change in the document content
would result in a completely different hash, ensuring the integrity of
the notarization process.
- Privacy Assurance: Since only the hash is used, the
actual content of the document remains private and is not uploaded or
stored on the blockchain.
- User Authentication:
- Stellar Address: The user provides their Stellar
blockchain address, which serves as their unique identifier on the
network.
- Wallet Connection: If required, the user connects
their Stellar wallet to the application to facilitate interaction with
the smart contract.
- Notarization Request Submission:
- Data Packaging: The frontend application packages
the document hash along with the user’s Stellar address.
- Smart Contract Invocation: It then sends a
transaction to invoke the
notarize
function of the Soroban
smart contract on the Stellar blockchain.
- Smart Contract Execution for Notarization:
- Unique Key Creation: The smart contract creates a
unique key by combining the user’s Stellar address and the document
hash.
- Storage of Proof: It stores this key along with the
current blockchain timestamp in its persistent storage.
- Immutable Record: This action creates an immutable
record on the blockchain, providing proof that the document existed in
its current form at a specific point in time.
- Confirmation of Notarization:
- Transaction Receipt: The blockchain processes the
transaction and provides a receipt containing details such as the
transaction ID and timestamp.
- User Notification: The frontend application
retrieves this information and displays a confirmation to the user,
serving as proof of successful notarization.
- Verification Request (If Applicable):
- Document Selection for Verification: To verify a
document, a user selects the document in question through the frontend
application.
- Hash Generation: The application generates the
SHA-256 hash of the document locally.
- Data Submission: It submits the document hash and
the relevant Stellar address to the smart contract by invoking the
verify
function.
- Smart Contract Execution for Verification:
- Existence Check: The smart contract checks its
storage to see if the unique key (user address and document hash)
exists.
- Verification Result: It determines whether the
document has been previously notarized and retrieves the associated
timestamp if available.
- Display of Verification Results:
- Positive Verification: If the document hash exists
in the storage, the application informs the user that the document was
notarized, providing the timestamp and other relevant details.
- Negative Verification: If the hash is not found,
the user is informed that there is no record of notarization for the
document on the blockchain.
- User Interface: The frontend presents this
information in a user-friendly manner, possibly with options to download
or share the verification proof.
- Optional IPFS Integration:
- Decentralized Storage (Optional): Users may choose
to upload their documents to IPFS (InterPlanetary File System) for
decentralized storage.
- IPFS Hash Linking: The IPFS hash can be linked with
the blockchain record, allowing retrieval of the document if
needed.
- Enhanced Decentralization: This step further
decentralizes the storage aspect but is optional to accommodate privacy
preferences.
- Security and Privacy Measures:
- Data Encryption: All data transmitted between the
user’s device and the blockchain network is encrypted to prevent
interception or tampering.
- Anonymity: Since only the hash and the user’s
blockchain address are recorded, users maintain a level of
anonymity.
- No Sensitive Data on Blockchain: The actual
document content is never uploaded to the blockchain, mitigating risks
associated with data breaches.
- User Interface Features:
- Dashboard Access: Users have access to a dashboard
where they can view all their notarized documents and verification
statuses.
- Transaction History: The application may provide a
history of all transactions related to notarization and
verification.
- Support and Assistance: Users can access help
resources or contact support for any issues encountered during the
process.
Summary of the Workflow:
- Initiation: User selects a document and chooses to
either notarize or verify it.
- Hashing: The document is hashed locally using
SHA-256 to create a unique identifier.
- Interaction with Blockchain:
- For notarization, the hash and user address are sent to the smart
contract’s
notarize
function.
- For verification, the hash and user address are sent to the
verify
function.
- Smart Contract Processing:
- Notarization stores the hash and timestamp on the blockchain.
- Verification checks for the existence of the hash and retrieves the
timestamp if available.
- Results Delivery: The application presents the
notarization or verification results to the user, providing necessary
proof and details.
- Security: Throughout the process, security and
privacy are maintained by encrypting communications and avoiding storage
of actual document content on the blockchain.
Key Points to Note:
- Decentralization: The entire process eliminates the
need for centralized authorities, relying instead on the transparency
and immutability of the blockchain.
- Immutable Records: Once a document hash is stored
on the blockchain, it cannot be altered or deleted, ensuring a permanent
record.
- Global Accessibility: Users anywhere in the world
can access the service without geographical limitations.
- Cost-Effectiveness: Utilizing the Stellar
blockchain keeps transaction costs low, making the service
affordable.
Use Cases:
- Legal Documents: Contracts, agreements, and wills
can be notarized to prove their existence at a certain date.
- Intellectual Property: Creators can notarize their
works to establish authorship and creation date.
- Academic Credentials: Certificates and transcripts
can be verified for authenticity.
- Financial Records: Important financial documents
can be securely notarized for auditing purposes.
The Decentralized Digital Notary Service provides a secure,
efficient, and user-friendly way to notarize and verify documents,
leveraging the power of blockchain technology to bring trust and
transparency to the process.