nChain Event
Back to All
V.1.3.1
V.1.3.1
  • nChain Event User Guide
  • Overview
    • Introduction
      • Target Audience
    • Features and Benefits
      • Independent Operations
      • Web3 Development
    • Core Concepts
    • Encoded and Unencoded Records
  • Using nChain Event
    • Initial Set-Up
  • Independent Records
    • Introduction
    • Functional Description
      • Write Record
      • Read Record
      • Verify Record
    • Use Cases
      • Lucky Number Tickets
      • Internet of Things (IoT) Data
      • Intellectual Property Rights (IPR) Evidence
      • Car Dealership
    • Tutorials
      • Data Integrity
    • API Workflow
      • Write Record
      • Get Location Status
      • Read Record
      • Verify Record
  • Linked Records
    • Introduction
      • Concept - Link Locations
    • Functional Description
      • Create Link Record
      • Read Link Record
      • Update Link Record
      • Delete Link Record
      • Verify Link Record
    • Use Cases
      • Luxury Handbag Provenance
    • Tutorials
      • Collection Integrity
      • Provenance Integrity
    • API Workflow
      • Create Link Record
      • Get Link Location Status
      • Read Link Record
      • Update Link Record
      • Delete Link Record
      • Verify Link Record
  • API Documentation
    • nChain Event API
  • Bitcoin SV Blockchain
    • Features and Benefits
    • Writing to Blockchain
    • Reading from Blockchain
    • Transaction Format
    • Troubleshooting
    • Glossary
Powered by GitBook
On this page
  • Item Registration
  • Item Verification
  • Benefits
  1. Independent Records
  2. Tutorials

Data Integrity

PreviousTutorialsNextAPI Workflow

A business wants to be assured about the data integrity (accuracy and authenticity) of their user account balances (or any other data) in their database. To achieve that, the business wants to easily verify the user account balances.

This is part of Data Integrity. The solution includes these steps:

  • Item registration – the user account balance is hidden but registered on the blockchain

  • Item verification – the user account balance is compared with the blockchain to determine validity

Please be aware that verification always requires the original item.

Class Event(aUrl, aApiKey) {

  write(record, salt) // write a fingerprint on the blockchain and return location

  verify(record, salt, location) // verify on blockchain, return match/mismatch/error

}

Item Registration

Every time that the user account balance is updated in the application's database, this procedure is performed to register a fingerprint of the new balance on the blockchain:

  aRecord = "get the user account balance for the userId"

  aSalt = time.now()

  aLocation = event.write(aRecord, aSalt) // Register the record on the blockchain

  // ensure that you persist aSalt, aLocation for the userId

"aRecord" contains whatever fields you want to register, e.g. a single field, a set of fields such as id, balance, dates, indices, a complete record, a set of records, or even complete tables or datasets.

Item Verification

At any arbitrary time later, the business can verify the original user account balance with this procedure:

  aRecord = "get the user account balance for the userId"

  aSalt, aLocation = "load the stored salt and location for the userId"

  result = event.verify(aRecord, aSalt, aLocation) // Compare with the blockchain

  if result = match // aRecord is verified as valid
  if result = mismatch // aRecord is verified as invalid
  if result = error // try again later

"aRecord" must contain identical fields to those that were originally registered to the blockchain.

Benefits

  • Provides high confidence of the validity of verified data for the business.

  • Provides high confidence to data auditors/users who have access to the original data of its validity.

We will use this class wrapper around the Independent Record REST API (described ):

here