COTI Transaction Distribution Model

COTI
COTI
Published in
7 min readMar 25, 2020

Abstract

Staking 2.0 is coming very soon. One key technological upgrade that we have implemented is a new algorithm to pick the nodes that will process a transaction and collect the fees. This document introduces COTI transaction distribution model and outlines how transactions are propagated and spread between the Full Nodes. The new model defines how the probabilistic of transactions are set within the network and introduces the metrics used and taken into account by the node manager to balance and set the fairness factors while choosing the full node that will process transactions and collect the fees.

Introduction

The COTI network uses a transparent and equitable fee model. All fees are collected by Full Nodes (decentralised servers run by users in the COTI network). Each node charges a fee that is in part determined by the node operator itself. Some nodes may set a higher fee if they believe they provide a good service; other nodes may charge less or possibly nothing. The price charged by a node for its services should be equitable, publicly available and compliant with common network rules. The network rules will also be used to define a ceiling for fees (there will be no minimum fee).

The fee collected from each transaction is sent automatically to the Node’s wallet (it is a part of COTI transaction model) and can not be redistributed. For this reason, the only way we can ensure node operators to have fair income, is to send transactions to be processed to nodes in a pseudorandom manner, and shape the probability distribution so all node operators would have fair revenue generated, proportional to their stakes, reliability, trust score and node performance.

COTI Network Transactions

In the COTI network, transactions are created according to several patterns defined by the transaction type. The most common types are payment for goods or services, remittance payments and singular transfers (wallet transfers).

In the first two cases, a transaction originator creates a payment request, and the transaction is created according to it. The transaction originator must input the Full Node address in the payment request in order to pre-select the node (a Full Node is selected by users for any wallet based transfers).

COTI provides an automated tool for Full Node selection, enabling a merchant, or any other transaction originator, to choose nodes according to a specific criteria. Full Nodes can also be run on a merchant’s own Full Node, or by using one known to the merchant.

By running a node, the node operator supplies useful resources to the network: CPU, memory, storage and network bandwidth. Usually, these resources are not free, so the node operator should be compensated. The node operator’s investments should generate a reasonable revenue. Therefore, Full Node operators receive Full Node fee collected from transactions received from user wallets. The more transactions Full Node processes, the more it earns.

Full Node operators set fees autonomously, which makes setting competitive fee structures important. If a user knows a Full Node with a better price list, it can be re-selected when sending transactions.

Distribution Model

The new distribution model takes into account several independent factors to ensure fair spread of transactions between the nodes which does not rely solely on one aspect or favor nodes only based on their stake percent.

The distribution model factors which are taking into account consist of:

  1. Reliability measurement of the node — this parameter analyzes and takes into account the reliability of the node and its performance. Node Reliability Metrics is a numeric evaluation of the node based on its work history.
  2. Amount staked — the amount staked on each node influences the amount of transactions sent to the node and the total fees it will collect. It is important to note that each node will be capped with maximum staking allowed on a given node to make sure that a fair distribution is set for every given node within the network.
  3. The TrustScore of the node — the trust score of the node reflects the trustworthiness of the node within the network and it is a measurement which is taken into account to define the weight of transaction sent to it.
  4. Transaction amount processed through the node (age) — the age of the node is an important factor as more time in the network defines the node reliability.
  5. Load balancing/PoT — Limits the ability of one node controlling the network
  6. Node Uptime — As part of defining the reliability of nodes the model measures the uptime and availability of the node.

The node manager is responsible for monitoring the node performance while other parameters are analyzed and monitored by other components in the network.

Model definition

The definition of COTI model distribution assume the following:

  1. There is a stable flow of independent transactions based on: merchants transaction, network transaction, bridge transaction and staking transaction (Poisson distribution).
  2. In the COTI network there are N Full Nodes which are available and capable of processing transactions.
  3. Nodes collect income from transactions they process and set their fees. For simplicity, we assume that the income is proportional to the number of transactions processed in the network.
  4. For a transaction originator (sender), there is no difference, which node processes the transaction other than the fees paid for the processing itself.
  5. A full node is responsible for propagating and processing transactions by providing his resources to the network.
  6. If a user tries to connect to a full node which is down or doing a restart, it can create poor user experience and should affect this node future distributions of transactions.
  7. Full nodes set the fee level for transaction, including fee percent, minimum and maximum fee.
  8. To be eligible to participate in the transaction fee distribution, full nodes have to stake deposits (either on their own or via delegating the staking to their community members).
  9. The fee distribution between full nodes should be fair, taking into account node reliability, node staking and several other factors.
  10. The distribution of transactions should be automatic and in a manner which can not be hacked or bypassed in dishonest and cheatable ways.

Distribution Model Rules

The distribution model rules consist of the following:

Due to the decentralized nature of the network, nodes can cheat by giving COTI node manager one fee level and generating fee base transactions for users with another fee. This unfair behaviour is easily detectable by monitoring transactions and leads to punishing nodes in both Reliability Metrics and Trust score.

Node Reliability Metrics is a numeric evaluation of the node based on its work history and performance.

Transaction Distribution Model

When a merchant requests a full node list for the transaction, the Node Manager recommends a node. The merchant is free to change the recommendation, but, if the node uses the standard level of the fee, there is no real motivation to do it. Merchant transactions, COTI Bridge and other automatic transaction generators always use recommended nodes.

Node Reliability Metrics

The Node Reliability Metrics arenumerical metrics calculated using the weighted formula:

where:

1. The node uptime rate

The standard uptime rate for a node is supposed to be 99%. The Reliability Metrics takes this rate as a neutral point. If a node shows less uptime, the Reliability Metrics is decreased in accordance to the following contribution formula:

The weight for uptime contribution is set to 10

2. The node downtime events

For node downtime events we use a formula with saturation:

The weight for server fails is set to -10

3. The node restarts events

For node restarts we also use a formula with saturation, but using a different weight:

The weight for node restarts is set to -1

4. The node incorrect/bad behaviour events

This part of calculation punishes the node for any cheating attempts. There is no saturation and the weight is very negative:

The weight for dishonest behavior records is set to -100, so it effectively stops the node from participating in transaction processing, till the record is decayed.

Summary

COTI Staking mechanism ensures fair distribution and operation of Full node within the network and introduces a mechanism which relies on many factors and maintains fairness within the COTI ecosystem. The new distribution mechanism enforces any cheating attempts to collect more fees from the network and verifies that participants (rich and poor) get a fair chance and amount from the network activity and transaction flow.

Written by Dr. Nir Haloani, COTI’s CTO.

For all of our updates and to join the conversation, be sure to check out our channels:

Website: https://coti.io

Twitter: https://twitter.com/COTInetwork

Telegram: https://t.me/COTInetwork

Github: https://github.com/coti-io

Discord: https://discord.me/coti

Technical whitepaper: https://coti.io/files/COTI-technical-whitepaper.pdf

--

--

COTI
COTI
Editor for

COTI is the fastest and lightest confidentiality layer on Ethereum.