Fixing grammar and typos before Marty does

This commit is contained in:
Patrick Dunlop 2022-09-17 10:43:47 -04:00
parent bdb463c046
commit cdd624e5f0
21 changed files with 32 additions and 33 deletions

View File

@ -3,7 +3,7 @@ sidebar_position: 1
---
# Join the Community!
## The Jackal Community is open to all.
The Jackal Protocol is an transparent, open source, and communnity driven project. We welcome all who want to help build a self-custodial and secure digital future.
The Jackal Protocol is a transparent, open source, and community-driven project. We welcome all who want to help build a self-custodial and secure digital future.
### To contribute; please join below.
- [Twitter](https://twitter.com/home)

View File

@ -3,7 +3,7 @@ sidebar_position: 1
---
# Grants and Funding
The Jackal Foundation facilitates non-equity grants, seed funding, and beyond through our various funding programs. Ecosystem funding aims to focus the following categories;
The Jackal Foundation facilitates non-equity grants, seed funding, and beyond through our various funding programs. Ecosystem funding aims to focus on the following categories;
- Research and Development
- Infrastructure
@ -19,6 +19,6 @@ For grants, applications will be reviewed based on the following criteria.
| One round of review.| Two rounds of review. | Interviews, formal committee review, full pitch.
For seed funding, the Jackal Foundation or Investment Network may support an ecosystem project with equity or token investments. For innovative founders that bring strategic value and adoption to the Jackal Ecosystem, please reach out directly to our team directly.
For seed funding, the Jackal Foundation or Investment Network may support an ecosystem project with equity or token investments. For innovative founders that bring strategic value and adoption to the Jackal Ecosystem, please reach out directly to our team.

View File

@ -2,7 +2,7 @@
sidebar_position: 2
---
# Partnerships
Blockchain and web3 native software engineering teams often wish to become core contributors through partnership with the Jackal Foundation. In a partnership role, the team would be assigned direct tasks and be held to a high standard of execution, professionalism, and accountability. If your team desires to partner with the Jackal Foundation, please reach out directly, we look forward to working with you.
Blockchain and web3 native software engineering teams often wish to become core contributors through a partnership with the Jackal Foundation. In a partnership role, the team would be assigned direct tasks and held to a high standard of execution, professionalism, and accountability. If your team desires to partner with the Jackal Foundation, please reach out directly, we look forward to working with you.

View File

@ -4,7 +4,7 @@ sidebar_position: 8
# Jackal Explorer
The Jackal Explorer is a “Light Explorer” that fetch data from Cosmos full node via LCD/RPC endpoints. This allows our users to explore transactions on the Jackal Blockchain.
The Jackal Explorer is a “Light Explorer” that fetches data from Cosmos full node via LCD/RPC endpoints. This allows our users to explore transactions on the Jackal Blockchain.
__TODO: Explorer How-To__

View File

@ -3,7 +3,7 @@ sidebar_position: 2
---
# Jackal Foundation Links
Here are the official website links for Jackal Foundation. Please use and bookmark these links to reduce the likelihood cyberphishing threats.
Here are the official website links for Jackal Foundation. Please use and bookmark these links to reduce the likelihood of cyber phishing threats.
## Jackal Foundation

View File

@ -3,7 +3,7 @@ sidebar_position: 2
---
# Jackal Labs Links
Here are the official website links for Jackal Labs. Please use and bookmark these links to reduce the likelihood cyberphishing threats.
Here are the official website links for Jackal Labs. Please use and bookmark these links to reduce the likelihood of cyber phishing threats.
## Jackal Labs

View File

@ -3,7 +3,7 @@ sidebar_position: 1
---
# Jackal Protocol Links
Here are the official website links of the Jackal Protocol. Please use and bookmark these links to reduce the likelihood cyberphishing threats.
Here are the official website links of the Jackal Protocol. Please use and bookmark these links to reduce the likelihood of cyber phishing threats.
## Protocol
[Link Tree](https://linktr.ee/jackal_protocol)

View File

@ -16,13 +16,13 @@ Applications built on the Jackal Protocol, such as Jackal Storage and the RNS Ma
As the Jackal Protocol is a Proof-of-Stake (PoS) Cosmos L1 blockchain, JKL can be delegated to validators to secure the network and earn JKL rewards. Otherwise known as staking or staked tokens.
## Transaction Fees
Transactions on the Jackal Protocol must be paid for using JKL. As the protocol is PoS, cost of transactions are inexpensive.
Transactions on the Jackal Protocol must be paid for using JKL. As the protocol is PoS, the cost of transactions is inexpensive.
## Governance
Staked tokens grant on-chain governance participation within the Jackal Protocol to vote on text, software, spend, and other governance proposals.
Staked tokens grant on-chain governance participation within the Jackal Protocol to vote on text, software, spending, and other governance proposals.
## Collateral
The JKL token can act as collateral for validators, storage providers, and other smart contract use-cases.
The JKL token can act as collateral for validators, storage providers, and other smart contract use cases.
## Liquidity Provision
JKL can be allocated into a liquidity pool to earn JKL rewards.

View File

@ -4,7 +4,7 @@ sidebar_position: 3
# Why would I use the Jackal Protocol?
Jackal users are empowered with a fast and scalable blockchain while having the ability to be self custodial of their data. It may be hard to comprehend why many strive for a high digital privacy and cyber security posture, so here is a community compiled list of reasons people use the Jackal Protocol.
Jackal users are empowered with a fast and scalable blockchain while having the ability to be self-custodial of their data. It may be hard to comprehend why many strive for high digital privacy and cyber security posture, so here is a community-compiled list of reasons people use the Jackal Protocol.
- "I want a transparent, secure, and unified experience with web3."
@ -24,11 +24,11 @@ Jackal users are empowered with a fast and scalable blockchain while having the
- "I believe in open-source, transparent, ethical and humane technology."
- "It's empowering to own your own data."
- "It's empowering to own your data."
- "Digital privacy is a fundamental human right and cybersecurity should be accessible to all."
- "Third-party cookies or trackers are invasive and unnecicary."
- "Third-party cookies or trackers are invasive and unnecessary."
- "The only person that can sell my data is me."

View File

@ -11,7 +11,7 @@ What is done with this key is equally important as the encryption performed on t
![Protocol Overview](/img/jkl_paper/enc2.png)
After this, the protocol ends up with an encrypted key that only the user whose public key was used can decrypt. When looking to decrypt a file, the process is reversed and instead uses the user's private key to decrypt the symmetric key. Following the retrieval of the symmetric key, we can decrypt the file stored on the Storage-Providers, leaving us with the originaly uploaded file.
After this, the protocol ends up with an encrypted key that only the user whose public key was used can decrypt. When looking to decrypt a file, the process is reversed and instead uses the user's private key to decrypt the symmetric key. Following the retrieval of the symmetric key, we can decrypt the file stored on the Storage-Providers, leaving us with the originally uploaded file.
![Protocol Overview](/img/jkl_paper/enc3.png)

View File

@ -4,21 +4,20 @@ sidebar_position: 8
# filetree Module
## Overview
The File Tree module is responsible for keeping record of a user's files and organizing them in a way that is accessible. When a user uploads a file using the Storage module, the file is only accessible from the File ID (FID) which makes the process clunky and obtuse to remember every file uploaded to Jackal. Furthermore, every single upload would be required to be public, or the user would need to keep track of every symmetric key used to encrypt the files and manually map them to the FIDs. The solution to this is a tree structure storing each file as an entry in the tree. Organizing this structure is also trivial as we can assign children to pseudo files that we call folders. Finally to keep track of encryption keys, the protocol maps every file to their respective key.
The File Tree module is responsible for keeping records of a user's files and organizing them in a way that is accessible. When a user uploads a file using the Storage module, the file is only accessible from the File ID (FID) which makes the process clunky and obtuse to remember every file uploaded to Jackal. Furthermore, every single upload would be required to be public, or the user would need to keep track of every symmetric key used to encrypt the files and manually map them to the FIDs. The solution to this is a tree structure storing each file as an entry in the tree. Organizing this structure is also trivial as we can assign children to pseudo files that we call folders. Finally to keep track of encryption keys, the protocol maps every file to its respective key.
![Protocol Overview](/img/jkl_paper/filetree1.png)
## Folder Abstraction
These, of course, are all abstractions of whats actually under the hood. The File Tree module doesnt actually handle any of the folder logic, system believes it is storing files that act as metadata stores, which then updates to reflect changes in folders. This gives the user experience the feeling that folders and files are separate entities in the tree, but in reality they are identical.
These, of course, are all abstractions of whats actually under the hood. The File Tree module doesnt actually handle any of the folder logic, the system believes it is storing files that act as metadata stores, which then update to reflect changes in folders. This gives the user experience the feeling that folders and files are separate entities in the tree, but in reality they are identical.
## File Entry Structure
Storing files entries on-chain is a hurdle being that the chain itself is public. This requires the use of client-side encryption before uploading data to the chain itself. The main component of a file is location (Address), allowing users to query the rest of the data from the file. You can think of the location as a key in a traditional key-value store or a path in bucket-based storage. The address is hashed using SHA256 to ensure it is impossible to retrieve the plain-text representation of the file name, while still being able to query the file using its given name.
Storing file entries on-chain is a hurdle being that the chain itself is public. This requires the use of client-side encryption before uploading data to the chain itself. The main component of a file is location (Address), allowing users to query the rest of the data from the file. You can think of the location as a key in a traditional key-value store or a path in bucket-based storage. The address is hashed using SHA256 to ensure it is impossible to retrieve the plain-text representation of the file name, while still being able to query the file using its given name.
![Protocol Overview](/img/jkl_paper/filetree2.png)
The second most important data point in a file is the content of the file, this field is extremely versatile as it can store any string. Traditionally this is used to store a JSON list of FIDs to point to a file on the Storage Module, however the protocol can also theoretically use it to store short bits of text like encrypted passwords for a private password manager. The owner tag is a hashed version of the owner hiding what address owns each file, this field can be changed to reflect transferral of ownership. When making changes to the file such as deletion, movement or adding/removing viewers/editors, the owner field is consulted to determine permissions. The same applies for edit access, editors can update the contents but nothing else.
The second most important data point in a file is the content of the file, this field is extremely versatile as it can store any string. Traditionally this is used to store a JSON list of FIDs to point to a file on the Storage Module, however, the protocol can also theoretically use it to store short bits of text like encrypted passwords for a private password manager. The owner tag is a hashed version of the owner hiding what address owns each file, this field can be changed to reflect the transferral of ownership. When making changes to the file such as deletion, movement or adding/removing viewers/editors, the owner field is consulted to determine permissions. The same applies for edit access, editors can update the contents but nothing else.
## Encrypted Viewing Access

View File

@ -4,6 +4,6 @@ sidebar_position: 2
# jklmint Module
## jklmint
The Jackal Mint module is a replacement for the cosmos-sdk module: [Mint](https://github.com/cosmos/cosmos-sdk/blob/main/x/mint/spec/README.md). The key differences between this and the pre-existing minting module are that jklmint does not adjust inflation based on rate of bonded tokens. At genesis, the jklmint module prints 10 JKL per block and distribute it to both the storage module and the default distribution module.
The Jackal Mint module is a replacement for the cosmos-sdk module: [Mint](https://github.com/cosmos/cosmos-sdk/blob/main/x/mint/spec/README.md). The key differences between this and the pre-existing minting module are that jklmint does not adjust inflation based on the rate of bonded tokens. At genesis, the jklmint module prints 10 JKL per block and distribute it to both the storage module and the default distribution module.

View File

@ -9,4 +9,4 @@ Jackal Storage functions by a Proof-of-Storage algorithm we call Proof-of-Persis
If a Storage Provider successfully posts a Merkle Proof within the challenge window for the contract and the data is verified by the Validators to be valid Merkle Proofs for the challenge index, the Storage Provider is paid out. Storage Provider rewards are proportional to the file size the contract is associated with relative to every other active contract on the network. If a Storage Provider fails to provide a valid proof within the allotted timeframe, the contract is struck with a missed proof. After (X) missed proofs, the contract is burned, and the user is alerted the next time they query the contract. For every contract burned through missing proofs, the Storage Provider is struck with a penalty that remains on their record for a period of time adjustable through governance.
### Interaction Outline
A user first sends a file to an available Storage Provider. A list of Storage Providers can be found on the blockchain, and providers can deny any incoming request if they wish not to store new files. The Storage Provider, after receiving the entire file, keeps that file in memory and posts a contract to the blockchain. If the contract is not signed by the sender in X blocks (configurable by the Storage Provider), then the file is removed from memory, and the contract is burned. However, if the contract is signed by the user within the given blocks, the file is committed to the Storage Provider's hard storage, and the challenge windows start being created for the now active contract.
A user first sends a file to an available Storage Provider. A list of Storage Providers can be found on the blockchain, and providers can deny any incoming request if they wish not to store new files. The Storage Provider, after receiving the entire file, keeps that file in memory and posts a contract to the blockchain. If the contract is not signed by the sender in X blocks (configurable by the Storage Provider), then the file is removed from memory, and the contract is burned. However, if the contract is signed by the user within the given blocks, the file is committed to the Storage Provider's hard storage, and the challenge windows start being created for the now active contract.

View File

@ -20,6 +20,6 @@ These chunks are used as leaves on the Merkle Tree defining each storage contrac
In the diagram above, displays how each file is hashed together to create a single root node.
## Proving Data Availability
These nodes are essential as they only require the nodes below them to prove they are part of the tree. This means that we can create a proof claiming a single chunk belongs to the file using the Merkle Root saved on chain. In the following diagram we can see that only the blue nodes are required to build a successful proof. The green nodes represent information that we can generate given the blue nodes. Finally, we can compare the root generated from the proof to the root saved on the chain and determine if the chunk does actually belong to the contract we are proving. This results in small message sizes due to not needing to send the entire file every proof.
These nodes are essential as they only require the nodes below them to prove they are part of the tree. This means that we can create a proof claiming a single chunk belongs to the file using the Merkle Root saved on the chain. In the following diagram, we can see that only the blue nodes are required to build a successful proof. The green nodes represent information that we can generate given the blue nodes. Finally, we can compare the root generated from the proof to the root saved on the chain and determine if the chunk does belong to the contract we are proving. This results in small message sizes due to not needing to send the entire file every proof.
![Merkle Roots Graphed](/img/jkl_paper/tree3.png)

View File

@ -3,7 +3,7 @@ sidebar_position: 2
---
# Casual Storage Build
You may be successful contributing to the network with an old computer you may have. If you are looking to purpose build a machine- here is the recommendations for casual a storage provider.
You may be successful contributing to the network with an old computer you may have. If you are looking to purpose build a machine- here are the recommendations for casual a storage provider.
| Component|Recommendation| Units |
| ------------- |:-------------| :-----|

View File

@ -2,7 +2,7 @@
sidebar_position: 3
---
# DIY Serious Build
For DIY individuals looking to power web3 infrastructure and increase your ROI- here is the reccomended system for serious individual storage providers.
For DIY individuals looking to power web3 infrastructure and increase your ROI- here is the recommended system for serious individual storage providers.
| Component|Recommendation| Units |
| ------------- |:-------------| :-----|

View File

@ -2,7 +2,7 @@
sidebar_position: 4
---
# Enterprise Build
Teams looking to build a large storage system ~2.1 Petabytes of storage, the estimated base price of the box with drives is ~$70,000 USD. This does not account for variable expenses including the regional costs of:
For teams looking to build a large storage system of ~2.1 Petabytes of storage, the estimated base price of the box with drives is ~$70,000 USD. This does not account for variable expenses including the regional costs of:
- Power
- Internet
- HVAC

View File

@ -5,6 +5,6 @@ sidebar_position: 1
## Want to power the storage infrastructure for web3?
A Jackal Storage Provider is a dedicated web server optimized for data storage that accepts incoming files from users and creates contracts for the users to approve. These contracts last until the user either cancel them or the provider itself goes offline.
A Jackal Storage Provider is a dedicated web server optimized for data storage that accepts incoming files from users and creates contracts for the users to approve. These contracts last until the user either cancels them or the provider itself goes offline.

View File

@ -3,23 +3,23 @@ sidebar_position: 1
---
# Tokens
## JKL or Jackal
JKL is an inflationary token that powers the Jackal Protocol. The JKL Token has many usecases. Some of these use cases are below.
JKL is an inflationary token that powers the Jackal Protocol. The JKL Token has many use cases. Some of these use cases are below.
- __dApps__ - Applications built leveraging the Jackal Protocol, such as Jackal Storage and the RNS Marketplace, may choose to include the JKL token to expand its utility.
- __Securing the Network__ - As the Jackal Protocol is a Proof-of-Stake (PoS) Cosmos L1 blockchain, JKL can be delegated to validators to secure the network and earn JKL rewards. Otherwise known as staking or bonded tokens.
- __Transaction Fees__ - Transactions on the Jackal Protocol must be paid for using JKL. As the protocol is PoS, cost of transactions are inexpensive.
- __Transaction Fees__ - Transactions on the Jackal Protocol must be paid for using JKL. As the protocol is PoS, the cost of transactions is inexpensive.
- __Governance__ - Staked tokens grant on-chain governance participation within the Jackal Protocol to vote on text, software, spend, and other governance proposals.
- __Collateral__ - The JKL token can act as collateral for validators, storage providers, and other smart contract usecases.
- __Collateral__ - The JKL token can act as collateral for validators, storage providers, and other smart contract use cases.
- __Liquidity Provision__ - JKL can be allocated into a liquidity pool to earn rewards.
## JWL or Jewel
JWL is an L1 store-of-value token native to the Canine Blockchain. JWL tokens are immutable, meaning they can never be created, changed or destroyed. There is a finite amount of JWL that will be minted at the chains genesis. Currently, there is no utility for the JWL token and it should be treated as such.
JWL is an L1 store-of-value token native to the Canine Blockchain. JWL tokens are immutable, meaning they can never be created, changed or destroyed. There is a finite amount of JWL that will be minted at the chain's genesis. Currently, there is no utility for the JWL token and it should be treated as such.

View File

@ -2,7 +2,7 @@
sidebar_position: 5
---
# Validators
The Jackal Validators are web servers that are secure, dedicated machines that participate in the consensus protocol by broadcasting cryptographic signatures, or votes, to agree upon the next block. Voting power is determined by the amount of staking tokens delegated by non-validators and bonded as collateral to earn a reward. These non-validators, or delegators, incur the risk of getting punished (slashed) if the delegate validator gets hacked or violates the protocol.
The Jackal Validators are secure web servers, dedicated machines that participate in the consensus protocol by broadcasting cryptographic signatures, or votes, to agree upon the next block. Voting power is determined by the amount of staking tokens delegated by non-validators and bonded as collateral to earn a reward. These non-validators, or delegators, incur the risk of getting punished (slashed) if the delegate validator gets hacked or violates the protocol.
__TODO: Validator Setup__

View File

@ -4,7 +4,7 @@ sidebar_position: 2
# Keplr Wallet
The Keplr browser extension is a wallet for accessing some Jackal applications in the [Cosmos ecosystem](https://cosmos.network/). Keplr can be used to exchange/manage JKL and other Cosmos based tokens, participate in governance from the [Jackal Dashboard](/docs/using-jackal/dashboard.md), and use Jackal Storage __without privacy__.
The Keplr browser extension is a wallet for accessing some Jackal applications in the [Cosmos ecosystem](https://cosmos.network/). Keplr can be used to exchange/manage JKL and other Cosmos-based tokens, participate in governance from the [Jackal Dashboard](/docs/using-jackal/dashboard.md), and use Jackal Storage __without privacy__.
To use Jackal applications with a __high privacy and security posture__, create a new [Jackal Wallet](/docs/using-jackal/wallet/jackalwallet.md) or import private keys into a Jackal Wallet.