Giter Club home page Giter Club logo

Comments (2)

boudewijn-tribler avatar boudewijn-tribler commented on May 22, 2024

From an earlier email conversation:

Concerning the bug with the sequence numbers. There are two problems.

  1. A peer made two messages and gave them the wrong global time value.
    This probably results from someone removing their dispersy database
    but not their private key. Hence they start creating messages
    starting at sequence number 1 again.

    This could also be a cause of drops, since there are now two
    messages, both with the same sequence number. Johan's statistics
    picture shows 8866 undo-own message drops by duplicate sequence
    number.

    I vaguely recall that we decided, several years ago, that this
    scenario would not occur for normal users. Perhaps we should revise
    this? If so we can solve this problem by generating a new
    public/private key whenever a user removes the dispersy database. If
    no one objects I will implement this for the new version.

  2. A bigger problem is that apparently peers will accept messages that
    have the correct sequence number order but with the wrong global time
    order. This I will fix and I will implement a database check for
    peers that update to a new tribler version that will find and remove
    these invalid messages from the database.

from tribler.

boudewijn-tribler avatar boudewijn-tribler commented on May 22, 2024

r31912 | boudewijn | 2013-03-11 14:33:13 +0100 (Mon, 11 Mar 2013) | 19 lines

Previously messages that had sequence numbers enabled would not check
the global time ordering. This has resulted in some peers accepting
message A@10#1 and B@9#2. In other words, where the global time
ordering is the reverse of the sequence number ordering.

This problem can occur when a user removes the dispersy.db file but
keeps the files containing the public/private keys. Resulting in a
'reset' of the sequence numbers, and possibly creation of out-of-order
messages.

  • bugfix: incoming messages that have sequence numbers enabled (mostly
    undo-own and undo-other messages) will now also check the global
    time ordering, rejecting those that do not match.
  • improvement: database upgrade from 15 -> 16 will ensure any
    conflicting messages are removed from the database.
  • improvement: unit tests have been made to verify the above bugfix.

from tribler.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.