The Beginner's Guide To Proof Of Proof

In this post, we dive deeper into Proof of Proof to provide background for new entrants into the expanding Pi Squared universe.

The Beginner's Guide To Proof Of Proof

Proof of Proof is a critical pillar for Pi Squared—so much so that our company’s name “Pi Squared” actually stands for “Proof of Proof.”

In this post, we’ll dive deeper into Proof of Proof to provide background for new entrants into the expanding Pi Squared universe. We’ll cover why we see a need for Proof of Proof, how it works, and the main benefits it will bring to Web3 developers and end users.

Why Proof of Proof?

Proof of Proof introduces a universal computing environment that is designed to smooth interoperability for all programming languages and/or virtual machines (VMs). By minimizing the trust required for correctness certificates, Proof of Proof removes dependencies and trust in cumbersome and error-prone traditional language tools like compilers and interpreters. This simplifies development and reduces the impact of program updates, with the goal of creating a plug-and-play experience for developers. Pi Squared’s ultimate goal is to bring a larger population of developers into Web3, who will build smoother user experiences for all blockchain applications.

Source: x.com/VitalikButerin

What Is Proof Of Proof?

In the Web3 ecosystem, verifying the correct execution of programs is crucial to ensuring the integrity and reliability of transactions and smart contracts. Existing approaches to verifiable computing are based on compilation or translation to a designated, well-chosen language or VM, so they only work with specific VMs or programming languages. As programming languages and VMs are always evolving (continuous updates and patches), including the designated, well-chosen languages and VMs, all existing approaches to verifiable computing face a high risk of introducing compilation/translation or implementation bugs.

Proof of Proof is designed to avoid these risks. Proof of Proof starts with a formal semantics of any programming language (we regard VMs as particular languages). A formal semantics of a programming language is a complete, rigorous, and executable mathematical definition that specifies the behaviors of any programs written in the said language. 

Using formal programming language semantics, Proof of Proof converts computation into formal mathematical proofs. Any program execution trace yields a mathematical claim. Any correct program execution trace admits a mathematical proof of the said claim. These mathematical proofs are directly based on the formal programming language semantics and are machine-checkable by any blockchain node to verify the correctness of that program. 

The benefit of creating this mathematical proof is that it can then be automatically checked by a tiny program, known as the mathematical proof checker. From that checker, we generate a zero-knowledge proof (ZKP) that verifies the existence of the mathematical proof. The process of obtaining and verifying a ZKP of a mathematical proof ensures the correctness of a program’s execution. 

The creation of a (ZK) proof of a (mathematical) proof is the inspiration for our name, Pi Squared (𝝿2).

How Does Proof Of Proof Work?

In our Proof of Proof system, computational claims are generated by the K Framework. While the mathematical proofs verify the correctness of the execution trace of any program, they create precise but huge proofs. To make the proof in question smaller and more efficient for use with Blockchains, Proof of Proof also produces a smaller proof in the form of a ZKP. The ZKP is then sent to a blockchain as part of a transaction, where the proof is included to verify the correctness of that transaction. Any L1, L2, dApp, and our own USL that is running our cryptographic proof checker as a smart contract, can then post and verify their claims on any blockchain. 

In Proof of Proof, programs are executed directly using the formal semantics of the underlying programming languages. Both the mathematical proofs and the final ZKPs are based on the complete, rigorous, and executable formal semantics of the programming languages, correct-by-construction. 

The core technology behind Proof of Proof is based on the K framework and matching logic, that represents over 20 years of research and industrial application in the area of programming languages and formal methods that’s currently overlooked by the emerging verifiable computing community. Pi Squared is bringing it to life.

Proof of Proof Generates Global Benefits

Proof of Proof will give rise to new cross-chain applications and use cases while improving liquidity access across appchains, enabling builders to—instead of focusing on the hunt for fragmented liquidity and users—prioritize the technology stack that generates the best products and services.

This includes our own Universal Settlement Layer (USL), which will enable all blockchains (L1s and L2s) to be universal, correct, interoperable, and efficient. Ultimately, the Pi Squared mission is to leverage Proof of Proof to settle all science and knowledge on USL.

An Innovation To Elevate Web3

By creating a universal computing environment that seamlessly integrates with various languages and virtual machines, Proof of Proof aims to elevate the entire Web3 ecosystem, making it more secure, efficient, and interconnected.

Proof of Proof provides benefits to developers and end users in three ways:  

Universality

Proof of Proof enables developers to bring their favorite languages to Web3. Instead of developing for each blockchain, they can build in the programming languages they know and love. Proof of Proof unifies programming languages - as all computations become mathematics. Mathematics is the universal language of computer code.

Interoperability

Currently cross chain dApps use different languages to communicate and interact with each other. This means everyone is doing something on their own, creating fragmentation and ultimately security vulnerabilities. Proof of Proof provides a more uniform way for cross chain apps to communicate with a single standard and protocol.

Trust Base Minimization

Decentralization will not succeed without verified computing. Proof of Proof identifies and replaces components of transactions users have to trust with infrastructure that is continuously checked and verified. Proof of Proof not only provides verification, but our infrastructure provides the smallest number of trust assumptions. Thereby giving Web3 users a more secure experience in which to transact. 

We’re excited to see how developers and users in Web3 will benefit from greater access to liquidity and a stronger framework for building cross-chain applications. At the same time we believe researchers and enterprises will also find Proof of Proof valuable for advancing secure computing and AI, in addition to enhancing blockchain operations.

To learn more about Proof of Proof, review our documentation, come see the Pi Squared team at a conference in the future and browse our Pi Squared paper.