IP Library Granted Patent US 12,488,340
Granted Patent B2
US 12,488,340 · App. 17/719,353 · Granted Dec 2, 2025

Address verification, seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems

Inventors: Vladimir Tsitrin (Acton, MA); Gang Cheng (Nashua, NH)
Assignee: FMR LLC
G06Q20/389G06Q20/36G06Q20/3825G06Q20/401H04L9/50
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,488,340
App. No.
17/719,353
Granted
Dec 2, 2025
Kind
B2
Abstract

The Address Verification, Seed Splitting and Firmware Extension for Secure Cryptocurrency Key Backup, Restore, and Transaction Signing Platform Apparatuses, Methods and Systems (“SFTSP”) transforms contract deployment request, transaction signing request, key backup request, key recovery request inputs via SFTSP components into contract deployment response, transaction signing response, key backup response, key recovery response outputs. A transaction signing request message datastructure associated with a transaction is obtained. Owner key identification parameters associated with an owner datastructure associated with a verified address wallet datastructure are determined. A contract address for the verified address wallet datastructure is calculated as a function of a deployment factory address, a salt value for the smart contract, contract code for the smart contract, and an owner address generated using the owner key identification parameters. A contract deployment signature is validated. A transaction hash for the transaction is calculated and a transaction signature is generated and returned.

Claims (41)

1 . A verified address smart contract transaction signing apparatus, comprising:

at least one memory;

a component collection stored in the at least one memory;

at least one processor disposed in communication with the at least one memory, the at least one processor executing processor-executable instructions from the component collection, the component collection storage structured with processor-executable instructions, comprising:

obtain, via the at least one processor, by a hardware security module (HSM), a transaction signing request message datastructure associated with a transaction, in which the transaction signing request message datastructure is structured to specify a transaction amount, a source wallet datastructure, and a destination wallet datastructure, in which either the source wallet datastructure or the destination wallet datastructure is a verified address wallet datastructure that corresponds to a smart contract;

determine, via the at least one processor, by the HSM, owner key identification parameters associated with an owner datastructure associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a contract address for the verified address wallet datastructure as a function of a deployment factory address, a salt value for the smart contract, contract code for the smart contract, and an owner address generated using the owner key identification parameters;

validate, via the at least one processor, by the HSM, a contract deployment signature associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a transaction hash for the transaction;

sign, via at least one processor, by the HSM, the transaction hash using a transaction signing private key associated with the owner datastructure to generate a transaction signature; and

return, via at least one processor, the generated transaction signature.

2 . The apparatus of claim 1 , in which the instructions to validate the contract deployment signature associated with the verified address wallet datastructure are structured as instructions to also validate other contract deployment signatures associated with the verified address wallet datastructure, in which the other contract deployment signatures are associated with other owner datastructures in a set of owner datastructures associated with the smart contract.

3 . The apparatus of claim 1 , in which an owner private key used to generate the contract deployment signature and the transaction signing private key are the same key.

4 . The apparatus of claim 1 , in which the transaction hash is signed in accordance with a hashing algorithm utilized by the Ethereum protocol.

5 . The apparatus of claim 1 , in which the transaction signature is returned in Distinguished Encoding Rules format.

6 . A verified address smart contract transaction signing processor-readable, non-transient medium, the medium storing a component collection, the component collection storage structured with processor-executable instructions comprising:

obtain, via the at least one processor, by a hardware security module (HSM), a transaction signing request message datastructure associated with a transaction, in which the transaction signing request message datastructure is structured to specify a transaction amount, a source wallet datastructure, and a destination wallet datastructure, in which either the source wallet datastructure or the destination wallet datastructure is a verified address wallet datastructure that corresponds to a smart contract;

determine, via the at least one processor, by the HSM, owner key identification parameters associated with an owner datastructure associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a contract address for the verified address wallet datastructure as a function of a deployment factory address, a salt value for the smart contract, contract code for the smart contract, and an owner address generated using the owner key identification parameters;

validate, via the at least one processor, by the HSM, a contract deployment signature associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a transaction hash for the transaction;

sign, via at least one processor, by the HSM, the transaction hash using a transaction signing private key associated with the owner datastructure to generate a transaction signature; and

return, via at least one processor, the generated transaction signature.

7 . A verified address smart contract transaction signing processor-implemented system, comprising:

means to store a component collection;

