Blockchain Digital Cryptocurrency Loan System
20230025000 · 2023-01-26
Inventors
- Maurice Vanegas (Sun Valley, CA, US)
- Isaac VANEGAS (Sun Valley, CA, US)
- Pranay BHATTACHARYYA (Newbury Park, CA, US)
Cpc classification
G06Q20/02
PHYSICS
International classification
G06Q20/06
PHYSICS
Abstract
A cryptographic blockchain computer network digital cryptocurrency loan system that rewards both the loan holder and the loan paying network users with system utility fund tokens for each loan payment made. System utility fund tokens entitle the system users to receive dividend distributions of passive income from a system digital cryptocurrency investment fund.
Claims
1. A blockchain digital cryptocurrency loan system comprising; A system node comprising a computer processor electronically connected to a computer-readable system storage medium and to a network communications port; a node daemon in said system storage medium having one or more operating instructions for said system node to electronically communicate P2P using said network communications port with one or more network user nodes; a system digital wallet DW.sub.SYS in said system storage medium; an investment fund digital wallet DW.sub.IF in said system storage medium; a fund token digital wallet DW.sub.FT in said system storage medium; a loans database in said system storage medium; a blockchain data file in said system storage medium; an executable loans application in said system storage medium comprising; (i) at least one operating instruction to cryptographically record to said blockchain data file a loan assignment of digital cryptocurrency in a loan amount from a lender digital wallet DW.sub.L to a borrower digital wallet DW.sub.B; (ii) at least one operating instruction to create a record in said loans database of said loan assignment which includes a loan ID field, a loan holder ID field, a borrower ID field and a loan balance field; (iii) at least one operating instruction to receive a loan payment request from a payor digital wallet DW.sub.P, said loan payment request including data for a loan ID value and a loan payment amount value; (iv) at least one operating instruction to locate a loan record in the loans database that has a loan ID field value that equals the loan ID value of the loan payment request and that has a loan balance field value greater than zero, or else returning an error message; (v) at least one operating instruction to determine a payment division of the loan payment amount value between DW.sub.SYS, DW.sub.IF, and the loan holder digital wallet DW.sub.LH of the loan holder ID field of the loan record; (vi) at least one operating instruction to cryptographically record to the blockchain data file a loan payment assignment of digital cryptocurrency in the loan payment amount value from DW.sub.P to DW.sub.SYS, DW.sub.IF and DW.sub.LH in accordance with the determined payment division; (vii) at least one operating instruction to reduce the loan balance field value of the loan record by the loan payment amount; (viii) at least one operating instruction to cryptographically record to the blockchain data file a transfer amount of fund tokens from DW.sub.FT to both DW.sub.P and DW.sub.LH; and (ix) at least one operating instruction to cryptographically record to the blockchain data file at a predetermined time an assignment of a digital cryptocurrency dividend distribution from DW.sub.IF to every digital wallet having a fund token balance greater than zero.
2. The blockchain digital cryptocurrency loan system where: (i) said loans database also includes an agent field and a commission field; (ii) said at least one operating instruction to determine a payment division determines a division of the loan payment amount value between DW.sub.SYS, DW.sub.IF, the loan holder digital wallet DW.sub.LH of the loan holder ID field of the loan record, and an agent digital wallet DW.sub.A of the agent ID field of the loan record in accordance with the value of the commission field value of the loan record; and (iii) said at least one operating instruction to cryptographically record to the blockchain data file a loan payment assignment of digital cryptocurrency in the loan payment amount value is from DW.sub.P to DW.sub.SYS, DW.sub.IF, DW.sub.LH and DW.sub.A in accordance with the determined payment division;
3. The blockchain digital cryptocurrency loan system of claim 1 where the digital cryptocurrency dividend distribution from DW.sub.IF to a particular network user with a digital wallet DW.sub.USER will equal a percentage of a determined dividend amount that equals the percentage of circulating fund tokens assigned to DW.sub.USER.
4. The blockchain digital cryptocurrency loan system of claim 1 where the transfer amount of fund tokens from DW.sub.FT to both DW.sub.P and DW.sub.LH is equal in amount to the loan payment amount.
5. The blockchain digital cryptocurrency loan system of claim 1 where the lending application further comprises: (i) at least one operating instruction to confirm a request for a digital cryptocurrency transfer from DW.sub.IF to a token exchange for an acquisition amount of investment token; (ii) at least one operating instruction to cryptographically record to the blockchain data file an acquisition transaction comprising a digital cryptocurrency acquisition assignment from DW.sub.IF to a token exchange and a return assignment from the token exchange to DW.sub.IF of an acquisition amount of investment token; (iii) at least one operating instruction to create a record of the acquisition transaction in an investment data object of the loans database, including setting an amount field value to the acquisition amount, a maturity field value to a datetime after which the acquisition amount of investment token may be redeemed, and a redemption status field value to “no”;
6. The blockchain digital cryptocurrency loan system of claim 1 where the lending application further comprises: (i) at least one operating instruction to confirm the elapse of an investment token redemption period; (ii) at least one operating instruction to confirm that an investment data object in the loans database has a record of an acquisition transaction of investment token that has a maturity field datetime value that has passed, and also has a redemption status field value of “no”; (iii) at least one operating instruction to determine from the loans database a total amount of mature and unredeemed investment token IT.sub.MUR-TOTAL assigned to DW.sub.IF; (iv) at least one operating instruction to cryptographically record to the blockchain data file a redemption transaction comprising an assignment from DW.sub.IF to the token exchange of an IT.sub.MUR-TOTAL amount of investment token and an assignment from the token exchange to DW.sub.IF of an equivalent value amount of digital cryptocurrency; (v) at least one operating instruction to adjust the redemption status field value to “yes” for a record in investment data object; and (vi) at least one operating instruction to reset the investment token redemption period.
7. The blockchain network lending system of claim 1 where said digital cryptocurrency is EOS.
8. The blockchain network lending system of claim 5 where said digital cryptocurrency is EOS, said token exchange is REX, and said investment token is T-REX.
9. The blockchain network lending system of claim 6 where said digital cryptocurrency is EOS, said token exchange is REX, and said investment token is T-REX.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
BEST MODE FOR CARRYING OUT THE INVENTION
[0041] The Blockchain Lending System Invention Architecture:
[0042]
[0043] Referring to
[0044] Referring to
[0045] Every user of a P2P blockchain network 20 must have a digital wallet (“DW”) to enable the user to conduct transactions on P2P blockchain network 20. A DW stores the unique public and private cryptographic keys that are necessary to interface with P2P blockchain network 20, to conduct transactions, and to check the user balances of DC and other cryptographic tokens (e.g. the FT used in the present invention) on the P2P blockchain network 20. In a preferred embodiment a user of the system utilizes a DW to participate in the system.
[0046] In a preferred exemplary embodiment of the system of the present invention the blockchain P2P network 20 is an EOSIO P2P blockchain network comprised of a plurality of nodes 30 where the node daemon 50 includes the core service daemon nodeos. Nodeos is a part of the free open-source EOSIO software suite that is produced by the company Block.one. The nodeos service daemon 50 runs on every node 30 of the EOSIO P2P blockchain network 20 as it contains the P2P protocol needed for nodes 30 to communicate with another. The nodeos service daemon also is configured to process smart contracts, validate transactions, produce blocks containing valid transactions, and add blocks 41 to the blockchain data file 40 of EOSIO P2P blockchain network 20. Each EOSIO P2P blockchain network 20 user of the system of the present invention will have a DW capable of interfacing with the EOSIO P2P blockchain network 20 to conduct transactions in DC EOS and the system FT tokens.
[0047] The Loans Database
[0048] Referring to
[0049] Referring to
[0050] The Loans Data Object 62
[0051] Referring to
[0052] For each loan record there is contemplated to be a loan ID field with a unique identifier for the loan, a timestamp field that stores a datetime value for the loan creation, and a DC loan balance field that stores a value for the amount in DC of the loan balance that remains outstanding. At loan creation the DC loan balance field holds a value for the full DC amount of the loan. As DC loan payments are made towards the loan the DC loan balance field value will be reduced by the amount of the DC loan payments.
[0053] For each loan record there is also contemplated to be a loan holder DW ID field that stores the identifier for the DW of the network user that currently holds the loan (hereinafter “DW.sub.LH”). In the system of the present invention DW.sub.LH of a loan record is the DW that is entitled to receive the proceeds from DC payments made to that DC loan. The DW.sub.LH field value of a loan record may be the DW value for the original lender but may also be the DW value of different network user who acquired the loan and its rights to repayment by assignment. Any such assignment of a loan between network users would be processed through a call to the system dApp which would update the loan holder DW ID field value in the loan data object 62 for the loan record with the new DW.sub.LH value.
[0054] For each loan record there is also contemplated to be a borrower DW ID field that stores the identifier for the DW of the network user that currently owes the loan (hereinafter “DW.sub.B”). In the system of the present invention DW.sub.B of a loan record is the DW that is obligated to repay the outstanding balance of the DC loan. The DW.sub.B field value of a loan record may be the DW value for the original borrower but may also be the DW value of different network user who assumed the loan obligation by assignment. Any such assignment of a loan obligation between network users would be processed through a call to the system dApp which would update the borrower DW ID field value in the loan data object 62 for the loan record with the new DW.sub.B value.
[0055] For each loan record there is also contemplated to be an agent DW ID field that stores the identifier for the DW of the network user, if any, that is an agent (hereinafter “DW.sub.A”) for the loan. Such an agent may be an employee of a lender or may be an independent broker for the lender. There may be an arrangement between a lender and agent where DW.sub.A would be entitled to receive DC proceeds from any loan payments towards the loan balance in accordance with a commission value stored in an agent commission field of the loan record in loan data object 62.
[0056] For each loan record there is also contemplated to be an administrator fee field that stores a value (e.g. a percentage) for the administrator fee to be transferred from DC proceeds on a loan payment to the DW of the administrator of the system of the present invention (hereinafter “DW.sub.SYS”). There are contemplated to be expenses associated with establishing, running and maintaining the system of the present invention on any P2P blockchain network and the administrator fee is intended to cover and compensate for the network user who incurs such expenses.
[0057] In the illustrated exemplary embodiment of the invention there is no interest expense associated with loans created and repaid through the system, and no minimum payments or repayment schedule. The economic incentive for both the loan holders and payors of the loan in the illustrated embodiment is the potential DC financial rewards associated with participation in the DC investment fund of the system. However, the system of the present invention could also be implemented with interest bearing loans, minimum payment requirements, payment schedules and any other loan terms or conditions. In such embodiments it is contemplated that each loan record of loan data object 62 would include fields for storing values related to these other loan terms and conditions.
[0058] The Fund Token Data Object 64
[0059] Referring to
[0060] The DC Investment Data Object 66
[0061] Referring to
[0062] There is a category field that stores a value for the category of the DW.sub.IF transaction. Contemplated categories include capital contribution (a loan payment portion DC addition to DW.sub.IF), investment (a payment from DW.sub.IF to an investment vehicle such as REX), earnings (an addition to DW.sub.IF received from a transaction with an investment vehicle such as REX), and dividend (a subtraction of DC paid as a dividend distribution from DW.sub.IF to a DW.sub.USER of record in fund token data object 64 having an FT balance).
[0063] There is a token field that stores a value for the type of cryptographic token of in the DW.sub.IF transaction (e.g. EOS or T-REX). There is a token amount field that stores a value for the transaction amount of token. There is a maturity field which stores a datetime value, as applicable, for when the token of the transaction (e.g. T-REX) is first eligible for redemption of sale. There is a redemption status field which stores a value (i.e. “yes” or “no”), as applicable, indicating whether the token of the transaction has been redeemed or sold.
[0064] The Blockchain Lending System Software
[0065] Referring to
[0066] DApp DCMICROLOAN 70 of the preferred EOSIO P2P public blockchain network embodiment is comprised of a plurality of WebAssembly (hereinafter “Wasm”) code files. The Wasm code files that make up the dApp DCMICROLOAN 70 are DCLOAN 71, DCLOANPAY 72, FUNDTOKENS 73, DCINVEST 74, and DCDIVIDEND 75. It should be noted that these code modules are shown by way of example and not limitation, and that fewer or more code modules, differently named, may also be used. In the preferred embodiment the Wasm code modules are built from source code files that have preferably been authored in the computer language C++ with the EOSIO Contract Development Toolkit. Each code module that makes up dApp DCMICROLOAN 70 is generally referred to as a “smart contract”.
[0067] DCLOAN 71
[0068] Referring to
[0069] DCLOAN has one or more operating instructions 81 to receive a request to create a new loan on certain terms (e.g. amount, term, interest, etc . . . ) from a network user lender having a digital wallet DW.sub.L to a network user borrower having a digital wallet DW.sub.B. The one or more operating instructions 81 in DCLOAN will be executed by a node 30 of the P2P blockchain network 20 to receive a request to create a loan from DW.sub.L to DW.sub.B with the communicated terms.
[0070] DCLOAN has one or more operating instructions 82 to confirm that DW.sub.L has a sufficient balance of DC to cover the new loan, or else return a message to DW.sub.L and DW.sub.B declining the transaction to create a new loan. The one or more operating instructions 82 in DCLOAN will be executed by a node 30 of the P2P blockchain network 20 to confirm that DW.sub.L has a sufficient balance of DC to cover the new loan, or else return a message to DW.sub.L and DW.sub.B declining the transaction to create a new loan.
[0071] DCLOAN has one or more operating instructions 83 to communicate the loan terms to DW.sub.B and confirm acceptance by DW.sub.B of the loan terms, or else return a message to DW.sub.L and DW.sub.B declining the transaction to create a new loan. The one or more operating instructions 82 in DCLOAN will be executed by a node 30 of the P2P blockchain network 20 to confirm acceptance by DW.sub.B of the loan terms, or else return a message to DW.sub.L and DW.sub.B declining the transaction to create a new loan.
[0072] DCLOAN also contains one or more operating instructions 84 for creating and populating the fields of a new loan record in loan data object 62 with the new loan information. The one or more operating instructions 84 will be executed by a node 30 of the P2P blockchain network 20 to create a new loan record in loan data object 62 and populate the record fields with the new loan information. The transaction updating the state of loan data object 62 (i.e. updated data set with the new loan record) that results from execution of operating instructions 84 will be included in the next cryptographic block 41 that produced for publication and addition to the blockchain 40.
[0073] DCLOAN also contains one or more operating instructions 85 for recording the loan transaction on blockchain 40 including the transfer of a loan amount of DC from the DC balance of DW.sub.L to the DC balance of DW.sub.B. The one or more operating instructions 85 will be executed by a node 30 of the P2P blockchain network 20 to record the loan transaction on blockchain 40 including the transfer of a loan amount of DC from the DC balance of DW.sub.L to the DC balance of DW.sub.B.
[0074] DCLOANPAY 72
[0075]
[0076] DCLOANPAY contains one or more operating instructions 91 for receiving a loan payment request from DW.sub.P. The received loan payment request must communicate data to DCLOANPAY which includes a loan ID and a DC payment amount. The one or more operating instructions 91 will be executed by a node 30 of the P2P blockchain network 20 to receive from DW.sub.P a loan payment request that communicates data to DCLOANPAY which includes a loan ID and a DC payment amount.
[0077] DCLOANPAY also contains one or more operating instructions 92 for confirming the existence in loans data object 62 of a record with a loan ID field value matching the loan ID communicated by DW.sub.P and which has a loan balance field value greater than zero but less than or equal to the DC payment amount communicated by DW.sub.P, or else return an error message to DW.sub.P declining the transaction. The one or more operating instructions 92 will be executed by the a node 30 of the P2P blockchain network 20 to confirm the existence in loans data object 62 of a record with a loan ID field value matching the loan ID communicated by DW.sub.P and which has a loan balance field value greater than zero but less than or equal to the DC payment amount communicated by DW.sub.P, or else return an error message to DW.sub.P declining the transaction.
[0078] DCLOANPAY also contains one or more operating instructions 93 for confirming that DW.sub.P has a sufficient balance of DC to cover the DC loan payment amount, or else return an error message declining the transaction. The one or more operating instructions 93 will be executed by a node 30 of the P2P blockchain network 20 to confirm that DW.sub.P has a sufficient balance of DC to cover the DC loan payment amount, or else return an error message declining the transaction.
[0079] DCLOANPAY also contains one or more operating instructions 94 for determining a payment division of the DC loan payment amount from DW.sub.P between DW.sub.SYS, DW.sub.I, and DW.sub.LH and DW.sub.A (if any) identified in the confirmed loan record. The one or more operating instructions 94 will be executed by a node 30 of the P2P blockchain network 20 to determine a payment division of the DC loan payment amount between DW.sub.SYS, DW.sub.I, and DW.sub.LH and DW.sub.A (if any) identified in the confirmed loan record. In a preferred exemplary embodiment, the payment division comprises individual loan payment portions (hereinafter “LPP”):
LPPD.sub.DWsys=0.5%*DC Loan Payment Amount
LPP.sub.DWi=0.5%*DC Loan Payment Amount
LPP.sub.DWa=Commission Field Value*DC Loan Payment Amount
LPP.sub.DWlh=DC Loan Payment Amount−LPP.sub.DWsys−LPP.sub.Dwi−LPP.sub.Dwa
LPP.sub.DWsys+LPP.sub.DWi+LPP.sub.DWa+LPP.sub.DWlh=DC Loan Payment Amount
[0080] Thus, the payment division determined for the DC loan payment amount is comprised of (1) LPP.sub.DWsys which is the determined loan payment portion of the DC loan payment amount that will be transferred from DW.sub.P to DW.sub.SYS; (2) LPPD.sub.Wi which is the determined loan payment portion of the DC loan payment amount that will be transferred from DW.sub.P to DW.sub.i; (3) LPP.sub.DWa which is the determined loan payment portion of the DC loan payment amount that will be transferred from DW.sub.P to the DW.sub.A value of the agent ID field for the confirmed loan record and is calculated from the commission field value of the confirmed loan record; and LPP.sub.DWlh is the determined loan payment portion of the DC loan payment amount that will be transferred from DW.sub.P to the DW.sub.LH value of the loan holder ID field for the loan record.
[0081] DCLOANPAY also contains one or more operating instructions 95 for reducing the value of the loan balance field for the confirmed loan record in loan data object 62 by the DC loan payment amount from DW.sub.P. The one or more operating instructions 95 will be executed by a node 30 of the P2P blockchain network 20 to reduce the value of the loan balance field for the confirmed loan record in loan data object 62 by the DC loan payment amount from DW.sub.P. The updated state (i.e. a data set with new loan balance field value for the confirmed loan record) of loan data object 62 resulting from execution of operating instructions 95 will be included by a block producing node 30 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0082] DCLOANPAY also contains one or more operating instructions 96 for communicating to smart contract FUNDTOKENS, with each successfully processed DC loan payment request, a request to distribute system FT. The communicated request must contain data that includes the DC payment amount, DW.sub.P and DW.sub.LH. The one or more operating instructions 96 will be executed by a node 30 of the P2P blockchain network 20 to communicate to smart contract FUNDTOKENS a request to distribute FT. The communicated request contains data the includes the DC payment amount, DW.sub.P and DW.sub.LH.
[0083] DCLOANPAY also contains one or more operating instructions 97 for recording a transaction of the divisional transfer from DW.sub.P of the DC loan payment amount on blockchain 40 for (1) the transfer from DW.sub.P of the determined LPP.sub.DWsys to DW.sub.SYS; (2) the transfer from DW.sub.P of the determined LPP.sub.DWi to DW.sub.I; (3) the transfer from DW.sub.P of the determined LPP.sub.DWa to DW.sub.A; and (4) the transfer from DW.sub.P of the determined LPP.sub.DWlh to the DW.sub.LH. The one or more operating instructions 97 will be executed by a node 30 of the P2P blockchain network 20 to record a transaction of the divisional transfer from DW.sub.P of the DC loan payment amount on blockchain 40 for (1) the transfer from DW.sub.P of the determined LPP.sub.DWsys to DW.sub.SYS; (2) the transfer from DW.sub.P of the determined LPP.sub.DWi to DW.sub.I; (3) the transfer from DW.sub.P of the determined LPP.sub.DWa to DW.sub.A; and (4) the transfer from DW.sub.P of the determined LPP.sub.DWlh to the DW.sub.LH. The updated states DW.sub.P, DW.sub.LH, DW.sub.SYS, DW.sub.I, and DW.sub.A (if any) resulting from execution of operating instructions 97 will be included by a block producing node 30 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0084] DCFUNDTOKENS 73
[0085]
[0086] Smart contract FUNDTOKENS contains one or more operating instructions 110 for receiving a communication from smart contract DCLOANPAY 72 data for the DC payment amount, DW.sub.P and DW.sub.LH. The one or more operating instructions 110 will be executed by a node 30 of the P2P blockchain network 20 to receive a communication from smart contract DCLOANPAY 72 of data for the DC payment amount, DW.sub.P and DW.sub.LH.
[0087] FUNDTOKENS also contains one or more operating instructions 120 for determining an FT transfer amount (hereinafter “FT.sub.TA”) from the input of the DC payment amount and the field value of the FT.sub.CONV in the fund token data object 64. In a preferred embodiment the one or more operating instructions 120 will be executed by a node 30 of the P2P blockchain network 20 to determine FT.sub.TA as being equal to the product of the DC loan payment amount multiplied by the current field value of FT.sub.CONV in the fund token data object 64:
FT.sub.TA=DC loan payment amount*FT.sub.CONV
[0088] Smart contract FUNDTOKENS of the preferred exemplary embodiment also contains one or more operating instructions 130 for recording a transaction of the transfer of FT.sub.TA from DW.sub.FTto DW.sub.P on blockchain 40. The one or more operating instructions 130 will be executed by a node 30 of the P2P blockchain network 20 to record a transaction of the transfer of FT.sub.TA from DW.sub.FT to DW.sub.P on blockchain 40. The updated states DW.sub.P and DW.sub.FT resulting from execution of operating instructions 130 will be included by a block producing node 30 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0089] The FT balance for a network wallet DW.sub.USER on the P2P blockchain network 20 is used to calculate the periodic dividend distribution from DW.sub.IF to DW.sub.USER. In a preferred embodiment a record of each DW.sub.USER FT transaction is kept by the system, and FT can only be assigned to a DW.sub.USER, whether from DW.sub.FT or another DW.sub.USER, through the smart contract FUNDTOKENS. Therefore, for each FT transaction that happens there is a record created by FUNDTOKENS in fund token data object 64. Each such record has a DW.sub.USER ID field that stores a value identifying the DW.sub.USER (e.g. the public key of DW.sub.USER) and an FT amount field that stores the value for the amount of FT in the transaction.
[0090] Smart contract FUNDTOKENS therefore also contains one or more operating instructions 140 for creating in fund token data object 64 a record of the FT transaction with a DW ID field that stores the identifying value of DW.sub.P, and the FT amount field storing the value FT.sub.TA.
[0091] Smart contract FUNDTOKENS of the preferred exemplary embodiment also contains one or more operating instructions 150 for recording a transaction of the transfer of FT.sub.TA from DW.sub.FT to DW.sub.LH on blockchain 40. The one or more operating instructions 150 will be executed by a node 30 of the P2P blockchain network 20 to record a transaction of the transfer of FT.sub.TA from DW.sub.FT to DW.sub.LH on blockchain 40. The updated states DW.sub.LH and DW.sub.FT resulting from execution of operating instructions 150 will be included by a block producing node 30 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0092] Smart contract FUNDTOKENS of the preferred exemplary embodiment also contains one or more operating instructions 160 for creating in fund token data object 64 a record of an FT transaction with a DW ID field that stores the identifying value of DW.sub.LH, and the FT amount field storing the value FT.sub.TA.
[0093] Smart contract FUNDTOKENS of the preferred exemplary embodiment also contains one or more operating instructions 170 for a block producing node 30 to update the state of fund token data object 64 resulting from execution of operating instructions 140 and 160 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0094] DCINVEST 74
[0095]
[0096] Smart contract DCINVEST contains one or more operating instructions 205 for initializing an investment event listener for either a request for an EOS transfer from DW.sub.IF to REX to acquire T-REX tokens, or a redemption period elapse. The one or more operating instructions 205 will be executed by a node 30 of the EOS Mainnet 20 to initialize an investment event listener for either a request for an EOS transfer from DW.sub.IF to REX to acquire T-REX tokens, or a redemption period elapse.
[0097] Smart contract DCINVEST contains one or more operating instructions 210 for confirming a request for an EOS transfer from DW.sub.IF to REX to acquire T-REX tokens, or else confirming a redemption period elapse. The one or more operating instructions 210 will be executed by a node 30 of the EOS Mainnet 20 to confirm a request for an EOS transfer from DW.sub.IF to REX to acquire T-REX tokens, or else confirm a redemption period elapse.
[0098] Smart contract DCINVEST contains one or more operating instructions 215 for recording a transaction of the transfer of EOS from DW.sub.IF to REX on blockchain 40. The one or more operating instructions 215 will be executed by a node 30 of the EOS Mainnet 20 to record a transaction of the transfer of EOS from DW.sub.IF to REX on blockchain 40.
[0099] Smart contract DCINVEST contains one or more operating instructions 220 for recording a transaction of the transfer of T-REX from REX to DW.sub.IF on blockchain 40. The one or more operating instructions 220 will be executed by a node 30 of the EOS Mainnet 20 to record a transaction of the transfer of T-REX from REX to DW.sub.IF on blockchain 40.
[0100] Smart contract DCINVEST contains one or more operating instructions 225 for creating a record in investment data object 66 of the transfer of T-REX from REX to DW.sub.IF, including setting the field values for amount, maturity, and redemption status. The one or more operating instructions 225 will be executed by a node 30 of the EOS Mainnet 20 to create a record in investment data object 66 of the transfer of T-REX from REX to DW.sub.IF, including but not limited to setting the field values for amount, maturity, and redemption status.
[0101] Smart contract DCINVEST contains one or more operating instructions 230 for updating the state for the investment data object 66 (i.e. the new T-REX transaction record) on blockchain 40 and reinitializing the investment event listener. The one or more operating instructions 230 will be executed by a node 30 of the EOS Mainnet 20 to update the state for the investment data object 66 (i.e. the new T-REX transaction record) on blockchain 40 and reinitialize the investment event listener.
[0102] Smart contract DCINVEST contains one or more operating instructions 235 for confirming a redemption period elapse, or else reinitializing the investment event listener. The one or more operating instructions 235 will be executed by a node 30 of the EOS Mainnet 20 to confirm a redemption period elapse, or else reinitialize the investment event listener.
[0103] Smart contract DCINVEST contains one or more operating instructions 240 for confirming that investment data object 66 has one or more records of a transaction for T-REX that has a maturity field datetime value that has passed, and also has a redemption status field value of empty or “no” (hereinafter any such Mature and UnRedeemed T-REX record being referred to as “T-REX.sub.MUR”), or else reinitializing the investment event listener. The one or more operating instructions 240 will be executed by a node 30 of the EOS Mainnet 20 to confirm that investment data object 66 has one or more T-REX.sub.MUR records, or else reinitialize the investment event listener.
[0104] Smart contract DCINVEST also contains one or more operating instructions 245 for determining the total amount of mature and unredeemed T-REX (hereinafter “T-REX.sub.MUR-TOTAL”) as being equal to the sum of the token amount field values for the T-REX.sub.MUR records that were identified from execution of the one or more operating instructions 240. The one or more operating instructions 230 will be executed by a node 30 of EOS Mainnet 20 to determine a T-REX.sub.MUR-TOTAL as being equal to the sum of the token amount field values for the T-REX.sub.MUR records that were identified from execution of the one or more operating instructions 240.
[0105] Smart contract DCINVEST also contains one or more operating instructions 245 for recording on blockchain 40 a redemption assignment from DW.sub.IF to REX of T-REX tokens in an amount equal to T-REX.sub.MUR-TOTAL in exchange for receiving from REX an amount EOS.sub.REX-RDM of EOS. The one or more operating instructions 245 will be executed by a node 30 of the EOS Mainnet 20 to record on blockchain 40 a redemption assignment of T-REX from DW.sub.IF to REX in an amount T-REX.sub.MUR-TOTAL and assignment to DW.sub.IF from REX an amount EOS.sub.REX-RDM of EOS.
[0106] Smart contract DCINVEST also contains one or more operating instructions 250 for, upon a redemption assignment from DW.sub.IF to REX of T-REX.sub.MUR-TOTAL, adjusting the redemption status field value to “yes” for each of the T-REX.sub.MUR records in investment data object 66 that were identified from execution of the one or more operating instructions 240. The one or more operating instructions 250 will be executed by a node 30 of the EOS Mainnet 20 to, upon a redemption assignment from DW.sub.IF to REX of T-REX.sub.MUR-TOTAL, adjust the redemption status field value to “yes” for each of the T-REX.sub.MUR records in investment data object 66 that were identified from execution of the one or more operating instructions 240. The updated state of investment data object 66 resulting from execution of operating instructions 250 will be included by a block producing node 30 in the next cryptographic block 41 that the node produces for publication and addition to the blockchain 40.
[0107] Smart contract DCINVEST contains one or more operating instructions 260 for, after a redemption assignment from DW.sub.IF to REX of T-REX.sub.MUR-TOTAL, resetting the redemption period and reinitializing the investment event listener of the one or more operating instruction 205. The one or more operating instructions 260 will be executed by a node 30 of EOS Mainnet 20 after a redemption assignment from DW.sub.IF to REX of T-REX.sub.MUR-TOTAL to reset the redemption period and reinitialize the investment event listener of the one or more operating instruction 205.
[0108] DCDIVIDEND 75
[0109]
[0110] Smart contract DCDIVIDEND contains one or more operating instructions 310 for determining at a predetermined time the DC.sub.DIV to pay out to the network user digital wallets of record in fund token data object 64 that have a balance of FT. The predetermined dividend time in a preferred EOS Mainnet embodiment is every twenty-four hours, however this may be set to any time interval. The one or more operating instructions 310 will be executed by a node 30 of the EOS Mainnet 20 at a predetermined dividend time to determine the DC.sub.DIV to pay out to the network user digital wallets of record in fund token data object 64 that have a balance of FT.
[0111] Smart contract DCDIVIDEND also contains one or more operating instructions 320 for identifying at the predetermined time from fund token data object 64 each digital wallet having an FT balance field value greater than zero (hereinafter “DW.sub.USER-FT”), and summing the FT balances for all DW.sub.USER-FT records to determine a value for the circulating FT circulation value (hereinafter “FT.sub.CIRC”). The one or more operating instructions 320 will be executed by a node 30 of the EOS Mainnet 20 at the predetermined time to identify from fund token data object 64 each digital wallet having an FT balance field value greater than zero (hereinafter “DW.sub.USER-FT”), and summing the FT balances for all DW.sub.USER-FT records to determine a value for the circulating FT circulation value (hereinafter “FT.sub.CIRC”).
[0112] Smart contract DCDIVIDEND also contains one or more operating instructions 330 to calculate at the predetermined time for each DW.sub.USER-FT a DC dividend distribution (hereinafter “DW.sub.USER-DCDIV”) that is equal to the product of the dividend amount multiplied times the FT percentage that DW.sub.USER-FT has of FT.sub.CIRC. Thus, for example, if dividend amount =one hundred (100) EOS, FT.sub.CIRC=one thousand (1000), and DW.sub.USER-FT has an FT balance field value of one hundred (100), then DW.sub.USER-DIV would be equal to ten (10) EOS:
DW.sub.USER-DCDIV=[DW.sub.USER-FTBAL/FT.sub.CIRC]*Dividend Amount
DW.sub.USER-DCDIV=[100/1000]*100 EOS
DW.sub.USER-DCDIV=[0.1]*100 EOS
DW.sub.USER-DCDIV=10 EOS
[0113] The one or more operating instructions 330 will be executed by a node 30 of the EOS Mainnet 20 at the predetermined time to calculate for each DW.sub.USER-FT a DC dividend distribution (hereinafter “DW.sub.USER-DCDIV”) that is equal to the product of the dividend amount multiplied times the FT percentage that DW.sub.USER-FT has of FT.sub.CIRC.
[0114] Smart contract DCINVEST also contains one or more operating instructions 340 for recording on blockchain 40 for each determined DW.sub.USER-DCDIV an assignment from DW.sub.IF of the DW.sub.USER-DCDIV amount of EOS to DW.sub.USER. The one or more operating instructions 340 will be executed by a node 30 of the EOS Mainnet 20 to record on blockchain 40 for each determined DW.sub.USER-DCDIV an assignment from DW.sub.IF of the DW.sub.USER-DCDIV amount of EOS to DW.sub.USER.
[0115] While particular embodiments and applications of the present blockchain cryptocurrency loan system invention have been shown and described changes and modifications may be made, and the appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of the invention.