LogoLogo
LogoLogo
  • Intro
    • Welcome
    • The Benefits of BSV Blockchain
    • What Can I Do?
    • Overview of GitHub repositories
    • Quick Start
  • Protocol
    • Introduction
    • BSV Blockchain
      • Blocks
      • Transactions
      • Proof of Work
      • Capabilities
      • Economic Model of Governance
      • Digital Asset Recovery
    • Network Policies
      • High-Level Architecture
      • Mining
      • Standard and Local Policies
      • Consensus Rules
      • Local Policies
    • Node Operations
      • Node Software
      • Bitcoin Server Network (BSN)
      • ChainTracker
      • Transaction Validation
      • UTXO Storage
      • Mempool
      • Block Assembler
      • Block Validation
      • Mining Software
      • Pruning transactions
      • Responsibilities of a Node
    • SPV Wallets, Overlays and SPV Processes
      • Simplified Payment Verification (SPV)
      • Instant Payments
      • Integrity Checks
      • SPV Wallets & Overlays
    • Transaction Lifecycle
      • Transaction Inputs and Outputs
      • Script
      • Transaction Flow
      • Constructing a transaction
      • Sequence Number and Time Locking
      • Transaction Templates
      • Transaction Processing
      • Opcodes used in Script
    • Privacy
      • Keys and Identity
      • Private vs Anonymous
      • Digital Signatures
      • Privacy on the Public Blockchain
  • Network Access Rules
    • Rules
      • Table of Contents
      • Background to the Rules
      • PART I - MASTER RULES
      • PART II - GENERAL RULES
      • PART III - ENFORCEMENT RULES
      • PART IV - DISPUTE RESOLUTION RULES
      • PART V - INTERPRETIVE RULES
    • FAQs
      • Miners
      • Professionals
      • Users
  • Important Concepts
    • High Level
      • Web3
      • Timestamping
      • SPV
      • UTXO vs Account Based
      • Linked Keys
      • Smart Contracts
    • Details
      • Hash Functions
      • Merkle Trees
      • Sighash Flags
      • Script
      • SPV
        • Deep Dive
        • Payments Flow
        • Data Models
        • Broadcasting
  • Network Topology
    • Mandala Upgrade
    • Nodes
      • SV Node
        • Architecture
        • System Requirements
        • Installation
          • SV Node
            • Configuration
            • AWS Volumes Setup
            • DDOS Mitigation
            • Docker
            • Genesis Settings
            • GetMiningCandidate
            • GKE
            • Network Environments
              • Regtest
              • STN
              • Testnet
        • Alert System
          • Alert Messages
          • Running the Alert System
            • Startup Script
          • Webhooks
        • RPC Interface
          • RPC Methods
        • Frequently Asked Questions
          • Blocks
          • Initial Block Download
          • Transactions
          • Log File Warnings
          • Safe Mode
          • Bug Bounty
        • Chronicle Release
      • Teranode
    • Overlay Services
      • Overlay Example
    • SPV Wallet
      • Quickstart
      • Key Concepts
      • AWS Deployment
        • Installation
        • Manage & Maintain
        • Update
        • Delete
      • Components
        • SPV Wallet Server
        • Storage
        • Web Admin
        • Block Headers Service
        • Web App & API
      • Who is it for?
      • Functionality & Roadmap
      • Contribute
      • Developers Guide
        • SPV Wallet
          • Authentication
          • Configuration
          • Notification
        • Go Client
          • Authentication
        • JS Client
          • Authentication
        • Admin
        • Keygen
        • Block Headers Service
          • Authentication
          • Configuration
      • Additional Components
  • paymail
    • Overview
    • BRFC Specifications
      • Specification Documents
      • BRFC ID Assignment
    • Service Discovery
      • Host Discovery
      • Capability Discovery
    • Public Key Infrastructure
    • Payment Addressing
      • Basic Address Resolution
      • Sender Validation
      • Receiver Approvals
      • PayTo Protocol Prefix
    • Verify Public Key Owner
    • Recommendations
  • Guides
    • Local Blockchain Stack
      • Mockchain Stack
    • Business Use Cases
      • Creating a Tranche of Event Tickets
    • SDKs
      • Concepts
        • BEEF
        • Fees
        • SPV
        • Transactions
        • Op Codes
        • Script Templates
        • Signatures
        • Verification
      • TypeScript
        • Node, CommonJS
        • React
        • Low Level
          • Verification
          • ECDH
          • Numbers & Points
          • Signatures
          • 42
          • ECDSA
          • Hmacs
          • Keys
          • Scripts
        • Examples
          • Creating a Simple Transaction
          • Verifying a BEEF Structure
          • Creating Transactions with Inputs, Outputs and Templates
          • Creating the R-puzzle Script Template
          • Message Encryption and Decryption
          • Message Signing
          • Building a Custom Transaction Broadcast Client
          • Verifying Spends with Script Intrepreter
          • BIP32 Key Derivation with HD Wallets
          • Using Type 42 Key Derivation for Bitcoin Wallet Management
          • Creating a Custom Transaction Fee Model
          • Building a Pulse Block Headers Client
          • Using ECIES Encryption
      • Go
        • Examples
          • Simple Tx
          • Keys
          • Encryption
          • Broadcasting
          • Inscribing
          • Data Markers
          • Linked Keys
          • ECIES
          • Fees
          • HD Keys
          • Headers
          • Secure Messages
          • Merkle Path Verification
      • Python
        • Examples
          • Simple Tx
          • Verifying BEEF
          • Complex Tx
          • Script Templates
          • Encryption
          • Message Signing
          • Building A Custom Broadcaster
          • HD Wallets
          • Linked Keys
          • Fees
          • Merkle Path Verification
          • ECIES
  • BSV Academy
    • Getting Started
    • BSV Basics: Protocol and Design
      • Introduction
        • Bit-Coin
      • The BSV Ledger
        • The Ledger
        • Triple Entry Accounting
        • Example
      • Coins and Transactions
        • Coins
        • Transactions
        • Transaction Fees
      • Theory
      • Conclusion
    • BSV Enterprise
      • Introduction
      • About BSV Blockchain
        • Introduction
        • Safe, Instant Transactions at a Predictably Low Cost
          • Reliably Low Fees
          • Comparison to Legacy Transaction Systems
          • Payment Channels
        • Scalability to Accommodate Global Demand
          • Big Blocks Show Big Potential
        • A Plan for Regulatory Acceptance
          • Ready-made Compliance
          • The Open BSV License
        • Protocol Stability
          • Building Foundations on a Bedrock of Stone
      • Technical Details
        • The Network
          • The Small World Network
          • Robust In Its Unstructured Simplicity
        • The Bitcoin SV Node Client
          • Teranode - The Future of BSV
        • The Protocol - Simple, Robust and Unbounded
          • What is the BSV Protocol?
        • Proof of Work
          • The Algorithm
          • Efficiency of Proof of Work
        • Privacy and Identity
        • Permissions and Privacy
      • Resources and Tools
        • The Technical Standards Comittee
          • TSC Principles
          • Standard Development Process
          • Status of Current and In-progress Standards
        • The Working Blockchain
          • Pruning to Create a Working Blockchain
          • Building a Working Blockchain from a List of Block Headers
          • A World View Backed by Proof of Work
    • Hash Functions
      • What are Hash Functions?
        • The Differences Between Hashing and Encryption
        • The Three Important Properties of Hash Functions
        • The Hash Functions Found in BSV
      • Base58 and Base58Check
        • What is Base58 and Why Does Bitcoin use it?
        • What is Base58 and How Does BSV use it?
      • SHA256
        • BSV Transactions and SHA-256
        • BSV Blocks and SHA-256
        • Proof-of-Work and HASH-256
      • Walkthrough Implementation of SHA-256 in Golang
        • Overview of SHA-256
        • SHA-256 Input and Processing
        • SHA-256 Compression
        • SHA-256 Final Value Construction and Output
      • RIPEMD-160
        • BSV Addresses & WIFs
      • Walkthrough Implementation of RIPEMD-160 in Golang
        • Overview of RIPEMD-160
        • RIPEMD-160 Input and Processing
        • RIPEMD-160 Compression
        • RIPEMD-160 Final Value Construction and Output
      • Doubla Hashing and BSV's Security
        • Why is Double Hashing Used in BSV
        • Hash Functions and BSV's Security Model
    • Merkle Trees
      • The Merkle Tree
        • What is a Merkle Tree?
        • Why use a Merkle Tree?
        • Merkle Trees in Action
      • Merkles Trees in BSV
        • The Data Elements
        • Transaction Merkle Trees
        • Transaction Merkle Trees in Action
      • Merkle Trees and the Block Header
        • What is the Block Header
        • The Hash Puzzle
        • Proof-of-Work in Action
      • Merkle trees and Verifying Proof of Work
        • Broadcasting the Block
        • The Coinbase Transaction
        • Data Integrity of the Block
        • Saving Disk Space
      • Standarised Merkle Proof
        • What is a Merkle Proof?
        • The BSV Unified Merkle Path (BUMP) Standard
        • Simple and Composite Proofs
      • Merkle Trees and Simplified Payment Verification
        • SPV
        • Offline Payments
    • Digital Signatures
      • What are Digital Signatures
        • Background
        • Introduction
        • Digital Signatures Protocol
        • Properties of Digital Signatures
      • ECDSA Prerequisites
        • Disclaimer
        • Modular Arithmetic
        • Groups, Rings and Finite Fields
        • Discrete Logarithm Problem
        • Elliptic Curve Cryptography (ECC)
        • Discrete Logarithm Problem with Elliptic Curves
      • ECDSA
        • Introduction
        • ECDSA
        • Further Discussion
      • BSV and Digital Signatures
        • Introduction
        • BSV Transaction
        • ECDSA (secp256k1) for BSV Transaction
        • Summary
        • Signed Messages
        • Miner Identification and Digital Signatures
    • BSV Theory
      • Abstract
        • Peer-to-Peer Cash
        • Digital Signatures and Trusted Third Parties
        • Peer-to-Peer Network
        • Timechain and Proof-of-Work
        • CPU Power
        • Cooperation in the Network
        • Network Structure
        • Messaging Between Nodes
      • Introduction
        • Commerce on the Internet
        • Non Reversible Transactions
        • Privacy in Commerce
        • The Paradigm of Fraud Acceptance
        • What is Needed...
        • Protecting Sellers From Fraud
        • Proposed Solution
        • Security and Honesty
      • Transactions
        • Electronic Coins
        • Spending a Coin
        • Payee Verification
        • Existing Solutions
        • First Seen Rule
        • Broadcasting Transactions
        • Achieving Consensus
        • Proof of Acceptance
      • Timestamp Server
        • Timestamped Hashes
        • A Chain of Timestamped Hashes
      • Proof of Work
        • Hashcash
        • Scanning Random Space
        • Nonce
        • Immutable Work
        • Chain Effort
        • One CPU, One Vote
        • The Majority Decision
        • The Honest Chain
        • Attacking the Longest Chain
        • Controlling the Block Discovery Rate
      • Network
        • Running the Network
        • The Longest Chain
        • Simultaneous Blocks
        • Breaking the Tie
        • Missed Messages
      • Incentive
        • The Coinbase Transaction
        • Coin Distribution
        • Mining Analogy
        • Transaction Fees
        • The End of Inflation
        • Encouraging Honesty
        • The Attacker's Dilemma
      • Reclaiming Disk Space
        • Spent Transactions
        • The Merkle Tree
        • Compacting Blocks
        • Block Headers
      • Simplified Payment Verification
        • Full Network Nodes
        • Merkle Branches
        • Transaction Acceptance
        • Verification During Attack Situations
        • Maintaining an Attack
        • Invalid Block Relay System
        • Businesses Running Nodes
      • Combining and Splitting Value
        • Dynamically Sized Coins
        • Inputs and Outputs
        • A Typical Example
        • Fan Out
      • Privacy
        • Traditional Models
        • Privacy in Bitcoin
        • Public Records
        • Stock Exchange Comparison
        • Key Re-Use
        • Privacy - Assessment 2
        • Linking Inputs
        • Linking the Owner
      • Calculations
        • Attacking the Chain
        • Things the Attacker Cannot Achieve
        • The Only Thing an Attacker Can Achieve
        • The Binomial Random Walk
        • The Gambler's Ruin
        • Exponential Odds
        • Waiting For Confirmation
        • Attack Via Proof of Work
        • Vanishing Probabilities
      • Conclusion
        • Conclusion Explained
    • Introduction to Bitcoin Script
      • Chapter 1: About Bitcoin Script
        • 01 - Introduction
        • 02 - FORTH: A Precursor to Bitcoin Script
        • 03 - From FORTH to Bitcoin Script
        • 04 - Bitcoin's Transaction Protocol
        • 05 - Transaction Breakdown
        • 06 - nLockTime
        • 07 - The Script Evaluator
      • Chapter 2: Basic Script Syntax
        • 01 - Introduction
        • 02 - Rules Around Data and Scripting Grammar
        • 03 - The Stacks
      • Chapter 3: The Opcodes
        • 01 - Introduction
        • 02 - Constant Value and PUSHDATA Opcodes
        • 03 - IF Loops
        • 04 - OP_NOP, OP_VERIFY and its Derivatives
        • 05 - OP_RETURN
        • 06 - Stack Operations
        • 07 - Data transformation
        • 08 - Stack Data Queries
        • 09 - Bitwise transformations and Arithmetic
        • 10 - Cryptographic Functions
        • 11 - Disabled and Removed Opcodes
      • Chapter 4: Simple Scripts
        • 01 - Introduction
        • 01 - Pay to Public Key (P2PK)
        • 02 - Pay to Hash Puzzle
        • 03 - Pay to Public Key Hash (P2PKH)
        • 04 - Pay to MultiSig (P2MS)
        • 05 - Pay to MultiSignature Hash (P2MSH)
        • 06 - R-Puzzles
      • Chapter 5: OP_PUSH_TX
        • 01 - Turing Machines
        • 02 - Elliptic Curve Signatures in Bitcoin
        • 03 - OP_PUSH_TX
        • 04 - Signing and Checking the Pre-Image
        • 05 - nVersion
        • 06 - hashPrevouts
        • 07 - hashSequence
        • 08 - Outpoint
        • 09 - scriptLen and scriptPubKey
        • 10 - value
        • 11 - nSequence
        • 12 - hashOutputs
        • 13 - nLocktime
        • 14 - SIGHASH flags
      • Chapter 6: Conclusion
        • Conclusion
    • BSV Infrastructure
      • The Instructions
        • The Whitepaper
        • Steps to Run the Network
        • Step 1
        • Step 2
        • Step 3
        • Step 4
        • Step 5
        • Step 6
      • Rules and their Enforcement
        • Introduction
        • Consensus Rules
        • Block Consensus Rules
        • Transaction Consensus Rules
        • Script Language Rules
        • Standard Local Policies
      • Transactions, Payment Channels and Mempools
      • Block Assembly
      • The Small World Network
        • The Decentralisation of Power
        • Incentive Driven Behaviour
        • Lightspeed Propagation of Transactions
        • Ensuring Rapid Receipt and Propagation of New Blocks
        • Hardware Developments to Meet User Demand
        • Novel Service Delivery Methods
        • MinerID
      • Conclusion
  • Research and Development
    • BRCs
    • Technical Standards
  • Support & Contribution
    • Join Our Discord
    • GitHub
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. Protocol
  2. BSV Blockchain

