A method performed by a Distributed Public Keystore module (106, 206, 306, 606) operated on a user equipment (102, 202, 302) connected to a communication network, the method comprising: transmitting a Token of the DPK module (106, 206, 306, 606) to an external device (128, 228, 328) having cryptocurrency so the external device (128, 228, 328) can approve the DPK module (106, 206, 306, 606); obtaining cryptocurrency from the external device (128, 228, 328) to a wallet (110, 210, 310) of the DPK module (106, 206, 306, 606), in response to an approval of the Token (108, 208, 308) by the external device (128, 228, 328); obtaining one or more user public key on the user equipment (102, 202, 302); transmitting the cryptocurrency in the wallet (110, 210, 310) of the DPK module (106, 206, 306, 606) to a blockchain (114, 214, 314, 614); sending a storage transaction requirement to the blockchain (114, 214, 314, 614) relating to the cryptocurrency; receiving a first information from the user equipment (102, 202, 302), the first information originating from a message received from the blockchain (114, 214, 314, 614), the message being received via the communication network to the user equipment (102, 202, 302), the first information being related to approval by the blockchain (114, 214, 314, 614) of the storage transaction requirement; sending a second information based on the first information to the blockchain (114, 214, 314, 614) for approval; receiving from the blockchain (114, 214, 314, 614), a public key storage allowance, relating to the approval by the blockchain (114, 214, 314, 614) of the sent storage transaction requirement based on the sent second information; sending the one or more user public key to the blockchain (114, 214, 314, 614) for storage in the blockchain (114, 214, 314, 614), based on the public key storage allowance; retrieving the one or more stored public key from the blockchain (114, 214, 314, 614) when the one or more public key is needed by the DPK module (106, 206, 306, 606). transmitting a Token of the DPK module (106, 206, 306, 606) to an external device (128, 228, 328) having cryptocurrency so the external device (128, 228, 328) can approve the DPK module (106, 206, 306, 606); obtaining cryptocurrency from the external device (128, 228, 328) to a wallet (110, 210, 310) of the DPK module (106, 206, 306, 606), in response to an approval of the Token (108, 208, 308) by the external device (128, 228, 328); obtaining one or more user public key on the user equipment (102, 202, 302); transmitting the cryptocurrency in the wallet (110, 210, 310) of the DPK module (106, 206, 306, 606) to a blockchain (114, 214, 314, 614); sending a storage transaction requirement to the blockchain (114, 214, 314, 614) relating to the cryptocurrency; receiving a first information from the user equipment (102, 202, 302), the first information originating from a message received from the blockchain (114, 214, 314, 614), the message being received via the communication network to the user equipment (102, 202, 302), the first information being related to approval by the blockchain (114, 214, 314, 614) of the storage transaction requirement; sending a second information based on the first information to the blockchain (114, 214, 314, 614) for approval; receiving from the blockchain (114, 214, 314, 614), a public key storage allowance, relating to the approval by the blockchain (114, 214, 314, 614) of the sent storage transaction requirement based on the sent second information; sending the one or more user public key to the blockchain (114, 214, 314, 614) for storage in the blockchain (114, 214, 314, 614), based on the public key storage allowance; retrieving the one or more stored public key from the blockchain (114, 214, 314, 614) when the one or more public key is needed by the DPK module (106, 206, 306, 606).