Модули: Идентификация (Устарело)
Начиная с testnet V0.4.0, эта страница устарела. Пожалуйста, обратитесь к коду для справки.
edge_identity
В настоящее время модуль идентификации обрабатывает регистрацию, аттестацию и проверку внешних удостоверений в Edgeware. Типы удостоверений, которые могут быть интересны для регистрации через этот модуль, включают другие адреса блокчейна или открытые ключи, имена пользователей Github, адреса электронной почты и даже номера телефонов. Цель этого модуля — обеспечить максимальную расширяемость для внешних удостоверений в реальном мире или мире блокчейна для взаимодействия с Edgeware.
Настройка
Установите rust или обновитесь до последних версий.
curl https://sh.rustup.rs -sSf | sh
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable
cargo install --git https://github.com/alexcrichton/wasm-gc
Вам также потребуется установить следующие пакеты:
Linux:
sudo apt install cmake pkg-config libssl-dev git clang libclang-dev
Mac:
brew install cmake pkg-config openssl git llvm
Жизненный цикл удостоверения
Удостоверения в Edgeware проходят через простой конечный автомат:
- «Зарегистрировано»
- «Засвидетельствовано»
- «Проверено»
Регистрация
Внешнее удостоверение в Edgeware сначала запускается в процессе регистрации. Пользователь должен иметь действительный открытый ключ Edgeware и иметь возможность подписывать и отправлять транзакцию на подходящий узел Edgeware. Чтобы зарегистрировать удостоверение, нам требуется только передать тип удостоверения и удостоверение, отформатированное в виде байтовых массивов Vec<u8>
, в функцию register
. Как только транзакция включается в цепочку Edgeware, эта идентификация становится «Зарегистрированной».
Аттестовано
Подтверждение внешнего удостоверения в Edgeware является убедительным доказательством того, что регистратор удостоверения действительно владеет указанным удостоверением. Мы обозначаем регистратора как владельца закрытого ключа Edgeware, отправившего регистрацию внешнего удостоверения. Если аттестующий и регистратор — одно и то же лицо, у них не должно возникнуть проблем с убеждением активного набора «верификаторов», что они на самом деле контролируют внешнюю идентификацию. Аттестация отформатирована как массив байтов Vec<u8>
, который должен надежно указывать на URL-адрес или другое приемлемое доказательство контроля.
Отправитель регистрации и аттестации должен быть одним и тем же. Это помогает смягчить ложные аттестации. Таким образом, блокчейн служит единственным источником достоверной информации о регистрации личности. Верификатор должен только сверяться с доказательством, хранящимся в цепочке, чтобы решить, является ли оно действительным или нет, а не с какой-либо другой формой или представлением аттестации.
Примеры аттестаций для разных настроек:
-
Гитхаб
Идентификацией является «имя пользователя» Github. Регистратор после регистрации имени пользователя должен опубликовать Gist под учетной записью «имя пользователя» со ссылкой на регистрацию в Edgeware.
-
Эфириум
Идентификатор представляет собой открытый ключ или адрес Ethereum. Регистратор после регистрации имени пользователя может отправить транзакцию со значением 0 на адрес записи, символизирующий открытый ключ соответствующей учетной записи Edgeware, и отправить хэш транзакции в качестве подтверждения. После проверки у верификатора должно быть достаточно доказательств того, что, если владелец учетной записи Ethereum не владеет также учетной записью Edgeware получателя \ (представленной как целевой адрес в Ethereum ), то он не будет выполнять такую транзакцию.
Проверено
Окончательное и постоянное состояние удостоверения в Edgeware в его нынешнем виде — это подтвержденное удостоверение. Поскольку люди по-прежнему могут регистрироваться и подтверждать личность, которую они не контролируют, отправляя ложные доказательства аттестации, они не смогут обмануть активный набор верификаторов. Работа активных верификаторов состоит в том, чтобы проверять доказательства аттестации и голосовать за или против проверки.
Проверка личности принимается или отклоняется после того, как 2/3 активных верификаторов проголосовали за соответствующий результат. Однажды принятые идентификационные данные остаются проверенными навсегда, если в будущем не будут разработаны процедуры управления для изменения логики.