Opscientia Open Web Fellowship: A platform to store preprints and publications permanently

name: Akshata, email: [email protected], timezone: CEST, discordID: Akshata M#6695, discourseID: Akshata, current role: kernel fellow (KB4)

Mentor: Shady El Damaty

Overview

The greatest treasure mankind can save for its future generations is knowledge. Knowledge in any form should be secured and never be lost. This project focuses on scientific knowledge of any form including research papers, preprints, writeups and thesis which could be open source. It will be built on ‘Arweave’ which assures that the papers uploaded on the platform will never be lost (would stay for thousands of years without any additional costs) and it is decentralized.

The project is built on Arweave because it helps in storing any kind of document almost permanently. They do this by taking an upfront cost of 200 years for saving the documents which is as less as 0.005 dollars per megabyte. Due to technological advancements, every year the cost of storage decreases by almost 30 percent. This keeps adding more and more years of storage to the upfront cost paid and hence the documents/articles gets stored permanently.

One other major goal of this project is that you can donate crypto tokens to the research paper, preprints, articles, thesis etc. which you find helpful. It is also possible to keep your papers public or private depending upon whether you want to safegaurd your work for yourself or if you like it to be open in public domain. The future goal would be to create a token called ‘scholar’ which could be donated to important research projects asking for funds. As the platform will be built on Arweave, the necessary information and guidance about the token is already available.

Implementation Plan

The first goal of this project is to create a platform which makes the uploads, donations, making papers public or private on web 3 possible. The first task of creating the frontend is already in the process. This project is using Flutter and Arweave.js to make the project on web 3 possible. I would be first making sure that the log in is possible with a wallet and a keyfile. After that task is done, focus will be on uploading the documents along with having proper sections for abstract, author names, subject etc. The next step after this would be to create a public and private section for uploading the documents and the last step would be make donations possible to the author in crypto tokens by anyone who wants to donate to a particular paper.

If time permits, the next task would be to create ‘scholar’ tokens within a given timeframe. I am fully dedicated to this project and would be working full time solely for this project during the 12 weeks.

Minimum Deliverables

The minimum outcome of this research is to make the platform ready with all the funtionalities mentioned above. This would be possible as the work in already in progress.

Timeline

Week Activity
1 Deliverable : Get familiar with the Arweave ecosystem, scalability of Arweave and the best implementation plan of Arweave in the project. Submit a document covering all the above aspects by the end of week 1.
2 Deliverable : : By the end of this week, create a basic architecture of the website. Confirm the final UI/UX for the project and set KPIs.
3 Deliverable : Start the development process. Create a landing page with necessary information and guide.
4 Deliverable : Create 2 log in options: First would be log in via Arweave key file and the second would be log in via walletconnect which is used by Arweave and is similar to metamask
5 Deliverable : Create an option to upload files including various sections like ‘author name’, ‘abstract’, ‘title of the project’, ‘subject’ and final pdf upload.
6 Deliverable : Create two sections called ‘public’ and ‘private’ for uploading articles
7 Deliverable : Check upon all the deliverables till week 6 and debug any issue that has arisen. Also create presentation and get mid term performance review by the community. Mid-term performance review / community feedback
8 Deliverable : Create a proper front end for the papers uploaded so that the audience visiting would be able to download them and see various section separately.
9 Deliverable : Create a ‘donate’ option for all the papers which would make donations to the author possible.
10 Deliverable : Go through deliverables from week 8 and 9 and complete any missing functionalities and debug any issue which might occur.
11 Deliverable : Get some papers uploaded, take reviews about the project and suggestions for improvements.
12 Deliverable : : Submit final report, materials, code on discourse and on github., Submit Final Report + Code/Materials on Discourse #pulse

Plan for Communication with Mentor

I would be constantly in touch with the mentor to share my progress and any setbacks that might occur. I would have online meetings with my mentor once or twice a week depending upon the demand for the project through discord or through zoom meetings.

Plans to Continue with Project

This project is the primary thing I am working on and would continue working on the mission of DeSci in future.

Candidate Details

Motivation

I strongly believe that Science community should shift to web3 and blockchain. It would reduce the barrier and open doors for greater opportunities which would never be possible in web2.

Background

I studied Physics major and Mathematics minor while pursuing my Masters in Science. After that I worked as a full stack developer and a data Scientist for year and a half. I am currently a kernel fellow.

Twitter: https://twitter.com/AkshataM16

Working time and commitments

I would be devoting more than 40 hours per week on the project and I am fully committed to this project.

Weekly work updates

Week 1

Building platform for permanent archival of research papers on Arweave

The project is using Arweave to store scientific publications and preprints. The goal of this week was to create a report on why Arweave is chosen for the project, how it works and how it is implemented in the project.

The major questions about this project is how it could be made sure that the papers uploaded on the platform are stored permanently and how easy it is to retrieve the data stored. Another important question is also about data scalability. As more and more papers get uploaded, the scalability should be taken into consideration. To answer these questions, we need to understand how Arweave handles all these issues as the project is built on Arweave.

Achieving permanent storage

Arweave is like a blockchain as it includes the hash of the previous block in a transaction. In addition to the hash, miners are required to recall a random previous block from the network. Therefore, in order to earn more rewards, you need to have access to as many old blocks as possible. This is also termed as ‘Proof of Access’ as the miner needs to have access to the old blocks in order to mine new ones. This ensures a large amount of data replication for the data stored on Arweave. This is considerably different from the data stored in IPFS. If no node in IPFS has stored the data, it might get lost forever which could never happen with Arweave due to a large amount of data replication to get incentivized.

Retrieving data

One more major reason why the project is built on Arweave is that the time taken to find the piece of data stored on Arweave and serve it back to the user is as less as 0.2 seconds also because the data is being replicated so much that the first few machines you interact with to retrieve the data have a very high chance of having it.

Dealing with scalability

Arweave deals with the scalability problem by allowing miners to start mining by downloading only small portions of the block. Anyone with free hard drive space can start mining on Arweave. This does not require miners to have all the blocks. But the chances of them earning the rewards could get lowered as they might not be able to recall random old block. To maximize the reward, they try to mine as many rare blocks as possible which in turns makes sure all the data is replicated a number of times across the network.

How Arweave will be used for this project

Arweave will be used as a storage layer in the project. This could be done with the help of a guide available here GitHub - ArweaveTeam/arweave-js: Browser and Nodejs client for general interaction with the arweave protocol and gateways.

Arweave team has also granted this project with some ‘storage credits’ which would be helpful to onboard new users into the platform and would also cover the transaction fees needed to deploy this platform.

Week 2

Architecture of the website

The project would have 4 major sections.

Landing page will consist of two main components. One would be the search option from where you can search for a particular paper. The papers that match the keywords and are open will be displayed as a result of search. The other is a sign in/sign up option. A user does not have to sign in or sign up to search and see the public papers. The second part of the landing page also contains some information about the platform and how to use it.

Signed in page wherein the user has signed in. He can now see the option to upload papers and see the papers that he has previously uploaded along with the search option.

Upload section is a page where you can upload the papers. You will have to fill sections like abstract of the paper, authors, subject etc. and then after agreeing to the terms of the paper, you will be able to upload your paper. Here you also get to select if the papers uploaded will be public or private.

Display paper is how the papers will be displayed to the users after he selects them. Here, there will be options such as downloading, printing the paper and donating crypto tokens to the author of the paper.

Authentication for the users

In order to make sure that the papers are not uploaded without the consent of the authors, authentication is necessary. To achieve the goal that all the public papers uploaded do not have any kind of legal or ethical issues, in order to upload papers publicly, a user needs to verify his or her identity and affiliation with a university through university email. Orcid can be helpful in this case. After the identity is verified, in order to upload the paper publicly, a researcher needs to agree to the terms stating that the paper has rights to be open source and he would be solely responsible for the consequences that would occur in regards to uploading the paper publicly.

