Plausible raw draft to review

This commit is contained in:
Mark Evenson 2022-08-05 09:55:18 +02:00
parent fb8f8cb66d
commit d32aa2a465
1 changed files with 34 additions and 19 deletions

View File

@ -7,14 +7,14 @@ category: Informational
tags: logos/reputation
editor: Mark Evenson <mark.evenson@status.im>
contributors:
- Alvaro
- Álvaro Castro-Castilla
---
# Abstract
We present Ininkgut, a deceptively simple algorithm for computing the
reputation of other nodes in their performance of a shared alogrithm.
We present Ikingut: an algorithm for purely local computation of peer
node reputation based on their observed performance of a shared
computation.
# Background
@ -33,10 +33,13 @@ node reputation is to
- Providing a mechanism for bootstrapping networks, with a low
number of nodes.
# Theory / Semantics
# Theory
## Ikingut Algorithm
A deceptively simple algorithm for computing reputation of a other
network nodes based on observed past performance.
### Concept
The Ikingut algorithm for reputation is a local heuristic computed
@ -56,9 +59,9 @@ Other relevant characteristics of the algorithm are:
functions.
- Lightweight. It doesnt perform long computations nor use a lot of
memory.
- Pluggable into Glacier and Snowball. Its designed to fit well with
swarm-like consensus algorithms. Moreover, it augments the consensus
algorithm without altering it.
- Pluggable into Glacier and Snowball [38/LOGOS-CONSENSUS][]. Its
designed to fit well with swarm-like consensus algorithms. Moreover,
it augments the consensus algorithm without altering it.
- Adaptive. It processes network and behavior changes fast.
- Dynamic. It introduces new nodes consistently and fairly.
- It is robust against strategic adversaries. We will see these in more detail below.
@ -84,15 +87,14 @@ of the consensus algorithm.
operation.
3. If the resulting reputation is negative, add it to the trust
score, using the following equation:
$$
t_i := min(at_i, t_i + br_i)\\
\text{where}\ 0 < a < 1 \ \text{and} \ b > 1
t_i := min(at_i, t_i + br_i) \\
\text{where}\ 0 < a < 1 \ \text{and} \ b > 1 \\
$$
Where $a$ and $b$ are constants used to manipulate how much
where $a$ and $b$ are constants used to manipulate how much
momentum is applied.
**Pseudocode:**
```python
@ -145,8 +147,19 @@ from these two operations:
- Bring the opportunity of building reputation faster.
- Ensure accumulation of negative scores for misbehaving nodes.
# Security/Privacy Considerations
# Implementation status
Incomplete. No publically known implementations.
# Sovereignty Considerations
## Privacy
Computation of reputation is purely local from observed behavior.
## Security
No model constructed. No current tests.
# Copyright
@ -157,5 +170,7 @@ Copyright and related rights waived via
## informative
#. 38/LOGOS-CONSENSUS
#. Rocket, Team, Maofan Yin, Kevin Sekniqi, Robbert van Renesse, and Emin Gün Sirer. “Scalable and Probabilistic Leaderless BFT Consensus through Metastability.” arXiv, August 24, 2020. https://doi.org/10.48550/arXiv.1906.08936.
#. [38/LOGOS-CONSENSUS](https://github.com/vacp2p/rfc/pull/512)
#. [Rocket, Team, Maofan Yin, Kevin Sekniqi, Robbert van Renesse, and Emin Gün Sirer. “Scalable and Probabilistic Leaderless BFT Consensus through Metastability.” arXiv, August 24, 2020.](https://https://doi.org/10.48550/arXiv.1906.08936) TODO: add IPFS