Oracle

Oracle keeps a record of the nodes in the network, credits owned by the quorums and the next token to be mined. It also performs integrity check every few seconds to ensure that all the nodes getting registered in the network get a chance to become a member of the quorum.

Oracle’s role in maintaining synchronised network:

Whenever a node joins the network, an entry is made into the records of the Oracle and from there it goes to every other node. Any node in the network can fetch the IDs of other nodes in the network from the oracle server. This ensures that nodes are in sync with one another.

Oracle’s role in the mining process:

Every level has certain number of tokens to be mined and this information is available with an Oracle. A node spends its proof credits to mine a token. Credits required to mine a token doubles with increase in the level. For example, if 32 credits are required to mine a token in level 3, then 64 credits are needed in level 4. Oracle’s responsibility is to let the node know on which level the next token to be mined is so that credits to be deducted can be calculated. It provides the token to be mined and updates the database to the next token number to ensure that no two tokens with the same number are mined. It is also responsible for deducting the proof credits of the node after mining.

Oracle’s role in the validation process:

Oracle assigns a quorum of 21 validators during the transaction process and is also responsible for freeing up the validators after the transaction completes. In case of a successful transaction, it is responsible for providing one proof credit to each validator.