Skip to content
This repository has been archived by the owner on Jun 14, 2024. It is now read-only.

42/LOGOS-REPUTATION-INKINGUT #524

Closed
wants to merge 4 commits into from
Closed

Conversation

easye
Copy link
Contributor

@easye easye commented Aug 5, 2022

A writeup of Inkingut for public consumption. Incomplete.

@easye easye changed the title Easye/reputation rfc/20220804a 41/LOGOS-REPUTATION Aug 5, 2022
@easye
Copy link
Contributor Author

easye commented Aug 5, 2022

Was "Easye/reputation rfc/20220804a"

I'll take that number…
@easye easye changed the title 41/LOGOS-REPUTATION 42/LOGOS-REPUTATION Aug 5, 2022
@easye easye requested a review from corpetty August 5, 2022 22:43
@easye easye self-assigned this Aug 5, 2022
@easye easye added the track:logos-specs Logos specs track (RAD) label Aug 5, 2022
@easye easye changed the title 42/LOGOS-REPUTATION 42/LOGOS-REPUTATION-INKINGUT Aug 16, 2022
@oskarth oskarth requested review from oskarth and kaiserd August 22, 2022 09:03
- Providing a mechanism for bootstrapping networks, with a low
number of nodes.

# Theory
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this differ from Eigentrust at a high level in terms of properties?

Copy link
Contributor

@kaiserd kaiserd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for this RFC :).
I left some comments.

Also: RFCs should use sembr.


## Ikingut Algorithm

A deceptively simple algorithm for computing reputation of a other
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
A deceptively simple algorithm for computing reputation of a other
A deceptively simple algorithm for computing reputation of other

from a single source of information: *how many correct responses did a
node give to queries*. The challenge in this metric is the definition
of *correct response*. We define a correct response as the decision
the node achieves on the bit value (by means of Glacier).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd link the Glacier RFC here.

... this sounds like it contradicts the independence of the reputation layer from Glacier.
Maybe:
As an example: when using Ikingut with Glacier, we define [...]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Maybe I misread the above and it is not meant to be used outside of Glacier?)
Line 65-66 say it is generic. So my comment above applies.

of *correct response*. We define a correct response as the decision
the node achieves on the bit value (by means of Glacier).

This in essence summarizes the algorithm. There are implementation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implementation details should not be in the RFC anyways.
Maybe just: "details and parameters"

of *correct response*. We define a correct response as the decision
the node achieves on the bit value (by means of Glacier).

This in essence summarizes the algorithm. There are implementation
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This in essence summarizes the algorithm.

Imo, a summary would require a more context on

We define a correct response as the decision the node achieves on the bit value

How do you evaluate the decision a node achieves?
(Also: does node refer to the responding node or the evaluating node?)

- 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.
- No transitive trust. This avoids collusion, greatly simplifies. The
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does it simplify greatly?

- Dynamic. It introduces new nodes consistently and fairly.
- It is robust against strategic adversaries. We will see these in more detail below.
- No transitive trust. This avoids collusion, greatly simplifies. The
tradeoff is more time to build the reputation list.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tradeoff with respect to what?


Incomplete. No publically known implementations.

# Sovereignty Considerations
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Imo, we should stick to the naming "Security Considerations", to be consistent with respect to other RFCs.

@oskarth
Copy link
Contributor

oskarth commented Sep 12, 2022

@easye I see no activity in this PR for last 3 weeks with several outstanding comments. What's going on?

@kaiserd
Copy link
Contributor

kaiserd commented Dec 5, 2022

@corpetty What would we need to publish this as a raw RFC? Is there anything to add / overhaul contentwise, apart from the few unaddressed comments?
Also, it might make sense to use Standards Track class RFC here. In this case, the RFC should be edited more into a spec style and not so much as a scientific paper introducing a new concept.

Copy link
Contributor

@kaiserd kaiserd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added a few more comments. (The old comments I made are still pending.)


# Abstract

We present Ikingut: an algorithm for purely local computation of peer
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
We present Ikingut: an algorithm for purely local computation of peer
This document specifies Ikingut, an algorithm for purely local computation of peer

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case we go with Standards Track.

title: 42/LOGOS-REPUTATION-INKINGUT
name: Logos Node Reputation
status: raw
category: Informational
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this actually specifies the algorithm, it should be a Standards Track RFCs.

- Reasonable time to bootstrap reputation. With 10.000 nodes and k ~=
9 is in the order of 8-10 min.

### Algorithm
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case we move this Standards Track, this should be a top-level section.
I'd name it # Algorithm Specification to make it explicit that this is the actual spec.

- Bring the opportunity of building reputation faster.
- Ensure accumulation of negative scores for misbehaving nodes.

# Implementation status
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove this and not track implementation status in the spec.

@jimstir
Copy link
Contributor

jimstir commented Feb 28, 2024

Continued discussion : vacp2p/rfc-index#10

1 similar comment
@jimstir
Copy link
Contributor

jimstir commented Mar 1, 2024

Continued discussion : vacp2p/rfc-index#10

@jimstir jimstir closed this Mar 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
track:logos-specs Logos specs track (RAD)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants