US 11,757,627 B2
Cryptoasset custodial system with proof-of-stake blockchain support
Diogo Monica, San Francisco, CA (US); Nathan P. McCauley, San Francisco, CA (US); Boaz Avital, San Francisco, CA (US); and Riyaz D. Faizullabhoy, Los Altos, CA (US)
Assigned to Anchor Labs, Inc., San Francisco, CA (US)
Filed by Anchor Labs, Inc., San Francisco, CA (US)
Filed on Apr. 7, 2022, as Appl. No. 17/715,327.
Application 17/715,327 is a continuation of application No. 16/544,628, filed on Aug. 19, 2019, granted, now 11,301,845.
Prior Publication US 2022/0277302 A1, Sep. 1, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/08 (2006.01); G06Q 20/36 (2012.01); G06Q 20/38 (2012.01); H04L 9/06 (2006.01)
CPC H04L 9/0825 (2013.01) [G06Q 20/3672 (2013.01); G06Q 20/3674 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/38215 (2013.01); H04L 9/0637 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, by an online server computer of a cryptoasset custodial system, a request to authorize a staking operation for a proof-of-stake protocol associated with a blockchain, wherein the staking operation is associated with a private key of a cryptographic key pair, wherein the private key is stored only within a hardware security module of the cryptoasset custodial system and is inaccessible to devices external to the hardware security module;
performing, in response to the request, at least a portion of the proof-of-stake protocol in the hardware security module using logic designed for the proof-of-stake protocol;
verifying, in the hardware security module, a policy map specifying a plurality of users of the cryptoasset custodial system and a threshold number of the plurality of users to approve the staking operation;
validating, in the hardware security module, endorsement messages from at least a subset of the plurality of users of the cryptoasset custodial system by checking cryptographic digital signatures using public keys corresponding to the subset of the plurality of users;
digitally signing, in the hardware security module, using the logic in the hardware security module and the private key, a staking transaction associated with the staking operation when the staking operation is in accordance with control rules of the policy map and after endorsement messages from the subset of the plurality of users have been validated for the threshold number of the plurality of users;
transmitting, by the online server computer, the digitally signed staking transaction to a blockchain network to effect the staking operation on a node on behalf of the user;
monitoring, by the cryptoasset custodial system, the blockchain network to identify one or more additional staking opportunities; and
in response to identifying the one or more additional staking opportunities, modifying, by the cryptoasset custodial system, the staking operation on behalf of the user to improve rewards provided to the user.