Overview

Formal Verification Platform for Smart Contracts and Blockchain Ecosystems.

Project stage

Only a whitepaper

Detailed description

The CertiK platform is envisaged to be a formal verification framework for building fully trustworthy smart contacts and blockchain ecosystems. Different from the traditional testing approaches to detect bugs, the CertiK platform attempts to mathematically prove that blockchain ecosystems are bug-free.

The Foundation has developed modular verification techniques to decompose such an otherwise prohibitive proof task into smaller ones that can be automatically solved in a decentralized style. These proof objects can be built and encoded in the CertiK platform’s transactions and will then be validated by other participants.

Thus, the CertiK platform’s blockchain is intended to work as certificates to exhibit the end-to-end correctness and security of the verified smart contracts, libraries of decentralized applications (DApp), and the implementations of the blockchain itself. That is also why these are called certified blockchain ecosystems.

Problem

What to prove?
Most of the existing verification services can only prove that the program satisfies a list properties, e.g., “no stack overflow”, “all exceptions have been handled”, etc. However, such a list of properties is insufficient to ensure that the program implements the functionality correctly. Instead, the functional correctness of these programs have to be proven. However, writing down the functional specifications alone is a complicated affair. It requires a deep understanding of the entire system and a rigorous means of expressing the desired system behaviors.

How to scale the proof development?
The current proof cost has become a significant obstacle. There is a need to further cut down the proof efforts and makes it possible for one project to borrow intelligence and computation resources from a broader community.

How to let others trust the proofs?
Developing a proof method is hard, but it is even harder to convince people that the method is sound. It is not very meaningful to force others to trust some so-called “black-box” proofs without understanding how and why these proofs work. There is a need to allow people to validate proofs on their local machines and encourage everyone to participate in this validation procedure.

Solution

It is believed that the answers to the above questions are rooted in the blockchain itself. This belief has guided the Foundation to develop a one-stop solution, named the CertiK Platform, which provides a powerful set of Certified Kits for building fully trustworthy blockchain ecosystems:

Smart labeling
The CertiK Platform has designed a novel approach to specify DApps/systems using labels. These labels are expressive enough to formally state the desired properties and are compatible with the existing programming languages. By utilizing deep learning techniques with manually established labeled code base for training, the CertiK Platform intends to introduce a framework, named smart labeling, to understand decentralized programs not only at the syntax level but also at the semantics level and then adding proper labels to the source code automatically.

Layer-based decomposition
The CertiK team is among the first to achieve modular verification by realizing a novel concept, named layered deep specifications. This technique uncovers the insights of layered design patterns and makes it possible to decompose a complex proof task into smaller ones and verify each of them at their proper abstraction level.

Pluggable proof engine
These decomposed proof obligations are much easier to untangle and can even be solved by some automatic verifiers. To enable extensibility, the CertiK Platform is intended to provide an open protocol such that more advanced solving algorithms can be freely plugged into this system.

Machine-checkable proof objects
The CertiK Platform constructs mechanized proof objects (or counterexamples) such that these proofs can be quickly checked by anyone using their own machine. These proof objects can be viewed as the “certificates” to the verified programs.

Certified DApp libraries
In order to improve the code quality and reliability of the entire blockchain community, the CertiK Platform offers a series of certified libraries and plug-ins to the integrated development environment (IDE) for building more trustworthy DApps. The use of these tools will cost a small amounts of CTK as virtual crypto “fuel”, but will provide more assurance during the development time.

Customized certification services
For DApps/systems (e.g., digital wallets) with highreliability requirements, the CertiK Platform intends to provide customized certification services. In this case, verification experts will help specify/verify the programs and generate a detailed, comprehensive report.

