IP Library Granted Patent US 12,141,328
Granted Patent B1
US 12,141,328 · App. 15/877,027 · Granted Nov 12, 2024

Systems and methods for fund transfers via blockchain

Inventors: Melinda Teresa Magerkurth (Utica, IL); Eric Bellas (Bloomington, IL); Jaime Skaggs (Chenoa, IL); Shawn M. Call (Bloomington, IL); Eric R. Moore (Heyworth, IL); Vicki King (Bloomington, IL); Burton J. Floyd (Mackinaw, IL); David Turrentine (Normal, IL); Steven T. Olson (Bloomington, IL); Timothy Caleb Wells (Bloomington, IL); Corin Rebekah Chapman (Bloomington, IL); Edward W. Breitweiser (Bloomington, IL); Robert Gomez (Bloomington, IL); Shelia Cummings Smith (Bloomington, IL)
Assignee: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
G06F21/64G06Q20/3827G06Q20/401H04L9/50H04L2209/56
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,141,328
App. No.
15/877,027
Granted
Nov 12, 2024
Kind
B1
Abstract

Methods and systems for managing and/or processing a blockchain to maintain data security for confidential and/or personal data are provided. According to certain aspects, the disclosed data security techniques may enable access sharing functionality utilizing the blockchain. The data security techniques disclosed herein also enable the use of smart contracts to transfer funds associated with payment obligations. A node may receive a transaction indicative of a settlement condition of a smart contract being satisfied. Accordingly, the transaction may be compiled into a block of a blockchain and routed to the smart contract. The smart contract may direct a node to transfer funds in accordance with the payment obligations.

Claims (58)

1. A computer-implemented method for maintaining a blockchain of transactions relating to a plurality of smart contracts, the blockchain maintained by a plurality of nodes connected via a network, the method comprising:

receiving, at a first node of the plurality of nodes and from a particular node of the plurality of nodes, a transaction indicative of at least one settlement condition associated with a particular smart contract of the plurality of smart contracts;

verifying, by the first node, that a permission level associated with the particular node indicates that the particular node has permission to report the at least one settlement condition;

obtaining, by the first node from a blockchain management node of the plurality of nodes, a private key for the particular smart contract in response to the blockchain management node determining that the first node is authorized to view data maintained on the blockchain and associated with the particular smart contract;

compiling, by the first node, the transaction into a block of transactions;

distributing, by the first node, the block to the plurality of nodes to form a consensus on an update to the blockchain;

decrypting, by the first node, encrypted smart contract data included in the transaction using the private key for the particular smart contract;

routing, by the first node, the transaction to the particular smart contract;

automatically directing, by the first node, execution of an action the particular smart contract directs should be performed in response to the at least one settlement condition being satisfied, including generating a fund transfer transaction as indicated by the particular smart contract;

distributing, by the first node, the fund transfer transaction to the plurality of nodes to form a consensus on the fund transfer transaction;

in response to forming the consensus on the fund transfer transaction, detecting, by a second node of the plurality of nodes, the fund transfer transaction;

verifying, by the second node, that the fund transfer transaction includes the at least one settlement condition; and

executing, by the second node, the fund transfer transaction utilizing an electronic wire service interconnected to the second node.

2. The computer-implemented method of claim 1 , wherein automatically directing execution of the action further comprises:

generating, by the first node, a second fund transfer transaction;

compiling, by the first node, the second fund transfer transaction into a second block of transactions; and

distributing, by the first node, the second block to the plurality of nodes to form a consensus on a second update to the blockchain.

3. The computer-implemented method of claim 2 , wherein:

the particular smart contract indicates an amount of funds; and

forming the consensus on the second update to the blockchain causes the amount of funds to be transferred from an account associated with a payor to an account associated with a payee.

4. The computer-implemented method of claim 2 , wherein generating the fund transfer transaction further comprises:

applying, by the first node, a digital signature to the second fund transfer transaction, the digital signature being generated based upon the private key for the first node.

5. The computer-implemented method of claim 1 , wherein compiling the transaction into the block of transactions further comprises:

verifying, by the first node, a digital signature associated with the transaction; and

in response to a successful verification, compiling the transaction into the block of transactions.

6. A computer system for maintaining a blockchain of transactions relating to a plurality of smart contracts, the blockchain maintained by a plurality of nodes connected via a network, the plurality of nodes including a first node and a second node, the computer system comprising the first node and the second node, wherein:

the first node comprises:

one or more processors;

a first communication module configured to communicate with other nodes of the plurality of nodes; and

a non-transitory program memory coupled to the one or more processors of the first node and storing executable instructions that, when executed by the one or more processors of the first node, cause the first node to:

receive, via the first communication module and from a particular node of the plurality of nodes, a transaction indicative of at least one settlement condition associated with a particular smart contract of the plurality of smart contracts;

verify that a permission level associated with the particular node indicates that the particular node has permission to report the at least one settlement condition;

obtain, from a blockchain management node of the plurality of nodes, a private key for the particular smart contract in response to the blockchain management node determining that the computer system is authorized to view data maintained on the blockchain and associated with the particular smart contract;

compile the transaction into a block of transactions;

distribute, via the first communication module, the block to the plurality of nodes to form a consensus on an update to the blockchain;

decrypt encrypted smart contract data included in the transaction using the private key for the particular smart contract;

route the transaction to the particular smart contract;

automatically direct execution of an action the particular smart contract directs should be performed in response to the at least one settlement condition being satisfied, including generating a fund transfer transaction as indicated by the particular smart contract; and

distribute the fund transfer transaction to the plurality of nodes to form a consensus on the fund transfer transaction; and

the second node comprises:

one or more processors;

a second communication module configured to communicate with other nodes of the plurality of nodes; and

a non-transitory program memory coupled to the one or more processors of the second node and storing executable instructions that, when executed by the one or more processors of the second node, cause the second node to:

in response to forming the consensus on the fund transfer transaction, detect the fund transfer transaction;

verify that the fund transfer transaction includes the at least one settlement condition; and

execute the fund transfer transaction utilizing an electronic wire service interconnected to the second node.

7. The computer system of claim 6 , wherein to automatically direct execution of the action, the instructions of the first node, when executed, cause the first node to:

generate a second fund transfer transaction;

compile the second fund transfer transaction into a second block of transactions; and

distribute the second block to the plurality of nodes to form a consensus on a second update to the blockchain.

8. The computer system of claim 7 , wherein:

the particular smart contract indicates an amount of funds; and

forming the consensus on the second update to the blockchain causes the amount of funds to be transferred from an account associated with a payor to an account associated with a payee.

9. The computer system of claim 7 , wherein to generate the fund transfer transaction, the instructions of the first node, when executed, cause the first node to:

apply a digital signature to the second fund transfer transaction, the digital signature being generated based upon the private key for a node associated with the one or more processors.

10. The computer system of claim 6 , wherein to compile the transaction into the block of transactions, the instructions of the first node, when executed, cause the first node to:

verify a digital signature associated with the transaction; and

in response to a successful verification, compile the transaction into the block of transactions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2020
From: MAGERKURTH, MELINDA TERESA; BELLAS, ERIC; SKAGGS, JAIME; CALL, SHAWN M.; MOORE, ERIC R.; KING, VICKI; FLOYD, BURTON J.; TURRENTINE, DAVID; OLSON, STEVEN T.; WELLS, TIMOTHY CALEB; CHAPMAN, CORIN REBEKAH; BREITWEISER, EDWARD W.; GOMEZ, ROBERT; SMITH, SHELIA CUMMINGS
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 053818/0459 →
Continuity (11)
Provisional Application 62536716 · Jul 25, 2017
Provisional Application 62536715 · Jul 25, 2017
Provisional Application 62536754 · Jul 25, 2017
Provisional Application 62536709 · Jul 25, 2017
Provisional Application 62536672 · Jul 25, 2017
Provisional Application 62536704 · Jul 25, 2017
Provisional Application 62536600 · Jul 25, 2017
Provisional Application 62536683 · Jul 25, 2017
Provisional Application 62536735 · Jul 25, 2017
Provisional Application 62536698 · Jul 25, 2017
Provisional Application 62450349 · Jan 25, 2017
Cited By (1)
US 12,718,246