# 'Proof-of-Process' Transaction Validation

_To protect 'first-to-market' advantage of the proprietary Bitcoin Spark system, only conceptual information will be provided here. Full details of functionality will be released towards launch date to avoid 'fast forks' of our work._

Proof-of-Process is a consensus mechanism blend between 'proof-of-work' and 'proof-of-stake.'\
\
This proprietary system rewards miners/validators for confirming blocks on the network and for providing processing power to those using the network for computational tasks. The work required and power consumption for block confirmation is relatively low.&#x20;

This reward is calculated algorithmically, with weighting skewed towards processing power (the 'work' aspect of consensus), and both rewards per additional power and rewards per larger stake size decrease exponentially to ensure no single entity can capture network control.

A rewards calculator will be available in the Bitcoin Spark application so validators can see profitability before partaking in the network consensus.

Below represents the basic logic flow for reaching transaction finality.

<figure><img src="https://3217825125-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj9hEk9kiY8ArikdUCqnJ%2Fuploads%2F7mfSHXewFcllSCrR9RCg%2FTransaction%20Finality.png?alt=media&#x26;token=929f56d7-fe34-4164-8442-d1f145fae78d" alt=""><figcaption></figcaption></figure>

The Bitcoin Spark network is divided loosely into four layers that work in a cyclical system:

1. Execution layer - This layer is where block creation takes place by selecting validators. This execution layer will run using the proprietary Bitcoin Spark validator selection algorithm that does not automatically assign a validator based on transaction size. The execution layer itself will be split between two different programming language style layers that will both interact with the consensus layer.
2. Consensus layer - This layer creates an agreement between all validators that the new block is valid before indexing the block. This consensus process is another step in securing the network from attacks.
3. 'Mining' layer - This layer runs completely separately from other layers, facilitating the processing power product that runs over the Bitcoin Spark network.
4. Rewards layer - This layer reads the mining layer and allocates rewards on the execution layer for miners. The rewards layer only reads computational data summaries and has no access to the encrypted data being moved within the Bitcoin Spark product.

These layers have multiple stacks of functionality within them, but are summarized as above for main layer behavior representation.

These layers all run within the Bitcoin Spark application as separate application services, as opposed to being distinct software.
