METHOD AND COMPUTER SYSTEM FOR VERIFIABLE FILE TRANSFER
Patent Information
- Application Number
- DE602020059417
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-19
- Filing Date
- 2020-12-15
- Publication Date
- 2025-09-24
- Estimated Expiration
- 2040-12-15
AI Technical Summary
Existing methods for transferring data files lack the ability to provably verify that a particular file was transferred from a particular sender to a particular recipient, which is necessary in various applications.
A computer-implemented method and system that utilizes a blockchain system to generate and store sender and recipient records with transaction identifiers, along with file transfer logs, to ensure provable file transfer by linking these records through blockchain transactions.
Ensures provable file transfer verification by generating and storing records on a blockchain, providing a secure and transparent record of file transfer events.
Description
Field of the Invention
[0001] The present invention relates to a computer-implemented method and a computer system for provable file transfer. Specifically, the present invention relates to a computer-implemented method and a computer system for transferring provably a file from a sender to a recipient. Document US2019 / 057115 discloses a method and a system for distributing digital content.Background of the Invention
[0002] There are virtually endless numbers of applications scenarios involving the transfer of data files from a sender via a communication network to a recipient, particularly a transfer of data files over the Internet. In at least some of these applications or scenarios it would be advantageous, if not necessary, to be able to prove after the fact that a particular data file was indeed transferred from a particular sender to a particular recipient.Summary of the Invention
[0003] It is an object of this invention to provide a computer-implemented method and a computer system for transferring provably a file from a sender to a recipient, which computer-implemented method and a computer system do not have at least some of the disadvantages of the prior art.
[0004] According to the present invention, these objects are achieved through the features of the independent claims. In addition, further advantageous embodiments follow from the dependent claims and the description.
[0005] According to the present invention, the above-mentioned objects are particularly achieved in that a computer-implemented method of transferring provably a file from a sender to a recipient comprises a computer system performing the steps: receiving via a communication network from a communication device of the sender the file and an indication of a recipient; generating a sender record, using the file and sender identification data; submitting the sender record to a blockchain system for storing the sender record on the blockchain in a first blockchain record having a first blockchain transaction identifier; transmitting via the communication network a file transfer notification to the recipient; transmitting the file via the communication network to a communication device of the recipient, responsive to receiving from the communication device of the recipient a file download request related to the file transfer notification; generating a recipient record, using the file, recipient identification data, and the first blockchain transaction identifier; submitting the recipient record to the blockchain system for storing the recipient record on the blockchain in a second blockchain record having a second blockchain transaction identifier; and storing a file transfer log, the file transfer log comprising file data of the file, the sender identification data, the sender record, the recipient identification data, and the recipient record linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
[0006] In an embodiment, the method further comprises the computer system generating a unique file transfer identifier, using the unique file transfer identifier for generating the sender record and for generating the recipient record, and storing the unique file transfer identifier in the file transfer log linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
[0007] In an embodiment, the method further comprises the computer system generating a proof of transfer of the file by retrieving the file transfer log for the file, and including in the proof of transfer the file data, the sender identification data for generating the sender record, the first blockchain transaction identifier for verifying the sending of the file by the sender using the sender record stored in the first blockchain record with the first blockchain transaction identifier, the recipient identification data for generating the recipient record, and the second blockchain transaction identifier for verifying the receiving of the file by the recipient using the recipient record stored in the second blockchain record with the second blockchain transaction identifier.
[0008] In an embodiment, the method further comprises the computer system generating an anonymized sender identifier linked on the computer system to the sender identification data, and including the anonymized sender identifier in the sender record for storing the anonymized sender identifier in the first blockchain record.
[0009] In an embodiment, the method further comprises the computer system generating an anonymized recipient identifier linked on the computer system to the recipient identification data, and including the anonymized recipient identifier in the sender record for storing the anonymized recipient identifier in the first blockchain record and / or in the recipient record for storing the anonymized recipient identifier in the second blockchain record.
[0010] In an embodiment, submitting the sender record to the blockchain system and submitting the recipient record to the blockchain system comprises the computer system invoking a smart contract of the blockchain system.
[0011] In an embodiment, generating the sender record comprises the computer system generating a file checksum by applying a hash function to the file, generating a sender identifier hash from the sender identification data, and including the file checksum and the sender identifier hash in the sender record; and generating the recipient record comprises the computer system generating a recipient identifier hash from the recipient identification data, and including the file checksum and the recipient identifier hash in the recipient record.
[0012] In an embodiment, the recipient identification data comprises: an electronic mail address of the recipient, a mobile telephone number of the recipient, a user name and associated password of the recipient, a transaction authentication number assigned to the recipient, and / or a unique hyperlink assigned to the recipient; and the sender identification data comprises: an electronic mail address of the sender, a mobile telephone number of the sender, a user name and associated password of the sender, a transaction authentication number assigned to the sender, and / or a unique hyperlink assigned to the sender.
[0013] In addition to the computer-implemented method of transferring provably a file from a sender to a recipient, the present invention also relates to a computer system for transferring provably a file from a sender to a recipient. The computer system comprises a processor configured to perform the steps: receiving via a communication network from a communication device of the sender the file and an indication of a recipient; generating a sender record, using the file and sender identification data; submitting the sender record to a blockchain system for storing the sender record on the blockchain in a first blockchain record having a first blockchain transaction identifier; transmitting via the communication network a file transfer notification to the recipient; transmitting the file via the communication network to a communication device of the recipient, responsive to receiving from the communication device of the recipient a file download request related to the file transfer notification; generating a recipient record, using the file, recipient identification data, and the first blockchain transaction identifier; submitting the recipient record to the blockchain system for storing the recipient record on the blockchain in a second blockchain record having a second blockchain transaction identifier; and storing a file transfer log, the file transfer log comprising file data of the file, the sender identification data, the sender record, the recipient identification data, and the recipient record linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
[0014] In an embodiment, the processor is further configured to generate a unique file transfer identifier, use the unique file transfer identifier for generating the sender record and for generating the recipient record, and store the unique file transfer identifier in the file transfer log linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
[0015] In an embodiment, the processor is further configured to generate a proof of transfer of the file by retrieving the file transfer log for the file, and including in the proof of transfer the file data, the sender identification data for generating the sender record, the first blockchain transaction identifier for verifying the sending of the file by the sender using the sender record stored in the first blockchain record with the first blockchain transaction identifier, the recipient identification data for generating the recipient record, and the second blockchain transaction identifier for verifying the receiving of the file by the recipient using the recipient record stored in the second blockchain record with the second blockchain transaction identifier.
[0016] In an embodiment, the processor is further configured to generate an anonymized sender identifier linked on the computer system to the sender identification data, include the anonymized sender identifier in the sender record for storing the anonymized sender identifier in the first blockchain record, generate an anonymized recipient identifier linked on the computer system to the recipient identification data, and include the anonymized recipient identifier in the sender record for storing the anonymized recipient identifier in the first blockchain record and / or in the recipient record for storing the anonymized recipient identifier in the second blockchain record.
[0017] In an embodiment, the processor is further configured to submit the sender record to the blockchain system and to submit the recipient record to the blockchain system by invoking a smart contract of the blockchain system.
[0018] In an embodiment, the processor is further configured to generate the sender record by generating a file checksum by applying a hash function to the file, generating a sender identifier hash from the sender identification data, and including the file checksum and the sender identifier hash in the sender record; and to generate the recipient record by generating a recipient identifier hash from the recipient identification data, and including the file checksum and the recipient identifier hash in the recipient record.
[0019] In addition to the computer-implemented method and the computer system for transferring provably a file from a sender to a recipient, the present invention also relates to a computer program product. The computer program product comprises a non-transitory computer-readable medium having stored thereon computer program code configured to control a processor of a computer system such that the computer system transfers provably a file from a sender to a recipient by performing the above-described method of transferring provably a file from a sender to a recipient.Brief Description of the Drawings
[0020] The present invention will be explained in more detail, by way of example, with reference to the drawings in which: Figure 1:shows a combined flow and block diagram illustrating schematically a computer system and a computer-implemented method for transferring provably a file from a sender to a recipient. Figure 2:shows a schematic tree diagram illustrating data elements and data records for implementing a provable transfer of a file from a sender to a recipient. Detailed Description of the Preferred Embodiments
[0021] In Figure 1, reference numeral 3 refers to a computer system. The computer system 3 comprises one or more computers having one or more processors 31. In an embodiment, the computer system 3 is a cloud-based computer system. As illustrated in Figure 1, the computer system 3 comprises a data store 30 for storing data, described below in more details. The one or more processors 31 of the computer system 3 are configured to perform various functions described below in more detail. More specifically, the one or more processors 31 of the computer system 3 are controlled by computer program code, stored on a non-transitory computer-readable medium, such that the computer system 3 performs the afore-mentioned functions.
[0022] Reference numeral 4 refers to a communication network. The communication network 4 comprises fixed and / or mobile communication networks, e.g. the Internet and communication networks for accessing the Internet, e.g. mobile radio communication networks, such as GSM (Global System for Mobile Communication), UMTS (Universal Mobile Telephone System), 5G-networks, LAN (Local Area Networks), and / or WLAN (Wireless Local Area Networks).
[0023] Reference numeral 5 refers to a blockchain stored on a blockchain system 500 (also referred to as "blockchain platform") implemented on a plurality of (distributed) computers (nodes) connected to the communication network 4. The blockchain system or blockchain platform 500 implements a permissioned or a permission-less blockchain. For example, the blockchain system 500 is an Ethereum, EOS, or NEO blockchain platform. As illustrated in Figure 1, the blockchain 5 comprises a plurality of blocks 50, which are sequentially arranged in a chain of consecutive blocks 50 and cryptographically linked in that each block 50 contains a cryptographic hash of the preceding (previous) block 50 on the blockchain 5. Each block 50 of the blockchain 5 comprises a plurality of blockchain records 51, 52. Each blockchain record 51, 52 corresponds to a transaction and comprises a respective blockchain transaction identifier T1, T2.
[0024] In Figure 1, reference numerals 1 and 2 refer to a sender or a recipient, respectively. The sender 1 and recipient 2 comprise computerized communication devices for communication with the computer system 3 via the communication network 4. For example, the computerized communication devices are mobile phones, laptop computers, desktop computers, tablet computers, smart watches, and / or other computing devices configured for data communication via communication network 4.
[0025] In the following paragraphs, described with reference to Figure 1 are possible sequences of steps performed by the computer system 3 or its processor(s) 31, respectively, for transferring provably a data file from the sender 1 to the recipient 2, i.e. from the computerized communication device of the sender 1 to the computerized communication device of the recipient 2.
[0026] In step S1, the computer system 3 or its processor 31, respectively, receives via the communication network 4 from the sender 1 or its computerized communication device, respectively, sender identification data. Depending on the scenario or embodiment, the sender identification data comprises an electronic mail address of the sender 1, a mobile telephone number of the sender 1, a user name and associated password of the sender 1, a transaction authentication number assigned to the sender 1, and / or a unique hyperlink assigned to the sender 1. The password of the sender 1 may be supplemented by two factor authentication codes and / or replaced or supplemented with biometric data obtained from the sender 1. For example, the sender identification data is received via a web frontend associated with a website linked to or hosted on the computer system 3. Using the sender identification data, the computer system 3 identifies and authenticates the sender 1.
[0027] In step S2, the computer system 3 or its processor 31, respectively, receives via the communication network 4 from the sender 1 or its computerized communication device, respectively, the data file to be uploaded and subsequently transferred to one or more recipients (2). For upload verification, a checksum of the file is computed locally at the sender side, i.e. at the computerized communication device of the sender 1, e.g. in the web frontend, and at the platform side, e.g. by the computer system 3 or its processor 31, respectively, after the upload of the file has finished.
[0028] Upon positive verification of the two checksums, successful upload is established and the checksum is stored in the data store 30 in a file transfer log 300 for the respective data file, which was uploaded and is to be transferred. In an embodiment the checksum FH of the data file or its file content F, respectively, is computed as a hash, using a cryptographic one-way function, as illustrated in Figure 2. In an embodiment, in addition to the checksum further file data of the respective data file is stored in the file transfer log 300 for the respective data file, e.g. file name, file size, and other characteristic data of the data file. Furthermore, a time stamp, indicative of date and time of the successful file upload, is stored in the file transfer log 300 for the respective data file.
[0029] In an embodiment, the computer system 3 or its processor 31, respectively, further generates and stores in the file transfer log 300 for the respective data file (to be transferred) a unique file transfer identifier TID. In essence, the unique file transfer identifier TID is used to identify a particular file transfer process of a particular data file from a particular sender 1 to a particular recipient 2.
[0030] In step S3, the computer system 3 or its processor 31, respectively, receives via the communication network 4 from the sender 1 or its computerized communication device, respectively, an indication of a recipient, i.e. a selection and / or specification of the recipient of the data file. For example, the selection or specification of the recipient is received from the sender via the web frontend associated with a website linked to or hosted on the computer system 3. The recipient is selected from an existing directory of recipients or created as a new recipient. For example, a new recipient is defined by the sender 1 indicating and submitting recipient identification data such as an email address of the recipient 2, a mobile telephone number of the recipient 2, other identifiers of the recipient 2, e.g. identifiers or user names from messaging services such as WhatsApp or Threema, etc., and / or a transaction authentication number assigned to the recipient 2. At this point in time or at a later phase, the computer system 3 or its processor 31, respectively, generates a proxy identifier for the specified recipient 2, e.g. a unique alphanumeric string assigned to the recipient selected or defined by the sender 1. Essentially, the recipient proxy identifier is an anonymized identifier linked on the computer system 3 to the recipient 2 or the respective recipient identification data, respectively. In an embodiment, the computer system 3 or its processor 31, respectively, generates for the recipient 2 a unique hyperlink which can be used by the recipient 2 to access, e.g. via a web browser, the data file submitted by the sender 1 for transmission to the recipient 2. In an embodiment, this unique hyperlink is further used as recipient identification data and / or as the proxy identifier for the recipient 2. In an embodiment, the computer system 3 or its processor 31, respectively, generates a unique transfer object which includes and / or links a unique file transfer identifier TID, the data file to be transferred, the sender identification data, and the recipient identification data available at this stage.
[0031] In step S4, the computer system 3 or its processor 31, respectively, generates a sender record SR for storage as a blockchain record 51 on the blockchain 5. As illustrated in Figure 2, the sender record SR is generated based on the file content F of the data file and sender identification data associated with the sender 1. More specifically, the sender record SR comprises a sender identifier hash SIDH and the checksum FH of the file content F of the data file. The sender identifier hash SIDH is generated by the computer system 3 or its processor 31, respectively, from the sender identification data using a cryptographic one-way function (cryptographic hash function), as illustrated in Figure 2. Optionally, the sender record SR further comprises a sender proxy identifier SPID. The sender proxy identifier SPID for the sender 1, e.g. a unique alphanumeric string assigned to the sender identification data of the sender 1, is generated by the computer system 3 or its processor 31, respectively. Essentially, the sender proxy identifier SPID is an anonymized identifier linked on the computer system 3 to the sender 1 or the respective sender identification data, respectively. In an embodiment, the sender record SR further comprises the recipient proxy identifier RPID of the recipient 2. In an embodiment, the sender record SR further comprises the unique file transfer identifier TID for the respective data file. The computer system 3 or its processor 31, respectively, submits the sender record SR to the blockchain system 500 for storage on the blockchain 5. The computer system 3 or its processor 31, respectively, uses an interface of the blockchain system 500, e.g. an API (application programming interface), to submit the sender record SR for storage on the blockchain 5. Depending on the type of blockchain system 500 used, submitting the sender record SR to the blockchain system 500 for storage on the blockchain 5 may invoke a smart contract of the blockchain 5 which generates a transaction and stores the sender record SR on the blockchain 5. As illustrated schematically in Figure 2, the sender record SR is stored on the blockchain 5, in a block 50 of the blockchain 5, as a blockchain record 51, having blockchain transaction identifier T1 .
[0032] Upon successful storage of the sender record SR on the blockchain 5, the computer system 3 or its processor 31, respectively, receives the respective blockchain transaction identifier T1 from the blockchain system 500. The received blockchain transaction identifier T1 is stored as a sender transaction identifier in the data store 30 in the file transfer log 300 for the respective data file to be transferred. More specifically, the sender transaction identifier, the sender identification data SID, and the sender record SR, are stored in the file transfer log 300 for the respective data file, linked to the previously stored file data of the respective data file (e.g. including the unique file transfer identifier TID). Furthermore, a time stamp, indicative of date and time of the successful blockchain registration of the file upload transfer, is stored in the file transfer log 300 for the respective data file.
[0033] In step S5, the computer system 3 or its processor 31, respectively, transmits a file transfer notification via the communication network 4 to the recipient 2 defined in step S3. For example, the file transfer notification is transmitted by email or another electronic message to the recipient 2 or its communication device, respectively. In an embodiment, the file transfer notification comprises the unique hyperlink generated for the recipient 2 to access the data file submitted by the sender 1 for transmission to the recipient 2.
[0034] In step S6, the computer system 3 or its processor 31, respectively, receives from the recipient 2 or its communication device, respectively, via the communication network 4 a file download request related to the file transfer notification. In an embodiment, the file download request is generated in response to the recipient activating, i.e. clicking on, the unique hyperlink included in the file transfer notification. Responsive to the file download request or activation of the unique hyperlink, respectively, the computer system 3 or its processor 31, respectively, determines the data file which associated with the file transfer or file download request, respectively. For example, the data file is determined based on the unique hyperlink which was accessed by the recipient and is included or linked to the unique transfer object created for the data file. In an embodiment, the recipient 2 is requested to provide further authentication information, before further processing is continued. In an embodiment, the computer system 3 or its processor 31, respectively, determines at this stage further recipient identification data, e.g. an IP address and / or the web browser used by the recipient 2 to generate the file download request or activate the unique hyperlink, respectively. The further recipient identification data is stored linked to the recipient proxy identifier of the recipient 2.
[0035] In step S7, subject to positive identification and authentication of the recipient 2, the computer system 3 or its processor 31, respectively, transmits the data file via the communication network 4 to the recipient 2 or its communication device, respectively. For download verification, a checksum of the file is computed locally at the recipient side, i.e. at the computerized communication device of the recipient 2, e.g. in the web frontend, and compared to the checksum FH stored for the file on the platform side, e.g. by the computer system 3 or its processor 31, respectively, after the download of the file has finished. As explained above, in an embodiment the checksum FH* of the downloaded data file or its file content F*, respectively, is computed as a hash, using a cryptographic one-way function, as illustrated in Figure 2. Upon positive verification of the two checksums FH, FH*, successful download is established and processing continues in step S8; otherwise an error message is indicated to the sender and / or the download of the date file is repeated.
[0036] In step S8, the computer system 3 or its processor 31, respectively, generates a recipient record RR for storage as a blockchain record 52 on the blockchain 5. As illustrated in Figure 2, the recipient record RR is generated based on the file content F* of the data file and recipient identification data associated with the recipient 2, and includes the sender transaction identifier of step S4. More specifically, the recipient record RR comprises a recipient identifier hash RIDH and the checksum FH* of the file content F* of the data file. The recipient identifier hash RIDH is generated by the computer system 3 or its processor 31, respectively, from the recipient identification data using a cryptographic one-way function (cryptographic hash function), as illustrated in Figure 2. The sender transaction identifier included in the recipient record RR corresponds to the blockchain transaction identifier T1 assigned by the blockchain system 500 to the stored sender record SR. Optionally, the recipient record RR further comprises a recipient proxy identifier RPID. The recipient proxy identifier RPID for the recipient 2, e.g. a unique alphanumeric string assigned to the recipient identification data of the recipient 2, is generated by the computer system 3 or its processor 31, respectively. In an embodiment, the recipient record RR further comprises the unique file transfer identifier TID for the respective data file. The computer system 3 or its processor 31, respectively, submits the recipient record RR to the blockchain system 500 for storage on the blockchain 5. The computer system 3 or its processor 31, respectively, uses an interface of the blockchain system 500, e.g. an API (application programming interface), to submit the recipient record RR for storage on the blockchain 5. Depending on the type of blockchain system 500 used, submitting the recipient record RR to the blockchain system 500 for storage on the blockchain 5 may invoke a smart contract of the blockchain 5 which generates a transaction and stores the recipient record RR on the blockchain 5. As illustrated schematically in Figure 2, the recipient record RR is stored on the blockchain 5, in a block 50 of the blockchain 5, as a blockchain record 52, having blockchain transaction identifier T2.
[0037] Upon successful storage of the recipient record RR on the blockchain 5, the computer system 3 or its processor 31, respectively, receives the blockchain transaction identifier T2 from the blockchain system 500. The received blockchain transaction identifier T2 is stored as a recipient transaction identifier in the data store 30 in the file transfer log 300 for the respective data file transferred. More specifically, the recipient transaction identifier, the recipient identification data RID, and the recipient record RR, are stored in the file transfer log 300 for the respective data file, linked to the previously stored file data of the respective data file (e.g. including the unique file transfer identifier TID), sender transaction identifier, sender identification data SID, and sender record SR. Furthermore, a time stamp, indicative of date and time of the successful blockchain registration of the file download transfer, is stored in the file transfer log 300 for the respective data file.
[0038] Subsequently to a successful file transfer from the sender 1 to the recipient 2, e.g. upon request by an authorized user, the computer system 3 or its processor 31, respectively, generates a proof of transfer of the file, using data stored in the file transfer log 300 for the respective file. More specifically, the computer system 3 or its processor 31, respectively, retrieves from the file transfer log 300 for the respective file the file data, the sender identification data SID, the sender transaction identifier T1, the recipient identification data RID, the recipient transaction identifier T2, and time stamps related to uploading and downloading the respective file, and includes the retrieved data in the proof of transfer. The sender transaction identifier T1 makes it possible for the user to verify the sending of the file by the sender 1, at a recorded upload time, using the sender record SR stored in the blockchain record 51 defined by the sender transaction identifier T1. The recipient transaction identifier T2 makes it possible for the user to verify the receiving of the file by the recipient 2, at a recorded download time, using the recipient record RR stored in the blockchain record 52 defined by the sender transaction identifier T2.
[0039] In the embodiments which include the unique file transfer identifier TID in the sender record SR and in the recipient record RR, and which further include the sender proxy identifier SPID of the sender 1 in the sender record SR, and the recipient proxy identifier RPID of the recipient 2 in both the sender record SR and the recipient record RR, a proof of transfer of the data file from the sender 1 to the recipient 2 can be established by matching the blockchain records 51, 52 related to the same unique file transfer identifier TID.
[0040] It should be noted that, in the description, the sequence of the steps has been presented in a specific order, one skilled in the art will understand, however, that the order of at least some of the steps could be altered, without deviating from the scope of the invention.
Claims
1. A computer-implemented method of transferring provably a file from a sender (1) to a recipient (2), the method comprising a computer system (3) performing the steps: receiving (S2, S3) via a communication network (4) from a communication device of the sender (1) the file and an indication of a recipient; generating a sender record, using the file and sender identification data; submitting (S4) the sender record to a blockchain system for storing the sender record on the blockchain (5) in a first blockchain record (51) having a first blockchain transaction identifier (T1); transmitting (S5) via the communication network (4) a file transfer notification to the recipient (2); transmitting (S7) the file via the communication network (4) to a communication device of the recipient (2), responsive to receiving (S6) from the communication device of the recipient (2) a file download request related to the file transfer notification; generating a recipient record, using the file, recipient identification data, and the first blockchain transaction identifier (T1); submitting (S8) the recipient record to the blockchain system for storing the recipient record on the blockchain (5) in a second blockchain record (52) having a second blockchain transaction identifier (T2); and storing a file transfer log (300), the file transfer log (300) comprising file data of the file, the sender identification data, the sender record, the recipient identification data, and the recipient record linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
2. The method of claim 1, wherein the method further comprises the computer system (3) generating a unique file transfer identifier (TID), using the unique file transfer identifier (TID) for generating the sender record and for generating the recipient record, and storing the unique file transfer identifier (TID) in the file transfer log (300) linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
3. The method of one of claims 1 or 2, wherein the method further comprises the computer system (3) generating a proof of transfer of the file by retrieving the file transfer log (300) for the file, and including in the proof of transfer the file data, the sender identification data for generating the sender record, the first blockchain transaction identifier for verifying the sending of the file by the sender using the sender record stored in the first blockchain record (51) with the first blockchain transaction identifier (T1), the recipient identification data for generating the recipient record, and the second blockchain transaction identifier for verifying the receiving of the file by the recipient using the recipient record stored in the second blockchain record (52) with the second blockchain transaction identifier (T2).
4. The method of one of claims 1 to 3, wherein the method further comprises the computer system (3) generating an anonymized sender identifier linked on the computer system (3) to the sender identification data, and including the anonymized sender identifier in the sender record for storing the anonymized sender identifier in the first blockchain record (51).
5. The method of one of claims 1 to 4, wherein the method further comprises the computer system (3) generating an anonymized recipient identifier linked on the computer system (3) to the recipient identification data, and including the anonymized recipient identifier in at least one of: in the sender record for storing the anonymized recipient identifier in the first blockchain record (51) and in the recipient record for storing the anonymized recipient identifier in the second blockchain record (52).
6. The method of one of claims 1 to 5, wherein submitting (S4) the sender record to the blockchain system and submitting (S8) the recipient record to the blockchain system comprises the computer system (3) invoking a smart contract of the blockchain system.
7. The method of one of claims 1 to 6, wherein generating the sender record comprises the computer system (3) generating a file checksum by applying a hash function to the file, generating a sender identifier hash from the sender identification data, and including the file checksum and the sender identifier hash in the sender record; and generating the recipient record comprises the computer system (3) generating a recipient identifier hash from the recipient identification data, and including the file checksum and the recipient identifier hash in the recipient record.
8. The method of one of claims 1 to 7, wherein the recipient identification data comprises at least one of: an electronic mail address of the recipient, a mobile telephone number of the recipient, a user name and associated password of the recipient, a transaction authentication number assigned to the recipient, and a unique hyperlink assigned to the recipient; and the sender identification data comprises at least one of: an electronic mail address of the sender, a mobile telephone number of the sender, a user name and associated password of the sender, a transaction authentication number assigned to the sender, and a unique hyperlink assigned to the sender.
9. A computer system (3) for transferring provably a file from a sender (1) to a recipient (2), the computer system (3) comprising a processor (31) configured to perform the steps: receiving (S2, S3) via a communication network (4) from a communication device of the sender (1) the file and an indication of a recipient; generating a sender record, using the file and sender identification data; submitting (S4) the sender record to a blockchain system for storing the sender record on the blockchain (5) in a first blockchain record (51) having a first blockchain transaction identifier (T1); transmitting (S5) via the communication network (4) a file transfer notification to the recipient (2); transmitting (S7) the file via the communication network (4) to a communication device of the recipient (2), responsive to receiving (S6) from the communication device of the recipient (2) a file download request related to the file transfer notification; generating a recipient record, using the file, recipient identification data, and the first blockchain transaction identifier (T1); submitting (S8) the recipient record to the blockchain system for storing the recipient record on the blockchain (5) in a second blockchain record (52) having a second blockchain transaction identifier (T2); and storing a file transfer log (300), the file transfer log (300) comprising file data of the file, the sender identification data, the sender record, the recipient identification data, and the recipient record linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
10. The computer system (3) of claim 9, wherein the processor (31) is further configured to generate a unique file transfer identifier (TID), use the unique file transfer identifier (TID) for generating the sender record and for generating the recipient record, and store the unique file transfer identifier (TID) in the file transfer log (300) linked to the first blockchain transaction identifier and to the second blockchain transaction identifier.
11. The computer system (3) of one of claims 9 or 10, wherein the processor (31) is further configured to generate a proof of transfer of the file by retrieving the file transfer log (300) for the file, and including in the proof of transfer the file data, the sender identification data for generating the sender record, the first blockchain transaction identifier for verifying the sending of the file by the sender using the sender record stored in the first blockchain record (51) with the first blockchain transaction identifier (T1), the recipient identification data for generating the recipient record, and the second blockchain transaction identifier for verifying the receiving of the file by the recipient using the recipient record stored in the second blockchain record (52) with the second blockchain transaction identifier (T2).
12. The computer system (3) of one of claims 9 to 11, wherein the processor (31) is further configured to generate an anonymized sender identifier linked on the computer system (3) to the sender identification data, include the anonymized sender identifier in the sender record for storing the anonymized sender identifier in the first blockchain record (51), generate an anonymized recipient identifier linked on the computer system (3) to the recipient identification data, and include the anonymized recipient identifier in at least one of: in the sender record for storing the anonymized recipient identifier in the first blockchain record (51) and in the recipient record for storing the anonymized recipient identifier in the second blockchain record (52).
13. The computer system (3) of one of claims 9 to 12, wherein the processor (31) is further configured to submit (S4) the sender record to the blockchain system and to submit (S8) the recipient record to the blockchain system by invoking a smart contract of the blockchain system.
14. The computer system (3) of one of claims 9 to 13, wherein the processor (31) is configured to generate the sender record by generating a file checksum by applying a hash function to the file, generating a sender identifier hash from the sender identification data, and including the file checksum and the sender identifier hash in the sender record; and to generate the recipient record by generating a recipient identifier hash from the recipient identification data, and including the file checksum and the recipient identifier hash in the recipient record.
15. Computer program product comprising a non-transitory computer-readable medium having stored thereon computer program code configured to control a processor (31) of a computer system (3) such that the computer system (3) transfers provably a file from a sender (1) to a recipient (2) by performing the method of one of the claims 1 to 8.