cover-img

Blockchain based Book Review Decentralised Application

Draft

20 July, 2020

Contributors

Introduction

A Book review application which allows users to post new reviews and ratings of previously read books.

Why Blockchain?

Blockchain technology allows us to satisfy both authenticity and integrity of book reviews:
Authenticity: Reviews posted can be verified that it came from the corresponding reviewer.
Integrity: Reviews posted onto the site cannot be tampered with by a third party
We can achieve these two features using public-private key cryptology on the blockchain platform, coupled with blockchain technology we can ensure immutability via our proof of work mechanism.

Overview

The application separates miner nodes from client nodes and each have overlapping and distinct functionalities of their own.
Client Nodes
Client Nodes have user interfaces which allow clients to post new book reviews, check the book reviews on the platform, and check all the books that are in the client library. Client nodes receive input from users and sends the reviews onto Miners to be added into the blockchain.
Miner Nodes
Miner Nodes do not have interfaces, however, we are able to check the number of transactions that a miner has processed and the total transaction fees accumulated over each block produced. Miners receive new reviews (transactions) from Client Nodes and stores them into a local transaction pool. When transaction pools are not empty, they add new transactions into their block and attempt to solve the block with ProofOfWork.

Workflow

Lifecycle of a new book review
New users use their address as their public key, and usernames as their private key.
Client Node Workflow
User submits a new book review
Client Node adds a bookId to the new book review by checking a local book database - this is shared with all other Client nodes via HeartBeats.
Client Node creates a stamp using the private key (username) of the user, and adds it into the new ReviewData.
Client Node then hashes the new ReviewData - Hash(ReviewData) to obtain a Signature.
Client sends a) Signature b) ReviewDataJson, to all Miners in its Peerlist
Miners workflow:
Masa Ueda

Seattle, WA, USA

Software Engineer @ AWS App Sync. Everyday is Day One. Always excited about all things DevOps and BigData.

More Articles

Showwcase is a professional tech network with over 0 users from over 150 countries. We assist tech professionals in showcasing their unique skills through dedicated profiles and connect them with top global companies for career opportunities.

© Copyright 2025. Showcase Creators Inc. All rights reserved.