A method for issuing a virtual document by means of a first computer system of an issuer, wherein the first computer system comprises a memory, wherein a public cryptographic key of an asymmetric key pair associated with the issuer is stored in the memory, wherein a private cryptographic key of the asymmetric key pair of the issuer is stored in a protected memory area of the memory, wherein the first computer system comprises a communication interface for communicating via a network, wherein the virtual document is issued using a blockchain, wherein the blockchain in a block comprises a program module containing first and second program instructions, wherein entries associated with the program module are generated in the blockchain as a result of the execution of the program instructions, wherein the method comprises: • creating a registration request by the first computer system, wherein the registration request comprises the public cryptographic key of the issuer and identifies the program module; • sending the registration request by the first computer system via the network to a first blockchain server (100, 130), wherein the first blockchain server (100, 130) is configured to generate blocks of the blockchain; • receiving the registration request by the first blockchain server (100, 130); • executing, by the first blockchain server (100, 130), the first program instructions of the program module identified by the registration request, wherein the execution of the first program instructions comprises checking the validity of the registration request and, if the registration request is valid, generating a first additional block of the blockchain for the registration of the public cryptographic key of the issuer, wherein the generated first block comprises a first entry which is associated with the program module and which contains the public cryptographic key of the issuer; • receiving a request by the first computer system for the issue of the virtual document; • creating a virtual document by the first computer system; • calculating a first hash value of the virtual document by the first computer system; • creating, by the first computer system, an entry request signed with the private cryptographic key of the issuer, wherein the entry request comprises the first hash value and identifies the program module; • sending the signed entry request by the first computer system via the network to a second blockchain server (100, 130), which is configured to generate blocks of the blockchain; • receiving the signed entry request by the second blockchain server (100, 130); • executing, by the second blockchain server (100, 130), the second program instructions of the program module identified by the signed entry request, wherein the execution of the second program instructions comprises checking the signature of the entry request, using the public cryptographic key of the issuer registered in the blockchain, and, if the signature is valid, generating a second additional block of the blockchain for the issue of the virtual document, wherein the generated second block comprises a second entry which is associated with the program module and which contains the first hash value. • creating a registration request by the first computer system, wherein the registration request comprises the public cryptographic key of the issuer and identifies the program module; • sending the registration request by the first computer system via the network to a first blockchain server (100, 130), wherein the first blockchain server (100, 130) is configured to generate blocks of the blockchain; • receiving the registration request by the first blockchain server (100, 130); • executing, by the first blockchain server (100, 130), the first program instructions of the program module identified by the registration request, wherein the execution of the first program instructions comprises checking the validity of the registration request and, if the registration request is valid, generating a first additional block of the blockchain for the registration of the public cryptographic key of the issuer, wherein the generated first block comprises a first entry which is associated with the program module and which contains the public cryptographic key of the issuer; • receiving a request by the first computer system for the issue of the virtual document; • creating a virtual document by the first computer system; • calculating a first hash value of the virtual document by the first computer system; • creating, by the first computer system, an entry request signed with the private cryptographic key of the issuer, wherein the entry request comprises the first hash value and identifies the program module; • sending the signed entry request by the first computer system via the network to a second blockchain server (100, 130), which is configured to generate blocks of the blockchain; • receiving the signed entry request by the second blockchain server (100, 130); • executing, by the second blockchain server (100, 130), the second program instructions of the program module identified by the signed entry request, wherein the execution of the second program instructions comprises checking the signature of the entry request, using the public cryptographic key of the issuer registered in the blockchain, and, if the signature is valid, generating a second additional block of the blockchain for the issue of the virtual document, wherein the generated second block comprises a second entry which is associated with the program module and which contains the first hash value.