Всем привет! Интересную тему вы затронули. Мы в своем проекте gplvote.org уже несколько лет ею занимаемся. Но с некоторыми оговорками.
Например, мы считаем, что решение должно быть "без особых людей". Не должно быть каких-то людей или центров, которые могут стать "единой точкой отказа" и которые могут повлиять на работу системы идентификации.
Поэтому, после долгих рассуждений был выбран вариант "сеть доверия с отрицательной обратной связью". Суть ее в том, что идентификатором человека служит хэш от данных его документов, которые можно проверить (живьем или по сети). Каждый человек может удостоверить данные другого человека в контексте привязки его идентификатора к его публичному ключу. Обратная связь обеспечивается тем, что кроме удостоверения такой связки, вы можете выставить человеку (его идентификатору) определенный уровень доверия его голосу при удостоверении других связок идентификаторов и ключей.
Такой вариант допускает создание сети ботов. Но, в то-же время, он обеспечивает возможность ответной реакции сети на это уменьшением уровня доверия создателям до предела (за счет массовой ответной реакции). Учитывая что персональный идентификатор формируется из данных, которые принадлежат человеку пожизненно, для него исключается возможность повторить создание подделок.
Кроме того, наша "сеть доверия" - это только база данных. Как ее обрабатывать - использующие ее проекты могут решать сами. Т.е. критерии допуска к голосованию на основании данных нашей сети доверия каждый проект может формулировать как ему вздумается.
Конечно, это решение - не панацея. Но, как нам кажется, это лучший вариант из того, что сейчас можно придумать.
PS. Кстати, мобильное приложение для Android для подписания любых документов, которое мы будем использовать, уже разработано и доступно -
https://play.google.com/store/apps/details?id=org.gplvote.signdoc (естественно, с исходными кодами -
https://github.com/UncleAndy/sign_doc. Открытость исходников - еще одно обязательное условие нашего проекта). Приложение делает только одно - подписывает документы. Сделано оно как универсальный модуль, так что может быть использовано любыми сайтами и мобильными приложениями (работа с сайтами в документации уже описана, работа с приложениями пока нет). Кстати, демо сайт, на котором можно покрутить приложение для подписания документов вот тут -
http://signdoc-client.gplvote.org/Приложение для реализации сети доверия сейчас находится в разработке (в варианте с распределенной сетью серверов). Так-же мы работаем над версией приложения SignDoc для iOS.