Capabilities

A summary of the key features of the BSV Blockchain

PreviousProof of WorkNextEconomic Model of Governance

Last updated 10 months ago

Was this helpful?

The salient properties of BSV Blockchain that make it a transformative innovation are :

  • Immutability - BSV blockchain is an immutable ledger of transactions and data, with each block timestamped. In mathematical terms, blockchain records permanent evidence that an event ‘e’ occurred at time ‘t’. Blockchain relies on two concepts to achieve immutability: a distributed timestamp server, and proof of work. Distributed timestamp server hashes the transactions of the block and associates it in the block header along with a UNIX time value of the formation of the block. This hash is unique to the block, and since it is generated from the contents of the block, changing the contents would invalidate the hash stored in the block header at the time of block creation. Generation of this hash requires miners to invest in cap-ex and spend considerable op-ex in recurring electricity bills. For a miner to prove that the block was mined by it, it needs to exhibit proof of work, which is easily verifiable by other miners in the network. Proof of work is a form of cryptographic challenge or puzzle, which requires extremely high hashpower (compute resources) to solve and, at the same time, very easy to verify once a solution is available. As the name suggests, it proves to the network that the miners have spent a significant amount of computational efforts

  • Distributed - For consumers and businesses a node network is a distributed network. The protocol mandates for each node to agree and have an identical copy of the blockchain. Each node executes an identical set of immutable rules i.e. programmed as part of node software. This provides resiliency to the network, as there can never be a single point of failure for end users. It also adds an element of trustlessness to the network, as end users do not have to trust a single node for validating the integrity of transactions. Lastly, it makes the system economical for end users, specifically for businesses. They would be charged a fee for each transaction, which in turn could be negotiated as miners compete amongst each other to get more and more transactions. The nodes within themselves are hyper-connected, and as the network matures, the network topology between the nodes will emerge as a small-world or mandala network.

  • Privacy and Accountability - Bitcoin protocol handles privacy by separating the identities of the two parties transacting on the transactions. For transferring funds, the sender needs to sign the ownership of the coins using a private key (without revealing it), and in the same transaction, the receiver's public key is associated with the transferred coins. This provides pseudonymity to the users while the ledger remains transparent and auditable. Additionally, the immutability of the ledger implies accountability. As the transactions in the block cannot be erased or changed, it stores the digital footprints of individuals and businesses forever, bringing in accountability. Any illegal or criminal activities done using bitcoin can be easily traced via the immutable evidence trail and hence subject to action by the law enforcement system.

  • Security - Like many existing systems, security is both the responsibility of users and the protocol. For individuals and businesses, there are recommended best practices to be followed which are outside the scope of this topic. From the protocol perspective, the protocol implements the philosophy of economic security. There are multiple facets to it:

    1. The keys that provide access to ledger databases are not stored in the blockchain itself and are distributed across diverse systems, making it uneconomic for any adversary to attack such system. This is unlike existing systems, in which sensitive information such as credit card details are stored in a single database, which makes it susceptible to hacking.

    2. The integrity of the transaction, specifically double spend, is the responsibility of the miners and protocol mandates that not only the miner who mines the block validates it but also the majority of nodes perform the same validation before the block is accepted as valid.

    3. Finally, the aspect of economics is incentives tied to the Proof of Work. It takes a huge investment, in terms of hash power, from nodes to mine blocks and keep running their business profitably. The protocol mandates nodes abide by the same set of immutable rules to form a consensus. If a node decides to waste hash power in attempting to get an invalid transaction accepted in the block, they limit their revenue-generating ability, as other nodes will not accept the block. If any node decides to overwrite the transaction in the blockchain, the protocol requires it to build a new proof of work chain and outpace the constantly lengthening chain-tip of their blocks to be considered as valid. This makes it computationally impractical to change or erase transactions captured in a block

  • Federated Network Consensus - The Byzantine Generals Problem deals with establishing consensus among nodes in distributed computing, such that the reliability of the system remains intact. The consensus mechanism used in the protocol is “one CPU, one vote”, which implies the percentage of voting share for the miner in the network, depends upon the number of CPUs that the miner has and utilises continuously. In terms of the Byzantine Generals problem, where each node or miner is a General, the vote share is directly proportional to the strength of the army, i.e. the number of CPUs a miner has invested in and utilises to solve the puzzle to compete with other miners. This investment, referred to as "having skin in the game" in layman terms, ensures the honesty of miners towards the network and they act to keep their incentive intact, effectively providing an economic solution for the Byzantine Generals problem.

  • Scalability - With respect to the scalability of blockchain, enterprise product design needs to be cognizant of two facets - block size and individual transaction size:

    1. Block size - In 2020, BSV Blockchain's main network processed a 340 MB block containing over a million transactions which was quickly followed by 369MB containing 1.3M transactions. By 2023, the largest block that the network has processed went up to 4 GB, and additional days showed more than 50 million transactions processed in a single day with the network. The main network comfortably handles 2.800 transactions per second, and the scaling test network has handled a peak load of 6.000 transactions per second. Currently, work is underway to re-architect the node software from monolith to a modular/microservice design for further scaling. The aim is to achieve a much higher throughput starting with the immediate goal of 1 million transactiosn per second, making it the most scalable blockchain today. One of the pivotal consequences of allowing big blocks is that it reduces the transaction fees for the miners and in turn. This makes BSV the only blockchain that supports micropayments.

    2. Individual Transaction size - The protocol also offers scalability on the transaction level where it uses a native language called Script for supporting various contract types between entities exchanging value in the transaction. These scripts present in transactions contain not just payment information (digital signatures, value etc.) but can also contain data. There is no limit imposed in the protocol on the number of inputs or outputs, and each script can have up to a maximum of 4.2 GB of data items. This allows Bitcoin transactions to work as payment and data transactions, using the bitcoin ledger to become a real data ledger.

  • Peer-to-peer exchange - There are 2 important features of the protocol which enable peer-to-peer transactions between non-trusted parties. One is Simplified Payment Verification (SPV), and the other is a Payment channel for input in a transaction. Notably, both these features enhance scalability and cost-effectiveness for an enterprise using the bitcoin protocol. SPV allows blockchain users to run a minimalistic infrastructure focused on the transactions they generated, making the cost of their operations to run a blockchain almost negligible. Payment Channels are mechanisms that allow for building a series of interconnected transactions (almost like a sub-ledger) while only a single transaction is recorded on the blockchain. These interconnected transactions at any point can become this one transaction depending on the business use case. As well as the provision of throughput capacity, the blockchain also processes transactions for minimal fees, consistently less than a hundredth of a US cent.

With a stable base protocol and technical plumbing in place, this innovation has the potential to power the emergence of new data business models in a variety of industries such as Healthcare, eSports, supply change management, the Internet of Things, Big data applications, remittance, distributed network intelligence, privatised identity system and many more.

Built on the foundation of scalability, stability, security, and instant transactions, the BSV blockchain promises to be the right choice for enterprises. It revolutionises the existing business models by providing micropayment capabilities. It also safeguards enterprises by providing them with data integrity and fraud detection capabilities. Being a public ledger, it introduces transparency in accounting and bookkeeping. Providing a platform for micropayments (one of its core capabilities) enables an alternative for the data economy to evolve beyond the current advertising-based Internet model. The technology itself is still nascent, and much work is being done to innovate with the unique capabilities that a blockchain provides.

BSV Blockchain Network Statistics available
here