Welcome to our first post in the “CertiK Unveiled” series! Over the upcoming months we’ll continue to break down various elements of CertiK for our community. Today we’ll be explaining how the CertiK ecosystem operates, particularly focusing on the key roles across the network. By the end of this article, we hope that you — our community — will better understand how you’ll be able to contribute, or benefit from, the CertiK Platform.
Before we discuss the various roles, there are a few critical terms unique to CertiK which are important to understand (and worth another blog for explanations), so we will walk through them quickly first.
Functional Correctness: The specification for input-output behavior of the algorithm or the functions in your smart contracts.
Proof Engine: CertiK’s leading formal verification engine that can verify the integrity and detect the vulnerability of smart contracts.
Proof Task: When smart contracts are decomposed, proof tasks are the output. Transforming complex systems into these modular proof tasks allows for distribution and horizontal scaling.
Smart Labeling: Labels automatically (via machine learning) or manually (via audit experts) added to the functions in a smart contract, which is used by CertiK engine to formally prove its correctness.
Layer-based Decomposition: a CertiK patented technology that decomposes smart contracts into various Proof Tasks
Customers are essential to the CertiK ecosystem. They are the end-users that drive demand for the CertiK Verification Platform. Customers include DApp developers or platform owners, who need verification of their source code before public release, or their self-authored proof obligations (i.e.verifying CertiK Smart Labels added by in-house engineers are correct). To initiate, the Customer sends the request together with payment (CTK tokens as incentives) to the CertiK Platform. Once the CertiK Platform receives the request, it will decompose the smart contract into modular prove-able pieces, and broadcast it to the network.
Bounty hunters act as nodes on the CertiK platform, they share their computational resources (i.e. a cluster of computing-focused machines) to run proof tasks, and are rewarded in CTK tokens. These proof tasks are the mathematically provable modular elements decomposed by the CertiK platform. The functional correctness of these tasks then undergo a verification process. Once complete, Bounty Hunters then broadcast the results back to the network, where it waits for approval from the validators (Checkers). If the checkers concur with the results, then the results are approved and a certificate generated. Only then are the Bounty Hunters rewarded their CTK tokens for their work. Due to the importance of this role, only users who possess a certain amount of CTK tokens can be Bounty Hunters. Please note that multiple Bounty Hunters can work on the same smart contract, but focusing on different elements of it simultaneously. Therefore the verification process is horizontally scalable, and faster overall.
Checkers have two key functions within the ecosystem:
They maintain the universal CertiK ledger, which records verifications transactions (i.e. payments between parties on the network);
Validate the proof task results generated by Bounty Hunters. The Checkers are rewarded a small portion of CTK tokens as compensation for this. Note: Validation demands significantly lower computation power (i.e. a standard-issue commercial laptop would suffice). This is because validating a known path, is much easier than finding the correct exit path in labyrinth.
We hope CertiK supporters will undertake this role, not only to earn CTK tokens, but to help ensure that fully trustworthy smart contracts and blockchain ecosystems is not just an idea, but a reality.
Sages are the talented developers or researchers, who contribute proof engines, algorithms or process improvements for specific tasks to be plugged-in to the CertiK platform. Prior to their plug-ins being productionized onto the core platform, they will be reviewed and fully tested. Once approved or certified, they become available to Bounty Hunters when verifying proof tasks. Sages are rewarded with CTK tokens based on the effectiveness and popularity of the contributed works. This open source approach will allow for ongoing improvements, and adaptability of the CertiK platform as blockchain technology and smart contracts evolve over time.
Users could be your freelance coders/developers who code smart contracts. They can leverage the CertiK Platform during development cycles, by subscribing to CertiK’s certified libraries to construct their DApps, and using IDE plugins to get real-time feedback on vulnerabilities.
Now that we’ve covered all the roles within the ecosystem, we recommend that you revisit the diagram which illustrates the interactions between different parties of the CertiK ecosystem. For our ecosystem to be successful, support from our community is fundamental, which is why we need the CTK token. Our token plays such an important role in both attracting contributors and incentivizing nodes. We believe that with our revolutionary technologies and a healthy ecosystem, there is no doubt CertiK can be the industry standard and make smart contracts and blockchains truly reliable and secure.
At CertiK, our mission is to give people the power to trust, and provide the world’s best formal verification platform for smart contracts. Founded by top formal verification experts and scientists from Yale University and Columbia University, CertiK provides the best scalable formal verification service in the market with the most competitive price.