The present disclosure generally relates to smart contracts, blockchain verification, and soulbound tokens, and more specifically to use of soulbound tokens for employment verification.
Verifying former employment, skills, and certifications claimed on resumes can be difficult. For example, when an employer reviews a resume of an applicant, they have limited verification capabilities. Some capabilities may include calling the former employer. This may cause problems because employers can be hesitant to divulge information about a former employee due to various labor laws and/or the desire to keep proprietary or personal information private. Even if an employer can verify an applicant worked at a certain company, they may be unable to verify whether the employee worked at the position they claim, how long employment lasted, or if the applicant possesses the skills they claim. Accordingly, there is a need for a simple, effective, and secure means to track and verify employment, completed projects, certifications, and/or positions at employers and former employers.
This brief overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This brief overview is not intended to identify key features or essential features of the claimed subject matter. Nor is this brief overview intended to be used to limit the claimed subject matter's scope.
Soulbound tokens (SBTs) provide a basis for a decentralized society (DeSoc), which is a co-determined sociality in which communities and Souls come together bottom-up as emergent features of one another to co-create plural network goods and bits of intelligence at various scales. A soulbound token is a publicly verifiable and non-transferable nonfungible token (NFT) that represents an individual's credentials, affiliations and commitments.
Non-transferable tokens refer to NFTs that can help track reputation and are added to addresses but cannot be moved. But what does “Souls” refer to in soulbound NFTs? The wallets or accounts to which SBTs or non-transferable tokens are permanently bound are called Souls. For instance, a Soul can represent an individual's employment history, which can be self-certified similar to information in one's curriculum vitae or resume.
However, when SBTs possessed by one Soul are issued or attested by other Souls who are counterparties (e.g., individuals and/or organizations) to these relationships. That is, when the mechanism's true power is revealed. For instance, the Ethereum Foundation might be a Soul that awards SBTs to those who attended an Ethereum conference. In this way, it can be known that the Ethereum Foundation has certified that the recipient of such a token was an attendee of the conference.
The concept of “plural network groups” refers to interactions and communications within the networks and are the most critical drivers of economic growth. For example, an artists may get rid of dishonest individuals selling NFT collections under the guise of famous artists by linking soulbound tokens to their artistic profile. SBTs would allow buyers to trace the social provenance of a work, and blockchain inclusion enables the buyers to track when a specific work was created.
For instance, a tradeable NFT could be issued by an artist from their Soul to help buyers recognize an artist's work by the number of soulbound tokens it contains, establishing the legitimacy of the nonfungible token. As a result, Souls would develop a publicly verified, on-chain method for staking, and develop a reputation around the provenance and rarity of an item.
Soulbound tokens may also be used to represent a candidate's educational credentials, like a degree and/or a professional certification. Additionally or alternatively, SBTs may represent previous work history. In this way, SBTs can be used as proof of skill of the holder of those SBTs to meet human resource needs of an organization.
A user's blockchain activity can be tracked using SBTs, which can be converted into non-transferable reputation tokens inside game avatars that can only be leveled up in this method. This means that a user can level up by being a good Web3 citizen (instead of playing the game), giving the user avatar non-transferable skills and experience.
Traditional credit reports may also be represented by SBTs, giving lenders access to a borrower's whole credit profile. For example, an SBT indicating a debt owed by a user may be issued when the debt is incurred; the SBT may be replaced by payment documentation or deleted once the loan has been repaid. As a result, people cannot hide their ongoing financial obligations.
Web3 has been mainly dependent on token sales or airdrops to entice new communities, but both methods provide mediocre results. As an alternative, Souldrops can be issued using SBTs. As an example, a Souldrop may allow developers with 5 out of the last 10 conference attendance to receive soulbound token(s) serving as a proof of attendance protocol (POAP). People can use POAPs, a special NFT, to demonstrate that they attended a live or recorded event.
One of the advantages of using soulbound tokens for credential verification purposes is that, since information is permanently replicated on the blockchain, no one can falsify it. Moreover, any awards and certificates earned by an individual can be publicly verifiable via the SBTs. Furthermore, since SBTs cannot be purchased, the authenticity of the SBTs cannot be questioned, allowing the SBTs to foster confidence among token holders and the general public that the token holders are deserving of their tokens.
In some embodiments, protocols may check a borrower's credit history and/or evaluate associated credit score(s) to determine how much the borrower may be permitted to access based on soulbound NFTs. SBTs may be used to restrict blockchain projects from becoming a cash grab by making digital representations non-tradable. That is, an individual cannot buy SBTs; instead, the individual must put effort into earning them.
In one aspect, the present disclosure provides a method for integrating hierarchically linked smart contracts with tokenized verification, the method comprising: generating a plurality of smart contracts corresponding to a hierarchical structure, each of the plurality of smart contracts being configured for on-chain association between one or more of the following: a business parent, a business subsidiary, a business, a business division, a business department, a business team, and a business project, for each of the plurality of smart contracts, defining the following: one or more triggering events for deployment via a blockchain protocol, and one or more parameters for minting one or more Soul Bound Tokens (“SBTs”), each of the one or more SBTs being associated with one of the following: a job hiring, a review, and another business project; receiving an indication that the one or more triggering events have occurred; identifying a recipient blockchain address associated with the one or more triggering events; and deploying one or more of the plurality of smart contracts onto the recipient blockchain address associated with a user having performed the one or more triggering events.
In some aspects, the techniques described herein relate to a blockchain-based employment verification system including a plurality of self-identifying project-factory smart contracts configured to generate subsidiary-level token collection contracts and a token issuance module configured to issue Soul Bound Tokens (SBTs) that associate one or more employees with their respective job descriptions and job durations. A verification module may be configured to track information associated with employee affiliation and employee role for a company based at least in part on the issued SBTs. The system may be configured to accommodate one or more hierarchical structures for each company.
In some aspects, the techniques described herein relate to a non-transitory computer-readable medium including instructions that, when executed by a hardware processor, cause performance of operations for integrating hierarchically linked smart contracts with tokenized verification. The operations may include generating a plurality of smart contracts corresponding to a hierarchical structure, each of the plurality of smart contracts being configured for on-chain association between one or more of the following: a business parent, a business subsidiary, a business, a business division, a business department, a business team, and a business project. For each of the plurality of smart contracts, one or more triggering events for deployment via a blockchain protocol, and one or more parameters for minting one or more Soul Bound Tokens (“SBTs”) may be defined. Each of the one or more SBTs may be associated with a job hiring, a review, or another business project. Responsive to receiving an indication that the one or more triggering events have occurred, a recipient blockchain address associated with the one or more triggering events may be identified. One or more of the plurality of smart contracts may be deployed onto the recipient blockchain address corresponding to a user associated with the one or more triggering events.
Both the foregoing brief overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing brief overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present disclosure. The drawings contain representations of various trademarks and copyrights owned by the Applicant. In addition, the drawings may contain other marks owned by third parties and are being used for illustrative purposes only. All rights to various trademarks and copyrights represented herein, except those belonging to their respective owners, are vested in and the property of the Applicant. The Applicant retains and reserves all rights in its trademarks and copyrights included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
Furthermore, the drawings may contain text or captions that may explain certain embodiments of the present disclosure. This text is included for illustrative, non-limiting, explanatory purposes of certain embodiments detailed in the present disclosure. In the drawings:
As a preliminary matter, it will readily be understood by one having ordinary skill in the relevant art that the present disclosure has broad utility and application. As should be understood, any embodiment may incorporate only one or a plurality of the above-disclosed aspects of the disclosure and may further incorporate only one or a plurality of the above-disclosed features. Furthermore, any embodiment discussed and identified as being “preferred” is considered to be part of a best mode contemplated for carrying out the embodiments of the present disclosure. Other embodiments also may be discussed for additional illustrative purposes in providing a full and enabling disclosure. Moreover, many embodiments, such as adaptations, variations, modifications, and equivalent arrangements, will be implicitly disclosed by the embodiments described herein and fall within the scope of the present disclosure.
Accordingly, while embodiments are described herein in detail in relation to one or more embodiments, it is to be understood that this disclosure is illustrative and exemplary of the present disclosure and are made merely for the purposes of providing a full and enabling disclosure. The detailed disclosure herein of one or more embodiments is not intended, nor is to be construed, to limit the scope of patent protection afforded in any claim of a patent issuing here from, which scope is to be defined by the claims and the equivalents thereof. It is not intended that the scope of patent protection be defined by reading into any claim a limitation found herein that does not explicitly appear in the claim itself.
Thus, for example, any sequence(s) and/or temporal order of steps of various processes or methods that are described herein are illustrative and not restrictive. Accordingly, it should be understood that, although steps of various processes or methods may be shown and described as being in a sequence or temporal order, the steps of any such processes or methods are not limited to being carried out in any particular sequence or order, absent an indication otherwise. Indeed, the steps in such processes or methods generally may be carried out in various different sequences and orders while still falling within the scope of the present invention. Accordingly, it is intended that the scope of patent protection is to be defined by the issued claim(s) rather than the description set forth herein.
Additionally, it is important to note that each term used herein refers to that which an ordinary artisan would understand such term to mean based on the contextual use of such term herein. To the extent that the meaning of a term used herein—as understood by the ordinary artisan based on the contextual use of such term—differs in any way from any particular dictionary definition of such term, it is intended that the meaning of the term as understood by the ordinary artisan should prevail.
Regarding applicability of 35 U.S.C. § 112, ¶6, no claim element is intended to be read in accordance with this statutory provision unless the explicit phrase “means for” or “step for” is actually used in such claim element, whereupon this statutory provision is intended to apply in the interpretation of such claim element.
Furthermore, it is important to note that, as used herein, “a” and “an” each generally denotes “at least one,” but does not exclude a plurality unless the contextual use dictates otherwise. When used herein to join a list of items, “or” denotes “at least one of the items,” but does not exclude a plurality of items of the list. Finally, when used herein to join a list of items, “and” denotes “all of the items of the list.”
The following detailed description refers to the accompanying drawings.
Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While many embodiments of the disclosure may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the disclosure. Instead, the proper scope of the disclosure is defined by the appended claims. The present disclosure contains headers. It should be understood that these headers are used as references and are not to be construed as limiting upon the subjected matter disclosed under the header.
The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of smart contracts, blockchain verification, and soul sound tokens, embodiments of the present disclosure are not limited to use only in this context.
This overview is provided to introduce a selection of concepts in a simplified form that are further described below. This overview is not intended to identify key features or essential features of the claimed subject matter. Nor is this overview intended to be used to limit the claimed subject matter's scope.
The present disclosure connects companies and their subsidiaries with job seekers in order to build an on-blockchain, immutable resume that simplifies work history verification, reduces fraud, and reduces friction.
To track employment data, companies generate self-identifying project-factory smart contracts which produce subsidiary-level token collection contracts through which Soul Bound Tokens (SBTs) associate an employee, the job description(s) of the employee, and the job duration(s) of the employee, with their employer. In this way, the affiliation of each employee and the role of the employee for the company is tracked with one or more SBTs.
Although this description is written on the basis of Parent Company and its subsidiaries, it should be noted, for example, that any hierarchy (not limited to parent/subsidiary) is suitable. As one alternative example, the hierarchy may be one of company, division, department, team, and/or project.
Each entity in a system can be associated with on-chain ratings and reviews, aggregating to form a job seeker's employment history and a synopsis of a company's reputation as an employer.
Employment tracked outside of the present invention can be populated onto the blockchain via a peer-to-peer employer-employee verification workflow with manual intervention where necessary.
The present invention's structure tracks both companies and one level of entities beneath them (we call them projects, like KFC™ under Yum Brands™ or LinkedIn™ under Microsoft™). The present disclosure further allows for specificity while still allowing a user to prove their employment under a larger entity. This would enable our users, for example, to work for AWS™, but on-chain prove that they have a token issued indirectly by Amazon™ itself.
Embodiments of the present disclosure may comprise methods, systems, and a computer readable medium comprising, but not limited to, at least one of the following:
Details with regard to each module are provided below. Although modules are disclosed with specific functionality, it should be understood that functionality may be shared between modules, with some functions split between modules, while other functions duplicated by the modules. Furthermore, the name of the module should not be construed as limiting upon the functionality of the module. Moreover, each component disclosed within each module can be considered independently without the context of the other components within the same module or different modules. Each component may contain language defined in other portions of this specifications. Each component disclosed for one module may be mixed with the functionality of another module. In the present disclosure, each component can be claimed on its own and/or interchangeably with other components of other modules.
The following depicts an example of a method of a plurality of methods that may be performed by at least one of the aforementioned modules, or components thereof. Various hardware components may be used at the various stages of operations disclosed with reference to each module. For example, although methods may be described to be performed by a single computing device, it should be understood that, in some embodiments, different operations may be performed by different networked elements in operative communication with the computing device. For example, at least one computing device 900 may be employed in the performance of some or all of the stages disclosed with regard to the methods. Similarly, an apparatus may be employed in the performance of some or all of the stages of the methods. As such, the apparatus may comprise at least those architectural components as found in computing device 900.
Furthermore, although the stages of the following example method are disclosed in a particular order, it should be understood that the order is disclosed for illustrative purposes only. Stages may be combined, separated, reordered, and various intermediary stages may exist. Accordingly, it should be understood that the various stages, in various embodiments, may be performed in arrangements that differ from the ones claimed below. Moreover, various stages may be added or removed without altering or deterring from the fundamental scope of the depicted methods and systems disclosed herein.
Consistent with embodiments of the present disclosure, a method may be performed by at least one of the modules disclosed herein. The method may be embodied as, for example, but not limited to, computer instructions, which when executed, perform the method. The method may comprise the following stages:
Although the aforementioned method has been described to be performed by the platform 100, it should be understood that computing device 900 may be used to perform the various stages of the method. Furthermore, in some embodiments, different operations may be performed by different networked elements in operative communication with computing device 900. For example, a plurality of computing devices may be employed in the performance of some or all of the stages in the aforementioned method. Moreover, a plurality of computing devices may be configured much like a single computing device 900. Similarly, an apparatus may be employed in the performance of some or all stages in the method. The apparatus may also be configured much like computing device 900.
Both the foregoing overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.
Accordingly, embodiments of the present disclosure provide a software and hardware platform comprised of a distributed set of computing elements, including, but not limited to:
At least
The company creation module 200 may comprise a job data entry module 202 consistent with the present disclosure. The job data entry module 202 may include hardware and/or software configured to populate a job description, create a job profile, and/or create a job request required for a particular project and for creation of one or more tokens related to the job. The job data entry module 202 may be displayed and/or interacted with via a User Interface (“UI”). In some embodiments, the job data entry module 202 may be configured to display a new job form. Responsive to a user inputting job data via the UI, the job data entry module 202 may perform a review of the inputted data. If the inputted data review determines the inputted data is not valid, the job data entry module 202 may return the user to the new job form. For example, the invalid data may be highlighted for correction by a user, or the user may be requested to re-enter the job data.
Alternatively, If the inputted data review determines the inputted data is valid, the job data entry module 202 may advance the user to a job preview display. The job preview display may aggregate, organize, and/or visualize at least a portion of the inputted job data. Based on the job preview display, the user may opt to edit the job. A command to edit the job may return the user to the new job form for editing.
If the user is satisfied with the job preview display, the user may be prompted to indicate whether to add another job. If the user chooses to add another job, the user may be returned to the new job form. If the user chooses not to add another job, the user may be advanced to a project preview display of a project data entry module 204.
The company creation module 200 may further comprise the project data entry module 204 consistent with the present disclosure. The project data entry module 204 may include hardware and/or software configured to populate a project description, create a project profile, and/or create a project request required for a particular company, and for creation of one or more tokens related to the project. The project data entry module 204 may be displayed and/or interacted with via the UI. In some embodiments, the project data entry module 204 may be configured to display a new project form. Responsive to a user inputting project data via the UI, the project data entry module 204 may perform a review of the inputted data. If the inputted data review determines the inputted data is not valid, the project data entry module 204 may return the user to the new project form. If the inputted data review determines the inputted data is valid, the project data entry module 204 may advance the user to a project preview display.
In the project preview display of the project data entry module 204, one or more jobs created from the job data entry module 202 may be imported by and/or used in the project preview display. The project preview display may aggregate, organize, and/or visualize at least a portion of the inputted project data and/or job data related to the project. Based on the project preview display, the user may opt to edit the project. In this case, the user is returned to the new project form for further editing. If the user is satisfied with the project preview display, the user may be prompted whether to add another project. If the user chooses to add another project, the user may be returned to the new project form.
If the user chooses not to add another project, the user may be prompted to decide whether to create a new job. If the user chooses to add another job, the user may be returned to the new job form in the job data entry module 202. If the user chooses not to add another job, the user may be advanced to a company preview display of a company data entry module 206.
The company creation module 200 may comprise the company data entry module 206 consistent with the present disclosure. The company data entry module 206 may include hardware and/or software configured to populate a company description, create a company profile, and/or create a company request required for a particular company, and for creation of one or more tokens related to the company. The company data entry module 206 may be displayed and/or interacted with via the UI. In some embodiments, the company data entry module 206 may be configured to display a new company form. Responsive to a user inputting company data via the UI, the company data entry module 206 may perform a review of the inputted data. If the inputted data review determines the inputted data is not valid, the company data entry module 206 may return the user to the new company form. If the inputted data review determines the inputted data is valid, the company data entry module 206 may advance the user to a company preview display.
In the company preview display, one or more projects created from the project data entry module 204 may be imported and/or used. The company preview display may aggregate, organize, and/or visualize at least a portion of the inputted company data and/or project data related to the company. Based on the company preview display, the user may opt to edit the company. In this case, the user is returned to the new company form for further editing. If the user is satisfied with the company preview display, the user may be prompted whether to add another company. If the user chooses to add another company, the user may be returned to the new company form. If the user chooses not to add another company, the user may be prompted to decide whether to create a new project. If the user chooses to add another project, the user may be returned to the new project form in the project data entry module 204. If the user chooses not to add another project, the user may be presented an option of whether to continue editing the company or not. Responsive to the user choosing not to further edit the company, the user may be returned to the displayed new company form. Responsive to the user choosing not to further edit the company, the user may be advanced to a checkout and display comprising a plurality of transaction details related to the company.
A payment processing layer may be provided responsive to completion of the company. The payment processing layer may comprise a payment protocol for the formation of the company. Responsive to receiving approval (e.g., signing) of the user, the company creation module 200 may build one or more backend processes related to the company. Responsive to receiving approval of the user, the company creation module 200 may upload various visual data related to the company (e.g., logos, names, trademarks, phrases, photos, etc.) to a storage and/or database (e.g., an Interplanetary File System [“IPFS”], any suitable distributed file system, and/or any suitable centralized file system).
The payment processing layer 222 may determine whether the user is paying with a decentralized and/or blockchain-based currency (e.g., native tokens and/or ERC20 tokens on an Ethereum Virtual Machine [“EVM”] compatible network, such as, but not limited to, MATIC, Ethereum, and/or USD Coin [“USDC”]). If the user is not paying via blockchain-based currency, the transaction may be submitted via a payment provider (e.g., any standard payment processor) which may in turn be submitted in the backend of the payment processing layer 222. For example, the payment may be submitted via a blockchain protocol. If the user is paying via blockchain-based currency and is using the root blockchain protocol, the transaction may be submitted via the front end of the payment processing layer via the root blockchain protocol. If the user is paying via blockchain-based currency but is not using a currency supported by the root blockchain protocol, the transaction may be submitted via the front end of the payment processing layer via a compatible bridge protocol. Whichever means of payment proffered by the user, the payment processing layer may advance the payment information, confirmation, and/or data related to the company to an on-chain creation module 208.
The company workflow module 200 may comprise the on-chain creation module 208 consistent with the present disclosure. The on-chain creation module 208 may include hardware and/or software configured to generate a company contract in response to completion of payment requirements. The company contract may be generated via a blockchain address using, for example, a backend generated seed. Responsive to the generation of the company contract, the on-chain creation module 208 may determine whether the company contract has one or more projects associated therewith. If the company does not have any projects, the backend is notified of a transaction completion.
If the company does have one or more projects associated therewith, a project contract may be created for each project associated with the company. In embodiments, the project contracts may be at addresses selected deterministically based on a project index. Responsive to the project contracts being created, one or more tokens may be generated for each project. The one or more tokens may be used for tracking purposes. By way of nonlimiting example, the one or more tokens may correspond to any token described in the present disclosure.
Responsive to an indication of an on-chain transaction being completed, an off-chain company may be created. The off-chain company may be created in a User-Service database. Responsive to the off-chain company being created, a determination may be made of whether the off-chain company has one or more projects associated therewith.
Responsive to the off-chain company not having projects, the process may terminate. Responsive to the off-chain company having projects, an off-chain project may be created in the User-Service database for each project associated with the company. Responsive to an off-chain project being created in the User-Service database, a determination may be made of whether each of the projects has one or more jobs associated therewith. If a project does not have any jobs, the process may terminate. If a project does have jobs, an off-chain job may be created in a Job-Service database for each job associated with the project.
At least
The job lifecycle module 300 may include hardware and/or software configured to create one or more jobs and/or one or more job requests via a job data entry module 302. In one embodiment, the creation of one or more jobs may be similar to the job data entry module 202 consistent with the present disclosure. The job data entry module 302 may include hardware and/or software configured to populate a job description, create a job profile, and/or create a job request required for a particular project, and for creation of one or more tokens related to the job. The job data entry module 302 may be displayed and/or interacted with via the UI.
In some embodiments, the job data entry module 302 may be configured to display a new job form. Responsive to a user inputting job data via the UI, the job data entry module 202 may review the inputted data. If the inputted data review determines the inputted data is not valid, the job data entry module 302 may return the user to the new job form. If the inputted data review determines the inputted data is valid, the job data entry module 302 may advance the user to a job preview display. The job preview display may aggregate, organize, and/or visualize at least a portion of the inputted job data. Based on the job preview display, the user may opt to edit the job. In this case, the user is returned to the new job form for editing. If the user is satisfied with the job as shown in the job preview display, the user may be prompted whether to add another job. If the user chooses to add another job, the user may be returned to the new job form. If the user chooses not to add another job, the user may be advanced to the payment processing layer 304.
The payment processing layer 304 may be provided (e.g., accessed by the user, presented to the user) responsive to completion of the job creation request by the job data entry module 302. In one embodiment, the payment processing layer 304 may have similar attributes and/or processes as the payment processing layer 222. The payment processing layer 304 may comprise hardware and/or software supporting a payment protocol for the formation of the one or more jobs. Responsive to receiving approval (e.g., signing) of the user, the job data entry module 302 may proceed with building backend processes related to the job.
The payment processing layer 304 may further determine whether the user is paying with a decentralized and/or blockchain-based currency (e.g., Polygon™ network tokens and/or bitcoin). If the user is not paying via blockchain-based currency, the transaction may be submitted via a payment provider (e.g., any standard payment processor). If the user is paying via blockchain-based currency and is using a blockchain protocol, the transaction may be submitted via the front end of the payment processing layer via a blockchain protocol. If the user is paying via blockchain-based currency but is not using a currency supported by the platform's root blockchain's protocol, the transaction may be submitted via the front end of the payment processing layer via a compatible bridge protocol. Whichever the means of payment, responsive to a successful payment transaction (should one be required), the job may be created in the Job-Service database, posted and opened for applicants to apply to, and/or the payment processing layer 304 may pass an indication of payment to a job opening module 306.
In some embodiments, the job lifecycle module 300 may comprise a job opening module 306. The job opening module may include hardware and/or software configured to process job applications associated with one or more job openings. For each of the one or more jobs (and/or “job openings”) an employee, manager, user, and/or participant of a project requiring the one or more jobs may receive one or more application submissions for the one or more jobs. Each application may be associated with an applicant. When the user rejects the application, no further action is taken. When the user accepts the application, the applicant associated with the application is notified with an offer. If the applicant rejects the offer, the user is notified, and no further action is taken. If the applicant accepts the offer, the user is notified and the applicant's information is passed to a job acceptance module 308.
In some embodiments, the job lifecycle module 300 may comprise a job acceptance module 308 for actions and processes related to job acceptance. The job acceptance module 308 may include hardware and/or software used to facilitate data flow, information processing, and token generating related to newly hired applicant for one or more jobs. In some embodiments, the job lifecycle module 300 may be configured to facilitate generation and/or initiate issuance of a token (e.g., a Soul Bound Token (“SBT”)) from the project to the applicant and/or from the applicant to the project. Responsive to the SBT being generated, a signed transaction (and/or smart contract) may be built for receipt of the SBT. Responsive to the signed transaction being built, the user (and/or the applicant) may then be directed to a job acceptance transaction processing layer 310.
The job acceptance transaction processing layer 310 may further determine whether the user is paying with a decentralized and/or blockchain-based currency (e.g., Polygon™ network tokens and/or bitcoin). If the user is not paying via blockchain-based currency, the transaction may be submitted in the backend of the job acceptance transaction processing layer 310 via the root blockchain protocol. If the user is using blockchain-based currency and is using the root blockchain protocol, the transaction may be submitted via the front end of the transaction processing layer 310 via the root blockchain protocol. If the user is using a blockchain-based currency but is not using a currency supported by the root blockchain protocol, the transaction may be submitted via the front end of the job acceptance transaction processing layer 310 via a compatible bridge protocol. Whichever the means of transaction, responsive to a completed transaction, the user and/or project may be configured to issue the one or more tokens to the applicant.
In some embodiments, the job lifecycle module 300 may include a job completion module 312 for actions and processes related to completion of the job. In some embodiments, the applicant may complete their corresponding job. In other embodiments, the user and/or project may determine completion of the applicant's corresponding job. Responsive to the completion of the job, the user (and/or the applicant) may then be directed a transaction processing layer 316.
The job completion transaction processing layer 316 may further determine whether the user is paying with a decentralized and/or blockchain-based currency (e.g., Polygon™ network tokens and/or bitcoin). If the user is not paying via blockchain-based currency, the transaction may be submitted in the backend of the job completion transaction processing layer 316 via one of a plurality of blockchain provider protocols. If the user is using blockchain-based currency and is using the root blockchain protocol, the transaction may be submitted via the front end of the job completion transaction processing layer 316 via the root blockchain protocol. If the user is using a blockchain-based currency but is not using a currency supported by the root blockchain protocol, the transaction may be submitted via the front end of the job completion transaction processing layer 316 via a compatible bridge protocol. Whichever the means of transaction, responsive to a completed transaction, the SBT issued to the applicant may be updated to indicate completion of the job. After the update, the SBT may become immutable.
At least
In the API module 400, hardware and/or software (e.g., a web browser, GUI, and/or UI) may be utilized by a user to facilitate accessible static content via JavaScript, HTML, CSS, and related web browser languages.
The web browser may also facilitate accessibility to a Web3 provider. The Web3 provider may be associated with one or more blockchain providers and/or protocols. The one or more blockchain providers and/or protocols may be in communication with (e.g., via a JSON RPC protocol) a blockchain service hosted on and/or residing in, as a non-limiting example, a Kubernetes Service such as an Amazon™ Elastic Kubernetes Service (“EKS”). The Amazon™ EKS may provide, host, and/or store (as non-limiting examples) one or more of the following (with or without a corresponding REST API):
At least
In some embodiments, the token generation module 500 may comprise a project token module 504. The project token module 504 may comprise one or more project tokens generated from each of the one or more projects. Each of the one or more project tokens may comprise the corresponding company blockchain address, the corresponding project blockchain address, the project description, and/or the project logo. Each project token may be configured as a presentational token, and/or may be configured to allow viewing access and/or observational privileges to a soulbound token associated with the project token.
In some embodiments, the token generation module 500 may comprise an SBT module 506. The SBT module 506 may comprise a review SBT. The review SBT may be associated with information such as (but not limited to) a smart contract blockchain address, a submitter blockchain address, a recipient blockchain address, and/or one or more criterion related to the employment contract. The SBT module 506 may further comprise a job SBT. The job SBT may be associated with information such as (but not limited to) a project blockchain address, a start date, an end date, a hiree blockchain address, a job description, a job compensation amount, and/or a compensation unit.
Embodiments of the present disclosure provide a hardware and software platform operative by a set of methods and computer-readable media comprising instructions configured to operate the aforementioned modules and computing elements in accordance with the methods. The following depicts an example of at least one method of a plurality of methods that may be performed by at least one of the aforementioned modules. Various hardware components may be used at the various stages of operations disclosed with reference to each module.
For example, although methods may be described to be performed by a single computing device, it should be understood that, in some embodiments, different operations may be performed by different networked elements in operative communication with the computing device. For example, at least one computing device 900 may be employed in the performance of some or all of the stages disclosed with regard to the methods. Similarly, an apparatus may be employed in the performance of some or all of the stages of the methods. As such, the apparatus may comprise at least those architectural components as found in computing device 900.
Furthermore, although the stages of the following example method are disclosed in a particular order, it should be understood that the order is disclosed for illustrative purposes only. Stages may be combined, separated, reordered, and various intermediary stages may exist. Accordingly, it should be understood that the various stages, in various embodiments, may be performed in arrangements that differ from the ones claimed below. Moreover, various stages may be added or removed from the without altering or deterring from the fundamental scope of the depicted methods and systems disclosed herein.
A. Method 1000 for Integrating Hierarchically Linked Smart Contracts with Tokenized Verification
Consistent with embodiments of the present disclosure, a method 1000 may be performed by at least one of the aforementioned modules. The method 1000 may be embodied as, for example, but not limited to, computer instructions, which when executed, perform the method. The method may comprise the following stages:
Method 1000 may begin stage 1005 where computing device 900 may generate a plurality of smart contracts corresponding to a hierarchical structure. Each of the plurality of smart contracts may correspond to a hierarchical structure of one or more of the following:
By way of nonlimiting example, the hierarchical structure may correspond to at least a portion of a corporate structure of a company.
From stage 1005, where computing device 900 generates the plurality of smart contracts corresponding to a hierarchical structure, method 1000 may advance to stage 1010 where computing device 900 may, for each of the plurality of smart contracts, define the following: one or more triggering events for deployment via a blockchain protocol, and one or more parameters for minting one or more SBTs. The triggering event may comprise completion of one or more predetermined requirements for deployment of the smart contract. By way of nonlimiting example, the triggering event for deployment of the one or more SBTs may comprise a job hiring, a review, and/or another business project.
Once computing device 900, for each of the plurality of smart contracts, defines the one or more triggering events for deployment of the SBTs via a blockchain protocol and the one or more parameters for minting the one or more SBTs in stage 1010, method 1000 may continue to stage 1015 where computing device 900 may receive an indication that the one or more triggering events has occurred.
After computing device 900 receives an indication that the one or more triggering events have occurred in stage 1015, method 1000 may proceed to stage 1020 where computing device 900 may identify a recipient blockchain address associated with (and/or responsible for) the one or more triggering events. The blockchain address may be embodied as, for example, a blockchain wallet. In some embodiments, the blockchain address associated with the one or more triggering events may be an employee completing a project, the employee being associated with a blockchain address.
After computing device 900 identifies the blockchain address associated with the one or more triggering events in stage 1020, method 1000 may end at stage 1025 where computing device 900 may deploy one or more of the plurality of smart contracts onto the recipient blockchain address associated with a user having performed the one or more triggering events. In another embodiment, the method may proceed by minting a token onto responsive to the one or more parameters occurring. In some embodiments, at least a portion of the token is immutable responsive to the token being minted. In other embodiments, another predetermined portion of the token is mutable responsive to the token being minted. In further embodiments, the token, responsive to being minted, is permanently associated with the blockchain address.
Optionally, computing device 900 may perform stage 1030, minting a presentational token. The presentational token may be minted responsive to an indication that a business project, generated via a company contract, is not ERC721 compatible. In some embodiments, the presentational token is utilized as a visual representation minted in parallel with the business project. The presentational token may be configured to allow viewing access and/or observational privileges to the business project associated with the blockchain address. In some embodiments, the presentational token may comprise at least a portion of metadata related to its corresponding business project. The presentational token may be viewable via Non-Fungible Token (“NFT”) viewing protocols.
Optionally, computing device 900 may perform stage 1035, defining an off-chain controller operatively connected to the hierarchical smart contract. In some embodiments, the off-chain controller may be configured to receive off-chain commands. In further embodiments, the off-chain controller may be configured to modify, control, and/or manage at least a portion of the hierarchical smart contract based on the off-chain commands. In further embodiments, the off-chain controller may comprise an integration parameter for the hierarchical smart contract.
Embodiments of the present disclosure provide a hardware and software platform operative as a distributed system of modules and computing elements.
Platform 100 may be embodied as, for example, but not be limited to, a website, a web application, a desktop application, backend application, and a mobile application compatible with a computing device 900. The computing device 900 may comprise, but not be limited to the following:
Embodiments of the present disclosure may comprise a system having a central processing unit (CPU) 920, a bus 930, a memory unit 940, a power supply unit (PSU) 950, and one or more Input/Output (I/O) units. The CPU 920 coupled to the memory unit 940 and the plurality of I/O units 960 via the bus 930, all of which are powered by the PSU 950. It should be understood that, in some embodiments, each disclosed unit may actually be a plurality of such units for the purposes of redundancy, high availability, and/or performance. The combination of the presently disclosed units is configured to perform the stages any method disclosed herein.
At least one computing device 900 may be embodied as any of the computing elements illustrated in all of the attached figures, including the method 1000, company creation module 200, the job lifecycle module 300, the API module 400, and the token generation module 500. A computing device 900 does not need to be electronic, nor even have a CPU 920, nor bus 930, nor memory unit 940. The definition of the computing device 900 to a person having ordinary skill in the art is “A device that computes, especially a programmable [usually] electronic machine that performs high-speed mathematical or logical operations or that assembles, stores, correlates, or otherwise processes information.” Any device which processes information qualifies as a computing device 900, especially if the processing is purposeful.
With reference to
A system consistent with an embodiment of the disclosure the computing device 900 may include the clock module 910 may be known to a person having ordinary skill in the art as a clock generator, which produces clock signals. A clock signal is a particular type of signal that oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. Most integrated circuits (ICs) of sufficient complexity use a clock signal in order to synchronize different parts of the circuit, cycling at a rate slower than the worst-case internal propagation delays. The preeminent example of the aforementioned integrated circuit is the CPU 920, the central component of modern computers, which relies on a clock. The only exceptions are asynchronous circuits such as asynchronous CPUs. The clock 910 can comprise a plurality of embodiments, such as, but not limited to, single-phase clock which transmits all clock signals on effectively 1 wire, two-phase clock which distributes clock signals on two wires, each with non-overlapping pulses, and four-phase clock which distributes clock signals on 4 wires.
Many computing devices 900 use a “clock multiplier” which multiplies a lower frequency external clock to the appropriate clock rate of the CPU 920. This allows the CPU 920 to operate at a much higher frequency than the rest of the computer, which affords performance gains in situations where the CPU 920 does not need to wait on an external factor (like memory 940 or input/output 960). Some embodiments of the clock 910 may include dynamic frequency change, where, the time between clock edges can vary widely from one edge to the next and back again.
A system consistent with an embodiment of the disclosure the computing device 900 may include the CPU unit 920 comprising at least one CPU Core 921. A plurality of CPU cores 921 may comprise identical CPU cores 921, such as, but not limited to, homogeneous multi-core systems. It is also possible for the plurality of CPU cores 921 to comprise different CPU cores 921, such as, but not limited to, heterogeneous multi-core systems, big.LITTLE systems and some AMD accelerated processing units (APU). The CPU unit 920 reads and executes program instructions which may be used across many application domains, for example, but not limited to, general purpose computing, embedded computing, network computing, digital signal processing (DSP), and graphics processing (GPU). The CPU unit 920 may run multiple instructions on separate CPU cores 921 at the same time. The CPU unit 920 may be integrated into at least one of a single integrated circuit die and multiple dies in a single chip package. The single integrated circuit die and multiple dies in a single chip package may contain a plurality of other aspects of the computing device 900, for example, but not limited to, the clock 910, the CPU 920, the bus 930, the memory 940, and I/O 960.
The CPU unit 920 may contain cache 922 such as, but not limited to, a level 1 cache, level 2 cache, level 3 cache or combination thereof. The aforementioned cache 922 may or may not be shared amongst a plurality of CPU cores 921. The cache 922 sharing comprises at least one of message passing and inter-core communication methods may be used for the at least one CPU Core 921 to communicate with the cache 922. The inter-core communication methods may comprise, but not limited to, bus, ring, two-dimensional mesh, and crossbar. The aforementioned CPU unit 920 may employ symmetric multiprocessing (SMP) design.
The plurality of the aforementioned CPU cores 921 may comprise soft microprocessor cores on a single field programmable gate array (FPGA), such as semiconductor intellectual property cores (IP Core). The plurality of CPU cores 921 architecture may be based on at least one of, but not limited to, Complex instruction set computing (CISC), Zero instruction set computing (ZISC), and Reduced instruction set computing (RISC). At least one of the performance-enhancing methods may be employed by the plurality of the CPU cores 921, for example, but not limited to Instruction-level parallelism (ILP) such as, but not limited to, superscalar pipelining, and Thread-level parallelism (TLP).
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ a communication system that transfers data between components inside the aforementioned computing device 900, and/or the plurality of computing devices 900. The aforementioned communication system will be known to a person having ordinary skill in the art as a bus 930. The bus 930 may embody internal and/or external plurality of hardware and software components, for example, but not limited to a wire, optical fiber, communication protocols, and any physical arrangement that provides the same logical function as a parallel electrical bus. The bus 930 may comprise at least one of, but not limited to, a parallel bus, wherein the parallel bus carry data words in parallel on multiple wires, and a serial bus, wherein the serial bus carry data in bit-serial form. The bus 930 may embody a plurality of topologies, for example, but not limited to, a multidrop/electrical parallel topology, a daisy chain topology, and a connected by switched hubs, such as USB bus. The bus 930 may comprise a plurality of embodiments, for example, but not limited to:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ hardware integrated circuits that store information for immediate use in the computing device 900, know to the person having ordinary skill in the art as primary storage or memory 940. The memory 940 operates at high speed, distinguishing it from the non-volatile storage sub-module 961, which may be referred to as secondary or tertiary storage, which provides slow-to-access information but offers higher capacities at lower cost. The contents contained in memory 940 may be transferred to secondary storage via techniques such as, but not limited to, virtual memory and swap. The memory 940 may be associated with addressable semiconductor memory, such as integrated circuits consisting of silicon-based transistors, used for example as primary storage but also for other purposes in the computing device 900. The memory 940 may comprise a plurality of embodiments, such as, but not limited to volatile memory, non-volatile memory, and semi-volatile memory. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting examples of the aforementioned memory:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ the communication system between an information processing system, such as the computing device 900, and the outside world, for example, but not limited to, human, environment, and another computing device 900. The aforementioned communication system will be known to a person having ordinary skill in the art as I/O 960. The I/O module 960 regulates a plurality of inputs and outputs with regard to the computing device 900, wherein the inputs are a plurality of signals and data received by the computing device 900, and the outputs are the plurality of signals and data sent from the computing device 900. The I/O module 960 interfaces a plurality of hardware, such as, but not limited to, non-volatile storage 961, communication devices 962, sensors 963, and peripherals 964. The plurality of hardware is used by the at least one of, but not limited to, human, environment, and another computing device 900 to communicate with the present computing device 900. The I/O module 960 may comprise a plurality of forms, for example, but not limited to channel I/O, port mapped I/O, asynchronous I/O, and Direct Memory Access (DMA).
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ the non-volatile storage sub-module 961, which may be referred to by a person having ordinary skill in the art as one of secondary storage, external memory, tertiary storage, off-line storage, and auxiliary storage. The non-volatile storage sub-module 961 may not be accessed directly by the CPU 920 without using intermediate area in the memory 940. The non-volatile storage sub-module 961 does not lose data when power is removed and may be two orders of magnitude less costly than storage used in memory module, at the expense of speed and latency. The non-volatile storage sub-module 961 may comprise a plurality of forms, such as, but not limited to, Direct Attached Storage (DAS), Network Attached Storage (NAS), Storage Area Network (SAN), nearline storage, Massive Array of Idle Disks (MAID), Redundant Array of Independent Disks (RAID), device mirroring, off-line storage, and robotic storage. The non-volatile storage sub-module (961) may comprise a plurality of embodiments, such as, but not limited to:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ the communication sub-module 962 as a subset of the I/O 960, which may be referred to by a person having ordinary skill in the art as at least one of, but not limited to, computer network, data network, and network. The network allows computing devices 900 to exchange data using connections, which may be known to a person having ordinary skill in the art as data links, between network nodes. The nodes comprise network computer devices 900 that originate, route, and terminate data. The nodes are identified by network addresses and can include a plurality of hosts consistent with the embodiments of a computing device 900. The aforementioned embodiments include, but are not limited to personal computers, phones, servers, drones, and networking devices such as, but not limited to, hubs, switches, routers, modems, and firewalls.
Two nodes can be said are networked together, when one computing device 900 is able to exchange information with the other computing device 900, whether or not they have a direct connection with each other. The communication sub-module 962 supports a plurality of applications and services, such as, but not limited to World Wide Web (WWW), digital video and audio, shared use of application and storage computing devices 900, printers/scanners/fax machines, email/online chat/instant messaging, remote control, distributed computing, etc. The network may comprise a plurality of transmission mediums, such as, but not limited to conductive wire, fiber optics, and wireless. The network may comprise a plurality of communications protocols to organize network traffic, wherein application-specific communications protocols are layered, may be known to a person having ordinary skill in the art as carried as payload, over other more general communications protocols. The plurality of communications protocols may comprise, but not limited to, IEEE 802, ethernet, Wireless LAN (WLAN/Wi-Fi), Internet Protocol (IP) suite (e.g., TCP/IP, UDP, Internet Protocol version 4 [IPv4], and Internet Protocol version 6 [IPv6]), Synchronous Optical Networking (SONET)/Synchronous Digital Hierarchy (SDH), Asynchronous Transfer Mode (ATM), and cellular standards (e.g., Global System for Mobile Communications [GSM], General Packet Radio Service [GPRS], Code-Division Multiple Access [CDMA], and Integrated Digital Enhanced Network [IDEN]).
The communication sub-module 962 may comprise a plurality of size, topology, traffic control mechanism and organizational intent. The communication sub-module 962 may comprise a plurality of embodiments, such as, but not limited to:
The aforementioned network may comprise a plurality of layouts, such as, but not limited to, bus network such as ethernet, star network such as Wi-Fi, ring network, mesh network, fully connected network, and tree network. The network can be characterized by its physical capacity or its organizational purpose. Use of the network, including user authorization and access rights, differ accordingly. The characterization may include, but not limited to nanoscale network, Personal Area Network (PAN), Local Area Network (LAN), Home Area Network (HAN), Storage Area Network (SAN), Campus Area Network (CAN), backbone network, Metropolitan Area Network (MAN), Wide Area Network (WAN), enterprise private network, Virtual Private Network (VPN), and Global Area Network (GAN).
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ the sensors sub-module 963 as a subset of the I/O 960. The sensors sub-module 963 comprises at least one of the devices, modules, and subsystems whose purpose is to detect events or changes in its environment and send the information to the computing device 900. Sensors are sensitive to the measured property, are not sensitive to any property not measured, but may be encountered in its application, and do not significantly influence the measured property. The sensors sub-module 963 may comprise a plurality of digital devices and analog devices, wherein if an analog device is used, an Analog to Digital (A-to-D) converter must be employed to interface the said device with the computing device 900. The sensors may be subject to a plurality of deviations that limit sensor accuracy. The sensors sub-module 963 may comprise a plurality of embodiments, such as, but not limited to, chemical sensors, automotive sensors, acoustic/sound/vibration sensors, electric current/electric potential/magnetic/radio sensors, environmental/weather/moisture/humidity sensors, flow/fluid velocity sensors, ionizing radiation/particle sensors, navigation sensors, position/angle/displacement/distance/speed/acceleration sensors, imaging/optical/light sensors, pressure sensors, force/density/level sensors, thermal/temperature sensors, and proximity/presence sensors. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting examples of the aforementioned sensors:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 900 may employ the peripherals sub-module 962 as a subset of the I/O 960. The peripheral sub-module 964 comprises ancillary devices used to put information into and get information out of the computing device 900. There are 3 categories of devices comprising the peripheral sub-module 964, which exist based on their relationship with the computing device 900, input devices, output devices, and input/output devices. Input devices send at least one of data and instructions to the computing device 900. Input devices can be categorized based on, but not limited to:
Output devices provide output from the computing device 900. Output devices convert electronically generated information into a form that can be presented to humans. Input/output devices that perform both input and output functions. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting embodiments of the aforementioned peripheral sub-module 964:
All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
The following disclose various Aspects of the present disclosure. The various Aspects are not to be construed as patent claims unless the language of the Aspect appears as a patent claim. The Aspects describe various non-limiting embodiments of the present disclosure.
While the specification includes examples, the disclosure's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as examples for embodiments of the disclosure.
Insofar as the description above and the accompanying drawing disclose any additional subject matter that is not within the scope of the claims below, the disclosures are not dedicated to the public and the right to file one or more applications to claims such additional disclosures is reserved.
Under provisions of 35 U.S.C. § 119 (e), the Applicant claims benefit of U.S. Provisional Application No. 63/492,774 filed on Mar. 28, 2023, and having inventors in common, which is incorporated herein by reference in its entirety. It is intended that the referenced application may be applicable to the concepts and embodiments disclosed herein, even if such concepts and embodiments are disclosed in the referenced application with different limitations and configurations and described using different examples and terminology.
Number | Date | Country | |
---|---|---|---|
63492774 | Mar 2023 | US |