US 11,961,142 B2
Systems and methods for pooling and transferring digital assets
Robert Leshner, San Francisco, CA (US); Geoffrey Hayes, San Francisco, CA (US); Jared Flatow, San Francisco, CA (US); Torrey Atcitty, San Francisco, CA (US); and Coburn Berry, San Francisco, CA (US)
Assigned to COMPOUND LABS, INC., San Francisco, CA (US)
Filed by COMPOUND LABS, INC., San Francisco, CA (US)
Filed on Aug. 26, 2019, as Appl. No. 16/551,632.
Prior Publication US 2021/0065302 A1, Mar. 4, 2021
Int. Cl. G06Q 40/06 (2012.01); G06Q 20/06 (2012.01); G06Q 20/36 (2012.01); G06Q 40/02 (2023.01); H04L 9/06 (2006.01)
CPC G06Q 40/06 (2013.01) [G06Q 20/0658 (2013.01); G06Q 20/3672 (2013.01); G06Q 40/02 (2013.01); H04L 9/0637 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for increasing interoperability of a plurality of independent computer protocols implemented as a plurality of smart contracts on a blockchain network, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
establishing a pooling computer protocol on the blockchain network as a pooling smart contract, the pooling smart contract comprising automatically enforceable code instructions that are executable through decentralized and distributed network of the blockchain network;
establishing, through the pooling computer protocol, a pool of blockchain tokens generated from the plurality of independent computer protocols of the plurality of smart contracts, the pool of blockchain tokens comprising a plurality of different types of blockchain tokens, wherein the plurality of independent computer protocols are compliant with a technical standard of the blockchain network wherein the plurality of smart contracts comprises a first smart contract and a second smart contract;
receiving a first transaction event between a first blockchain address and the pooling smart contract, the first transaction event comprising a transfer of a first amount of a first blockchain token from the first blockchain address to the pooling smart contract as part of the pool of blockchain tokens, wherein the first blockchain token issued from the first smart contract, wherein the transaction event is to be recorded in a blockchain ledger, wherein the blockchain ledger tracks associations between different blockchain addresses and the blockchain tokens in the pool, wherein the pooling computer protocol tracks a cash balance of the pool, a liabilities balance of the pool, and an ownership distribution value that is based on a distribution of account asset balances among the pool, and wherein the blockchain ledger includes:
a plurality of transaction records for the pool of blockchain tokens, the plurality of transaction records entered through the pooling computer protocol; and
a plurality of blockchain addresses that have association with the pool of blockchain tokens, wherein each blockchain address is associated with a past transfer of an amount of a blockchain token to the pooling smart contract, wherein each blockchain address is associated with an account corresponding to an account asset balance;
generating, by the pooling computer protocol, an amount of token of the pooling smart contract, wherein the amount of token is a number of token specified by a reference stored in the pooling smart contract, the reference referring to the first transaction event associated with the first blockchain address, wherein the number of the token is determined based on the first amount of the first blockchain token transferred from the first blockchain address to the pooling smart contract in the first transaction event;
calculating, using the automatically enforceable code instructions of the pooling smart contract that are stored on the blockchain, a transaction rate, wherein the transaction rate is used by the pooling smart contract to provide a condition for an out-transfer of a borrow amount of the first blockchain token from the pool to a second blockchain address, the condition requiring an increase, according to the transaction rate, in a return amount of the first blockchain token to the pool when the second blockchain address returns the second blockchain token, wherein the return amount is higher than the borrow amount, and wherein the transaction rate is determined based on the cash balance of the pool, the liabilities balance of the pool, and the ownership distribution value;
transferring the borrow amount of the first blockchain token from the pool to the second blockchain address in a second transaction, wherein the second blockchain address is associated with a past transfer of a second blockchain token to the pooling smart contract, the second blockchain token issued from the second smart contract that is different from the first smart contract;
updating, using the automatically enforceable code instructions of the pooling smart contract that are stored on the blockchain, the cash balance based on the transaction rate, the first transaction event and the second transaction event;
increasing, using the automatically enforceable code instructions of the pooling smart contract, the account asset balance associated with the first blockchain address by an increased amount, wherein at least part of the increased amount is generated as a result of a difference between the return amount and the borrow amount in the second transaction that involves the out-transfer of the borrow amount from the pool to the second blockchain address;
adding, using the automatically enforceable code instructions of the pooling smart contract that are stored on the blockchain, transaction records in the blockchain ledger to reflect the first transaction, the second transaction, and the increased amount in the account asset balance associated with the first blockchain address;
receiving, at the pooling smart contract, a redeem request from the first blockchain address of the first blockchain token of the first amount and the increased amount;
determining that the first blockchain token is held at the second blockchain address;
transferring, instead of the first blockchain token, an amount of the second blockchain token issued from the second smart contract to the first blockchain address, wherein the amount of the second blockchain token is equivalent to the first amount and the increased amount of the first blockchain token, thereby linking interoperability of the first smart contract and the second smart contract.