nChain Event
Back to All
V.1.4.3
V.1.4.3
  • nChain Event User Guide
  • πŸ“”Overview
    • Introduction
    • Configuration Symbols
    • Features and Benefits
    • Core Concepts
    • Encoded and Unencoded ‑ Records
  • πŸ€”Using nChain Event
    • How to Use 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
      • Blockchain Unique Identifiers
    • API Workflow
      • Configure API
      • Write Record
      • Get Location Status
      • Read Record
      • Verify Record †
  • πŸ”—Linked Records Β§
    • Introduction
    • Functional Description
      • Create Link Record Β§
      • Read Link Record Β§
      • Update Link Record Β§
      • Delete Link Record Β§
      • Verify Link Record Β§ †
      • Navigate Linked Record Β§ ΒΆ
    • Use Cases
      • Luxury Handbag Provenance
      • Random Prize Draw
    • Tutorials
      • Collection Integrity
      • Provenance Integrity
    • API Workflow
      • Configure API
      • Create Link Record Β§
      • Get Link Location Status Β§
      • Read Link Record Β§
      • Update Link Record Β§
      • Delete Link Record Β§
      • Verify Link Record Β§ †
      • Navigate Link Record Β§ ΒΆ
  • βš™οΈAPI Documentation
    • nChain Event API
  • ⛓️Bitcoin SV Blockchain
    • Features and Benefits
    • Writing to Blockchain
    • Reading from Blockchain
    • Transaction Format
  • ⁉️Troubleshooting
    • Troubleshooting
    • Error Codes
    • Glossary
    • Contact Us
Powered by GitBook
On this page
  • Solution Architecture
  • Records
  • Encoders
  • Single Source of Truth (SSoT)
  • Locations
  1. πŸ“”Overview

Core Concepts

PreviousFeatures and BenefitsNextEncoded and Unencoded ‑ Records

Last updated 4 months ago

nChain Event enables you to employ both encoded and unencoded ‑ records.

Records can be written to, read from, and verified † with the blockchain.

Records can be either independent or linked Β§ when they are on the blockchain.

Linked records can be navigated ΒΆ.

These are described below. Understanding them will make using nChain Event easier for you.

Solution Architecture

To enable your applications to use nChain Event, you can add an interface in whatever language you use. That will enable you to write records, check their status and read them back again. See here for more details.

Records

An input record is any packet of data supplied by you that you want to register on the blockchain. You can choose whether the input record is binary or text, or a private reference to data in your own system. The input record can be a single data item or a mixture of data fields. The input record can contain whatever you need to assist and support your use case.

See the logical "Model" encoder in the diagram above: You supply the input record to nChain Event as the encoder input. nChain Event encodes it using the encoder you specify, producing the encoder output. The encoder output is written to the blockchain inside a transaction. Real-world examples of encoders are given in the next section.

The encoder output is generally called a record in this document. See "Records" in the diagram above.

Note: Only nChain Event blockchain records can be processed by nChain Event.

Encoders

Please note that for nChain Event, the process of translating records from one format to another is defined as "encoding", even though this may comprise a one-way summary of data that cannot be reversed, or secure encoding of data, as well as potential reversible transformations of data.

See the "None" encoder in the diagram above: Where you do not select an encoder ‑ the encoder output will be same as the encoder input, and it will be this unencoded record that is written to and read from the blockchain. Unencoded records are also known as "raw data".

See the "SHA256" encoder in the diagram above: Where you do select an encoder (for instance, SHA256), the encoder output will be the fingerprint of the unencoded input, and it will be this fingerprint that is written to and read from the blockchain.

A fingerprint is a few bytes which uniquely refer to the original record. It is not practical to recreate the original record from the fingerprint. Fingerprints are produced using complex mathematical transformations on the input record. These obfuscate the output record. They are so effective that inverting just 1 bit of the input record changes approximately 50% of the bits in the output record.

Several standard encoders are provided by nChain Event. Please contact us if you need alternative encoders.

Single Source of Truth (SSoT)

For unencoded records ‑, the SSoT is the record that has been written to the blockchain, as shown above. We recommend that you can keep a secure copy locally, but it should be checked with the blockchain which should be considered the principal SSoT.

For encoded records, the SSoT comprises the SSoData which must be securely stored by you, and the SSoProof which is the fingerprint on the blockchain, as shown above. You need both data items to ensure that the SSoT is valid:

  • SSoData = your original data

  • SSoProof = fingerprint of SSoData, from the blockchain at the stored location

  • if encoding(SSoData) equals SSoProof then SSoData can be used as the SSoT

  • otherwise SSoData cannot be used as the SSoT and it may be impossible to recreate it

Locations

When a record is written to the blockchain, a unique record location (just called a location in this document) is returned. See "Locations" in the Records diagram above. This can be stored and used for subsequent operations.

The locations can also be distributed for use by data users, data verifiers, data auditors, and any other interested parties.

Locations are the transaction hash (often called the TXID by the blockchain community) of the record transaction that has been written to the blockchain.

Locations are vendor-neutral.

The encoder model; example SHA256 encoder; example no encoder
Obtaining the SSoT