Owner: @Mehmet @Marcin Pawlowski
Reviewers: 🟢@Youngjoon Lee 🟢@Alexander Mozeika 🟢@Thomas Lavaur 🟢@Álvaro Castro-Castilla
This document defines the key types used in the Blend protocol and describes the process of generating them.
This document ensures that the keys are used and generated in a common manner, which is necessary for making the Blend protocol work. The keys include:
A node generates a Non-ephemeral Quota Key (NQK) that is a ZkSignature (Zero Knowledge Signature Scheme (ZkSignature)). The NQK is stored on the ledger as the zk_id
field in the DeclarationInfo
of the node’s outcome of the participation in the Service Declaration Protocol (SDP — Service Declaration Protocol).
The NQK is used to prove that the node is part of the set of core nodes as indicated through the SDP.
A node generates a Non-ephemeral Signing Key (NSK) that is a Ed25519 key. The NSK is stored on the ledger as the provider_id
field in the DeclarationInfo
of the node’s outcome of the participation in the Service Declaration Protocol (SDP — Service Declaration Protocol).
The NSK is used to authenticate the node on the network level and to derive Non-ephemeral Encryption Key.
A node generates Ephemeral Signing Keys (ESK) that are proved to be limited in number by the Proof of Quota (PoQ — Proof of Quota Specification). The PoQ for core nodes requires a valid NQK for the session for which the PoQ is generated.