Formal Verification Platform for Smart Contracts and Blockchain Ecosystems.
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.
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.
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:
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.
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.
|Round||Token Price||Bonus||Min / Max Purchase||Soft Cap||Hard Cap|
Token sale —
Proof of concept of CertiK techniques and community
Early supporters starts
Alpha version of CertiK labels and verification techniques
Private sale starts
Launch CertiK beta version
Reach 10 Business Partners
Launch CertiK 1.0
Reach 30 Business Partners