> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

# About MultiChain

> Learn about MultiChain, a Bitcoin Core fork designed for permissioned consortium blockchains with round-robin consensus. Now deprecated on Chainstack.

<Warning>
  ### Deprecation notice

  Consortium networks have been deprecated. This guide is for historical reference.
</Warning>

MultiChain is a fork of Bitcoin Core.

MultiChain is a permissioned consortium blockchain protocol.

## Consensus

MultiChain achieves consensus by validating blocks in a round-robin scheme with a `mining-diversity` parameter.

All nodes with the addresses with the `mine` permission take a turn in validating blocks in the network.

The way the `mine` nodes take turns in validating blocks is determined by the network's `mining-diversity` parameter.

The `mining-diversity` parameter can be set to any value between `0` and `1`:

* `1` — every `mine` node in the network must take a turn in block validation per round. This is the strictest setting.
* `0` — not every `mine` node must take a turn in block validation per round; any `mine` node can take turns in block validation in a random fashion. This is the loosest setting.

The round-robin scheme is the following:

* Determine the number of nodes with the `mine` permission in the network.
* Multiply the number of `mine` nodes by the `mining-diversity` value to get the value *spacing*.
* Check if the `mine` node validating the current block validated a *spacing*-1 block. If the `mine` node validated a *spacing*-1 block, render the block invalid.

The default `mining-diversity` parameter is `0.3` and cannot be changed once the chain is initialized.

Round-robin example with 10 `mine` nodes with `mining-diversity` set to `0.3`:

* 10 nodes permitted to validate blocks.
* 10×0.3=3. *spacing* is 3. *spacing*-1 is 2.
* Each `mine` node in the network can validate every third block and cannot validate two blocks in a row.

## Service nodes

A MultiChain network is deployed with the following service node:

* Explorer — a node running [MultiChain explorer](https://github.com/chainstack/multichain-explorer)
