Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
vtools
6 лет назад

Децентрализованный протокол обмена сообщениями

 Децентрализованный протокол обмена сообщениями

Начальные условия

Имеем сеть по типу DHT:

  1. Каждый узел имеет 32 байтный адрес (Addr)
  2. Узлы соединены с друг другом случайным образом. Среднее число соединений не менее Log(N), где N-число узлов
  3. Узел может являться одновременно отправителем, ретранслятором и получателем сообщений
  4. Каждое сообщения имеет два поля: адрес получателя (AddrTo) и содержимое (Body)

Обмен сообщений

  1. Сообщения отправляются только тем узлам, которые максимально релевантны адресу получателю. Под релевантностью понимается максимальное совпадение начальных бит адресов.
  2. При каждом новом подключении узел запрашивает список релевантных сообщений методом GETMESSAGE
  3. При поступлении нового сообщения узел проверяет совпадение своего адреса с адресом получателя сообщения, если он совпадает, то сообщение считается принятым и далее не ретранслируется. Иначе формируется список релевантных узлов, которым перенаправляется это сообщения методом: MESSAGE
  4. Одновременно это сообщение ставится в буфер ограниченной длины (например 1000 сообщений) для технической возможности ответа в методе GETMESSAGE

Защита от DDOS

  1. Сообщения имеют поля TimeStamp и nonce. В которые соответственно записываются отметка времени и PoW. 
  2. При получении нового сообщения, проверяется: 
    1. отметка времени - время больше текущего значения
    2. минимальный уровень PoW - должен быть не ниже заранее заданного значения (например 16 бит)
  3. В буфер сообщения добавляются согласно приоритету: Time + PoW Таким образом более свежие и более “сильные” сообщения имеют больший приоритет. Сравнение времени и уровня Pow выполняется в секундах и битах, при этом предлагается приравнять биты и секунды. Таким образом мощность оборудования в два раза дает приоритет в 1 секунду (в 4 раза - 2 секунды, в 8-раз - 3 секунды  и т.д. в логарифмической зависимости)


1
0.000 GOLOS
На Golos с April 2018
Комментарии (0)
Сортировать по:
Сначала старые