Method and System for Usage of Cryptocurrency, Preventing Financial Crime
20200364699 ยท 2020-11-19
Inventors
Cpc classification
H04L9/3239
ELECTRICITY
G06F16/2379
PHYSICS
H04L2209/56
ELECTRICITY
G06Q20/3678
PHYSICS
G06Q20/4016
PHYSICS
H04L9/0637
ELECTRICITY
International classification
G06Q20/40
PHYSICS
Abstract
The usage of money has been always abused for financial crime. The invention of cryptocurrency on Blockchain did not change that since the ownership essentially remained anonymous. The present invention deals with the programmatic parameterization of cryptocurrency Smart Contracts to include the binding between the user's cryptocurrency transaction and user's Identity, thus creating permissioned crypto-token transfer. Such binding has advantageous properties as being resilient to any form of financial crime, preventing cryptocurrency theft, and precluding bad actors from using this cryptocurrency. The system for Identity-Bound Cryptocurrency Transfer (IBCT) will include IBCT Blockchain Smart Contract, IBCT Blockchain Oracle Smart Contract, and off-chain Identification-as-a-Service for the IBCT owner using dedicated CryptoWallet for executing IBCT Smart Contract. The Financial crime-preventive usage of cryptocurrency is achieved through user-opted, while pseudonymous, binding of the user's Blockchain public address with the user's identity. This Financial crime-preventive usage of cryptocurrency is facilitated via a specialized crypto wallet.
Claims
1. A method for cryptocurrency programmable parameterization using: a Smart Contract for cryptocurrency, containing said parameterization; a Blockchain, including said Smart Contract; a user transacting said cryptocurrency through executing said Smart Contract on the Blockchain; where said parameterization includes programmable binding to the user's identity.
2. The method of claim 1 where said programmatic binding to the user's Identity is accomplished via the call of the Smart Contract for cryptocurrency to Oracle Smart Contract on the same Blockchain, following by the Oracle calling off-chain Identification-as-a-Service.
3. The method of claim 2 where cryptocurrency transaction is executed via Smart Contract using Cryptocurrency wallet connected with Identification-as-a-Service, performing real-time Strong Identification of the user.
4. The method of claim 3 where smart contract execution is identified by session ID generated by Cryptocurrency wallet and passed to Identification-as-a-Service, wherein this session ID is used to match Smart Contract transaction with Identification-as-a-Service transaction.
5. The method of claim 4 where Identification-as-a-Service stores Public Addresses paired with users Identities.
6. The method of claim 5 where Identification-as-a-Service transactions are time-stamped, wherein present and previous transaction time-stamps are used to preclude double-spending attack on Blockchain.
7. The method of claim 6 where Identification-as-a-Service precludes manipulating recipient's public address of Cryptocurrency recipient.
8. The method of claim 3 where Identification-as-a-Service provides an audit trail of Cryptocurrency transaction for law-enforcement, regulators, and users.
9. The method of claim 7 for generating a highly a reliable Validated Transaction, identifiable via Hex Data field with Session ID and Identification-as-a-Service Domain URL, wherein Smart Contract for the cryptocurrency is executed, if the programmatic binding response from Identification-as-a-Service matches with Smart Contract transaction request and if Public Addresses of Sender and Recipient have been previously recorded in Blockchain transactions.
10. The method of claim 9 where Validated Translations are used by Blockchain software infrastructure to improve its Speed and its Security, wherein this improvement is accomplished via modifying the Blockchain Consensus algorithm to provide the highest priority for Validated Transactions.
11. A system for cryptocurrency programmable parameterization comprising: a Smart Contract for cryptocurrency, containing said parameterization; a Blockchain, including said Smart Contract; a user transacting said cryptocurrency through executing said Smart Contract on the Blockchain; where said parameterization includes programmable binding to the user's identity.
12. The system of claim 11 where said programmatic binding to the user's Identity is accomplished via the call of the Smart Contract for cryptocurrency to Oracle Smart Contract on the same Blockchain, following by the Oracle calling off-chain Identification-as-a-Service.
13. The system of claim 12 where cryptocurrency transaction is executed via Smart Contract using Cryptocurrency wallet connected with Identification-as-a-Service, performing Strong Identification of the user.
14. The system of claim 13 where smart contract execution is identified by session ID generated by Cryptocurrency wallet and passed to Identification-as-a-Service, wherein this session ID is used to match Smart Contract transaction with Identification-as-a-Service transaction.
15. The system of claim 14 where Identification-as-a-Service stores Public Addresses paired with users Identities.
16. The system of claim 15 where Identification-as-a-Service transactions are time-stamped, wherein present and previous transaction time-stamps are used to preclude double-spending attack on Blockchain.
17. The system of claim 16 where Identification-as-a-Service precludes manipulating recipient's public address of Cryptocurrency recipient.
18. The system of claim 13 where Identification-as-a-Service provides audit trail of Cryptocurrency transactions for law-enforcement, regulators, and users.
19. The system of claim 17 for generating a highly a reliable Validated Transaction, identifiable via Hex Data field with Session ID and Identification-as-a-Service Domain URL, wherein Smart Contract for the cryptocurrency is executed, if the programmatic binding response from Identification-as-a-Service matches with Smart Contract transaction request and if Public Addresses of Sender and Recipient have been previously recorded in Blockchain transactions.
20. The system of claim 19 where Validated Translations are used by Blockchain software infrastructure to improve its Speed and its Security, wherein this improvement is accomplished via modifying the Blockchain Consensus algorithm to provide the highest priority for Validated Transactions.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0035] Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which we describe:
[0036]
[0037]
[0038]
[0039]
[0040]
[0041] Referring to
[0042] Referring to
[0043] Referring again to
Return Rules for Oracle:
[0044] If public address 1 is not paired with Identity at IDaaS>>>Return=0
Return=0 corresponds to the user's use of cryptocurrency in anonymous mode,
If session ID does not exists at IDaaS>>>Return=1
If public addresses 1 is not paired with Identity at IDaaS>>>Return=2
Return=1, 2 means that this session is fraudulent
If all match at IDaaS>>>Return=3
[0045] Referring again to
Return=3 corresponds to Validated Transaction. This particular transaction has been validated, according to the present invention, and its validity is independent of the Blockchain Nodes consensus mechanism. How secure these Validated Transactions are?
The security of cryptocurrency transfer includes three interconnected parts: [0046] 1. TRIO Security and Privacy (as described in U.S. patent application Ser. No. 16/233,217), [0047] 2. IDaaS Real-Time Identification (as described in US patent application #15/774,012 and U.S. patent Ser. No. 10/425,407), [0048] 3. IBCT Smart Contract Security (as described in the present invention).
Thus validating that:
1. The user (sender) originated the transaction,
2. The recipient address is indeed the intention of the sender,
3. The sender is not abusing the system (double-spend is prevented).
Security of TRIO and IDaaS were previously discussed in Referenced application 8,9,10. IBCT security is to be discussed here.
[0049] Referring again to
Based upon the immutability of Blockchainonce writtenit cannot be forged. Its execution is hard-coded and bound to Oracle smart contract that cannot be forged as well. The out-of-blockchain API call over https is hard-coded by the Oracle smart contract owner. The parameter used for Oracle request is Session ID, a large integer ensuring its uniqueness. The real-time response from IDaaS, for this session ID, contains both sender and recipient addresses. The probability that attacker manipulates Oracle-to-IDaaS is very low.
There are two possible attack planes:
Executing Fraudulent Request without the User's Knowledge, Following the Steps: [0050] 1. Identity Key, sent by IDaaS in real-time (see Ref. 10), may be compromised by an attackerstill the attacker needs to steal the user's wallet key as well, to be able to hack the user's private key, generated in memory for fraction of second. Thus the probability of stealing the private key, generated in real-time, is very low. But in the future, this may be possible via a brute-force attack on private keys using quantum computing. [0051] 2. Even if step 1 is successfulthe attacker must forge the event of actual identification, since only this event may trigger the valid API response to Oracle request. [0052] 3. Even if steps 1 and 2 are successfulto trigger the IBCT Smart Contract execution, necessary to authorize a fraudulent transaction, the software-crafted Session ID must be launched using the TRIO wallet. The probability of interception of the Session ID, generated in real-time, is very low. Therefore an attacker will also need to modify the TRIO wallet software to prevent it from launching real-time strong identification.
Forging User's Real-Time Transaction Request:
[0053] An attacker must be able to modify the transaction recipient address in real-time both at the user's browser and IDaaS server. The simultaneous probability of bothis very low.
[0054] Concluding: stringent security-in-depth implies that overall chances to steal Identity-bound cryptocurrency transfer are very low, many orders of magnitude lower than the current state-of-the-art.
[0055] Referring again to
Since the recipient address belongs to the attacker known to IDaaS and the victim will complain about the theft to law-enforcement officialsthen the attacker may be arrested and will be forced to return the funds to the victim.
But what if the attacker recipient's address is unknown to IDaaS? This is the worst-case scenario, but to succeed, in this single transaction theft, the attacker must, simultaneously: impersonate Address 1, manipulate Address 2, intercept Private Key and Session ID, and impersonate Oracle to IDaaS communicationall that at enormous cost! Thus the probability of Blockchain Node writing fraudulent transaction with return=3 is negligible.
The question remains: can this unlikely scenario be removed programmatically? Does this condition can be enforced by the blockchain itself and thus being independent on IDaaS, achieving full decentralization? The answer is yes, using the following rules 290:
1. Recipient's Public Address A2 is bound to Identity if in-Blockchain history exists previous transfer to A2 terminated with result=3.
2. Sender Public Address A1 is bound to Identity if in Blockchain history exists previous transfer from A1 terminated with result=3.
These conditions are independent of IDaaS. Therefore the known vulnerability of Centralized Oracles (attack on IDaaS-Oracle communication interface) is removed.This is the reason for adding condition 290 at
[0056] Referring again to
We need to resolve the problems of Onboarding of Public Address (not paired with Identity yet), accompanied by the purchase of cryptocurrency from Exchange (not paired with Identity, by default) and Exit of Public Address via the selling of cryptocurrency to Exchanges (not paired with Identity, by default).
Referring to FIG. 3:
[0057] The following special condition will apply 235 (as shown previously in
1. First one must get on-board at IDaaS:
Step 1: the users must assert their Identity 355, for example using Facebook.
Step 2: the users must validate this assertion 360, for example using PayPal (see Refs 8,9). How to pair the Identity with public address 370 using TRIO, 365see Ref. 10.
2. Then one must transfer Fiat Currency or other cryptocurrencies to Exchange 375. In return, the corresponding amount of cryptocurrency 380 is transferred from A1=Exchange Address to the users A2 after it was paired with Identity 370. The transfer will follow the procedure of
Another special condition is selling cryptocurrency from Address A1 (paired to Identity) to Address A2, which belongs to Exchange (390,392). The sender is following the procedure of
[0058] Referring to
End-users 405 may also contact 407 Off-chain IDaaS in case they made a transfer to the wrong recipient. In such a case, Off-chain IDaaS will contact the erroneous recipient requesting to execute a reverse transaction.
[0059] Referring to
[0060] Referring again
Validated Transactions, according to the present invention, are to be trusted by design. They may be deemed final and they may be re-defined with elevated privileges. For example, as if they do not require consensus mechanism. Therefore the Blockchain Node protocol may be vastly improved if Validated Transaction with Hex Data Field, according to the present invention, will be written into Block immediately, without waiting for consensus mechanism. This may require updating Node software for elevated privileges of Validated Transactions. This improvement may be accomplished by modifying the Blockchain Consensus algorithm to provide the highest priority for Validated Transactions. An additional improvement is resilience to the majority blockchain node takeover attack: majority or more than 50%, blockchain nodes where the vulnerability is the scenario in which the majority of the nodes attack the network. Let's say majority nodes collude togethermay be controlled by the same entity, etc. to then manipulate or corrupt the entire network to their advantage. The rest of the network, the minority, is forced to accept the corrupt or wrong version of the ledger simply because the technology protocol is built that wayin case of differences, to force prevail the majority version. Note the key here is that the majority, 51% or more, to have an identical version of the ledger simultaneouslycorrupted to their advantage or notto then become the majority version in the network. Since IDaaS contains the ledger of approved and rejected transactionsthe technology protocol of the consensus may be modified to repel the attack on the blockchain itself. For example, the blocks containing Validated Transactions cannot be rewritten by any Majority. This improvement may be accomplished, for example, by modifying the Blockchain Consensus algorithm to provide the highest priority for Validated Transactions. Thus Validated Transactions, according to this invention, may contribute to better Security and Throughput of Blockchain Network. Validated Transactions will look like any other transaction with exception of Hex Data field, certifying the Domain URL of the IDaaS and Session ID that was used to validate it.
Additional Advantageous Effects of the Invention
[0061] Summarizing: IBCT smart contract will be executed if the sender address and recipient address are Identity-Bound as recorded on Blockchain or the sender/recipient belongs to licensed Exchanges as recorded on Blockchain.
Thus the trustless Blockchain rule will be established: [0062] Once the public address is bound to Identity it can be used to receive cryptocurrency from a private user, whose public address is bound to his Identity or from licensed Exchanges. [0063] If the public address is not bound to Identity, with the exception of licensed Exchanges, it will not receive cryptocurrency from a private user, whose public address is bound to his Identity. [0064] Dispute resolution mechanism can be used to reverse erroneous transactions if both sender and recipient addresses are bound to Identity. [0065] If the public addresses are not bound to Identity (anonymous users)they can send or receive cryptocurrency from one to another.
[0066] Does IDaaS introduce centralization (single-point-of-failure) into decentralized Blockchain? Indeed Identity-Bound Cryptocurrency Transfer is a closed-loop system, namely one can not send it outside to (anonymous) address 2. But the same user can use a different account using a different wallet, with the same cryptocurrencybut anonymously. Thus he can transfer this cryptocurrency to anyone. Thereforethere is no single point of failure and centralization is avoided. This similar to Fiat Money: we can use Banks for Online Transactions, but we do not need them for Cash transactions.
[0067] In general we consider IDaaS to be trusted and secured such that the hardware and software it uses are tamper-proof to a reasonable certainty and it functions securely.
By adding Trusted IDaaS to Trustless Blockchain-Financial Crime-preventive Cryptocurrency usage is achieved.
[0068] While the foregoing written description of the invention enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention should therefore not be limited by the above described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the invention as claimed
CITATION LIST
Non-Patent Literature
[0069] 1. EIP 20 standard of crypto-currencies: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md [0070] 2. Consensus Crypto Currency contracts: https://github.com/ConsenSys/Tokens [0071] 3. Open Zeppelin Crypto Currency contracts: https://github.com/OpenZeppelin/openzeppelin-solidity/tree/master/contracts/token
4. True Cost of Financial Crime in Europe: https://www.refinitiv.com/content/dam/marketing/en_us/documents/reports/true-cost-of-financial-crime-europe-focus.pdf [0072] 5. Cryptocurrency Market Cup: https://coinmarketcap.com/charts/ [0073] 6. Stolen Cryptocurrency: https://www.helpnetsecurity.com/2019/01/30/stolen-cryptocurrency/ [0074] 7. Crime with Cryptocurrency: https://www.cnbc.com/2019/01/29/crime-still-plague-cryptocurrencies-as-1point7-billion-was-stolen-last-year-.html
PATENT LITERATURE
[0075] 8. U.S. patent application Ser. No. 15/774,012 Method and system for protecting and utilizing Internet Identity using smartphone [0076] 9. U.S. patent Ser. No. 10/425,407 Secure Transaction and Access using insecure device [0077] 10. U.S. patent application Ser. No. 16/233,217 Method and System for secure Applications using Blockchain.