Распределенная система

Материал из Сервис Облачной Демократии
(Различия между версиями)
Перейти к: навигация, поиск
Строка 32: Строка 32:
 
#* Каждый клиент на основании имеющихся у него данных формирует результат голосования. Если по окончанию предыдущего периода остаются нераскрытые голоса, они признаются "испорченными бюллетенями" и игнорируются при формировании результатов.
 
#* Каждый клиент на основании имеющихся у него данных формирует результат голосования. Если по окончанию предыдущего периода остаются нераскрытые голоса, они признаются "испорченными бюллетенями" и игнорируются при формировании результатов.
 
# Открытое голосование будет происходить аналогичным образом, но голос будет отправляться вместе с подписью в голосовании. И будут отсутствовать этапы, связанные с согласованием количества голосов и подписей;
 
# Открытое голосование будет происходить аналогичным образом, но голос будет отправляться вместе с подписью в голосовании. И будут отсутствовать этапы, связанные с согласованием количества голосов и подписей;
 +
 +
== Взаимный контроль ==
 +
Взаимный контроль означает то, что в системе нет контролирующих органов или отдельных людей для этого, которые обладают большими возможностями чем остальные.
 +
Для этих целей в системе будет служить система подписания своей ЭЦП определенных данных других пользователей. Подписываемый таким образом пакет будет состоять из следующих частей:
 +
# Тип подписи:
 +
#* Удостоверение данных
 +
#* Уровень доверия к подписи
 +
#* Удостоверение данных субъекта в ключе пользователя
 +
# Ссылка на подписываемые данные:
 +
#* Идентификатор или список идентификаторов в ключе пользователя
 +
#* Отпечаток ключа пользователя
 +
# Уровень доверия указанным данным: число от -10 (полное недоверие) до 10 (полное доверие)
 +
# Текстовый комментарий
 +
=== Подтверждение достоверности идентифицирующих данных ===
 +
Данный тип предназначен для подтверждения достоверности идентифицирующих данных пользователя. Как минимум, идентифицирующего хэша. [[Подписание ключей|После проверки]] пользователем достоверности идентифицирующего хэша он может его подписать сформировав и отправив в сеть соответствующий пакет.
 +
Таким-же образом, если у пользователя возникает обоснованное сомнение в достоверности каких-либо идентифицирующих данных пользователя, он может отправить аналогичный пакет, указав при этом отрицательную величину уровня доверия. При этом ему следует иметь ввиду, что если он будет отправлять необоснованные подписи, то он имеет возможность получить от других пользователей недоверие к своей подписи, что ослабит или отменит ее действие.
 +
=== Установка доверия к подписи ===
 +
Вы можете указать свой уровень доверия к подписи определенного пользователя и/или ключа. Этот механизм призван защитить систему от необоснованных действий со своей подписью. Ее действие может быть признано ничтожным при наличии соответствующего количества подписей, устанавливающих низкий уровень доверия к ней.
 +
=== Удостоверение данных субъекта в ключе ===
 +
Некоторые субъекты для своих участников могут требовать наличия в ключе определенных данных, подписанных участниками субъекта (например, просто идентификатора субъекта). По этим данным, например, может определяться имеет-ли право данный пользователь голосовать в субъекте.
 +
=== Другие типы подписей ===
 +
Данный механизм достаточно универсален и хорошо расширяем. Вероятно, в будущем будут появляться и другие типы подписей, призванные решить другие задачи саморегуляции сообщества.
  
 
[[Category:Описания]]
 
[[Category:Описания]]

Версия 01:20, 7 марта 2012

Содержание

Концепция

Общие сведения

  1. Изначально по сети будут распространятся IP адреса работающих систем;
  2. Подключение пользователя к системе будет состоять из:
    • Генерации персонального ключа;
    • Генерации транспортного ключа;
    • Отправки в сеть публичной части персонального и транспортного ключа;
    • Запрос из сети анонсов (краткой информации) об имеющихся субъектах;
  3. Любой пользователь может подписать доверие к достоверности данных ключа после соответствующей проверки достоверности указанных в нем данных;
  4. Любой пользователь может подписать доверие к подписи ключа;
  5. Любой пользователь может подписать недоверие к достоверности ключа после неудачной процедуры удостоверения;
  6. Любой пользователь может подписать недоверие к подписи ключа;

