ProofOfWork

module
v0.0.0-...-b26b859 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2024 License: GPL-3.0

README

ProofOfWork

Proof of work (PoW) is a decentralized consensus mechanism that requires network members to expend effort in solving an encryption puzzle

graph TD;
    subgraph Blockchain Network
    Client[Client]
    Node1[Node A]
    Node2[Node B]
    Node3[Node C]
    Node4[Node D]
    end

    Database[Shared Database]

    Client --"Submit new transaction"--> Node1
    Node1 --"Broadcast transaction"--> Node2
    Node2 --"Broadcast transaction"--> Node3
    Node3 --"Broadcast transaction"--> Node4

    Node1 --"Propose new block"--> Miner[Miner Node]
    Node2 --"Propose new block"--> Miner
    Node3 --"Propose new block"--> Miner
    Node4 --"Propose new block"--> Miner

    Miner --"Performs PoW to validate block"--> ValidatedBlock
    ValidatedBlock --"Add to blockchain"--> Database

    Database --"Update all nodes"--> Node1
    Database --"Update all nodes"--> Node2
    Database --"Update all nodes"--> Node3
    Database --"Update all nodes"--> Node4

    style Client fill:#f9f,stroke:#333,stroke-width:2px
    style Node1 fill:#ccf,stroke:#333,stroke-width:2px
    style Node2 fill:#ccf,stroke:#333,stroke-width:2px
    style Node3 fill:#ccf,stroke:#333,stroke-width:2px
    style Node4 fill:#ccf,stroke:#333,stroke-width:2px
    style Miner fill:#fc6,stroke:#333,stroke-width:4px
    style ValidatedBlock fill:#9f6,stroke:#333,stroke-width:2px
    style Database fill:#f96,stroke:#333,stroke-width:2px

Proof of Work (PoW) System Overview

Overview

This document provides a high-level overview of a blockchain network utilizing the Proof of Work (PoW) consensus mechanism. The following sections detail the main components of the system, their roles, and interactions.

System Overview

The blockchain network described herein involves multiple interacting components that ensure secure and reliable transaction processing and block validation through PoW.

Components
Clients
  • Description: Users or external systems that initiate transactions within the blockchain network.
  • Interactions:
    • Submit new transactions to various nodes in the network.
Nodes (A, B, C, D)
  • Description: These are the active entities within the blockchain that receive, validate, and propagate transactions and blocks.
  • Interactions:
    • Validate and broadcast transactions to ensure network consensus.
    • Propose and validate new blocks to be added to the blockchain.
Miner Node
  • Description: A specialized node responsible for the computational work needed to confirm blocks (Proof of Work).
  • Interactions:
    • Conducts the Proof of Work for new blocks.
    • Validates and adds confirmed blocks to the blockchain.
Validated Block
  • Description: A representation of successfully validated blocks through PoW.
  • Interactions:
    • Added to the blockchain and propagated across all nodes.
Shared Database
  • Description: A metaphorical representation of the blockchain itself, which is a distributed ledger shared across all nodes.
  • Interactions:
    • Receives updates when new blocks are validated and ensures all nodes have the latest and consistent version of the blockchain.
Diagram

The system interactions are depicted in the diagram included at the beginning of this document. This diagram provides a visual representation of how each component interacts within the network.

Transactions
  • Broadcast Transaction: Ensures all nodes in the network have the same data by propagating transactions across the network.
  • Update All Nodes: After a new block is successfully added, the blockchain updates all nodes to reflect the new state, ensuring consistency and reliability.

Additional Information

For more detailed implementation details, including security enhancements, transaction validation logic, and network protocols, please refer to the supplementary technical documents and code repositories linked below.

Directories

Path Synopsis
pkg
pow

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL