Since our last platform update, we have implemented an array of changes. What we have now is an overview of our platform update for the period from June to July 12th. Going forward, we are going to post regular updates with a new post once every two weeks, capturing the updates that we deploy in each sprint. For starters, we have bolstered our team by bringing fresh talent onboard. On the product and development front, our team is steadily working towards our testnet launch.
Before we dive into the platform updates, we want to briefly go over the components that make up the Arcana Platform:
- 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.
Read on as we share a quick overview of all the changes that have been implemented by the end of the June to July 12th sprint. Please note that all updates are listed property-wise.
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:
- 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.
- Revoke: Update ACL to remove a user’s public key from it.
- Change owner: Update DID to change the public key that owns the file.
- Delete file: Remove DID entirely.
- Basic DKG development implemented using Asynchronous Verifiable Secret Sharing (AVSS).
- A quick demo of basic DKG implementation.
Note: You may want to go through our technical paper for more information about our non-custodial key management and details about DKG.
- 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.
- Developed a demo app with a working Arcana DKG (Google Login), with functionalities to mock upload, download, and listing of files.
- 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.
Summing up our platform updates from the June to July 12th sprint: A lot of exciting features are being designed and implemented.
Our major focus for the time to come will lie on the testnet launch. We are currently working on building out our storage nodes and ensuring that developers are provided with all the necessary functionalities during the time of launch.
Apart from the testnet launch, another area that we are currently prioritizing is improving our current DKG implementation for a more trust-less implementation. While we previously used AVSS, which is based on Shamir’s Secret Sharing, we are now adopting a combination of High Threshold AVSS, Weak DKG, & Eventually Perfect Common Coin. This is because, in normal Shamir’s Secret sharing, even with threshold sharing, the dealer knows the polynomial being used. Ultimately, it could lead to a potential vulnerability. With the newer schemes that we are implementing, the problem is now avoided altogether as our dealer itself is made more distributed.
A new developer dashboard is also a work-in-progress, as you can see from the list of updates we mentioned earlier under the “Developer Dashboard” property of our platform. Our website is also undergoing a major redesign. Apart from that, a few minor issues and bugs are also being resolved.
As we continue to work on our platform and push regular updates, we are also focusing on building an active community with plans to organize talks, webinars, and hackathons, among other events. We also plan on reaching out to a number of educational institutions in the near future in order to foster an active community surrounding Arcana Network.
If you’d like to learn more about Aracana, check out our social links below.
You can also reach us at firstname.lastname@example.org