IPFS, Ethereum, Web3.js, Ethers.js and Dependencies: History
Please note this is an old version of this entry, which may differ significantly from the current revision.
Contributor: ,

Closed-circuit television (CCTV) cameras and black boxes are indispensable for road safety and accident management. Visible highway surveillance cameras can promote safe driving habits while discouraging moving violations. According to CCTV laws, footage captured by roadside cameras must be securely stored, and authorized persons can access it. Footages collected by CCTV and Blackbox are usually saved to the camera’s microSD card, the cloud, or hard drives locally but there are concerns about security and data integrity. These issues may be addressed by blockchain technology. The cost of storing data on the blockchain, on the other hand, is prohibitively expensive. 

  • blockchain
  • Ethereum blockchain
  • decentralized application (DApp)
  • interplanetary file system (IPFS)

1. Introduction and Background

Closed-circuit television (CCTV) camera images are a valuable source of traffic surveillance that supplements other traffic control measures. CCTV is aimed at helping in the detection and prevention of criminal activity. It can be helpful in protecting the citizens in the community. It is placed in public areas to provide evidence to appropriate law enforcement agencies. CCTV cameras can be found on busy roads, atop traffic lights, and at highway intersections. Operators detect and monitor traffic incidents using images from CCTV cameras. It may be possible to predict the duration of a traffic incident based on prior experience and traffic modeling techniques. Cameras are used to observe and monitor traffic, as well as to record traffic pattern data. Moving violation tickets are even issued using cameras.
The vehicle’s event data recorder is constantly recording information in a loop while we are driving, at least until a collision occurs. Black boxes save data collected at the time of impact, as well as 5 s before and after the event. The black boxes will record all human contact with the vehicle. The data collected helps us understand the reasons for collisions and prevent them from happening again.
CCTV footage is being used in crime investigations by police officers and insurance companies [1] all over the world. Recorded footage is typically used by investigators to locate or confirm the identity of a suspect. Real-time surveillance systems allow employees or law enforcement officials to detect and monitor any threat in real time. Then, there’s the archival footage record, which can be reviewed later if a crime or other issue is discovered. In these cases, the recorded footage must be securely deposited and kept for future use, making video storage a critical component of any video camera security system.
The vast majority of information collected by surveillance cameras and dashboard cameras is securely kept on hard drives as well as memory cards. The amount of storage on the MicroSD card of our security camera, on the other hand, is determined by the amount of activity recorded by our camera. This type of storage necessitates a large amount of storage space and exposes our data to risk if the device’s hard drive fails or is damaged. It is critical to securely store CCTV and black box footage in order for it to be available and unaltered at all times. In many cases, the introduction and popularity of IP camera cloud storage have reduced the importance of local storage to a secondary option.
Cloud systems are an extremely good tool that offers us many advantages and functionalities. Cloud storage systems, on the other hand, have flaws such as problems with data safety [2][3], centralized data storage, and the requirement for trusted third parties. Owners are reassured of the burden of maintaining local data storage, but they end up losing direct control over storage reliability and protection. Every year, large database hacks cost millions of dollars. Furthermore, because the data is kept on an external device, the owners have no power over it; if the service provider disconnects or limits access, they will not be able to access it.
Due to the centralized nature of cloud storage data, an intruder to servers is able to view and alter it. Cloud data is untrustworthy and can be altered or removed at any time. As a result, making sure data security [4] and safeguarding users’ privacy [5] are critical. Users are usually needed to cover the cost of any storage plan they select, even if they only use a portion of it.
Even the finest cloud service providers can face such a challenging problem while retaining strong maintenance standards. Centralized storage service providers occasionally fail to deliver the security service as agreed. For example, a hack on Dropbox [6] which is among the world’s largest online storage companies, did result in the leak of 68 million usernames and passwords on the dark web. Well-known cloud services have started experiencing blackouts and security breaches. The mass email deletion event of Gmail [7], Amazon S3’s latest shutdown [8], and the post-launch interruption of Apple MobileMe’s [9] are other examples.
Blockchain technology may be able to address these issues. A blockchain is made up of a cryptographic algorithm, a timestamp, and transaction information that connects it to the preceding block. As a result, every block links to the next, forming a “chain” of blocks and producing safe and immutable records. In comparison, the blockchain is not designed for the purpose of file storage. The cost of keeping data on the blockchain is exorbitantly high. Researchers can have decentralized as well as low-cost storage with the Interplanetary File System (IPFS) project [10]. Peer-to-peer networks provide greater security than centralized networks. As an outcome, they are ideal for protecting sensitive information from malicious actors.