Week 3

Week 3

The development for the platform started from the beginning of week 3.

A static landing page has been created. The screenshots of the landing page are attached below.

Section 1

Section 2

Section 3

Week 4

This week was more focused on the log in section. As the project involves uploading the papers, it is important that no papers which do not comply with the consent of the author are uploaded publicly. As the public visibility gives the right to all the internet users to download and see the paper, it becomes a very important part of the project to have a proper authorization.

The idea was to create login using torus and orchid id. As the users had to perform transaction using Arweave to upload papers, creating login with torus was a bit difficult as it did not have integration with Arweave. So, login using google was implemented in the project. Eventually, it would be replaced with ORCID login by the end of week 7.

Once the users are logged in with their google ID, they can see 2 new additional links which are ‘My Papers’ and ‘Upload’ section. Additionally, a new section was created in this week which was the ‘Recent Papers’ section. In the recent papers sections, you can see the papers that have been successfully uploaded on Arweave most recently through v-scholar.

Below are the site’s screenshot for all the mentioned updates.

  1. Page when the user is not signed in

  1. When the user is signed in with google

  1. Recent Papers Section

Week 5

In order to upload papers on Arweave through v-scholar, a transaction should be done. This could be done in multiple ways. One way is creating by downloading a keyfile from Arweave faucet and creating a space for uploading the keyfile on v-scholar which would then be used to make a transaction. Another way is integrating ‘Arconnect’. This is like a metamask for Arweave. The latter method is chosen for the project.

Not all the users who are visiting the platform to see the papers are required to have an arweave wallet. Only if you intend to upload the papers either publicly or privately, you need to have an arweave wallet. You first need to have a chrome extension called arconnect which would create a new wallet address for you ro you can choose to load your old keyfile.

There is a connect button in the Upload papers section which allows you to connect to Arconnect. Once you are connected, you can see your wallet address which has been linked to v-scholar.

Below is the screenshot of all the work done with connecting a wallet this week.

  1. Connecting Arconnect with the ‘Connect’ button

  1. Signing in using Arconnect

  1. Once the wallet is connected, your address would be visible

Week 6

This week was devoted to creating a page for making uploads on Arweave through v-scholar which is the most important part of the project. This involves first connecting your to your Arconnect wallet which would use AR in your wallet to upload the papers permanently on Arweave.

A form for uploading was created which had options such as Author, Abstract and Title. Additional options such as Subject, Keyword are supposed to be added by the end of week 7. After filling out the details, the user must select the license and agree to the terms and conditions which would then allow uploading the paper.

Below are the images of the work done in week 6. Example also shows the transaction performed on Arweave and the week 1 updates of v-scholar uploaded on arweave through v-scholar.

  1. Upload Form

  1. Week 1 of the project uploaded on Arweave

Week 7

The mid term presentation was given during this week. Some key points which would help v-scholar to improvise further include discussed during mid-term presentation were as follows:

  1. Having more than one storage for research papers to maintain the redundancy. Filecoin and IPFS would be the best alternate solutions.
  2. Getting in touch with the online open access libraries which are at the verge of vanishing to store several scientific papers securely once the platform is set and the trial versions are done.

Week 8 and 9

The public and private section for uploading the documents has been created. The papers uploaded publicly can be accessed by anyone through searching using various parameters like author name, title and subject. The most recent papers which are uploaded publicly will be seen in the recent papers section.

“My profile” section has been created which saves the paper the author has uploaded. Both public and private papers uploaded can be accessed by the individual who has uploaded them in this section.

On clicking on read more, you get redirected to a page which gives you full access to research papers from where one can download and print the research papers as well.

2 Likes