Lorsqu'un utilisateur d'une blockchain veut initier une transaction, il va utiliser sa clé privée, une série de chiffre et de lettre totalement aléatoire. Elle va lui permettre de signer de manière cryptographique son message. Seul l'utilsateur connait sa clé privée.

A l'inverse la clé publique est connue de l'ensemble du réseau. Elle sert d'adresse pour les utilisateurs, ce qui permet les échanges entre les membres du réseau. 

Ainsi, lorsqu'un utilisateur souhaite envoyer un message à un autre utilisateur, il lui suffit de chiffrer le message à envoyer au moyen de la clé publique du destinataire Ce dernier sera en mesure de déchiffrer le message à l'aide de sa clé privée (qu'il est seul à connaître).