means to process processor-executable instructions from the component collection, the component collection storage structured with processor-executable instructions including:

obtain, via the at least one processor, by a hardware security module (HSM), a transaction signing request message datastructure associated with a transaction, in which the transaction signing request message datastructure is structured to specify a transaction amount, a source wallet datastructure, and a destination wallet datastructure, in which either the source wallet datastructure or the destination wallet datastructure is a verified address wallet datastructure that corresponds to a smart contract;

determine, via the at least one processor, by the HSM, owner key identification parameters associated with an owner datastructure associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a contract address for the verified address wallet datastructure as a function of a deployment factory address, a salt value for the smart contract, contract code for the smart contract, and an owner address generated using the owner key identification parameters;

validate, via the at least one processor, by the HSM, a contract deployment signature associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a transaction hash for the transaction;

sign, via at least one processor, by the HSM, the transaction hash using a transaction signing private key associated with the owner datastructure to generate a transaction signature; and

return, via at least one processor, the generated transaction signature.

8 . A verified address smart contract transaction signing processor-implemented process, including processing processor-executable instructions via at least one processor from a component collection stored in at least one memory, the component collection storage structured with processor-executable instructions comprising:

obtain, via the at least one processor, by a hardware security module (HSM), a transaction signing request message datastructure associated with a transaction, in which the transaction signing request message datastructure is structured to specify a transaction amount, a source wallet datastructure, and a destination wallet datastructure, in which either the source wallet datastructure or the destination wallet datastructure is a verified address wallet datastructure that corresponds to a smart contract;

determine, via the at least one processor, by the HSM, owner key identification parameters associated with an owner datastructure associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a contract address for the verified address wallet datastructure as a function of a deployment factory address, a salt value for the smart contract, contract code for the smart contract, and an owner address generated using the owner key identification parameters;

validate, via the at least one processor, by the HSM, a contract deployment signature associated with the verified address wallet datastructure;

calculate, via the at least one processor, by the HSM, a transaction hash for the transaction;

sign, via at least one processor, by the HSM, the transaction hash using a transaction signing private key associated with the owner datastructure to generate a transaction signature; and

return, via at least one processor, the generated transaction signature.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2022
From: TSITRIN, VLADIMIR; CHENG, GANG
To: FMR LLC
Reel/Frame 059818/0537 →
Continuity (26)
Continuation In Part 16421442 · May 23, 2019
Continuation In Part 15984280 · May 18, 2018
Continuation In Part 15898224 · Feb 15, 2018
Continuation In Part 15486243 · Apr 12, 2017
Continuation In Part 15456461 · Mar 10, 2017
Continuation In Part 15210813 · Jul 14, 2016
Continuation In Part 15210781 · Jul 14, 2016
Continuation In Part 15210807 · Jul 14, 2016
Continuation In Part 15210817 · Jul 14, 2016
Continuation In Part 15210795 · Jul 14, 2016
Continuation In Part 15210821 · Jul 14, 2016
Continuation In Part 15209709 · Jul 13, 2016
Continuation In Part 15209714 · Jul 13, 2016
Continuation In Part 15209701 · Jul 13, 2016
Continuation In Part 15019926 · Feb 9, 2016
Continuation In Part 14963165 · Dec 8, 2015
Continuation In Part 14799229 · Jul 14, 2015
Continuation In Part 14799242 · Jul 14, 2015
Continuation In Part 14799282 · Jul 14, 2015
Provisional Application 62509011 · May 19, 2017
Provisional Application 62273450 · Dec 31, 2015
Provisional Application 62273452 · Dec 31, 2015
Provisional Application 62273449 · Dec 31, 2015
Provisional Application 62273447 · Dec 31, 2015
Provisional Application 62273453 · Dec 31, 2015
Related Publication 20220327525A1 · Oct 13, 2022
References Cited (122)
US 6202068B1 · Kraay et al. · 2001 [cited by applicant]
US 8848053B2 · Scanlon · 2014 [cited by applicant]
US 9076290B2 · Griffin · 2015 [cited by applicant]
US 9082113B2 · Shea et al. · 2015 [cited by applicant]
US 9087326B2 · Shea et al. · 2015 [cited by applicant]
US 9098190B2 · Zhou · 2015 [cited by applicant]
US 9098387B1 · Curtis et al. · 2015 [cited by applicant]
US 9098874B2 · Chandra et al. · 2015 [cited by applicant]
US 9117341B2 · Marantelli · 2015 [cited by applicant]
US 9122749B2 · Elmore et al. · 2015 [cited by applicant]
US 9129338B2 · Liu · 2015 [cited by applicant]
US 9129339B2 · Liu · 2015 [cited by applicant]
US 9135616B2 · Hirson et al. · 2015 [cited by applicant]
US 9135787B1 · Russell · 2015 [cited by applicant]
US 9144742B1 · Curtis et al. · 2015 [cited by applicant]
US 9153088B2 · Spencer, II · 2015 [cited by applicant]
US 9160717B2 · Bhanoo et al. · 2015 [cited by applicant]
US 9451030B2 · Schunder · 2016 [cited by applicant]
US 20030191709A1 · Elston · 2003 [cited by applicant]
US 20030217258A1 · Bade · 2003 [cited by examiner]
US 20060236384A1 · Lindholm · 2006 [cited by applicant]
US 20070215695A1 · Trane · 2007 [cited by applicant]
US 20080064333A1 · Hymes · 2008 [cited by applicant]
US 20090106125A1 · Rock · 2009 [cited by applicant]
US 20100185504A1 · Rajan · 2010 [cited by applicant]
US 20120158586A1 · Ganti · 2012 [cited by applicant]
US 20140074497A1 · Griffin · 2014 [cited by applicant]
US 20140188691A1 · Blank · 2014 [cited by applicant]
US 20140195415A1 · Broberg · 2014 [cited by applicant]
US 20150018084A1 · Gatto · 2015 [cited by applicant]
US 20150120472A1 · Abaye · 2015 [cited by applicant]
US 20150195099A1 · Imes · 2015 [cited by applicant]
US 20150205929A1 · Brama · 2015 [cited by applicant]
US 20150206106A1 · Yago · 2015 [cited by applicant]
US 20150206240A1 · Baker · 2015 [cited by applicant]
US 20150213008A1 · Orsini et al. · 2015 [cited by applicant]
US 20150213351A1 · Wyatt · 2015 [cited by applicant]
US 20150213419A1 · Lyons et al. · 2015 [cited by applicant]
US 20150213437A1 · Wyatt · 2015 [cited by applicant]
US 20150220892A1 · Allen · 2015 [cited by applicant]
US 20150220928A1 · Allen · 2015 [cited by applicant]
US 20150227897A1 · Loera · 2015 [cited by applicant]
US 20150227898A1 · Ballout · 2015 [cited by applicant]
US 20150227913A1 · Ballout · 2015 [cited by applicant]
US 20150245084A1 · Downing et al. · 2015 [cited by applicant]
US 20150248672A1 · Bayer · 2015 [cited by applicant]
US 20150254640A1 · Cassano et al. · 2015 [cited by applicant]
US 20150254768A1 · Menon et al. · 2015 [cited by applicant]
US 20150261269A1 · Bruscoe · 2015 [cited by applicant]
US 20150262137A1 · Armstrong · 2015 [cited by applicant]
US 20150262138A1 · Hudon · 2015 [cited by applicant]
US 20150262139A1 · Shtylman · 2015 [cited by applicant]
US 20150262140A1 · Armstrong · 2015 [cited by applicant]
US 20150262141A1 · Rebernik et al. · 2015 [cited by applicant]
US 20150262168A1 · Armstrong · 2015 [cited by applicant]
US 20150262171A1 · Langschaedel et al. · 2015 [cited by applicant]
US 20150262172A1 · Rebernik · 2015 [cited by applicant]
US 20150262173A1 · Durbin et al. · 2015 [cited by applicant]
US 20150262176A1 · Langschaedel et al. · 2015 [cited by applicant]
US 20150262251A1 · Knobel · 2015 [cited by applicant]
US 20150269538A1 · Stanchfield · 2015 [cited by applicant]
US 20150269539A1 · MacGregor et al. · 2015 [cited by applicant]
US 20150269541A1 · MacGregor et al. · 2015 [cited by applicant]
US 20150269570A1 · Phan · 2015 [cited by applicant]
US 20150271183A1 · MacGregor et al. · 2015 [cited by applicant]
US 20150278820A1 · Meadows · 2015 [cited by applicant]
US 20150286995A1 · Korosec · 2015 [cited by applicant]
US 20150287026A1 · Yang et al. · 2015 [cited by applicant]
US 20150294308A1 · Pauker et al. · 2015 [cited by applicant]
US 20150294424A1 · Hakim · 2015 [cited by applicant]
US 20150294425A1 · Benson · 2015 [cited by applicant]
US 20150302357A1 · Chandra · 2015 [cited by applicant]
US 20150302400A1 · Metral · 2015 [cited by applicant]
US 20150302401A1 · Metral · 2015 [cited by applicant]
US 20150302441A1 · Katsuyama et al. · 2015 [cited by applicant]
US 20150302446A1 · Park et al. · 2015 [cited by applicant]
US 20160019522A1 · Granbery · 2016 [cited by applicant]
US 20160073279A1 · Johnsson · 2016 [cited by applicant]
US 20160086175A1 · Finlow-Bates · 2016 [cited by applicant]
US 20160210632A1 · Li · 2016 [cited by applicant]
CA 2870844A1 · 2015 [cited by applicant]
CA 2843034A1 · 2015 [cited by applicant]
CA 2845648A1 · 2015 [cited by applicant]
EP 2820797A1 · 2015 [cited by applicant]
EP 2831823A1 · 2015 [cited by applicant]
EP 2874112A1 · 2015 [cited by applicant]
EP 2896001A1 · 2015 [cited by applicant]
WO 2008065345A1 · 2008 [cited by applicant]
WO 2012142521A2 · 2012 [cited by applicant]
WO 2013078990A1 · 2013 [cited by applicant]
WO 201401059A1 · 2014 [cited by applicant]
WO 2015004820A1 · 2015 [cited by applicant]
WO 2015016356A1 · 2015 [cited by applicant]
WO 2015024129A1 · 2015 [cited by applicant]
WO 2015051692A1 · 2015 [cited by applicant]
WO 2015058282A1 · 2015 [cited by applicant]
WO 2015059669A1 · 2015 [cited by applicant]
WO 2015077378A1 · 2015 [cited by applicant]
WO 2015085393A1 · 2015 [cited by applicant]
WO 2015095761A1 · 2015 [cited by applicant]
WO 2015106285A1 · 2015 [cited by applicant]
WO 2015113519A1 · 2015 [cited by applicant]
WO 2015116998A2 · 2015 [cited by applicant]
WO 2015120606A1 · 2015 [cited by applicant]
WO 2015134890A1 · 2015 [cited by applicant]
WO 2015135018A1 · 2015 [cited by applicant]
WO 2015142765AA1 · 2015 [cited by applicant]
WO 2015143068A1 · 2015 [cited by applicant]
WO 2015144971A1 · 2015 [cited by applicant]
WO 2015148725A2 · 2015 [cited by applicant]
WO 2016025990 · 2016 [cited by applicant]
Third party submission filed in related U.S. Appl. No. 14/799,242. [cited by applicant]
“Developer Guide-Bitcoin”, Anonymous, May 11, 2015, pp1-48. [cited by applicant]
“On the Privacy Provisions of Bloom Filters in Lightweight Bitcoin Clients”, Arthur Gervais et al, International Association For Cryptologic Research, vol. 20141013:202348, Oct. 2014, pp. 1-11. [cited by applicant]
“Making Sense of Data II, A practical Guide to Data Visualization, Advanced Data Mining Methods and Applications”, Glenn Hyatt et al., download from http://www.safanbooksonline.com/library/view/making-sense-of/978047022… [cited by applicant]
European Search Report, dated Feb. 13, 2019 for EP Application No. 16825146.0. [cited by applicant]
“Crytocurrencies, smart contracts, and artificial intelligence”, Steve Omohundro, Dec. 19, 2014, AI Matters, ACM vol. 1, No. 2. [cited by applicant]
“Smart Oracles: A Simple, Powerful Approach to Smart Contracts? Codius/codius WiKi? GitHub”, Jul. 17, 2014, https://github.com/codius/codius/wiki/Smart-Oracles:-A-Simple,-Powerful-Approach-to-Smart-Contracts. [cited by applicant]
“Distributed Consensus Technologies in Crytocurrency Applications”, Francisco Rivera, Jul. 15, 2014. [cited by applicant]
“Blockchain Electronic Vote Contents”, Pierre Noizat et al., Apr. 29, 2015. [cited by applicant]
Supplementary Search Report dated May 27, 2019 for EP Application No. 16825146. [cited by applicant]
International Search Report for PCT/US2016/042169 mailed Oct. 5, 2016. [cited by applicant]