Peaq IDs for Anyone — Full Guide
Peaq DIDs are coming for Anyone hardware, marking the start of our closer technical collaboration with peaq!
Why DID we?
peaqIDs are a variant on the popular DID standard, allowing machines to identify and authenticate themselves on the peaq network. This opens up the ability for distinct machines to interact with each other in a standardized way.
We have integrated peaq’s SDK to enable hardware relays in the Anyone Network to be seamlessly assigned a peaqID. In the future, these IDs could be used for relays to claim rewards on the peaq L1 and become eligible for other incentives.
peaqIDs are the core unit to measure the total network size and activity on Peaq, and the number of registered devices from different projects, including ANYONE, will soon be visible from popular Dune dashboards!
Updating your hardware
Currently, onboarding to a peaqID is available for any Anyone Router Hardware. Users can run an optional update, either via USB or through the new update page on the relay control panel.
Ready to update? Head over to https://docs.anyone.io/hardware/update
Once you’ve done so, you’ll see two new identifiers on the home page of the Relay Control Panel. This will be the Peaq name, a URI ending in ‘anyone’, and your (longer) ID used as part of authentication.
Onboarding and Authentication
As part of this integration, we’ve worked with the peaq team to build a unique authentication system to verify hardware and grant the ID accordingly! We make use of a controller — an entity that has the authority to make changes to the peaqID document. Using a controller reduces complexity for hardware operators and makes the process gas-less for end users.
Background: ID Format
Each peaqID allows a proof of an individual authority (for example, a machine or its operator) to own the ID. Each DID resolves to a DID document that contains the following metadata:
- Public Keys: Used for authentication, encryption, and digital signatures
- Authentication Methods: Ways to prove control of the DID
- Service Endpoints: URLs where you can interact with the DID controller
- Verification Relationships: Different verification methods for different purposes
- Creation/Update Timestamps: When the document was created or last modified
Device Registration
When a user/device/relay wants to register, they send their fingerprint, public key, and address. Our admin wallet verifies the validity of the fingerprint on the network and creates a machine smart account for the user by:
- Generating a nonce (unique identifier)
- Signing deployment data (using EIP-712 typed data signing)
- Deploying a machine smart account contract for the relay, which becomes the user’s on-chain identity container
DID Creation:
Once the machine smart account is deployed, the DID creation happens with dual signatures:
- The Anyone admin wallet signs transaction data authorizing DID creation
- The device/user/relay also signs the same transaction data
The user’s address becomes the DID controller in the DID document and the machine smart account serves as the on-chain representation of the identity. The DID document also includes verification methods that establish the user as controller.