2. Interplanetary File System

The interplanetary file system is a distributed file system protocol developed by Joan Bennett in 2015 and managed by Protocol Labs. The IPFS network consists of computers running the IPFS client software. Anyone can join the IPFS network, either as an IPFS node running the IPFS client or as a network user storing and retrieving files. Any type of file can be stored, including text, music, video, and images, which is especially useful for non-fungible tokens (NFTs). In contrast to HTTP, data in IPFS is identified by content rather than location. When researchers upload a file to IPFS, a hash of the content is generated. This hash identifies the content uniquely and can be used to retrieve the file. If researchers upload a different file, the hash will be completely different, but researchers can always recompute the file’s hash locally to ensure it matches the original IPFS hash.  Researchers selected the IPFS protocol in our proposed scheme because it is a well-known and working decentralized file storage protocol.

3. Ethereum

Ethereum [11] is, at its core, a decentralized global software platform that utilizes blockchain technology. It is most well-known for its native cryptocurrency, ether, abbreviated as ETH. Anyone can use Ethereum to start creating any protected digital technology. It has a token intended to be utilized by the blockchain network, but it may also be employed to pay participants for blockchain work. It is a platform for various DApps that can be deployed through smart contracts. An Ethereum Private Network is a blockchain that is completely separate from the main Ethereum network. The Ethereum Private Network is primarily used by organizations to limit blockchain read permissions.

4. Web3.js

Web3.js [12] is a set of libraries that allows developers to communicate with a remote or local Ethereum node via HTTP, IPC, or WebSocket. You can use this library to create websites or clients that communicate with the blockchain.

5. Ethers.js

Ethers.js [13] connects to Ethereum nodes using Alchemy, JSON-RPC, Etherscan, Infura, Metamask, or Cloudflare. Developers can use ethers. js to take advantage of full functionality for their various Ethereum needs.

6. Smart Contract

Smart contracts are programs that are implemented and stored on a blockchain when certain requirements are fulfilled. They are frequently used to automate agreement execution so that all groups have instant surety of the results even without the involvement of an additional party. They also can automate a workflow by automatically performing the next action if certain requirements are fulfilled.

7. Smart Contract Events

When a transaction is mined, smart contracts could also emit events and logs to the blockchain, which the front end can then process. Events are essential on any blockchain because they make connections between smart contracts, which are self-executing software programs that have the terms of the buyer’s and seller’s agreement straight integrated into lines of code for response with user interfaces. To use a smart contract, a user must first manually sign a transaction and interact with the blockchain. This is where automation can help users by simplifying things. Event-driven automation initiates processes without requiring human intervention. An automation tool can start a predefined process or workflow of smart contracts after detecting an event.

8. Decentralized Applications (DApp)

A decentralized application [14] is an application that can run autonomously, typically using smart contracts and running on a decentralized computing, blockchain, or other distributed ledger system. DApps, like traditional applications, provide some function or utility to their users.

9. React.js

React.js [15], also known as simply React, is a free and open-source JavaScript library. It is best to create user interfaces by combining code sections (components) into complete websites. Researchers can use React as much or as little as they want. React enables developers to use separate software components across the client and server sides, which also speeds up development.

