← Back to progress
Component BInfographic B2Technical architecture

dARK 2.0: technical architecture in a multi-site network.

A layered overview of the ARK minting and resolution cycle, dARK APIs, the private blockchain, distributed metadata preservation, and multi-site architecture.

How the flow works

From reservation to public resolution.

Minting begins by reserving an identity. It continues with the URL and metadata submission, their decentralized preservation, and ARK publication.

  1. 01Reserve

    Minter assigns a new identity within an enabled NAAN.

  2. 02Preserve and publish

    The URL and metadata are submitted; dARK preserves them across several nodes and records the ARK.

  3. 03Resolve and update

    The API confirms Published status; Resolver provides the URL and metadata, and Minter receives subsequent changes.

Stable identityark:/12345/abc123
Updatable destinationrepositorio.org/recurso/42

If the resource moves to another platform, the institution updates the destination and keeps the same ARK.

Authorities and NAANs

Governance determines who can register ARKs.

dARK calls an authority an institution—or its governance-designated representative—enabled to register identifiers. Each authority is linked to one or more NAANs, the prefixes representing its institutional identification spaces.

In LA Referencia’s first phase, national nodes act as designated authorities. A later phase will allow institutions themselves to mint through the API.

  1. 01
    Define the authority

    Governance recognizes the institution or the national node representing it.

  2. 02
    Link its NAANs

    Each prefix defines the institutional spaces it may operate in.

  3. 03
    Check authorization

    Minter validatestes the authority and NAAN before reserving or updating an ARK.

The cycle within Minter

An ARK progresses through visible states.

The state lets the sender track minting progress. The main path goes from Reserved to Draft and finally Published. Select each state to see what happens.

R
Main state

Reservado

Minter generated the identifier and keeps it reserved while awaiting the URL and metadata.

Initiated by
A reservation request
The API reports
Identity available to complete
Next action
Submit URL and metadata
D
Main state

Draft

Minter received the information and internal processes prepare its preservation and registration.

Initiated by
Complete the reserved ARK
The API reports
Publication in progress
Next action
Check status
P
Main state

Published

The metadata were preserved and the record was confirmed on the blockchain for public resolution.

Initiated by
Confirmation by internal processes
The API reports
ARK active and resolvable
Next action
Resolve or submit an update
U
Secondary branch

Update

Minter received a new URL or metadata version and repeats the preservation and registration process.

Initiated by
Update a published ARK
The API reports
Change in progress
Next action
Check until it returns to Published
T
Secondary branch

Deactivation

The owning authority deactivated the ARK. This operation is irreversible and the record cannot be changed.

Initiated by
Request deactivation
The API reports
ARK deactivated
Result
The identity is not reused

Behind the states

An external request triggers an internal process.

Reservation and information submission take place through Minter. Internal processes then preserve metadata, register the ARK, and update its state.

From the information senderOperations through Minter
01Reserves the ARK
02Submits URL and metadata
03Checks the status
Minter API receives, validates, and coordinates
What happens internallyPublication processing
  1. 01Minter validatesIt checks the authority, NAAN, URL, and received metadata.
  2. 02Store preservesIt stores normalized and original levels in IPFS.
  3. 03Blockchain recordsIt confirms the ARK, URL, authority, dates, and CID.
  4. 04Minter publishesIt updates the state and makes the ARK ready to resolve.

dARK APIs

Access interfaces and internal services.

Minter and Resolver are the two user-facing interfaces. Behind them, Admin, workers, dark-core-lib, and Store coordinate operations with blockchain and IPFS.

01
Interfaces for using dARKControlled write access and public read access
Controlled entry point

Minter API

It allows users to reserve, complete, and update ARKs, as well as check their status.

  • Authorized institutions
  • Write operations
Public entry point

Resolver API

It allows users to open the current destination, view information, and retrieve preserved metadata.

  • People and systems
  • Read operations
02
How services communicateThree internal paths
GovernanceAuthorities and permissions
Admin APIdark-core-libAuthority.solBlockchain
PublicationPreserve and register
Minter APIPostgreSQL + workersStore API → IPFSdark-core-lib → dARK.sol → Blockchain
Read accessResolve and retrieve
Resolver APIdark-core-libBlockchain → URL and informationStore API → IPFS → metadata

Admin registers authorities on the blockchain. Minter maintains local state, coordinates preservation, and publishes the record through contracts. Resolver queries the chain and, when metadata are requested, retrieves them through Store API.

Core technology · Blockchain

An agreed and verifiable record of what happened.

dARK’s private blockchain records authorities, their permissions, and every creation or update of an ARK. The same ordered history is maintained across validator nodes, providing trust and traceability to the service. A blockchain node is a machine that keeps a copy of the record and participates in the network; validator nodes also take part in confirming blocks.

ValidatorsKnown network nodesA defined set of nodes proposes, reviews, and confirms the blocks forming the shared record.
ConsensusQBFT / Proof of AuthorityAuthorized validators reach a quorum to confirm a block; there is no competitive mining or specialized GPU requirement.

It is not Proof of Work. Unlike cryptocurrencies that make anonymous participants compete to solve calculations, dARK identifies its validators in advance and uses their agreement to add operations to the record.

External reference: Hyperledger Besu documentation on QBFT ↗.

Blockchain retains the record, not the complete metadata.This keeps the record verifiable and leaves content storage to the appropriate infrastructure.

Core technology · IPFS

Preserve a version by what it contains.

Metadata are preserved at two levels. L1 gathers basic metadata and the internal data dARK needs to manage the ARK in a JSON document, and includes L2’s CID to maintain the link with the original record. L2 retains the original metadata record. L1’s CID is linked to the ARK on the blockchain.

Two levelsL2 → L1The original record is preserved and then the dARK JSON is generated with basic metadata, its references, and internal management data.
DurabilityPinning + replicationIPFS Cluster coordinates preservation of L1 and L2 as independent content.
IPFS preserves the original record (L2) and the normalized dARK record (L1).For now, dARK preserves metadata; the complete digital or scholarly object remains managed by its source repository.

Multi-site architecture

Several sites sustain a shared infrastructure.

The model distributes applications, blockchain nodes, and storage across sites connected by private networks. Each site contributes infrastructure to the same dARK service, so the network can continue even if only one site remains operational temporarily.

Site ALocal services
  • dARK APIs and processes
  • Blockchain node
  • Storage A1 + A2
Site BLocal services
  • dARK APIs and processes
  • Blockchain node
  • Storage B1 + B2
Site NRegional expansion
  • APIs according to their function
  • Blockchain node
  • Storage N1 + N2
Private blockchainValidator nodes maintain an agreed record across sites.
A global IPFS clusterPeers share the pinset and replicate metadata across nodes and sites.

The architecture is designed to distribute sites across public and private infrastructure in different countries. This diversity helps keep copies and services available during the temporary loss of a site and supports the long-term survival of information. Store API works with local storage nodes and remote propagation occurs within the single global IPFS cluster.

How the dARK Resolver works

A public interface to read every ARK.

Resolver queries the record and responds in three ways. Select each option to see its path.

dARK within global ARK resolution

An N2T delegation directs each NAAN to the service that must respond.

The global ARK registry maintains an N2T—Name to Thing—rule for each NAAN. In spaces managed by dARK, that rule directs the request to dARK Resolver. N2T specifies which service responds; it does not store metadata.

ARK Global ResolverNAAN N2T ruledARK Resolver
One delegation, several response points.dARK sites share the record and metadata copies. If one site is unavailable, another can handle resolution when it has the required services and replicas.
Person or systemResolverdARK recordCurrent URL
GET /api/v1/arks/ark:/12345/abc123

It looks up the registered address and opens the resource in its current repository.

Person or systemResolverRecord + metadataStructured information
GET /api/v1/arks/ark:/12345/abc123?info

It presents the public information associated with the ARK.

Person or systemResolverStore + IPFSOriginal record
GET /api/v1/arks/ark:/12345/abc123?metadata

It retrieves the original version of the preserved metadata.

The outcome

A regional infrastructure to identify, preserve, and resolve.

dARK coordinates minting, decentralized preservation, verifiable registration, and public resolution through specialized services.

01PersistenceThe ARK remains even when the URL changes.
02AutoridadesPermissions are linked to institutions and NAANs.
03PreservationMetadata are identified and replicated by content.
04Public accessResolver makes it possible to look up each published ARK.

Technical documentation

Explore dARK 2.0 implementation in depth.