[New] AEyeWitness+: PoC2Prototype

This is the mandatory structure for a grand application template. Please copy it and make it yours.
Please note that this template ist mandatory for the grant application in order to be reviewed by the AF bord.

Application Status

Status: New
Last updated: 30.06.2023
Pavel Laskov , [email protected]
Team:
Approved Budget (in h):
Used Budget (in h):
Planned Delivery: 10 months from the approval

Specify the funding category

Research and Education?

Application Title

AEyeWitness+:

Applicant

Please include a link of your introduction and your team to the Forum.

Value Application

What will become better and why? Why is your work beneficial for the aeternity ecosystem? (Please describe the impact of your project. How will your work impact the larger aeternity ecosystem? How does a successful contribution of your project look like?)

The main idea of the project is to further develop our previous PoC AEyeWitness. The application stores images and their metadata using Storj and validates the integrity of the images using the aeternity Testchain.

Since the integrity of all data can be verified easily, such an application can guarantee that a certain image is taken at certain time and place. For now, we assume that no manipulation can take place between the camera and the application; resistance against such manipulation is subject of further research.

The project demonstrates a novel use case for the aeternity hyperchain with a broad and diverse community, e.g., law enforcement organizations, journalists, and other stakeholders for whom immutability and integrity of images and their metadata plays a crucial role.

Definition of Terms

What exactly are we talking about? Please describe your project.

The scope of the project is to improve the functionality of the prototype by building it as a progressive web application (PWA), adding authentication to the application and accessing the camera of the phone directly. Additionally, the aeternity hyperchain should be integrated into the application for storing the hashes of images and metadata. After building the PWA and securing it by authentication, the prototype can be publicly demonstrated on a running server.

A further objective of this project is to assess the storage and bandwidth requirements of the prototype, to better understand the operational costs of a prototype in case of its commercial deployment. This assessment should take into account operational costs of a hyperchain as well as of the Storj backend.

Status Quo

What is now?

The proposed application would be the first implementation of a secure image storage using the aeternity hyperchain. Alternative approaches for image certification involve trusted third parties (e.g., for secure timestamping) and incur substantial costs. For example, the CertiPhoto app charges 50c/image and has processed approximately 1.400 images/day since 2016.

In the prior work completed within the scope of our initial grant, the first version of the AEyeWitness has demonstrated the feasibility of insuring image integrity by means of Aeternity blockchain. Contrary to our initial idea of storing images on a blockchain, a feasible solution has been found that uses conventional distributed storage (Storj) for a reliable image storage coupled with an additional integrity protection layer implemented via the blockchain. This prior work has identified a suitable technical platform (Next.js and Go) which enables a seamless integration of the user-centric web application frontend with two backends responsible for storage and integrity verification.

Required Work

Steps to get to the goal…
Please list milestones and deliverables of your project.

The project will comprise the following steps:

  • Create the PWA and add authentication (2 months). The PWA guarantees, that the application will be accessible on a variety of devices. In addition, it is important for security reasons to add authentication to prepare for an online hosted version of the app. Due to the requirement that images must originate from a mobile device camera that current image upload functionality developed as PoC will be removed.
  • Integrate the aeternity hyperchain into the application (2 months). As soon as the development of the hyperchain is ready, the integration in the PWA can replace the current use of the aeternity testnet.
  • Host the application on a cloud service provider (1 month). To make the application available at any point in time, the front- as well as the backend should be hosted online.
  • Verify the direct camera access on the device using the PWA (2 months). The application should access the camera directly so that the image that is going to be uploaded can only be taken using our application so that no attacker can intercept the file upload.
  • Create a pricing model for a production like application (2 months). The estimation of the traffic as well as the costs to run the server for a production like system is included in this point.
  • Analysis of results and project wrap-up (1 month)

Estimate

Your time estimate in hours for the Project. Please do not put here Prices!
Please list the estimated timeline by milestones and releases of your project.

The above-mentioned project plan will be implemented by a team of two students working on the project approximately 30-35% of their time.

Known Limitations

Will everything work as expected to solve the original problem?

The proposed application does not yet guarantee the security of the full path for an image to travel from the camera into the blockchain. In particular it does not address the security requirements for endpoint devices on which pictures are to be taken. These considerations should be addressed after the utility for image storage is demonstrated. Obviously, the proposed application also does not guarantee the authenticity of images taken by endpoint devices, e.g., it cannot ensure the authenticity of a document the picture of which is taken.

Outlook

What happens after this project is completed?

After all the steps of the project plan are completed and the changes are implemented in a running prototype that is hosted on a cloud service provider, the security of the full data path can be addressed to work out necessary steps for securing the full path from the camera to the hyperchain.
Afterwards, appropriate mechanisms for populating the app and building the respective community (or communities) will be considered.

Do you plan to populate your project? (For example creating a micro-web-page, social media updates, blog-posts, video-materials.)

The project results will be presented at suitable academic and technical venues.

Publishment

Please confirm that your research and development will be published free of any proprietary license (open-source, open-access). Please provide a link to the GitHub repository of your open source project.

The application as well as the code for reproduction of experimental results will be available as open source.

Maintainance

Please confirm that your research and development code will be maintained with bug fixing and new updates free of charge for at least one year after publishing it.

The applications will be maintained for one year after their publishment.

2 Likes