Event
Back to All
V.1.5
V.1.5
  • Event User Guide
  • πŸ“”Overview
    • Introduction
    • Configuration Symbols
    • Features and Benefits
    • Core Concepts
    • Encoded and Unencoded ‑ Records
  • πŸ€”Using Event
    • How to Use 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
    • βš“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
  1. Independent Records
  2. Tutorials

Blockchain Unique Identifiers

PreviousData IntegrityNextAPI Workflow

Last updated 1 month ago

Use of (UUIDs/GUIDs) is a well known method for linking data across different organisations and systems. UIDs enhance data integrity and facilitate collaboration by providing a consistent reference point that remains unchanged over time, regardless of changes in ownership or system architecture.

nChain Event can create blockchain UIDs that can easily be converted into a UUIDs/GUIDs for you.

A Version 4 (random) UUID/GUID is 128 bits containing 122 bits of randomness. We can create one from the location of a record written on the blockchain. The location comprises 256 random bits (driven by the entropy provided by the 256 bit ephemeral keys used in generating the signatures), so we will use the first 128 bits, and set the UID version and variant bits.

  aRecord = "any payload you need, such as reference to the use of the UUID"

  aSalt = time.getNow() // use higher precision if needed

  aLocation = event.write(aRecord, aSalt) // register the record on the blockchain
  
  store(aRecord, aSalt, aLocation) // store for posterity

  aBUID = aLocation // the blockchain UID is the location of the record
  
  first128 = aBUID.substr(0, 16) // get the first 16 characters = 128 of 256 bits
  
  aUUID = uuid.create(first128, 4, 8) // set UUID version and variant bits
  
  // example: 8D8AC610-566D-4EF0-8C22-186B2A5ED793

The resultant UUID/GUID can be shared across your organisations and systems.

Or you can share the original location (the blockchain UID) instead, allowing anyone to check that the UUID/GUID is registered on the blockchain, check the reference in the payload, and generate the UUID/GUID themselves from the location using the same method.

Benefits

  • Transparency

  • Global uniqueness

  • Persistence

  • Blockchain unique identifiers can have a reference payload

  • Portable across any systems, departments, companies, consortia, institutions and countries

πŸ”
Universally and Globally Unique Identifiers
Version 4 (random)