IP Library › Granted Patent US 12,238,209
Granted Patent B2
US 12,238,209 · App. 17/860,553 · Granted Feb 25, 2025

Conditional offline interaction system and method

Inventors: Ranjit Kumaresan (Sunnyvale, CA); Mahdi Zamani (Palo Alto, CA); Srinivasan Raghuraman (New York, NY); Mihai Christodorescu (Belmont, CA); Mohammad Mohsen Minaei Bidgoli (Davenport, IA)
Assignee: Visa International Service Association
H04L9/088H04L9/3263
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,238,209
App. No.
17/860,553
Granted
Feb 25, 2025
Kind
B2
Abstract

A method includes a first user device generating an interaction message. The interaction message includes an amount, an expiry time, and a condition. The first user device provides the interaction message to a second user device. The second user device creates a witness that satisfies the condition and provides the witness to the first user device. The first user device receives the witness from the second user device. The first user device verifies that the witness satisfies the condition. If the witness satisfies the condition and is received prior to the expiry time, the first user device signs the witness using a first user device private key to obtain a signed witness. The first user device provides the signed witness to the second user device. The second user device verifies a signature of the signed witness and proceeds with obtaining the amount.

Claims (64)

1. A method comprising:

generating, by a first user device, an interaction message during an interaction between the first user device and a second user device, wherein the interaction message includes an amount, an expiry time, and a condition;

providing, by the first user device, the interaction message to the second user device, wherein the second user device creates a witness that satisfies the condition and provides the witness to the first user device;

receiving, by the first user device, the witness from the second user device;

verifying, by the first user device, that the witness satisfies the condition;

if the witness satisfies the condition and is received prior to the expiry time, signing, by the first user device, the witness using a first user device private key to obtain a signed witness; and

providing, by the first user device, the signed witness to the second user device, wherein the second user device verifies a signature of the signed witness and proceeds with obtaining the amount.

2. The method of claim 1 , wherein the interaction message further comprises a first user device certificate, a second user device certificate, and an index.

3. The method of claim 1 , further comprising:

signing, by the first user device using a secure element, the interaction message using a secure element private key.

4. The method of claim 1 , wherein prior to providing the interaction message to the second user device, the method further comprises:

reducing, by the first user device, a stored offline value by the amount.

5. The method of claim 4 , wherein the stored offline value is stored in a secure element of the first user device.

6. The method of claim 1 , wherein the interaction message is a first interaction message, the interaction is a first interaction, the amount is a first amount, the expiry time is a first expiry time, and the condition is a first condition, wherein the method further comprises:

generating, by the first user device, a second interaction message during a second interaction between the first user device and a third user device, wherein the interaction message includes a second amount, a second expiry time, and a second condition;

providing, by the first user device, the second interaction message to the third user device;

after or at the expiry time, generating, by the first user device, a reversal interaction request message that indicates that no witness was received from the third user device and requests a reversal; and

providing, by the first user device, the reversal interaction request message to a server computer.

7. The method of claim 6 , wherein the server computer generates a random nonce and provides the random nonce to the first user device, wherein the method further comprises:

receiving, by the first user device, the random nonce from the server computer;

generating, by the first user device, a reverse interaction message comprising the second interaction message and a log entry;

providing, by the first user device, the reverse interaction message to the server computer, wherein the server computer determines whether or not to reverse the second interaction; and

receiving, by the first user device, an appeal response message that indicates whether or not the reversal was successful from the server computer.

8. The method of claim 1 , wherein the first user device and the second user device are mobile devices that are not connected to a long-range communication channel during the interaction.

9. A first user device comprising:

a processor; and

a computer readable medium coupled to the processor, the computer readable medium comprising code, executable by the processor, to implement a method comprising:

generating an interaction message during an interaction between the first user device and a second user device, wherein the interaction message includes an amount, an expiry time, and a condition;

providing the interaction message to the second user device, wherein the second user device creates a witness that satisfies the condition and provides the witness to the first user device;

receiving the witness from the second user device;

verifying that the witness satisfies the condition;

if the witness satisfies the condition and is received prior to the expiry time, signing the witness using a first user device private key to obtain a signed witness; and

providing the signed witness to the second user device, wherein the second user device verifies a signature of the signed witness and proceeds with obtaining the amount.

10. The first user device of claim 9 , wherein prior to generating the interaction message, the method further comprises:

receiving an interaction request message from the second user device, wherein the interaction request message comprises a second user device certificate.

11. The first user device of claim 10 , wherein generating the interaction message further comprises:

