Arkway is a decentralized and distributed file storage solution designed to keep your files secure and encrypted. With Arkway, you can store your valuable data with peace of mind, knowing that it is protected from unauthorized access.
- Arkway is its use of the Lit protocol for encryption. This protocol combines the power of Multi-Party Computation (
MPC
) and Threshold Secret Sharing (TSS
) encryption methods. - MPC ensures that the encryption process is distributed among multiple nodes, preventing any single party from having complete control over the encryption key.
- TSS further enhances security by dividing the key into shares, which are held by different nodes. This means that even if some nodes are offline or have malicious intent, the network can still function and your data remains safe.
- Arkway employs Polybase, a decentralized database that leverages zero knowledge proofs. This unique combination of blockchain attributes and the speed and privacy of a database allows for efficient and secure storage of your files.
- It's not just about security and encryption; it also offers a user-friendly experience. The platform is designed to be easy to use, allowing you to seamlessly upload, access, and manage your files.
Arkway operates by using access control conditions to decrypt data securely. For example, Arkway utilizes a simple authentication signature, known as an authSig, which confirms that the user possesses a specific wallet address.
When a file is uploaded to Arkway, its metadata is encrypted using the authSig. This encryption process generates a symmetrical key and an encrypted string. The encrypted symmetrical key is then stored on Polybase, our decentralized database.
When it comes time to decrypt the file, we use the encrypted symmetrical key to obtain symmetrical key using authentication signature and then decrypt the encrypted string and provide access to the file's contents.
You can find the video demo here:
arkway.mp4
To get started with Arkway, the first step is to clone the GitHub repository. You can do this by running the following command in your terminal:
git clone https://github.com/Envoy-VC/arkway.git
Next, you'll need to install the project's dependencies. You can do this by running the following command in your terminal:
npm install
Now, let's set up the database schema. The schema defines the structure and organization of the database. To do this, follow these steps:
- Navigate to the schema folder within the project.
- Open the
index
file. This file contains the schema for the database. - To deploy the schema, you can refer to the documentation at https://polybase.xyz/docs/collections. It will guide you on how to create and deploy a schema.
- After creating the schema, you will receive a collection namespace. This is a unique identifier for your schema. Store this namespace in a file named
.env.local
.
NEXT_PUBLIC_POLYBASE_NAMESPACE='your-namespace'
Great! You're almost ready to start using Arkway. The last step is to start the development server.
npm run dev