Субъекты голосований

  1. Субъекты верхнего уровня могут создаваться любым пользователем;
  2. Подсубъекты создаются по результатам голосования в основном субъекте по правилам данного субъекта. При этом фильтрация в них должна настраиваться так что-бы все пользователи основного субъекта стали пользователем одного из вновь образованных;
  3. Необходимая степень авторизации пользователя (распределение подписей доверия и недоверия у ключа) будет регулироваться в свойствах субъекта;
  4. В качестве одного из фильтров субъекта может выступать:
    • Фильтр по любому значению в ключе пользователя;
    • Ссылка на сервер авторизации субъекта голосования;
  5. Изменение свойств субъекта голосования будет производиться только с помощью голосования;
  6. Возможны "закрытые" субъекты голосований, данные которых в общей сети будут шифроваться и будут доступны только участникам субъекта;

Голосования

  1. Голосование может инициироваться любым пользователем субъекта голосований;
  2. Процедура тайного голосования:
    • Инициирование голосования;
    • Отправка пользователями по сети голоса в голосовании (зашифрованный голос + подпись разными путями);
    • По окончании голосования необходим некоторый резервный период на распространение голосов по сети;
    • По окончании резервного периода начинается "период проверки голосов и подписей", в течении которого каждый клиент проверяет наличие у него всех голосов и подписей (соответствие количества голосов количеству подписей). В данном случае возможно несколько проблем:
      • если не хватает голосов, то клиент отправляет в сеть запрос на голоса данного голосования. Если по окончанию этого периода голосов все еще не хватает, то недостающие голоса признаются утерянными (аналог испорченного бюллетеня). Если кто-то из проголосовавших не обнаружит своего голоса в результатах, можно провести отслеживание по цепочке отправки от данного пользователя.
      • если голосов больше чем подписей, тогда клиент рассылает запрос на все подписи по данному голосованию. Если по окончанию резервного периода подписей все еще не хватает, инициируется автоматическая процедура обнаружения неподписанных голосов (как Юрий описал в последнем сообщении);
    • Если проверка соответствия количества голосов и подписей проходится, начинается третий период - "период открытия данных о голосах". В течении которого клиенты в автоматическом режиме (можно с подтверждением пользователем) рассылают одноразовые публичные ключи которыми можно расшифровать их голос. В определенную часть завершения данного периода если остаются нераскрытые голоса, рассылаются запросы на раскрытие данного голоса.
    • Каждый клиент на основании имеющихся у него данных формирует результат голосования. Если по окончанию предыдущего периода остаются нераскрытые голоса, они признаются "испорченными бюллетенями" и игнорируются при формировании результатов.
  3. Открытое голосование будет происходить аналогичным образом, но голос будет отправляться вместе с подписью в голосовании. И будут отсутствовать этапы, связанные с согласованием количества голосов и подписей;

Взаимный контроль

Взаимный контроль означает то, что в системе нет контролирующих органов или отдельных людей для этого, которые обладают большими возможностями чем остальные. Для этих целей в системе будет служить система подписания своей ЭЦП определенных данных других пользователей. Подписываемый таким образом пакет будет состоять из следующих частей:

  1. Тип подписи:
    • Удостоверение данных
    • Уровень доверия к подписи
    • Удостоверение данных субъекта в ключе пользователя
  2. Ссылка на подписываемые данные:
    • Идентификатор или список идентификаторов в ключе пользователя
    • Отпечаток ключа пользователя
  3. Уровень доверия указанным данным: число от -10 (полное недоверие) до 10 (полное доверие)
  4. Текстовый комментарий

Подтверждение достоверности идентифицирующих данных

Данный тип предназначен для подтверждения достоверности идентифицирующих данных пользователя. Как минимум, идентифицирующего хэша. После проверки пользователем достоверности идентифицирующего хэша он может его подписать сформировав и отправив в сеть соответствующий пакет. Таким-же образом, если у пользователя возникает обоснованное сомнение в достоверности каких-либо идентифицирующих данных пользователя, он может отправить аналогичный пакет, указав при этом отрицательную величину уровня доверия. При этом ему следует иметь ввиду, что если он будет отправлять необоснованные подписи, то он имеет возможность получить от других пользователей недоверие к своей подписи, что ослабит или отменит ее действие.

Установка доверия к подписи

Вы можете указать свой уровень доверия к подписи определенного пользователя и/или ключа. Этот механизм призван защитить систему от необоснованных действий со своей подписью. Ее действие может быть признано ничтожным при наличии соответствующего количества подписей, устанавливающих низкий уровень доверия к ней.

Удостоверение данных субъекта в ключе

Некоторые субъекты для своих участников могут требовать наличия в ключе определенных данных, подписанных участниками субъекта (например, просто идентификатора субъекта). По этим данным, например, может определяться имеет-ли право данный пользователь голосовать в субъекте.

Другие типы подписей

Данный механизм достаточно универсален и хорошо расширяем. Вероятно, в будущем будут появляться и другие типы подписей, призванные решить другие задачи саморегуляции сообщества.

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты