user3422981
user3422981

Reputation: 13

POA chain on parity mining transaction even when there is no consensus

Hi I am running a POA chain on parity with 3 validators . All 3 validators are sealing blocks which I have verified by getting the block details . Now the issue is that when 2 of the validators go down, the 3rd one still continues sealing which shouldn't happen according to Aura algorithm

Expected - Blocks shouldn't be mined as there is no consensus

Actual - Blocks are still getting mined

The same scenario is working with geth (i.e blocks are not getting sealed).

PFB my cli options

parity --no-discovery --mode=active --network-id=187 --chain=$home/genesis.json --base-path=$home/node_un --db-path=$home/node_un/db --ipc-path=$home/node_un/parity.ipc --ipc-apis=all --jsonrpc-apis=all --jsonrpc-port=8541 --ws-apis=all --ws-port=8551 --port=30301 --force-sealing=true --reseal-on-txs=all --jsonrpc-hosts=all --jsonrpc-interface={ip_addr} --ws-interface=all --ws-hosts=all --ws-origins=all --ws-max-connections=10000 --engine-signer={signer_address} --password={passwd_file} --gas-floor-target=100000000 --gas-cap=100000000 --tx-queue-mem-limit=1024 --tx-queue-size=20480000 --tx-queue-per-sender=100000 --reseal-max-period=2000 --reserved-peers {enode_txt} --reserved-only

PFB my genesis file

{
"name": "187",
"engine": {
    "authorityRound": {
        "params": {
            "stepDuration": "2",
            "validators" : {
                "multi": {
                "0": {
                "list": [
                    "addr1",
        "addr2"
                ]
                },
            "136300": {
            "list": [
                      "addr1",
                      "addr2"
                ]
                },
             "136455": {
             "list": [
                      "addr1",
                      "addr2",
                      "addr3"
                      ]
             }
            }

            }
        }
    }
},
"params": {
    "gasLimitBoundDivisor": "0x400",
    "maximumExtraDataSize": "0x20",
    "minGasLimit": "0x1388",
    "networkID" : "0xBB",
    "eip155Transition": 0,
    "validateChainIdTransition": 0,
    "eip140Transition": 0,
    "eip211Transition": 0,
    "eip214Transition": 0,
    "eip658Transition": 0
},
"genesis": {
    "seal": {
        "authorityRound": {
            "step": "0x0",
            "signature": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        }
    },
    "difficulty": "0x1",
    "gasLimit": "0x55D4A80"
},
"accounts": {
    "0x0000000000000000000000000000000000000001": { "balance": "1", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
    "0x0000000000000000000000000000000000000002": { "balance": "1", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
    "0x0000000000000000000000000000000000000003": { "balance": "1", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
    "0x0000000000000000000000000000000000000004": { "balance": "1", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
    "addr": { "balance": "800000000000000000000000000" }
}

}

Please let me know where I am going wrong

Parity version - v2.0.7

Upvotes: 1

Views: 500

Answers (1)

q9f
q9f

Reputation: 11824

(One of) The difference(s) between Aura (Parity) and Clique (Geth) engines is that Geth does not allow a single authority to seal blocks once the other nodes are down.

Parity Aura, however, does allow that to prevent the chain from halting. So, the behavior of your network that you experience, is expected.

Upvotes: 2

Related Questions