generating the interaction message comprising the amount, the expiry time, the condition, the second user device certificate, and a first user device certificate, and wherein the method further comprises:

signing the interaction message using the first user device private key to form an interaction message signature; and

appending the interaction message and/or data included therein to an interaction log.

12. The first user device of claim 11 , wherein the first user device private key is a first user device secure element private key, and the interaction message is signed by a secure element, and wherein the first user device further comprises the secure element.

13. The first user device of claim 11 , wherein the second user device creates the witness after that a current time is prior to the expiry time, verifies that the second user device certificate included in the interaction request message matches a stored second user device certificate, and verifies the interaction message signature using a first user device public key included in the first user device certificate.

14. The first user device of claim 9 , wherein the condition is a condition function that outputs a value of one using the witness as an input, if the witness satisfies the condition.

15. A method comprising:

receiving, by a second user device, an interaction message during an interaction between the second user device and a first user device, wherein the interaction message includes an amount, an expiry time, and a condition;

creating, by the second user device, a witness that satisfies the condition; and

providing, by the second user device, the witness to the first user device, wherein the first user device verifies that the witness satisfies the condition and if the witness is received prior to the expiry time, the first user device signs the witness using a first user device private key to obtain a signed witness.

16. The method of claim 15 further comprising:

receiving, by the second user device, the signed witness from the first user device; and

verifying, by the second user device, the signed witness.

17. The method of claim 15 further comprising:

generating, by the second user device, an appeal request message comprising an indication that the first user device has not properly provided a signed witness and requests an appeal;

providing, by the second user device, the appeal request message to a server computer;

receiving, by the second user device, a random nonce from the server computer;

generating, by the second user device, an appeal interaction message comprising the interaction message, the witness, and the random nonce;

providing, by the second user device, the appeal interaction message to the server computer; and

receiving, by the second user device from the server computer, an appeal interaction response message comprising an indication of whether or not the appeal was successful.

18. The method of claim 15 , wherein prior to receiving the interaction message, the method further comprises:

generating, by the second user device, an interaction request message comprising a second user device certificate, wherein the interaction request message requests to perform the interaction with the first user device; and

providing, by the second user device, the interaction request message to the first user device.

19. The method of claim 18 , wherein the interaction message further comprises the second user device certificate, a first user device certificate, and an interaction message signature formed from the first user device private key.

20. The method of claim 19 , further comprising:

prior to creating the witness, verifying, by the second user device, that a current time is prior to the expiry time;

verifying, by the second user device, that the second user device certificate included in the interaction request message matches a stored second user device certificate; and

