• Arcana JS SDK — Platform-specific development kits to help developers allow users to perform file specific actions such as upload, download, and share.
  • DKG SDK — A Distributed Key Generation SDK through which private keys are generated and stored as key shares on the nodes. When it is time to retrieve the keys, the shares are requested and combined to get the actual key. Highly secure because a threshold number of nodes is required for accessing private keys. Key assignment takes place at the time of registration of a user and is predicated on an id token obtained through OAuth such as Google, Github or from custom OAuth tokens.
  • Developer Dashboard — An intuitive one-stop-dashboard for managing DApps’ storage for Developers.
  • Storage Node Docker Image — Apps running on storage nodes that first perform a permission check to see if requests are allowed by the user. Subsequently, file-related actions are performed.
  • PoCs — Applications to showcase the Arcana Platform’s range of capabilities.
  • Smart Contracts — Logs file action requests (upload, download, and share, among others) while also tracking usage and billing for a completely transparent experience.

Arcana JS SDK

  • APIs for encrypting outgoing files and decrypting incoming files with AES-256.
  • TUS implementation for resumable uploading of files from DApps to storage nodes (kicks in when the upload is voluntarily stopped by pausing the upload or accidentally stopped, like when a connection is dropped).
  • Added following file actions:
  1. Share — Update ACL (Access Control List) in the DID (Decentralized ID) to add one more user’s public key which has access to this file.
  2. Revoke: Update ACL to remove a user’s public key from it.
  3. Change owner: Update DID to change the public key that owns the file.
  4. Delete file: Remove DID entirely.

DKG SDK

  • Basic DKG development implemented using Asynchronous Verifiable Secret Sharing (AVSS).
  • A quick demo of basic DKG implementation.

Developer Dashboard

  • High fidelity wireframe is a work in progress.
  • Information architecture is being revamped and improved.
  • Dashboard UX user testing.
  • Basic web wallet iframe implementation in order to allow users to sign transactions without ever exposing their private keys.

Storage Node Apps

  • Storage wrapper implementation in progress. Basic permission checks are executed prior to performing file-related actions.

PoCs

  • Developed a demo app with a working Arcana DKG (Google Login), with functionalities to mock upload, download, and listing of files.

Smart Contracts

  • Proxy contracts for apps have been developed.
  • Logic/Arcana contracts for uploading and downloading of files have been developed.
  • Factory contracts for each app have been created.
  • Encrypted file hash using PKI has been added.
  • Integrity check added to verify that the hashed file in the smart contract metadata which was stored as a part of upload is the same file that is obtained on downloads.
  • Metadata stored in smart contracts is also encrypted.
  • Registration has been changed to allow developers to decide whether they would like to bypass DKG registration for app users if they are using Metamask wallets.

What’s Next

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store