Features

  • Customers can submit programs/systems that need verification (through the CertiK Platform’s services) or any proof obligations (that meet the open protocol) to the CertiK Platform’s network. This is done by initiating and broadcasting a special “proof request” transaction associated with some CTK incentives offered for anyone who constructs the proofs.
  • Bounty hunters are the ones who aim for CTK incentives and would like to share their computation resources. They will construct and broadcast the proof objects, and then wait for the proofs to be validated. Due to the significant importance of this role, only users who possess a certain amount of CTKs are allowed to take this role.
  • Checkers can get CTK incentives by recording regular transactions or check the submitted proof objects. Bounty hunters can only receive their incentives once their proofs are validated and checkers can also get a small portion of these incentives.
  • Sages are the ones who plug in their proof engines via the CertiK Platform’s open protocol. Their engines may be randomly used by bounty hunters and will be evaluated through A/B testing. They can also get some CTK incentives depending on the evaluation result of their engines. Outstanding engines will be studied and spread by the community.&nbs
  • Users can subscribe to all CertiK Platform’s certified libraries and IDE plug-ins to build their own DApps/systems with some CTKs,
Show details

Additional links

  • Token details

    • Token symbol ? Token symbol — a shorten token name. It is used during an ICO and after the coin listing at the cryptocurrency exchanges. : CTK
    • Fundrasing target ? Fundraising target — the maximum amount of funds to be raised during an ICO. When it is reached, the developers stop selling the tokens because they do not need to raise more money for the project development. : NA
    • Token type ? Token type — a platform for a startup launch that influences the stability of blockchain operation, the speed of transactions and the fees. :Ethereum (ERC20)
    • Soft cap ? Soft cap — the minimum amount of funds to be raised for the project development. Sometimes when the soft cap has not been reached, the money is returned to the participants. : NA
    • Role of token ? Role of Token — type of token depending on the opportunities it offers to its owner. Utility tokens give their owners a right to use the project services, security tokens are aimed at bringing profit, and currency tokens are a money substitute. :Utility token
    • Total supply ? Total supply — a total amount of tokens that will be released by the developers. :100,000,000 CTK
    • Escrow agent ? Escrow agent — a qualified agent who has the right of signature in a multisig wallet. An escrow agent participates in an ICO, monitors the financial operations of the developers and confirms their fairness. :No
    • Tokens for sale ? Tokens for sale — the number of tokens offered to the participants of an ICO. :NA
    • Whitelist ? Whitelist — a list of participants, who get an opportunity to buy tokens. To be whitelisted, you need to register on time because the number of participants and the registration period are usually limited. :Whitelist Soon(Start TBA)
    • Additional emission ? Additional emission — an additional release of tokens. It can be done once after the crowd sale or on an ongoing basis. In the projects with a limited emission there is no additional emission. :No
    • Exchange listing ? Exchange listing — an assumed date when the token will be listed at a cryptocurrency exchange. The developers usually indicate it in a roadmap and a white paper. :NA
    • Accepting currencies ? Accepting currencies — cryptocurrencies and fiat currencies that can be used for buying the project tokens. :ETH,
    • Can't participate ? Can't participate — the countries where it is prohibited to buy tokens. These can be countries where ICOs are prohibited altogether, or countries that have the requirements that a particular project does not meet. :Canada, China, New Zealand, USA,
    • Know Your Customer (KYC) ? Know Your Customer — a verification procedure for ICO participants, during which the developers can ask for personal data, a photo and a scanned copy of a passport of a potential investor. :No
    Get details
  • Token and Funds Distribution

    Token distribution date

    NA

    Unsold tokens

    NA

Sale schedule

Round Token Price Bonus Min / Max Purchase Soft Cap Hard Cap
Token sale — Soon
Start Soon
NA No - Uncapped Uncapped
  • Team

    • Ronghui Gu photo
      Ronghui Gu
      Co-Founder
    • Prof. Zhong Shao photo
      Prof. Zhong Shao
      Co-Founder
    • Vilhelm Sjöberg photo
      Vilhelm Sjöberg
      Research Scientist
  • Advisors

Roadmap

  • Dec 2017

    Proof of concept of CertiK techniques and community

  • 1 Jan 2018

    Early supporters starts

  • 15 Jan 2018

    Alpha version of CertiK labels and verification techniques

  • 1 Feb 2018
    • Alpha version of CertiK smart labeling
    • CertiK community open for registration
  • 5 Feb 2018

    Private sale starts

  • Apr 2018

    Launch CertiK beta version

  • May 2018

    Reach 10 Business Partners

  • Jun 2018

    Launch CertiK 1.0

  • 30 Jun 2018

    Reach 30 Business Partners

Activity