Fairblock consists of FairyRing, FairyKit, and FairyPort

FairyRing

A service provider chain that delivers threshold decryption, ZK verification, and re-encryption to every blockchain & application.

FairyKit

Modules that enable frontends and blockchains with encrypted transactions.

FairyPort

A cross-chain message-passing protocol that connects FairyRing to all major ecosystems.

The highly simplified flow of our approach is as follows:

  1. From the frontend of an app that has integrated FairyKit — Fairblock’s encryption SDK — a user encrypts a transaction declaring its condition for decryption -- in most cases, developers seamlessly enforce the condition for end users. Examples of decryption conditions include future block heights, asset prices, the conclusion of voting periods, or any other verifiable state transition. The encrypted transaction is submitted on-chain on the network where the application resides.
  2. The validators or sequencers of the underlying network include the encrypted transaction(s) in a block. Multiple transactions can be encrypted under the same conditions.
  3. Once the condition for decryption is met, FairyRing validators work together to generate a private key for threshold decryption. The private key is then sent by FairyPort to the destination chain to decrypt the encrypted transaction.
  4. The private key is used to decrypt all transactions in the same batch (IBE) or just the result of computations (FHE), which are then executed by the validators of the network upon which the app resides.

This composable approach to encryption availability provides developers the freedom to choose how to implement encryption into decentralized applications and users the privilege to choose if, to whom, and under what conditions their onchain activities should be revealed. Programmable encryption protects users from malicious actors and adversaries and promotes better security and fairness within blockspace.

Example User Flow.png

Key Benefits

Meeting Developers Where They Are

Rather than dedicated encrypted applications or L1s that users must navigate to, Fairblock allows developers to build encryption features directly into existing and future applications. Composable encryption removes an adoption barrier for existing applications, giving users access to information flow control within applications they already know and love.

Chain Agnostic

The Fairblock SDK will be compatible with applications in the Cosmos, Ethereum, Celestia, NEAR and other L2 ecosystems such as Arbitrum and Optimism. It can support apps in existing general-purpose ecosystems, and allow developers to build novel apps and networks using these frameworks.

Practical and Scalable

With encryption and decryption algorithm run times in the range of tens of milliseconds (in contrast to seconds or minutes with ZK proving), and linear bandwidth scaling (in contrast to classic threshold decryption algorithms which scale quadratically), Fairblock’s solutions are efficient, lightweight, and practical for users.

Composable

As there is no one-size-fits-all solution for encryption in decentralized applications, Fairblock’s tools can be combined and configured to tackle a spectrum of use cases. Developers won’t need to consider the technical trade-offs of integrating various encryption schemes - they can simply choose between different cryptographic schemes such as IBE or FHE available in FairyKit and even combine them with other complementary solutions such as ZK or SGX.

Comparing and Contrasting IBE, FHE, and ZK

As a preface, let's review the encryption techniques we offer and what they’re used for: