Getting Started

Introduction

BPX is a new generation Ethereum-compatible blockchain based upon an innovative consensus algorithm, Proof of Space and Time known from the Chia Network. Proof of Space is a cryptographic technique where farmers prove that they allocate unused hard disk space to the network. Proof of Time increases the overall security of the blockchain.

Compared to Proof of Work blockchains, BPX provides the same level of security and decentralization, with a fractional power consumption. Compared to Proof of Stake blockchains, BPX is censhorship resistant and does not suffer from the problem of “the rich get richer”.

BPX uses hard disk drives to generate new blocks. BPX supports Chia K-32 plots and can be farmed with other Proof of Space and Time cryptocurrencies at the same time.

BPX is fully compatible with Ethereum Virtual Machine. Developers can build smart contracts and dApps in Solidity language and all existing solutions can be migrated to the BPX network without any changes in source code.

BPX provides a standard Web3 RPC API, so it works out of the box with all popular wallets (e.g. Metamask, Trust Wallet) and development tools (e.g. Remix IDE, Web3.js).

BPX provides standard interface for fungible and non-fungible tokens, compatible with the appropriate interfaces in other blockchains (e.g. ERC-20, TRC-20, BEP-20).

The BPX cryptocurrency is used to pay blockchain fees and rewarding farmers involved in securing the network.

Beacon and Execution Chain

BPX consists of two separate blockchains called Beacon Chain and Execution Chain. Both are responsible for different tasks, have a different block structure and produce blocks at different time intervals, so the peak height of Beacon Chain will be completely different than Execution Chain.

Some Beacon Chain blocks (called transactional blocks) contain the so-called "execution payload", i.e. data that allows local reconstruction of the full execution chain block.

beacon-execution-chain.png

Both blockchains require separate client applications, called Beacon Client and Execution Client respectively.

Synchronization with Execution Chain without synchronization with Beacon Chain is not possible because Execution Chain does not have any built-in consensus algorithm but relies on data received from Beacon Chain.

Synchronization with Beacon Chain without synchronization with Execution Chain is not possible because execution payloads in some beacon blocks must be validated by the execution client.

Such a mechanism naturally forces following both chains by each BPX full node.

Beacon Chain

Beacon Chain manages the Proof of Space and Time consensus. The beacon chain blocks contain proofs of space, VDF outputs, addresses to which the block reward should be paid, and execution payloads that allow you to recreate the full execution block locally.

Execution Chain

Execution Chain is an EVM compatible chain. Execution blocks contains user transactions, smart contracts and logs.

BPX vs Ethereum

If you are familiar with how Ethereum works, the following tips will help you better understand the BPX.

  1. BPX Execution Chain works exactly the same way as Ethereum's Execution Chain.
  2. BPX Execution Client is a Go-ethereum (geth) fork with no other changes except genesis block, bootnodes, DNS keys.
  3. BPX does not make any changes to the Ethereum protocol, APIs, structure of blocks and transactions, etc.
  4. All wallets, developer tools, applications dedicated for Ethereum that support custom chainId should work with BPX out of the box
  5. All smart contracts written in Solidity deployed on BPX network, should work without any changes in the source code
  6. BPX Beacon Chain and Beacon Client is completely different from Ethereum, but uses the same Engine API as Ethereum.
  7. Withdrawals introduced by the Shanghai hard fork are used in BPX to pay out block rewards, so block reward is not a transaction

BPX vs Chia

If you are familiar with how Chia works, the following tips will help you better understand the BPX.

  1. BPX Beacon Client is a fork of Chia reference client, but very heavily modified. The entire BPX project is not a Chia fork.
  2. Most of Beacon Client commands, APIs and graphical interfaces are identical or very similar to those known from Chia.
  3. Beacon Client is used only to provide consensus updates for the EVM execution chain working in parallel and cannot run properly without the Execution Client.
  4. Beacon Client does not process any transactions, therefore it does not have a built-in wallet, it does not display any information about the amount of farmed coins, etc. All these informations are processed by the Execution Chain.
  5. BPX does not include a coin set model or CLVM.
  6. Processes and modules that were called full_node in Chia are called beacon in BPX.