METHOD FOR PERFORMING AN OFFLINE TRANSACTION

20230032201 · 2023-02-02

Assignee

Inventors

Cpc classification

International classification

Abstract

The present disclosure generally relates to a novel computer implemented method for performing an offline transaction between a first user operating a first electronic device and a second user operating a second electronic device. The present disclosure also relates to a corresponding first electronic device and a computer program product.

Claims

1. A computer implemented method for performing an offline transaction between a first user operating a first electronic device and a second user operating a second electronic device without involving a transaction server, the first electronic device storing a private key for the first user and the second electronic device storing a public key for the first user and relating to the first user's private key, wherein the method comprises: selecting, at the first electronic device, an amount of funds to be transferred, receiving, at the first electronic device, an identity of the first user, receiving, at the first electronic device, an indicator of a transaction server adapted to transfer the selected amount, forming an offline transaction string based on the selected amount, the identity of the first user and the indicator of the transaction server using the first electronic device, signing at least a portion of the offline transaction string using a private key for the first user using the first electronic device, receiving the offline transaction string at the second electronic device, and validating the offline transaction string using the public key for the first user using the second electronic device.

2. The method according to claim 1, wherein the offline transaction string is received at the second electronic device from the first electronic device using direct communication between the first and the second electronic device.

3. The method according to claim 2, wherein the direct communication between the first and the second electronic device is implemented using a wireless communication protocol.

4. The method according to claim 1, further comprising: forming a graphical representation of the offline transaction string, and printing the graphical representation of the offline transaction string.

5. The method according to claim 4, wherein the graphical representation is a barcode.

6. The method according to claim 1, wherein the offline transaction string is further formed based on a payment condition.

7. The method according to claim 6, wherein the payment condition is time-based.

8. The method according to claim 1, wherein the offline transaction string is further formed based on a preselected encryption scheme.

9. The method according to claim 8, wherein the preselected encryption scheme is based on Elliptic Curve Cryptography (ECC).

10. The method according to claim 1, wherein the offline transaction string is further formed based on an identity of the second user.

11. The method according to claim 1, further comprising the steps of: transmitting the offline transaction string from the second electronic device to the transaction server, and transferring, using the transaction server, the amount of funds to the second user.

12. The method according to claim 11, wherein the identity of the first user is validated at the transaction server using the public key for the first user.

13. The method according to claim 11, wherein the offline transaction string is further formed based on a payment condition, and wherein the transferring the amount of funds to the second user is only performed if the payment condition is fulfilled.

14. The method according to claim 11, wherein the transferring the amount of funds to the second user is only performed once.

15. The method according to claim 1, wherein the identity of the first user is a verifiable identity.

16. A first electronic device operated by a first user and adapted to perform an offline transaction with a second electronic device operated by a second user without involving a transaction server, the first electronic device storing a private key for the first user and the second electronic device storing a public key for the first user and relating to the first user's private key, wherein the first electronic device is adapted to: receive information indicative of an amount of funds to be transferred, receive an identity of the first user, receive an indicator of a transaction server adapted to transfer the selected amount, form an offline transaction string based on the selected amount, the identity of the first user and the indicator of the transaction server, sign at least a portion of the offline transaction string using a private key for the first user, and provide the offline transaction string at the second electronic device, wherein the offline transaction string is validated at the second electronic device using the public key for the first user.

17. A computer system comprising: a first electronic device according to claim 16, a second electronic device, the second electronic device being different from the first electronic device, and a transaction server.

18. A computer program product comprising a non-transitory computer readable medium having stored thereon computer program means for operating a first electronic device operated by a first user and adapted to perform an offline transaction with a second electronic device operated by a second user without involving a transaction server, the first electronic device storing a private key for the first user and the second electronic device storing a public key for the first user and relating to the first user's private key, wherein the computer program product comprises code for receiving information indicative of an amount of funds to be transferred, code for receiving an identity of the first user, code for receiving an indicator of a transaction server adapted to transfer the selected amount, code for forming an offline transaction string based on the selected amount, the identity of the first user and the indicator of the transaction server, code for signing at least a portion of the offline transaction string using a private key for the first user, and code for providing the offline transaction string at the second electronic device, wherein the offline transaction string is validated at the second electronic device using the public key for the first user.

19. A computer implemented method for performing an offline transaction for allowing funds to be transferred between a first user operating a first electronic device and a second user operating a second electronic device, without involving a transaction server in the process of transferring the funds between the first user operating the first electronic device and the second user operating the second electronic device, the first electronic device storing a private key for the first user and the second electronic device storing a public key for the first user and relating to the first user's private key, wherein the method comprises: selecting, at the first electronic device, an amount of funds to be transferred, receiving, at the first electronic device, an identity of the first user, receiving, at the first electronic device, an indicator of a transaction server adapted to be used for subsequently transfer the selected amount, forming an offline transaction string based on the selected amount, the identity of the first user and the indicator of the transaction server using the first electronic device, signing at least a portion of the offline transaction string using a private key for the first user using the first electronic device, receiving the offline transaction string at the second electronic device, and validating the offline transaction string using the public key for the first user using the second electronic device.

20. The method according to claim 19, wherein the offline transaction string is received at the second electronic device from the first electronic device using direct communication between the first and the second electronic device.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The various aspects of the present disclosure, including its particular features and advantages, will be readily understood from the following detailed description and the accompanying drawings, in which:

[0032] FIG. 1 conceptually illustrates a computer system according to an embodiment of the present disclosure, and

[0033] FIG. 2 is a flow chart illustrating the steps of performing the method according to a currently preferred embodiment of the present disclosure.

DETAILED DESCRIPTION

[0034] The present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which currently preferred embodiments of the present disclosure are shown. This present disclosure may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided for thoroughness and completeness, and fully convey the scope of the present disclosure to the skilled person. Like reference characters refer to like elements throughout. The following examples illustrate the present disclosure and are not intended to limit the same.

[0035] Turning now to the drawings and to FIG. 1 in particular, there is conceptually illustrated a computer system 100 according to an embodiment of the present disclosure. The computer system 100 comprises a first electronic device 102 and a second electronic device 104, as well as a transaction server 106. The electronic devices 102, 104 may for example include mobile phones, desktop computers, laptops, tablets, etc.

[0036] Possibly, server 106 may be part of a so-called cloud-based computing system and the server 106 may be a cloud server. Thus, the computing power provided by the transaction serve 106 may be distributed between a plurality of servers, and the location of the servers must not be explicitly defined. Advantageous following the use of a cloud-based solution is also the inherent redundancy achieved.

[0037] The purpose of the computer system 100 is, in one embodiment, to allow a predetermined amount of funds to be transferred from a first user operating the first electronic device 102 to a second user operating the second electronic device 104, even in a situation (represented in FIG. 1 with t.sub.1) where neither of the first 102 and the second 104 electronic device are connected to the transaction server 106 by means of a network connection, such as over the Internet 108.

[0038] However, at a later stage when e.g. the second electronic device 104 is connected to the transaction server 106 (represented in FIG. 1 with t.sub.2), the predetermined amount of funds may be transferred from e.g. an account of the first user to an account of the second user.

[0039] For reference, the first 102 and the second 104 electronic device comprises processing circuitry arranged to at least in part perform the scheme according to the present disclosure. The processing circuitry may for example be manifested as a general-purpose processor, an application specific processor, a circuit containing processing components, a group of distributed processing components, a group of distributed computers configured for processing, a field programmable gate array (FPGA), etc. The processor may be or include any number of hardware components for conducting data or signal processing or for executing computer code stored in memory. The memory may be one or more devices for storing data and/or computer code for completing or facilitating the various methods described in the present description. The memory may include volatile memory or non-volatile memory. The memory may include database components, object code components, script components, or any other type of information structure for supporting the various activities of the present description. According to an exemplary embodiment, any distributed or local memory device may be utilized with the systems and methods of this description. According to an exemplary embodiment the memory is communicably connected to the processor (e.g., via a circuit or any other wired, wireless, or network connection) and includes computer code for executing one or more processes described herein.

[0040] Furthermore, the first 102 and the second 104 electronic device each typically comprises a transceiver (not shown) adapted to allow for any form of wireless connection directly between the first 102 and the second 104 electronic device, or between each of the first 102 and the second 104 electronic device and the transaction server 106. The transceivers may for example be adapted for allowing communication using WLAN, CDMA, GSM, GPRS, 3/4/5G mobile communications, or similar. Other present of future wireless communication protocols are possible and within the scope of the present disclosure.

[0041] During operation, with further reference to FIG. 2 illustrating an exemplary implementation of the scheme according to the present disclosure, the first electronic device 102 receives, S1, information indicative of an amount of funds to be transferred. The amount of funds to be transferred may be in any present or future currency. Such information could for example be provided by the first user using a graphical user interface of the first electronic device 102. It could however be possible to use e.g. a camera or near field communication means comprised with the first electronic device 102 for collecting information indicative of the amount of funds to be transferred.

[0042] The first electronic device 102 also receives, S2, an identity of the first user. The identity could for example be received from a memory element comprised with the first electronic device 102 (or another electronic device arranged in communication with the first electronic device 102. The identity could possibly be received if the first user presents biometric information that may be successfully validated.

[0043] Still further, the first electronic device 102 receives, S3, an indicator of a transaction server adapted to transfer the selected amount. The indicator for the transaction server 106 could for example be a web address, domain name, an IP address, etc.

[0044] Once the first electronic device 102 has at least information indicative of an amount of funds to be transferred, the identity of the first user and the indicator for the transaction server 106, the first electronic device 102 forms, S4, an offline transaction string. The formation of the offline transaction string could in a simple implementation be performed by concatenating the information indicative of an amount of funds to be transferred, the identity of the first user and the indicator for the transaction server 106. However, other types of algorithms may be used and are within the scope of the present disclosure.

[0045] The offline transaction string is in turn, at least partly, signed, S5 using a private key for the first user. The private key for the first user is part of a key pair. At least the private key may typically be stored with the memory element comprised with the first electronic device 102.

[0046] The offline transaction string is then provided, S6, to the second electronic device 104. As mentioned above, transferring the offline transaction string from the first 102 to the second 104 electronic device is performed directly between the first 102 to the second 104 electronic device without involving the transaction server (e.g. t.sub.1). The first electronic device 102 could for example generate a barcode, such as a QR code, being a representation of the offline transaction string that is printed or shown at the GUI of the first electronic device 102. The second electronic device 104 may as such for example be provided with a camera (not shown) that is arranged to capture the information comprised with the QR code and then extract the offline transaction string from the QR code.

[0047] To ensure that the offline transaction string is correct and securely related to the identity of the first user, the second electronic device 104 validates, S7, the offline transaction string using the public key for the first user. In such an embodiment it is desirable that the second electronic device 104 has previously received the public key for the first user in a safe and trustworthy manner, whereby the second user can trust that the identity of the first user is correctly connected to the public key. The public key could for example be provided to the second electronic device 104 as part of a legal verification of the identity of the first user, such as by the first user presenting a valid identity card.

[0048] At a later stage, where e.g. the second electronic device 104 has a connection to the transaction server 106, the second electronic device 104 transmits the offline transaction string to the transaction server 106 (e.g. t.sub.2). The transaction server 106 may then (after performing necessary validations) transfer the amount of funds to the second user.

[0049] The control functionality of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwire system. Embodiments within the scope of the present disclosure include program products comprising machine-readable medium for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures, and which can be accessed by a general purpose or special purpose computer or other machine with a processor. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machine-executable instructions include, for example, instructions and data which cause a general-purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

[0050] Although the figures may show a sequence the order of the steps may differ from what is depicted. Also, two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the disclosure. Likewise, software implementations could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various connection steps, processing steps, comparison steps and decision steps. Additionally, even though the present disclosure has been described with reference to specific exemplifying embodiments thereof, many different alterations, modifications and the like will become apparent for those skilled in the art.

[0051] In addition, variations to the disclosed embodiments can be understood and effected by the skilled addressee in practicing the claimed present disclosure, from a study of the drawings, the disclosure, and the appended claims. Furthermore, in the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality.