-
Notifications
You must be signed in to change notification settings - Fork 71
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #7 from FairBlock/audit
non-breaking changes for code review
- Loading branch information
Showing
313 changed files
with
10,963 additions
and
12,345 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,4 +8,6 @@ build/ | |
gentx/ | ||
DistributedIBE/ | ||
*.json | ||
encrypter | ||
encrypter | ||
ShareGenerator | ||
data/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Overview | ||
|
||
This section deals with integrating any chain with FairyRing chain. A chain that leverages the IBE functionality of FairyRing for encrypting, decrypting and executing transactions (the Destination Chain). All Destination Chains require the following to leverage the FairyRing functionalities: | ||
|
||
1. A module to store encrypted transactions and queue them based on their target height. The module should also have the functionality to decrypt and execute said transactions when the target height is reached. | ||
2. A functionality to fetch generated aggregated keyshares fast and reliably from the FairyRing chain. These aggrgated keyshares act as the decryption key for the encrypted transactions. | ||
|
||
All encrypted transactions are executed on the destination chain itself. The target height for execution is that of the Fairyring chain. This is necessary since aggregated keyshares are generated per block of FairyRing and does not have any bearing with the height of the destination chain(s). | ||
|
||
For now, the same aggregated keyshare generated by FairyRing is used by all the destination chains to decrypt their transactions. This is subject to channge, where a set of aggregated keyshares may be generated by FairyRing and destination chains may require one or more of these to decrypt their transactions. | ||
|
||
To make integration easier for destination chains, FairBlock provides solutions to both the requirements: | ||
|
||
1. The PEP module: Destination chains can simply use the readymade PEP module (also used by the FairyRing chain). The module comes with all the required functionalities, namely a transaction to accept encrypted transactions submitted by users, a queue to store the encrypted transactions indexed by their target height, fetch and store pubkeys from FairyRing via IBC, verify a received aggregated keyshare on-chain as well as an automated decryption and execution system for the encrypted transactions. | ||
2. FairyPort : FairyPort is an ad-hoc solution to the problem of fetching aggregated keyshares from the FairyRing chain in a fast and reliable manner. It's a relayer-like off-chain service which compromises on the authenticity of the data fetched for speed. The key to the success of FairyPort is the fact that aggregated keyshares are verified on-chain by the destination chains, allowing for the meaningful sacrifice. | ||
|
||
>NOTE: It is not necessary for destination chains to utilize the solutions provided by FairyRing. They can opt for more customized proprietory solutions. They can still integrate with the FairyRing chain as long as the requirements are met. This section goes into the details of the requirements and also the steps required to integrate the already provided solutions. |
Oops, something went wrong.