Embodiments of the present disclosure relate to applications for facilitating finding and recovery of missing properties and, more specifically, to decentralized systems and applications for the fulfilment of the mentioned purpose.
Based on research, a list of prior art in the field of systems for recovering missing properties is presented, together with the main issues found in those implementations.
US-20020066781 provides a manner for returning lost objects by finders and a way for letting a compensation reward be paid. However, a central organization is required and there are no relevant guarantees for finders of objects that the mentioned rewards will effectively be paid, especially if reward amounts are great enough.
US-20090014998 proposed a system for recovering lost objects via a clearance house which works as a connection between finders and owners of objects, ensuring reward payments in the system. However, the system acts as a centralized body which stores relevant information about owners like contact details and payment data and can constitute a target for attacks, leading to lack of confidence for using the system.
U.S. Pat. No. 9,569,950 proposed a system composed by an interactive voice response system, a server and a database for reporting found objects by finders and for communicating finder messages to owners so that anonymity of parties is ensured. However, interaction is poor, the system is centralized and no rewards can be properly guaranteed to finders for accelerating recovery.
US-20170228829 presents a system for providing some interaction between finders and owners of objects that ensures rewards can be paid and received, being the system monetized charging a fee after an object was recovered. However, the system is centralized, is supposed to be operated by an organization and could be vulnerable to be attacked or controlled by third parties, leading to lack of confidence for using the system.
US-20180227393 includes a Lost and Found server connected to several client devices via Internet to let potential finders know that an object has been lost in their proximity. The system includes interactive interfaces between owners and finders for validating found objects and arranging meetings for returning lost items. However, the system server is centralized and could be vulnerable to be attacked or controlled by third parties and no rewards can be properly guaranteed to finders for accelerating recovery, leading to lack of confidence for using the system.
US-20200004775 describes a network conformed by a system that acts as a middle man between finders and owners of objects considering encrypted communications, avoiding public information exposure from both owners and finders and thus gaining anonymity. However, the system is centralized and could be vulnerable to be attacked or controlled by third parties and no rewards can be properly guaranteed to finders for accelerating recovery, leading to lack of confidence for using the system.
This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived, implemented or described. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
Lot of things can be categorized in life as representing a value for their owners too much higher than its economic price. Pets, for instance, can easily be considered to form part of this concept since they are unique for their possessors. Other objects can also integrate this category, from a laptop PC with a last version of an unpublished studio and a cell phone with valuable personal information to a piece of art, a gift given by a grandfather or a childhood toy, among many other items. In cases as recently exemplified, owners could be voluntarily willing to offer some kind of compensation if their appreciated properties were found and retrieved when missing, even in many cases if they were stolen. When great margins exist between economic prices and psychological or emotional values, attractive rewards are also likely to be paid by owners to people to give their properties back. However, a transparent mean is needed to ensure transactions among parties take place in an orderly manner under certain arranged terms with an acceptable level of confidence and anonymity for all of them.
As already mentioned, prior art related to solutions for retrieving missing properties automates the recovery process via private servers and databases which ensures in some cases anonymity of users and the possibility of including find rewards. However, centralization of information and communication may put any system like those in a vulnerable situation regarding attacks by third parties. Additionally, the way to give confidence in relation to payments of find rewards is weak enough in such centralized systems since it depends on a unique entity that could remain highly unregulated for large periods of time, thus bringing uncertainty to payment transactions. Moreover, the existence of a middle system between owners of properties and potential finders discourages lots of recovery operations, especially in case of stolen properties.
There have been different ways in prior art systems for saving information about properties and its owners to let ownership be proved on the one hand and facilitate tasks in relation to the process for finding and recovering lost items. For instance, intradermic pet microchips have been traditionally flashed with codes containing 9, 10 or 15 characters and used for indexing data in private databases. More recently, QR codes have also been used in collars for identification. Direct mappings in prior art schemes from chip-stored pet ID codes to pet/owner data were classically used, being pet/owner data those features defining pets and owners' characteristics, such as owners' contact information. In such systems, both pet ID codes and pet/owner data are connected and stored in a private way.
In some systems of the prior art, if a property was lost and later found by someone, the finder could contact the database organization by reading some ID code, thus letting the owner know about the find event to start the recovery process. However, incentives for finding lost items were not well regulated and there were situations that left completely unmanaged. Sensitive information about the owner or the property was sometimes compromised, like the person's name or phone number and the item economic value.
In some cases of the prior art systems in which owners wanted to put a reward on findings, direct interaction between owners and finders was minimum and not dynamic enough and the recovery process used to be slow and stressful. Since the reward payment used to be somehow guaranteed by private organizations, there was doubt in relation to the money recompense to be correctly paid after the recovery of a property took place, thus discouraging operations. Additionally, since a central authority was in control of linking users, storing information and paying find rewards, recovery of stolen items was highly discouraged due to lack of confidence.
Interaction between owners and finders in systems so far was minimum and some specific terms for transactions were not capable of being customized. For instance, a dynamic reward related to the find process of a missing property was impossible or impractical to be set in many systems of the prior art since the central database regulation leads to low resilience and anonymity levels.
The following presents a simplified summary of some embodiments of the invention in order to provide a basic understanding of such embodiments. This summary is not an extensive overview of all contemplated embodiments, and is intended to neither identify key or critical elements of all embodiments, nor delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments in a simplified form as a prelude to the more detailed description that is presented later.
Methodologies and systems disclosed herein are proposed to address a solution to facilitate finding and recovery of missing properties such as objects, devices, among others, by conforming both a decentralized system and a market comprised by the free interaction between owners of properties and agents that are willing to cooperate and work to find and retrieve lost and stolen items in exchange for a possible reward defined by the owners.
A decentralized system for facilitating finding and recovery of lost and stolen properties comprises one or more functions and variables to let a user register a property in the system by using an index associated to the property, one or more functions and variables to set the user as the owner of the property in the system, one or more functions and variables to let the owner report the property as missing in the system to account for situations of both lost and stolen properties, one or more functions and variables to let the owner store public and/or private information in the system for accelerating the find process of the property when missing and for retrieving and/or taking care of the property after found, one or more functions and variables to let an agent report the missing property as found in the system by using a find code and one or more functions and variables to let the owner report the missing property as retrieved in the system.
In other features, the system is deployed to a distributed ledger or blockchain for storing all variables and functions and for executing those functions. The distributed ledger comprises an adequate technology for reaching consensus about rights related to the system variables and functions through a suitable representation of them using smart contracts or similar approaches and a means for accessing the system by users that have the right to interact with the system for reading variables or executing some of its functions.
In other features, the decentralized system further comprises a set of functions and variables that can be used to reduce the probability of front-running in the system when reporting a missing property as found. The set of functions and variables comprises at least two routines that can be executed at different times by an agent willing to report the missing property as found in the system and a minimum predefined delay time between the execution of the two routines. In other features, the system further comprises one or more functions and variables to let the owner of the system charge some fees on certain operations in the system and withdraw its cumulated fees.
In other features, the decentralized system further comprises one or more functions and variables that can be used by the owner of the property to leave a find reward and one or more functions and variables that can be used by any agent after finding and retrieving a missing property to the owner in order to withdraw or donate the find reward if any.
In other features, the decentralized system further comprises one or more functions and variables that can be used by the owner of the property to modify a find reward if the associated missing property has not been reported as found till that moment.
In other features, the decentralized system further comprises one or more functions and variables that can be used by the owner of the property to partially or totally withdraw a find reward when applicable.
In other features, the different aspects for facilitating finding and recovery of missing properties are based on fixed recovery codes associated to those properties. The fixed recovery codes are supposed to be hard to be removed from the properties or replaced by other codes.
In other features, the different aspects for facilitating finding and recovery of missing properties are based on replaceable recovery codes associated to those properties. The replaceable recovery codes are supposed to be easy to be removed from the properties and replaced by other codes by the owners of those properties.
A method for facilitating finding and recovery of missing properties in a decentralized system comprises placing a fixed or a replaceable recovery code in a property for identification, registering a property in the system by a user via an index derived from the fixed recovery code if associated to the property or randomly selected otherwise, assuming that the user is the owner of the property in the system, using the index by the owner of the property if desired to reference public and/or private data associated to it in the system, reporting the property as missing by its owner for taking account of both lost and stolen properties, reporting the missing property as found by an agent using a find code and reporting the missing property as retrieved by its owner.
In other features, the method further comprises leaving a find reward in the system by the owner of a missing property if desired for it to be withdrawn by a future finder of the property after being reported as retrieved and withdrawing or donating the find reward if any by the finder of the property after being reported as retrieved.
In other features, the method further comprises modifying the find reward associated to a missing property by its owner when applicable.
In other features, the method further comprises withdrawing partially or totally the find reward associated to a missing property by its owner when applicable.
In other features, the method further comprises some steps for avoiding front-running in the system when reporting a missing property as found by an agent.
In other features, the method comprises storing public information in the system by the owner of the property if desired related to it and/or its owner or publishing a link that refers to the mentioned information externally stored and using the public information if desired for accelerating the find and/or recovery process of the property when missing and/or for taking care of the property after being found. In other features, the public information can be modified by the owner of the property. In other features, the method further comprises storing private information in the system by the owner of the property related to it and/or its owner or publishing a link that refers to the mentioned information externally stored and using the private information by the owner of the property if desired for accelerating the recovery process of the property and/or for taking care of the property after being found. In other features, the private information can be modified by the owner of the property.
In other features, the method further comprises generating a private key, a set of find codes and an index derived from a fixed recovery code if placed in a property, using the private key by the owner of the property to encrypt information related to it and/or its owner if desired, using the index by the owner of the property if desired to reference data associated to it in the system after the property was registered and using the find codes by finders of the property for reporting the property as found when missing at different times.
In other features, the method further comprises generating a private key, a find code and an index derived from a replaceable recovery code if placed in a property, using the index by the owner of the property if desired to register it in the system, using the private key by the owner of the property to encrypt information related to it and/or its owner if desired, using the index by the owner of the property if desired to reference data associated to it in the system after the property was registered and using the find code by a finder of the property for reporting the property as found when missing.
A method for placing a replaceable recovery code in the lock screen of a device for identification and recovery of the property when missing comprises generating a random code and deriving a graphic representation of the code through an app installed in the device, placing the graphic representation of the code in a secondary hidden lock screen of the device, using the graphic representation of the code by an eventual finder of the device for facilitating the recovery of the missing property and replacing the code and its graphic representation in the secondary hidden lock screen of the device by a new code after recovery.
To facilitate a full understanding of the present invention, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed as limiting the present invention but are intended to be exemplary and for reference.
This section is intended to provide explanation and description of various possible embodiments of the present invention. The embodiments used herein, and various features and details thereof are explained more fully with reference to non-limiting embodiments illustrated in the accompanying drawings and detailed in the following description. The examples used herein are intended only to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable the person skilled in the art to practice the embodiments used herein. Also, the examples/embodiments described herein should not be construed as limiting the scope of the embodiments herein. Corresponding reference numerals indicate corresponding parts throughout the drawings.
In some embodiments of the present disclosure, one or two types of possible identification strategies can be used for facilitating the recovery of missing properties by leveraging a recovery code associated to each item. The first identification type comprises the use of replaceable recovery codes (e.g., bar codes, QR codes, etc.) that can be generated and printed into physical or electronic tags. In this context, an electronic tag could be for example a QR code included in the lock screen of a device, such as a cell phone or a tablet, among others. Such a replaceable recovery code can be changed by the owner of the property whenever wanted. The second identification type comprises the use of fixed recovery codes that are unlikely and hard to be replaced by users, like the codes inserted into intradermic chips for pet identification, among many others.
In the description of embodiments that follows it's considered that all interactions between owners of properties and finders with the system for facilitating the recovery of properties is done via a cell phone or web site app or other similar interactive platform with a friendly user interface to let interactions be enhanced.
In
In the context of some embodiments of decentralized systems as the one shown in
Before or after a certain property is missing, its owner can register it in one or more embodiments by using a cell phone app or through a web site and report the property as lost when needed, setting a find reward if wanted and including some public information if desired to accelerate recovery such as some property's features and data related to the way it got lost like time and place of the event. Private sensitive information related to the owner's contact details can be keep out of the system if chosen until the object is finally found.
Once the property is found by an agent, the owner can register its contact details in an encrypted way in some embodiments through the mentioned app or web site to be accessed by the property's finder. By using the app or web site, the finder of the property can also send a find alert to the community and also to the object's owner by prior scanning the property recovery code that identifies it. Additionally, the finder of the property may decrypt and access the owner's contact details deriving a password from the property recovery code. After the property was successfully retrieved, the owner can inform the event to the system executing a function in some embodiments, thus letting the finder withdraw its find reward if applicable.
An environment and a market can then be created based on some embodiments in which owners and finders of properties are able to freely interact with proper incentives for finding and recovering items in a decentralized way. Since find rewards are proposed to be paid via a decentralized system, a high level of anonymity can be reached regarding payments, thus encouraging more operations to take place in relation to systems of the prior art.
According to the present disclosure, for a lost property to be found, prior identification of the property via recovery codes is a fundamental aspect. In order to address identification of a property, an exclusive kind of pattern can be previously got from the item and saved as unique fingerprints of it when they are distinguishable from others. In other cases, it is possible to use identification codes attached to the properties, so that they can be read by an eventual finder. A methodology can be considered in different implementations to let a finder of a property identify it, fill a find report, access some information to contact the owner and return the property back, among other operations, in a decentralized way.
In various embodiments like the one schematically shown in
As already mentioned, two approaches can be considered in embodiments of the present disclosure regarding physical identification of properties. The first strategy relies on replaceable identification codes like those that can exist in personal objects (e.g., cell phone, baggage, etc.), while the second strategy is based on fixed identification codes like those that can be present in hardware (e.g., intradermic chips for identifying pets, among others). Some embodiments can work with one or both of the mentioned strategies which can be finally selected by brands and users based on the privacy and interaction levels they are expecting to get.
As was stated, some embodiments can leverage the use of replaceable codes for facilitating the recovery of missing properties. Therefore, let's suppose first that the identification for recovering an object relies uniquely on a code (e.g., QR) printed on a tag attached somehow to that object. The code is supposed to be available to be read by some cell phone camera when a person finds the missing item, so that the code can be used to report the object as found. However, it should be hidden enough in the object or device so that there is no way for a third party to report the object as found just by watching the item or taking a picture of it. The replaceability of the mentioned code also permits the owner of the object to replace such code after each time the object is lost and found.
In
In
In both cases exemplified by
In various embodiments, a method can be considered to use replaceable recovery codes for filling find reports of missing properties by agents. In
The method proposed to be used in various embodiments comprises a first stage for publishing a public verification variable in the decentralized system by the owner of a property after it's been lost. If a finder finds the item after that, the finder can scan the recovery code and apply the same known hash functions to generate both the find report code and the verification variable. As the system is supposed to be public for a lot of agents in mentioned embodiments, at that moment the finder is able to check if the verification code obtained after said calculations matches some public verification variable published by some property's owner. If variables match, then the finder can get data related to the item (e.g., object's characteristics, find reward amount, etc.) and use the find report code to report the object as found in the system.
All above-mentioned operations related to actions of owners and finders can be put in practice in various embodiments by using a proper cell phone or web site app by both owners and finders, with an adequate user interface to let people's labor be minimal.
Hash functions proposed above for being used in some embodiments for generating both find report codes and public verification codes are those that are hard to be inverted (e.g. KECCAK-256), so that any other agent in the system except for the owner and the finder can neither generate find report codes based on public verification variables nor recovery codes from find report codes.
The decentralized system proposed to be used in various embodiments may be a system capable of verifying that some lost or stolen property has been successfully reported as found by performing a calculation in a decentralized way (e.g., using smart contracts on a blockchain) of the same hash function considered by the owner of the item to obtain the public verification variable, using as an argument the find report code provided by the finder, among other possible data. If the result of the decentralized system hash calculation matches the public verification variable previously published by the owner, then the property can be formally considered as found by the system in those embodiments.
A method that can be considered in some embodiments can be used for establishing a link between owners and finders to let them privately meet so that lost and stolen items can be physically retrieved. In
Regarding objects identified with replaceable recovery codes that can be considered in some embodiments, it is recommended that owners change mentioned codes each time missing properties have been recovered. If not, the next recovery process for those items in the future could be threatened.
The second approach for identifying and facilitating the recovery of properties in some embodiments relies on fixed non-replaceable recovery codes, like those that can be stored in a hardware device (e.g., pet intradermic microchips, among others). Fixed codes can also be derived from special patterns of properties used to distinguish them (e.g., fingerprints or DNA in humans). In the following description, the terms “fixed non-replaceable code” and “fixed code” are used equally for referring to an identification code associated to a property which is difficult and unlikely to be removed and/or replaced by another code. Methods can be considered in some embodiments to use fixed non-replaceable codes as recovery codes for both identifying properties and reporting findings in decentralized systems.
Let's suppose in this point that the identification for facilitating the recovery of an object in one or more embodiments relies only on a fixed code, such as the one inside a chip installed in a hardware device. By definition, codes inside those chips are difficult to be replaced by owners and the same codes must be effective for both identification and recovery processes at different times, since a certain property could be lost and found more than once with the same fixed code.
Chips with fixed codes are usually read by special scanning devices (e.g., using NFC technology). For instance, intradermic chips for identifying pets can easily be scanned in most vet offices or in some government institutions.
Since information for feeding both identification and recovery stages must be derived from the same fixed code, a methodology can be used in some embodiments of decentralized systems to let agents report the finding of the same object at different times without problems using the same fixed code, protecting contact details of owners and avoiding false alarms on findings as much as possible.
In
At the end of the proposed hash chain, public indexes 62 can be obtained in various embodiments after the N+1 hash function calculations 64, being N the given maximum number of times a certain property can be lost and found in the decentralized system. Therefore, for a certain fixed code, a public index may be obtained which can be used for mapping public data in the system.
Hash functions 65 proposed in the mentioned scheme of
In
If the above criteria for hash functions are met, then the first N hash codes generated in
Regarding the possibility of contacting the owner for returning a property with a fixed recovery code, in various embodiments the same private key PK 72 must be used at different times the item is lost for encrypting and decrypting data from the owner. The later means that encrypted data from a certain owner may be accessed by all previous finders of the respective item each time the property is lost and some encrypted data is published. However, for solving that issue, owners are free to create and share new communication channels at each time (e.g., creating and sharing new e-mail accounts) and also to use external organizations for being contacted. For instance, most pet owners leave contact information to private or public organizations in case their pets are lost after installing intradermic chips in their pets. If that's the case, then the public pet index obtained by an eventual finder of a lost pet through a user app can be leveraged in some embodiments for getting public information of such organization or company, such as the name, address or phone number. If no company or agency holds the owner's contact data, as a last resource direct plain or encrypted messages may be sent in some embodiments by both the finder and the owner via the user app to arrange a meeting.
The described scheme using fixed non-replaceable codes can work perfectly in various embodiments as long as codes remain secret and previous finders don't act in a malicious or unproper way. If there is no leak in information regarding fixed codes, no false find alarms are supposed to be issued. Therefore, the probability of failure associated with fixed recovery codes is really low and benefits may be supposed to be much greater than potential risks in some embodiments.
In
In various embodiments, stored information related to owners of properties can be encrypted when sensitive whenever they want, increasing security and letting more operations take place with transparence.
In
As previously mentioned, selection of a proper hash function used for feeding the chain of
In
Considering both property identification strategies to facilitate recovery of properties in different embodiments (i.e., using replaceable and fixed recovery codes), time evolution of the recovery process for lost items can be divided into the stages schematically shown in
In
Coming back to step 110, if the object has instead a fixed non-replaceable code or no code is easily detected, the finder can also use a user app in some embodiments to perform an initial search on objects reported as missing in the system near the place of discovery at step 1112 to look for coincidences in the public system information. If some object reported as missing matches the found item, the finder can get the code scanned at a proper place or office (step 1113). In order to accelerate recovery, owners can also publish some public addresses where chips can be scanned at the moment they report their properties as missing. After the fixed recovery code 70 was properly read, the finder is capable of generating the whole mentioned hash chain 64 via the user app at step 1114 after some hash calculations. At step 1115, the finder can get the public object index 78. After that, the finder may get the number of times the object with fixed recovery code was already lost and found (step 1116). The finder may then obtain a valid find report code at step 1117 and then verify public published data of the object (step 115). After completed step 115, the finder can follow steps 116, 117, 118, 119 and 1111 to report the object as found and withdraw the find reward if any as was previously described for replaceable recovery codes. As a recall, all above-mentioned system calls are supposed to be done via user apps by both owners and finders in different embodiments, so that their labor is reduced.
In
As already mentioned, both decentralized systems and methods for facilitating the recovery of missing properties can be established in some embodiments via one or more smart contracts that can be placed and run on top of some distributed ledger or blockchain. In that case, both the backend system and the database can be defined in one or more smart contracts by different variables and functions to be accessed by owners and finders of properties. In those embodiments, functions that run on mentioned ecosystems can be composed by code that can be executed with global consensus on a virtual machine (e.g., Ethereum Virtual Machine) whenever they are run. Therefore, in one or more embodiments the system logic can be defined via one or various smart contracts that can be deployed into some blockchain (e.g., Ethereum) to be accessed by agents that have the right to access the said blockchain.
In the following part of the description, some smart contracts and their code sentences are presented and described as an example of one of the many possible ways of implementing both the decentralized system and the methodologies described in the present disclosure for facilitating finding and recovery of missing objects. The inclusion of the mentioned implementation is not intended to limit the scope of the disclosure, but to illustrate the way different possible embodiments can be established. In that context, a scheme of Solidity code representing a main system contract called ObjectRecoverySystem as a possible backend implementation of some embodiments is shown in
In
The main code of the contract 132 is divided into different sections of code. Block 133 contains definitions of some variables (
Block 137 contains a utility private function for verifying whether a user is the owner of an object or not (
Block 138 contains a public function for registering a new object in the system (
Block 139 contains a public function for changing data related to an owner's object (
Block 1310 contains a public function for setting data related to the owner of an object (
Block 1311 contains a public function that allows the owner of an object to transfer the object's ownership to another agent, that can be useful in many embodiments for selling an item or for letting owners give some objects as gifts (
Block 1312 contains a public function for letting an owner report some object as lost (
Block 1313 contains the definition of the anti-front-running public function (
Block 1314 contains a public function to let a finder report some object as found (
Block 1315 contains a public function to let the owner of an object report the later as restored (
Block 1316 contains a public function to let a finder claim its find reward, whenever applicable (
Block 1317 contains a public function to let the owner of an object change the find reward before the object has been found, if the object was not retrieved in a certain time or after some time without claiming the find reward (
Block 1318 contains a public function to let some user send a message to another agent in the system (
Block 1319 contains a public function to let the owner of the recovery system withdraw its cumulated fees if any (
Block 1320 contains some utility functions for avoiding money from getting lost in the system when there are user errors in some function calls (
System logic defined in the mentioned ObjectRecoverySystem smart contract is done, among other ways, by ensuring certain conditions are met during execution of functions via “require” statements, which revert operations in the virtual machine in case some conditions don't take place, and by setting system variables and transferring payments. When operations are reverted in “require” sentences executed inside contract functions, error messages raise to let users know the type of involved errors via some user app alerts.
In the mentioned contract shown as an example of some embodiments' backend, many variables are arranged in structures established inside mappings indexed by public index variables of objects. Some of the mentioned mappings are leveraged for saving codes already used by agents in the system, thus avoiding repetition of find report codes and object indexes.
Automatic execution of the KECCAK-256 hash function for verification purposes is performed in the mentioned implementation via the “keccak256” built-in Ethereum routine.
In
The StableToken contract considered in the mentioned implementation accounts for the later and simulates a stable currency in the ecosystem for making payments. In
Before or after a certain property is missing, the property's owner can register the object in the described implementation by calling the registerObject function 138, which emits an ObjectDataAdded event to alert users. During the mentioned process, the owner of the object is capable of setting data related to the object and the owner itself.
Data can also be changed via functions changeObjectData 139 and setOwnerData 1310. The function changeObjectData 139 emits an ObjectDataChanged event at the end of its execution.
After registering the information related to the object and the owner, the later can report the object as lost in the system by calling the objectLost function 1312 which emits an ObjectLost event, setting a maximum time for the recovery process and leaving a find reward as a payment guarantee if desired.
From the moment an object is declared as lost till the moment the object is found, the owner is free to change and also to remove the find reward in the mentioned implementation by executing the changeFindReward function 1317 which emits a RewardChanged event.
If a certain object was found by someone and its recovery code was successfully read, the function objectFound 1314 can be executed at a certain time by the finder using the generated find report code as an argument. However, there may be some risk in the ecosystem that a third party can concrete the operation before the finder, since transactions may be waiting in a transaction pool for several minutes in the mentioned smart contract blockchain till being mined into a new block. So, the find report code can easily be known by a large number of agents before the objectFound function 1314 is effectively executed by the finder in the virtual machine. The mentioned practice consisting in taking advantages of other's transaction is known as front-running. To prevent such things, a method illustrated in
In the mentioned system implementation, after an object is found by a finder but prior being reported as found using the objectFound function 1314, the finder must call the antiFrontRunning function 1313 sending an anti-front-running code 235 as argument. The anti-front-running code 235 equals to the hash calculation (e.g., KECCAK-256) applied on a code θ 231. The code θ 231 is the result of applying a concatenating operator 233 between the derived find report code 232 and the finder address 234.
Therefore, people skilled in the art will notice that there is no way for other agents to generate an anti-front-running code for reporting the same finding since the find report code is unknown for everyone except for the finder and the owner. In the mentioned implementation, after calling the antiFrontRunning function 1313 with the anti-front-running code 235 as argument, the finder must wait some predetermined delay time (i.e., one hour) for having some priority on calling the objectFound function 1314 and effectively report the object as found, reducing the likelihood of front-running in the operation.
People skilled in the art will notice that the objectFound function 1314 working together with system variables and mappings is perfectly capable of verifying at runtime that properties were correctly found based on both fixed and replaceable recovery codes used for identification. In the case of a fixed recovery code 70 placed in a property, part or the whole hash chain 64 is verified during execution till getting the public index of a property 78 registered in the system based on a proper find report code provided by a finder. If a replaceable recovery code 40 is considered for identification, the mentioned function is able to verify at runtime that the public verification variable 45 derived from a find report code 43 provided by some finder matches a system variable previously set by some owner of a property.
Once the delay time has passed and the objectFound function 1314 was executed by the finder, the system can automatically verify that the find report code matches the code masked inside the anti-front-running code previously generated by the finder and that the find report code is related to an object reported as lost. If those conditions are met, then an ObjectFound event is emitted in the implementation to alert the whole ecosystem and the object's owner about the finding.
The mentioned predetermined delay time the finder must wait till reporting the object as found for various embodiments is proposed to be such a number so that finders have a certain priority time for reporting findings without being front-run by other agents. For example, if preset minimum waiting time for finders is long enough in a certain embodiment in relation to time between blocks in the blockchain in which the contract was deployed to, then front-running turns unlikely in the said system. For instance, in the Ethereum blockchain each block is approximately mined after 6 minutes. Therefore, a waiting time of about one hour could be considered enough in that ecosystem to prevent front-running and avoid false alarms on found objects for different embodiments.
In the mentioned implementation, once a property was reported as found, the finder has up to a maximum time set by the owner to retrieve the object. If there are no stored contact details to contact the object's owner, the finder can send a message via the decentralized network to the owner by executing the sendMessage public function (routine 1318 in
If time exceeds the maximum recovery time in the implementation, the owner can freely withdraw the find reward. Otherwise, if the object is recovered by its owner, the later can inform the ecosystem about the event via the objectRestored function 1315 emitting an ObjectRestored event for letting the finder withdraw its reward if applicable.
To withdraw the find reward, the finder can call the claimFindReward function 1316 (
In the said implementation, the main recovery system contract is owned by the agent that deployed the contract to the correspondent blockchain. As the owner of the system, the mentioned agent can charge fees on operations that take place in the network. As an example, a certain fee is charged in the ObjectRecoverySystem contract when an object is reported as lost by its owner and when a lost object is finally retrieved as a fixed percentage of the find reward. A public function named withdrawFees 1319 is included in the contract to let the owner of the contract withdraw its cumulated fees (
After both smart contracts implied in the described implementation of the decentralized recovery system (i.e., ObjectRecoverySystem and StableToken) are successfully migrated to a testing environment (e.g., Ganache-CLI), some testing scripts can be run for correcting errors and ensuring all functions and variables behave as expected before deploying the contracts to a public blockchain. Also, a frontend interface web site app can be developed as can be schematically seen in
The mentioned sections of a web site app are shown herein as an example to prove how interaction between agents and the system may be done in various embodiments. However, it is expected that user-friendly apps for cell phones, tablets, laptops, among other devices, may be developed for different embodiments.
After the system and its functions for a certain embodiment is fully tested from backend and user points of view, the system can be deployed to some public network. In the case of the smart contracts recently described as examples of possible embodiments, they could be easily deployed to the Ethereum blockchain.
The smart contracts above-described comprise one of the possible ways for implementing the systems and methods disclosed herein. However, many other embodiments can be created based on disclosed concepts for facilitating finding and recovery of missing properties by using different ecosystems, databases, distributed ledgers, programming languages and recovery strategies, among other tools.
Based on the disclosed features, an environment and a market may be created thanks to some embodiments in which owners and finders of properties can freely interact with proper incentives to facilitate finding and recovering of missing items, both lost and stolen. Since find rewards can be paid and interaction can take place in a decentralized way, a high level of anonymity can be reached, thus encouraging more operations to take place for finding and retrieving items in relation to systems of the prior art.
If adequately combined with different laws and regulations, the systems and methodologies established in the current disclosure could let governments and justice institutions from different countries deploy their own decentralized applications to allow and enhance people to recover stolen properties by themselves when applicable.
Furthermore, some companies and organizations could leverage some aspects of the current disclosure by deploying apps and registering items before being sold to the market, allowing properties to be recovered from the moment of sale if missing. Insurance companies could also leverage some of the characteristics of the current disclosure by including possible finding and retrieval operations in insurance policies and also by assigning reward payments for trying to recover missing properties before covering them.
Although the embodiments of the present disclosure have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader scope of the inventive subject matter. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof show, by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This detailed description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent, to those of skill in the art, upon reviewing the above description.
While the methods disclosed herein have been described and shown with reference to particular operations performed in a particular order, it will be understood that in some cases these operations may be combined, sub-divided, or re-ordered to form equivalent methods without departing from the teachings of the present invention. Accordingly, unless specifically indicated herein, the order and grouping of the operations is not a limitation of the present invention. For instance, as a non-limiting example, in alternative embodiments, portions of operations described herein may be re-arranged and performed in different order than as described herein.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In the appended claims, the term “comprising” is open-ended; that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim is still deemed to fall within the scope of that claim.
The present application is based on and claims priority to U.S. Provisional Patent Application No. 63/421,218, having a filing date of Nov. 1, 2022, which is incorporated herein by reference in its entirety.
| Number | Date | Country | |
|---|---|---|---|
| 63421218 | Nov 2022 | US |