IP Library Granted Patent US 10,776,761
Granted Patent B2
US 10,776,761 · App. 14/218,776 · Granted Sep 15, 2020

Virtual currency system

Inventors: Robert Scott MacGregor (Vancouver, CA); Milagrino Jose C. Ong (Vancouver, CA)
Assignee: NCHAIN HOLDINGS LIMITED
G06Q20/065G06Q20/10G06Q20/223H04L63/08H04L63/12H04L2209/56H04L2463/102
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 10,776,761
App. No.
14/218,776
Granted
Sep 15, 2020
Kind
B2
Abstract

A plurality of nodes implemented by computing devices in a network include sender and recipient nodes. The sender node sends, to the validation node, a request to transfer an amount of virtual currency from a sender account (associated with transaction receipts) to a recipient account. The request includes first copies of the receipts or references thereto. The validation node requests second copies of the receipts from at least two of the nodes, and receives the second copies from fewer than all of the nodes. The validation node determines whether the first copies have been tampered with by comparing the first and second copies to one another. When tampering has not occurred, at least one new receipt is generated indicating the amount has been transferred. Then, the at least one new receipt is forwarded to fewer than all of the nodes for storage.

Claims (24)

1. A computer-implemented method comprising:

receiving, at a validation one of a plurality of computing devices in a peer-to-peer network having a ring topology, a transaction request for a transaction, each of the plurality of computing devices having a node identifier stored by the validation computing device in a hash table, the transaction comprising transferring a transaction amount of virtual currency from a sender account to a recipient account, the sender account being associated with transaction receipts, the transaction request comprising (a) references to first copies of the transaction receipts, or (b) the first copies of the transaction receipts, the first copies of the transaction receipts indicating that the sender account has at least the transaction amount of the virtual currency;

confirming, by the validation computing device, that the sender account has at least the transaction amount of the virtual currency by requesting second copies of the transaction receipts associated with the sender account from at least two of the plurality of computing devices in the peer-to-peer network, receiving the second copies of the transaction receipts from fewer than all of the plurality of computing devices in the peer-to-peer network, and validating the first copies when a comparison of the first copies and the second copies determines that the first copies have not been tampered with;

generating, by the validation computing device, at least one new transaction receipt for the transaction request after the confirming the sender account has at least the transaction amount of the virtual currency, the at least one new transaction receipt indicating the transaction amount of the virtual currency has been transferred from the sender account to the recipient account;

obtaining, by the validation computing device, a hashed transaction receipt for each of the at least one new transaction receipt by performing a hash function on (a) at least a portion of the transaction request or (b) at least a portion of the new transaction receipt;

for each hashed transaction receipt, identifying, by the validation computing device, a target node identifier in the hash table that is computationally closest to the hashed transaction receipt, a target one of the plurality of computing devices having the target node identifier;

forwarding, by the validation computing device, each of the at least one new transaction receipt to the target computing device identified for the hashed transaction receipt obtained for the new transaction receipt;

storing each of the at least one new transaction receipt by the target computing device identified for the hashed transaction receipt obtained for the new transaction receipt; and

forwarding storage copies of each of the at least one new transaction receipt to storage ones of the plurality of computing devices in the peer-to-peer network by the target computing device identified for the hashed transaction receipt obtained for the new transaction receipt, the storage computing devices storing the storage copies of the new transaction receipt, the at least one new transaction receipt and the storage copies of each of the at least one new transaction receipt being stored on fewer than all of the plurality of computing devices in the peer-to-peer network and establishing within the peer-to-peer network that the transaction occurred and none of the plurality of computing devices storing copies of all transaction receipts stored within the peer-to-peer network.

2. The method of claim 1 , wherein after each of the at least one new transaction receipt has been forwarded, the transfer of the transaction amount of the virtual currency from the sender account to the recipient account is irreversible.

3. The method of claim 1 , wherein each of at least a portion of the transaction receipts associated with the sender account comprises:

a first reference to an earlier one of the transaction receipts associated with the sender account; and

a second reference to a later one of the transaction receipts associated with the sender account.

4. The method of claim 1 , wherein when each of the at least one new transaction receipt is generated, the method comprises:

identifying a previously generated one of the transaction receipts associated with the sender account,

including a first reference to the previously generated transaction receipt in the new transaction receipt, and

including a second reference to the new transaction receipt in the previously generated transaction receipt such that the transaction receipts associated with the sender account define a doubly linked list.

5. The method of claim 1 , wherein the second copies comprise a plurality of past transaction amounts, and the method comprises:

totaling the plurality of past transaction amounts to obtain a sender account balance, wherein the at least one new transaction receipt comprises a first new transaction receipt indicating the sender account balance has been transferred from the sender account to the recipient account, and a second new transaction receipt indicating a difference between the sender account balance and the transaction amount has been transferred from the recipient account to the sender account.

6. The method of claim 1 , wherein the first copies comprise a plurality of past transaction amounts, and

sum of the plurality of past transaction amounts is less than or equal to the transaction amount.

7. The method of claim 1 , wherein the transaction request further comprises a signature, and the method further comprises:

verifying, by the validation computing device, the signature.

8. The method of claim 1 , wherein the recipient account is stored on the validation computing device.

Assignments (3)
CHANGE OF NAME Recorded Sep 10, 2024
From: NCHAIN HOLDINGS LTD.
To: NCHAIN LICENSING AG
Reel/Frame 068922/0747 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: NTRUST TECHNOLOGY SOLUTIONS CORP.
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 043875/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2015
From: MACGREGOR, ROBERT SCOTT; ONG, MILAGRINO JOSE C.
To: NTRUST TECHNOLOGY SOLUTIONS CORP.
Reel/Frame 035215/0613 →
Continuity (1)
Related Publication 20150269539A1 · Sep 24, 2015
Cited By (4)
US 12,293,354 US 12,333,507 US 12,664,540 US 12,675,789