verifying, by the second user device, the interaction message signature using a first user device public key included in the first user device certificate.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2023
From: KUMARESAN, RANJIT; ZAMANI, MAHDI; RAGHURAMAN, SRINIVASAN; CHRISTODORESCU, MIHAI; MINAEI BIDGOLI, MOHAMMAD MOHSEN
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 063330/0534 →
Continuity (4)
Continuation In Part 16834954 · Mar 30, 2020
Provisional Application 63220089 · Jul 9, 2021
Provisional Application 62888326 · Aug 16, 2019
Related Publication 20220353058A1 · Nov 3, 2022
References Cited (43)
US 10102265B1 · Madisetti · 2018 [cited by examiner]
US 20160292672A1 · Fay et al. · 2016 [cited by applicant]
US 20170053249A1 · Tunnell et al. · 2017 [cited by applicant]
US 20170132625A1 · Kennedy · 2017 [cited by applicant]
US 20190095879A1 · Eyal · 2019 [cited by examiner]
US 20190139037A1 · Khalil · 2019 [cited by examiner]
US 20190164153A1 · Agrawal et al. · 2019 [cited by applicant]
US 20190354518A1 · Zochowski · 2019 [cited by examiner]
US 20200026712A1 · Madisetti et al. · 2020 [cited by applicant]
US 20200351657A1 · Wentz · 2020 [cited by examiner]
US 20210027294A1 · Trevethan · 2021 [cited by applicant]
US 20210049657A1 · Mimran · 2021 [cited by applicant]
CN 110795501A · 2020 [cited by applicant]
KR 101920015B1 · 2018 [cited by applicant]
WO 2018020389A2 · 2018 [cited by applicant]
WO 2018224943A1 · 2018 [cited by applicant]
WO 2020008218A1 · 2020 [cited by applicant]
WO 2022020523A1 · 2022 [cited by applicant]
Bentov et al. reference (“How to Use Bitcoin to Design Fair Protocols”, Feb. 19, 2014, 38 pages) (Year: 2014). [cited by examiner]
Poon et al. (“The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments”, Jan. 14, 2016, 59 pages), (Year: 2016). [cited by examiner]
Watanabe et al., “Niji: Bitcoin Bridge Utilizing Payment Channels”, arXiv:1810.10194v1 [cs.DC], Oct. 24, 2018, 12 pages) (Year: 2018). [cited by examiner]
Miller et al., “Sprites and State Channels: Payment Networks that Go Faster than Lightning”, arXiv:1702.05812v2 [cs.CR] Nov. 30, 2017, 24 pages) (Year: 2017). [cited by examiner]
“Smart Contracts for the Network”, retrieved from https://raiden-network-specification.readthedocs.io/en/latest/smart_contracts.html , Mar. 20, 2018, 46 pages) (Year: 2018). [cited by examiner]
Coleman et al., “Counterfactual: Generalized State Channels”, Jun. 12, 2018, 48 pages) (Year: 2018). [cited by examiner]
Lind et al., “Teechain: A Secure Payment Network with Asynchronous Blockchain Access”, arXiv:1707.05454v4 [cs.CR], Oct. 26, 2019, 30 pages) (Year: 2019). [cited by examiner]
“Smart Contracts for the Network”, Available Online At: https://raiden-network-specification.readthedocs.io/en/latest/smart_contracts.html, Mar. 20, 2018, 46 pages. [cited by applicant]
U.S. Appl. No. 16/834,954 , First Action Interview Pilot Program Pre-Interview Communication, Mailed On Jun. 23, 2022, 11 pages. [cited by applicant]
Bentov et al., “How to Use Bitcoin to Design Fair Protocols”, Annual Cryptology Conference, 2014, 38 pages. [cited by applicant]
Coleman et al., “Counterfactual: Generalized State Channels”, Available Online at: https://14.ventures/papers/statechannels.pdf, Jun. 12, 2018, pp. 1-48. [cited by applicant]
Lind et al., “Teechain: A Secure Payment Network with Asynchronous Blockchain Access”, arXiv: 1707.05454v4 [cs.CR], Oct. 26, 2019, pp. 1-30. [cited by applicant]
Miller et al., “Sprites and State Channels: Payment Networks that Go Faster than Lightning”, arXiv: 1702.05812v2 [cs.CR], Nov. 30, 2017, 24 pages. [cited by applicant]
Application No. PCT/US2020/045997 , International Search Report and Written Opinion, Mailed On Nov. 24, 2020, 10 pages. [cited by applicant]
Poon et al., “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments”, Draft Version 0.5.9.2, Jan. 14, 2016, pp. 1-59. [cited by applicant]
Watanabe et al., “Niji: Bitcoin Bridge Utilizing Payment Channels”, arXiv: 1810.10194v1 [cs.DC], Oct. 24, 2018, 12 pages. [cited by applicant]
U.S. Appl. No. 16/834,954 , “Corrected Notice of Allowability”, Sep. 28, 2022, 2 pages. [cited by applicant]
U.S. Appl. No. 16/834,954 , “Notice of Allowability”, Oct. 14, 2022, 2 pages. [cited by applicant]
U.S. Appl. No. 16/834,954 , “Notice of Allowance”, Sep. 14, 2022, 10 pages. [cited by applicant]
Aliev , “Lightning Network in Depth, Part 1: Payment Channels”, Available Online at: https://medium.com/softblocks/lightning-network-in-depth-part-1-payment-channels-b943607950dd, Mar. 5, 2018, pp. 1-15. [cited by applicant]
Bentov et al., “How to Use Bitcoin to Design Fair Protocols”, ICIAP: International Conference on Image Analysis and Processing, 17th International Conference, Aug. 17, 2014, pp. 421-439. [cited by applicant]
EP20855215.8 , “Extended European Search Report”, Aug. 31, 2022, 9 pages. [cited by applicant]
EP20855215.8 , “Supplemental European Search Report”, Sep. 20, 2022, 1 page. [cited by applicant]
Poon et al., “The Bitcoin Lightning Network”, Draft Version 0.5, The Wayback Machine, Available Online at: https://web.archive.org/web/20170629090805if_/http://lightning.network/lightning-network-paper-DRAFT-0.5.pdf, Ju… [cited by applicant]
CN202080057811.9 , “Office Action”, Oct. 26, 2024, 8 pages. [cited by applicant]