Distributed Compliance Ledger (DCL)

Table of Contents

DCL Introduction

The DCL is a blockchain-based system owned and hosted by Alliance members. It is used by the Matter protocol for storing information such as:

InformationDescriptionAccount Role involved
VendorThe manufacturer or vendor of a device.Data is entered by an approved Vendor account.
ProductThe product device including description, software version, OTA information, etc.Data is entered by an approved Vendor account.
Compliance statusThe certification status including certification ID, certification date, etc.Data is entered by the Alliance’s Certification Center account.
PAA Root CAsProduct Attestation Authorities (PAA) Root CAs used by commissioners during Device Attestation process.Data is proposed by the Alliance’s Trustee and approved by other DCL Trustees.

Additional information available in the Distributed Compliance Ledger (DCL) Policies, Procedure and Governance.

Types of nodes that operate in the DCL

Type of NodeDescription
Validator Node (VN)Participates in creating the consensus process to add information into the ledger. The consensus is the process by which the nodes agree on the state and data of the blockchain, ensuring all nodes have a consistent ledger while verifying the validity of transactions.

| Sentry Node (SN) | Doesn't participate in consensus and wraps the VN representing it for the rest of the network as one of the ways for DDoS and access protection. | | Observer Node (ON) | Doesn't participate in consensus and is optimized for public data read and authenticated write interactions with the ledger. |

Types of account roles that can interact with the DCL

Account RoleDescription
TrusteeEntrusted to approve or deny other DCL roles and PAA Root CAs in the ledger, as well as to disable Validator Nodes.
Node AdminCan instantiate a single Validator Node.
VendorCan write vendor and product information to the ledger. Alliance members can have one or more vendor accounts.
Vendor AdminCan add and update the Vendor information table of the ledger.
Certification CenterCan submit, update, delete or revoke certification status of a product based on the Certification application in the Certification Tool.

Main-Net and Test-Net

DCL DeploymentDescription
Main-NetThe production environment that is utilized by the public. Transactions on the Main-Net involve real products and data.
Test-NetUsed for testing and development purposes. It provides a safe environment for experimentation and troubleshooting before deploying to the Main-Net.

Access and interaction with the DCL

  • Write access to the ledger is restricted to approved accounts in the DCL.

  • Read access is broadly available through observer nodes.

Getting an account for writing to the DCL

  • Enrollment for Main-Net DCL accounts is managed through the “DCL Account(s)” section in the Certification Tool system (Knack). You can request access to the Certification Tool by sending an email to help@csa-iot.org.

Note: The Certification Tool portal will depend on the Membership type.

Review the following document for instructions: HowTo - Writing to the DCL.pdf

Interacting with the DCL

There are different options available for users and/or systems to interact with the DCL:

  • Web User Interface, for intuitive navigation.
  • API, for seamless integration.
  • Command Line Interface (CLI), for efficient management.

Web User Interface

The Web UI allows users to interact with the DCL through a visual interface, making tasks more intuitive and reducing the likelihood of errors. There is no need to install any application client or configuration setup.

Command Line Interface

The DCL CLI software (dcld) allows users to interact with the DCL via command line using a connection to a specific available Observer Node. The CLI software is available at the following link: https://github.com/zigbee-alliance/distributed-compliance-ledger/releases.

The instructions for the DCL client are available at the following link: https://github.com/zigbee-alliance/distributed-compliance-ledger/blob/master/docs/how-to.md.

Observer Nodes

An Observer Node (ON) offers APIs or Web User Interfaces for users or systems to interact with the DCL. This facilitates both manual and automated authorized writes, as well as public queries to the DCL.

It is not a requirement to deploy an Observer Node. The Alliance has ONs available in various regions across the globe, including trusted ONs managed by our members. This ensures broad accessibility and reliable interaction with the DCL from different locations.

Main-Net public ONs

Host OwnerRegionWeb User InterfaceURL for APIRESTRPCgRPC
The AllianceUS, EUhttps://webui.dcl.csa-iot.orgon.dcl.csa-iot.org443266578443
TrustAsiaCNhttps://main-net.trustasia.comon.main-net.trustasia.com443266578443
TuyaCNN/Aon-dcl.tuyacn.com1317266579090

Test-Net public ONs

Host OwnerRegionWeb User InterfaceURL for APIRESTRPCgRPC
The AllianceUS, EUhttps://testnet.iotledger.ioon.test-net.dcl.csa-iot.org443266578443
TrustAsiaCNhttps://test-net.trustasia.comon.test-net.trustasia.com443266578443
TuyaCNN/Aon-dcl-testnet.tuyacn.com1317266579090

FAQs

Why is my Vendor information not listed in the DCL?

Each member must add their own Vendor information using an approved Vendor account.

Review the following document for instructions: HowTo - Writing to the DCL.pdf

When should I write my product information to the Main-Net DCL?

The DCL's product information comprises a Model and a Model-Version of the product. Members add this information using an approved Vendor account. This can be done before or after completing the certification process. The Compliance entry in the DCL is submitted by the Alliance’s Certification team after the certification process is finalized. For this to take place, the Model and Model-Version must already be listed in the DCL, match the data from the Certification Tool, and the member must notify the Certification team that the DCL information is ready.

Review the following document for instructions: HowTo - Writing to the DCL.pdf

Contact

For any questions related to the DCL, please contact the DCL Admin (dcl-admin@csa-iot.org).