How the Network Runs

Mining, Validation, Consensus, Incentive, Reward Distribution.

Below is a step-by-step description of how the Upshot network runs:

  1. Miners join the Upshot Network, and they and their peers stake in them, revealing their confidence in their forthcoming scores and permitting the new miner to participate in the network.

  2. At epoch t, the miner privately defines its dataset D_{i,t}.

  3. The miner fits student model h_{i,t} on the dataset to predict target Y_t.

  4. The miner conditionally emits outputs of its student model h_{i,t}(D_{i,t}) to neighboring peers. These serve as commitments of the miner's predictions of a future value (e.g. "the price of ETH in 30 days"). The values it receives are also used to inform its "output model," which is a function of the miner's proprietary student model and the outputs of its peers. Additionally, the miner has an option to emit ZKML proofs alongside these predictions that anyone can use to verify that these predictions came from a consistent model.

    1. These proofs are expensive to generate and their utility varies on a per-application basis, hence their inclusion is optional by default. It may however be enforced by some subnets to require them, as some applications may find them necessary.
  5. The miner uses the outputs of its peers to fit the output model h'_{i,t}. The relationship between h' and h can either be modeled as a distillation network, or in the case of tree-based models, the student may simply leave missing values where the peer predictions would have been.

  6. Based upon either loss gradient or learned feature importances of its neighbors, the miner sets weights w_{i,j} updating the bonds b_{i,j} linking it to peers.

  7. After ground truth has been established (e.g. "predictions of ETH price committed 30 days ago"), the incentive distributed to miners is defined as the gradient of prediction loss δL_t /δf'_{i,t}.

  8. The miner distributes a share of its incentive to its peers based on the bonds b_{i,j}.