Visão geral de identidade
Como o Celo mapeia os endereços da carteira para números de telefone, para tornar as ferramentas financeiras mais acessíveis para usuários de telefones móveis.
Introdução à identidade no Celo
O propósito único de Celo é tornar as ferramentas financeiras acessíveis a qualquer pessoa com celular. Uma barreira para o uso de muitas outras plataformas é o uso requerido de mais de 30 strings de caracteres hexadecimais como endereços. É como números de contas bancárias, porém piores. Difícil de se lembrar, fácil de mexer. Eles são tão difíceis de usar que a forma predominante de troca de endereços é geralmente por meio de copiar e colar em um canal de mensagens existente ou por meio de códigos QR pessoalmente. Ambas as abordagens são protocolos praticamente interativos e, por conseguinte, não cobrem muitos casos de utilização em que as pessoas gostariam de realizar transações. Celo oferece uma camada de identidade lightweight opcional que começa com um mapeamento descentralizado de números de telefone para os endereços da carteira, permitem que usuários transacionem uns com os outros através do esquema de identidade mais comum que todos conhecem: seu livro de endereços.
Adicionando seu número de telefone ao mapeamento
Para permitir que Bob encontre um endereço mapeado para seu número de telefone, Alice pode usar o protocolo descentralizado de atestações para vincular um endereço de conta ao número de telefone dela. Alice começa fazendo um pedido para o contrato Attestations
; transferindo uma taxa juntamente com sua solicitação. Após um breve tempo de espera de 4
blocos (20 segundos), o contrato Attestations
usará o contrato Random
para produzir uma seleção aleatória de validadores, do atual grupo eleito no contrato Validators
para emitir os desafios de atestação.
Como parte da expectativa de validadores, eles executam o serviço de atestado cujo endpoint se registram em seus Metadados. Após os emissores de certificado terem sido selecionados para suas solicitações, Alice determina as URLs de serviço de atestado dos seus Metadados e solicita uma mensagem de atestado para seu número de telefone, enviando uma solicitação direta em HTTPS. Por sua vez, o serviço de atestado produz uma mensagem secreta assinada atestando a propriedade do número de telefone fornecido pela conta solicitante. O validador envia a mensagem para o número de telefone do Alice por SMS. Leia mais no serviço de atestado.
Quando Alice recebe a mensagem de texto, ela poderá levar essa mensagem assinada ao contrato de Attestations
Atacações, que pode verificar se o certificado veio do validador de fato. Após um certificado bem sucedido, o validador pode resgatar a taxa de pedido de certificado para pagá-los pelo custo de envio de SMS. No final, registamos um atestado pelo validador de um mapeamento do número de telefone de Alice no seu endereço de conta.
Usando o mapeamento para pagamento
Uma vez que Alice tenha concluído as atestações para número de telefone, Bob, que tem seu número de telefone na sua lista de contatos, pode ver que Alice tem um endereço de conta atestado com seu número de telefone. Pode usar esse endereço para enviar fundos para Alice, sem que tenha de comunicar especificamente o seu endereço a Bob.
O contrato Attestations
registra todos os certificados de um número de telefone para qualquer número de endereços. Isso por exemplo pode acontecer quando um usuário perde sua chave privada e quer mapear um novo endereço de carteira. No entanto, isto também poderia acontecer através da conivência de um validador com Alice. Por conseguinte, é importante que os clientes do protocolo de identidade ponham em evidência possíveis certificados conflituosos.
Existe algum risco para que os certificados sejam adicionados sem a permissão do proprietário "legítimo" do número de telefone. Um dos riscos é que o provedor de serviços telefônicos ou o a troca do SIM card possa assumir o controle do número de telefone e completar uma série de atestações. Outro risco é que um número suficiente de provedores de serviços de atestado pode conspirar para completar atestados falsos. Sobretudo, a conclusão de certificados maliciosos não leva a uma perda de fundos, já que a chave privada continua a ser a condição necessária e suficiente para as transações de uma conta. No entanto, sem cuidado adequado, futuros remetentes podem ser enganados no envio de fundos para o endereço associado recentemente. Em geral, o número e a idade dos atestado de um endereço deve ser levado em conta para identificar o proprietário válido de um número de telefone.
Existem medidas adicionais que podemos tomar para garantir ainda mais a integridade da utilização do sistema de classificação. No futuro, planejamos fornecer implementações de referência na carteira para alguns destes. Por exemplo, nós planejamos detetar o remapeamento dos endereços da carteira. Muitos usuários já estão acostumados a enviar primeiro pequenos valores e verificar a recepção desses fundos antes de tentar transferir montantes maiores.
Impedindo a coleta de números de telefone
Para proteger a privacidade do usuário, impedindo a coleta em massa de números de telefone, a plataforma Celo inclui um serviço que ofusca as informações salvas no blockchain. O serviço é habilitado por padrão para todos os usuários da Carteira Celo. Detalhes de suas funcionalidades e arquitetura são explicados na Privacidade de números de telefone
Attestation Service
O serviço de atestado é um simples serviço de Node.js que os validadores executam para enviar mensagens assinadas para atestações. Pode ser configurado com provedores de SMS, já que diferentes provedores têm características diferentes como confiabilidade, confiança e desempenho em diferentes regiões. O serviço de atestado atualmente suporta Twilio e Nexmo. A Celo deverá alargar o número de fornecedores suportados ao longo do tempo.
Melhorias futuras da privacidade
O Celo está comprometido a atender as necessidades de privacidade de seus usuários. Mais detalhes sobre áreas para futuras pesquisas podem ser encontrados em Pesquisa de privacidade