10. Dependencies

10.1. Node Package Manager (NPM)

The node package manager (NPM) is a command-line tool for installing, updating, and removing Node.js packages from our application. It also serves as a repository for open-source Node.js packages. A package manager is essentially a set of software tools that can be used by a developer to automate and standardize package management.

10.2. Node.js

Node.js is a simple programming language that can be used for prototyping and agile development, as well as to create extremely fast and scalable services.

10.3. MetaMask

MetaMask is a non-custodial Ethereum-based decentralized wallet that also lets users save, buy, send, transform, and swap crypto tokens, as well as sign transactions. Using Metamask in conjunction with Web3.js in a web interface simplifies communication with the Ethereum network.

10.4. Truffle Framework

Truffle is a set of tools that allows us to create smart contracts, write tests against them, and deploy them to blockchains. It also provides a development console and allows us to create client-side applications within our project. Truffle is the most widely used framework for creating smart contracts. It supports Solidity and Viper as smart contract languages. Truffle has three main functions: it compiles, deploys, and tests smart contracts.

This entry is adapted from the peer-reviewed paper 10.3390/electronics12071545

References

  1. Mateen, A.; Khalid, A.; Nam, S.Y. Management of Traffic Accident Videos using IPFS and Blockchain Technology. KICS Summer Conf. 2022, 1, 1366–1368.
  2. Singh, A.; Chatterjee, K. Cloud security issues and challenges: A survey. J. Netw. Comput. Appl. 2017, 79, 88–115.
  3. Shin, Y.; Koo, D.; Hur, J. A survey of secure data deduplication schemes for cloud storage systems. ACM Comput. Surv. 2017, 49, 1–38.
  4. Yinghui, Z.; Dong, Z.; Deng, R.H. Security and privacy in smart health: Efficient policy-hiding attribute-based access control. IEEE Internet Things J. 2018, 5, 2130–2145.
  5. Zhang, Y.; Chen, X.; Li, J.; Wong, D.S.; Li, H.; You, I. Ensuring attribute privacy protection and fast decryption for outsourced data security in mobile cloud computing. Inf. Sci. 2017, 379, 42–61.
  6. Dropbox. Available online: https://www.theguardian.com/technology/2016/aug/31/dropbox-hack-passwords-68m-data-breach (accessed on 17 February 2023).
  7. Arrington, M. Gmail Disaster: Reports of Mass Email Deletions. December 2006. Available online: https://techcrunch.com/2006/12/28/gmail-disaster-reportsof-mass-email-deletions/ (accessed on 17 February 2023).
  8. Amazon. Amazon s3 Availability Event: 20 July 2008. Available online: https://simonwillison.net/2008/Jul/27/aws/ (accessed on 17 February 2023).
  9. Krigsman, M. Apple’s MobileMe Experiences Post-Launch Pain. July 2008. Available online: https://www.zdnet.com/article/apples-mobileme-experiences-post-launch-pain/ (accessed on 17 February 2023).
  10. Benet, J. Ipfs-Content Addressed, Versioned, p2p File System. 2014. Available online: https://arxiv.org/abs/1407.3561 (accessed on 17 February 2023).
  11. Ethereum. Available online: https://ethereum.org/ (accessed on 17 February 2023).
  12. Web3. Available online: https://web3js.readthedocs.io/en/v1.8.0/ (accessed on 17 February 2023).
  13. Ethers. Available online: https://docs.ethers.io/v5/ (accessed on 17 February 2023).
  14. Cai, W.; Wang, Z.; Ernst, J.B.; Hong, Z.; Feng, C.; Leung, V.C.M. Decentralized Applications: The Blockchain-Empowered Software System. IEEE Access 2018, 6, 53019–53033.
  15. React. Available online: https://reactjs.org/ (accessed on 17 February 2023).
More
This entry is offline, you can click here to edit this entry!
Video Production Service