Entendendo o funcionamento de uma carteira
O primeiro ponto a ter em conta ao falar de armazenamento, é entender o funcionamento de uma carteira.É um erro muito habitual (e infelizmente pouco desenvolvido pelos comunicadores do ecossistema), acreditar que nossas carteiras armazenam os ativos que temos na posse, é preciso ter presente que esta tecnologia não funciona dessa forma.
Em bitcoins, por exemplo, usamos a criptografia de chave pública para criar um par de chaves que controla o acesso aos bitcoins. O par de chaves consiste numa chave privada e—derivada desta última — uma chave pública única. A chave pública é usada para receber bitcoins, e a chave privada é usada para assinar transações e gastar esses bitcoins.
Existe uma relação matemática entre as chaves públicas e privadas que permitem que a chave privada seja utilizada para gerar assinaturas. Estas assinaturas podem ser validadas contra a chave pública sem necessidade de revelar a chave privada.
Quando os bitcoins são gastos o dono atual dos bitcoins apresenta sua chave pública e assinatura (diferente cada vez, mas criada a partir da mesma chave privada) em uma transação para gastar esses bitcoins. Através da apresentação da chave pública e assinatura, todos os participantes na rede Bitcoin podem verificar e aceitar a transação como válida, confirmando que a pessoa que transfere os bitcoins os possui no momento da transferência.
Na maioria das implementações de carteiras as chaves privadas e públicas são armazenadas juntas como pares de chaves por conveniência. No entanto, a chave pública pode ser calculada a partir da chave privada, pelo que armazenar apenas a chave privada também é possível.
A chave privada é um número, geralmente eleito aleatoriamente. A partir da chave privada utilizamos multiplicação de curva elíptica, uma função criptográfica de sentido único, para gerar a chave pública. A partir da chave pública utilizamos uma função de hash criptográfica de sentido único para gerar o endereço bitcoin.
Mas vamos nos afastar um pouco de tecnicismos, pois não é o objetivo do artigo.
O conceito que tem de ficar claro é que nossas carteiras (hot wallets, cold wallets, com ou sem custódia), NÃO armazenam nossos ativos, o que armazenam e resguardam são nosso par de chaves, essencialmente nossa chave privada.
Este par de chaves explicado de uma forma simples, vai nos permitir usar nossos UTXOS, Unspent transaction outputs (transação de saída não gasta).
Cada UTXO que transformamos em uma entrada (saldo que vamos gastar) na verdade é a saída de uma transação anterior que nos deu acesso a esses BTC. Ou seja, todo saldo no Bitcoin tem uma UTXO associada ao mesmo, e esse UTXO tem associado um script de bloqueio.
O motor de validação de transações do Bitcoin depende de dois tipos de programas para validar transações: um script de bloqueio (locking script) e um programa de desbloqueio (unlocking script).
Um programa de bloqueio (locking script) é uma obstrução colocada sobre uma saída, que especifica as condições que devem ser cumpridas para gastar essa saída no futuro.
Um programa de desbloqueio (unlocking script) é um programa que "resuelve," ou satisfaz, as condições estabelecidas por uma saída e um programa de bloqueio e permite que a saída seja gasta.
Os programas de desbloqueio são parte de cada entrada de transação, e a maioria das vezes contém uma assinatura digital produzida pela carteira do usuário a partir de sua chave privada.
Todo cliente bitcoin deve validar transações executando os scripts de bloqueio e desbloqueio em simultâneo.
Para cada entrada da transação o software trará primeiro a UTXO referenciada pela entrada. Essa UTXO contém um script de bloqueio definindo as condições requeridas para enviá-la. O software de validação depois tomará o programa de desbloqueio conteúdo na entrada que está tentando gastar esta UTXO e executará ambos os programas.
Este script de bloqueio é uma espécie de candado digital que devemos abrir para então poder fazer uso do saldo dessa UTXO. Os programas de bloqueio no Bitcoin são variados, mas o mais comum é o que é usado dentro das transações do tipo P2PKH (Pay to Public Key Hash). Este programa de bloqueio indica que a chave para abri-lo é uma chave criptográfica em que queremos mostrar duas coisas:
- Que somos donos da chave privada e pública que gerou o endereço do Bitcoin onde está o saldo (UTXO).
- O que temos no nosso poder a assinatura digital válida que certifica que essas chaves são nossas.
Então, para poder desbloquear esse programa, o que devemos fazer é tomar a direção do Bitcoin, juntamente com a nossa chave privada e gerar a chave pública dessa direção. No final, estampamos nossa assinatura digital e com todos esses dados verificados, o saldo dessa direção é desbloqueado para que possamos usá-lo. Ou seja, os nós aceitarão a transação e a colocarão no mempool à espera dos mineiros.
Pelo contrário, se falharmos em fazer esse procedimento, simplesmente a transação é rejeitada pelos nós e não poderemos usar o saldo. Este processo é chamado de script de desbloqueio. Claro que este processo criptográfico é automático e transparente para os usuários de uma wallet, todo o processo o realiza a própria carteira.
Resumindo e evando novamente tecnisismos, nossas carteiras armazenam nossas chaves , e essas chaves permitem gastar nosso saldo disponível, o qual esta registrado na blockchain com a qual estamos interagindo.
Que tipos de carteiras existem, que é mais segura?
Vamos diferenciar dois grandes grupos e alguns sub grupos.Os dois grandes grupos que vamos diferenciar neste artigo são as carteiras CON CUSTODIA e as carteiras SEM CUSTODIA
-Billeteras com custódia:
As carteiras com custódia, como seu nome indica, estão guardadas por alguém alheio a nós. O exemplo claro deste tipo de carteiras é que nos oferecem os Exchanges centralizados, sendo o líder indiscutido do mercado, Binance.A característica principal é que nós não temos a guarda das nossas chaves, estas estão resguardadas pela plataforma que estamos usando, a qual nos dá acesso à carteira, mas apenas dentro da plataforma.
Uma frase clássica no ecossistema é a de "Not your keys, not your coins" , se não são suas chaves, não são suas moedas.
Isto é uma realidade, uma vez que não temos o controlo absoluto sobre os nossos activos e foi visto no passado o perigoso que pode ser quando se opera em plataformas de transparência duvidosa, nas quais depositamos a nossa confiança e um dia para o outro podem desaparecer sendo estes os únicos com o controlo dos nossos fundos (caso FTX).
Mas a spoileando um pouco como o artigo continua, baseando-me na minha experiência, posso garantir que não há um único caminho nem uma verdade absoluta, todas as alternativas têm suas pro e suas contras para o usuário e a exchange não são exceção.
e se isso vai um pouco contra os princípios fundadores desta tecnologia. Mas também as exchanges (os sérios e reconhecidos), têm grandes sistemas de segurança na plataforma, interfases intuitivas e rapidas, extensivos controles dos projetos listados, e até mesmo facilidades para operar no setor DEFI (conhecido como CEDEFI) reduzindo enormemente os riscos que este pode levar.
De todas as formas é importante ter em conta que são as mesmas exchanges que recomendam não ter a totalidade dos seus ativos dentro das plataformas, e recomendam a divisão entre outras alternativas para reduzir o risco diante de qualquer eventualidade.
Ao operar com carteiras de guarda é de suma importância ter uma correta higiene cibernética: manter nossos dispositivos seguros, não usar conexões de internet públicas, usar a maior quantidade de fatores de segurança fornecidos pelas plataformas (além das conhecidas verificações por e-mail e sms, é muito importante usar outros sistemas de autenticação em dois fatores ,2fa, como por exemplo google authenticator ou até hardwares externos como eubikey), usar e-mails únicos para as plataformas (jamais e-mails de uso habitual), gestores de senhas, aprender a identificar campanhas de phishing, possíveis tentativas de scam, etc.
O ponto mais criticado nos exchages, em parte pelos maximalistas que priorizam as descentralização e o pseudo anonimato , mas também por aqueles que buscam usar a tecnologia para cometer atos ilícitos, são as políticas AML que incluem o KYC (know your customer ou conhece seu cliente e anti money laundering ou anti lavagem de dinheiro).
É um processo de vários passos desenhado para evitar a criação e o uso fraudulento de contas. O objetivo do KYC e das políticas AML é compreender a natureza das atividades dos clientes, qualificar que sua fonte de fundos é legítima e avaliar os riscos de lavagem de dinheiro associados a eles.
Sem Kyc é muito difícil para os pesquisadores personificar as carteiras dos criminosos no que blockchain forensics corresponde, são medidas de suma importância para combater a criminalidade e na minha opinião pessoal para conseguir uma adoção massiva.
Ainda em DEFI não podemos observar correto uso de políticas AML ou de implementação de KYC , felizmente já está trabalhando em alternativas que respeitem os princípios desta tecnologia, que busquem a descentralização e protejam o usuário.
Como aspecto positivo, podemos ressaltar:
- importantes fatores de segurança dependendo da plataforma a utilizar
- facilidade de recuperação da conta e dos fundos se perdermos ou esquecermos as credenciais da mesma (já que não temos a responsabilidade de resguardar as chaves privadas)
- Interfaces intuitivas, rápidas e amigáveis com o usuário que inicia no ecossistema
- Serviços de atendimento ao cliente
- variedade de produtos
- filtro e pesquisa dos projetos listados, reduzindo em grande medida a possibilidade de fraudes
- Políticas Aml e processos kyc que ajudam a combater atos ilícitos no ecossistema
entre os seus aspectos negativos:
- Não temos as chaves privadas, portanto não temos o controle total dos nossos ativos
- A confiança é depositada em um terceiro, estamos sujeitos ao acionamento do mesmo
- Existe a possibilidade de suspensão de retiradas ou congelamentos de contas, também manutençãos que não permitam operar quando necessário
- Kyc, devem ser fornecidos dados pessoais à plataforma
-Billeteras sem custódia:
Como comentamos anteriormente, qualquer seja o tipo de carteira sem custódia que usemos, o principal é que nós temos a responsabilidade sobre nossas chaves.Atualmente são usadas carteiras DETERMINISTASSão carteiras que contêm chaves privadas que surgem a partir de uma semente comum, utilizando uma função hash unidirecional.
A semente é um número gerado aleatoriamente que se combina com outros dados, como um número de índice para derivar as chaves privadas.
Em uma carteira determinista, a semente é suficiente para recuperar todas as chaves derivadas, também é suficiente para uma exportação de carteira ou importação, o que permite uma fácil migração de todas as chaves dos usuários entre diferentes implementações de carteira.
Os códigos mnemotécnicos são palavras em inglês que representam (codificam) um número aleatório utilizado como semente para obter uma carteira determinista. A sequência de palavras é suficiente para voltar a criar a semente e daí voltar a criar a carteira e todas as chaves derivadas. Uma aplicação de carteira que implementa carteiras deterministas com código nemotécnico mostrará ao usuário uma sequência de 12 a 24 palavras ao criar a carteira pela primeira vez. Essa sequência de palavras é a cópia de segurança e pode ser usada para recuperar e voltar a criar todas as chaves da mesma ou de qualquer aplicação de carteira compatível. As palavras de código mnemotécnico torna mais fácil para os usuários realizar cópias de segurança das carteiras, pois são fáceis de ler e traduzir corretamente, em comparação com uma sequência aleatória de números.
É importante entender este conceito:
A frase semente ou seed phrase faz menção a um conjunto de 12 a 24 palavras, que têm como finalidade oferecer-nos uma forma fácil e fácil de apoiar nossa carteira de criptomoedas. Dessa forma, se por qualquer causa se chegasse a perder o controle sobre ele, poderíamos recuperá-lo apenas usando essas palavras na ordem que nos deram originalmente.Mas esta frase semente não é nossa chave privada, as frases sementes são uma espécie de codificação das chaves privadas da nossa carteira, mas de uma forma muito mais amigável e gerida.
Em poucas palavras, nossa seed ou semente é a que nos permitirá, em última instância, a geração da nossa chave privada, daí a chave pública e daí a direção.
Sem dúvida, uma das melhorias mais significativas nas carteiras foi a implementação das seed phrase, já que estas são muito mais fáceis de gerenciar e memorizar que as chaves privadas.
E o que devemos resguardar na maioria das carteiras sem custódia modernas, é justamente a nossa frase semente, com as vantagens e desvantagens que isso conduza ao usuário.
São necessárias carteiras sem custódia para interagir no setor DEFIy é aqui que a segurança leva maior relevância.
Em uma tecnologia em pleno desenvolvimento, com regulamentos em um estado muito prematuro, o setor defi (decentralized finance , ou finanças descentralizada) é quem leva a frente, oferecendo muitas oportunidades e propostas, mas também algumas dores de cabeça se não tivermos o conhecimento necessário.
As interfaces são menos amigáveis, as tentativas de fraude por redes sociais abundam, projetos que prometem e não cumprem, rug pulls, exploits, flash loans attacks, autorização de contratos maliciosos são alguns dos cenários que podemos nos encontrar dentro do setor e que geraram perdas de centenas de milhões de dólares em ativos nos últimos anos.
Por este motivo, antes de operarmos com uma carteira sem custódia e submergir-nos de cheio no setor DEFI ou interagir com as exchanges descentralizadas ou qualquer tipo de dapp é muito importante adquirir conhecimento, informar-se e entender que vai o ecossistema, não apenas os múltiplos benefícios que gera em muitos setores, mas também as precauções necessárias para operar de forma segura e principalmente com projetos sérios.
Se vamos ter os nossos fundos numa carteira sem custódia, qual é a melhor opção?
Aqui temos que diferenciar entre hot wallets e cold wallets.Hot wallets: Eles estão ligados a um servidor web. Podem ser usados em qualquer parte do mundo, desde que haja uma conexão à Internet.
É fácil entender o atrativo dessas carteiras. Por um lado, eles geralmente são gratuitos e podem ser baixados da Internet. Também são fáceis de usar e são as preferidas para o intercâmbio diário. É possível que alguém que realize várias operações ao longo do dia simplesmente não queira mover fundos dentro e fora de uma cold wallet.
A desvantagem das Hot wallets é que não são tão seguras quanto as cold wallets. Ao estar permanentemente ligado à internet, alguns riscos são principalmente suportados se o dispositivo for comprometido ao qual estão ligados.
As hot wallets diferem segundo suas características. Basicamente, há três tipos: carteiras de desktop, web e móveis.
Notas de Ecrã:
As carteiras criptográficas de desktop têm maiores capacidades de segurança do que as carteiras baseadas na web. No entanto, tecnicamente, são menos seguras que as cold wallets. Uma carteira criptográfica de desktop é descarregada para o computadorNotas Web:
As carteiras web são executadas diretamente através de um navegador de página web. Normalmente, não incluem software adicional que seja executado em seu computador. Ainda assim, existem tipos híbridos.Notas móveis:
As carteiras criptográficas móveis funcionam da mesma maneira que as carteiras de desktop. Podem ser usados com os sistemas operativos iOS ou Android. O maior benefício é que uma carteira móvel é mais portátil do que uma carteira criptográfica de desktop e se se mantiver em dispositivos que não estão conectados à internet podem se aproximar um pouco mais das cold wallets.Cold wallets:
As chamadas “Cold wallets” são aquelas que não estão conectadas à Internet.Podemos diferenciar entre Billeteras de hardware e Paper wallets (chamativas mas pouco praticas)
Quanto ao Paper wallets , como seu nome indica, trata-se da carteira impressa em papel que contém as chaves privadas e direções para gerenciar as criptomoedas, as paper wallets são ideais para armazenamento e resguardo de fundos que não vão ser utilizados ou movidos em muito tempo.
As carteiras de hardware são, sem dúvida, a opção mais confiável quanto à segurança, já que as chaves privadas estão fora da web em dispositivos sem conexão. Existem carteiras de código aberto e carteiras de código fechado, há uma importante concorrência no mercado, algumas oferecem a possibilidade de interagir com mais redes ou moedas do que outras. O valor varia bastante entre as diferentes opções.
O maior inconveniente é que podem resultar um pouco tediosas ao operar, pois é necessário um processo mais longo e menos prático do que com uma hot wallet. São mais recomendados para manter ativos a longo prazo.
As exchanges centralizados utilizam tanto cold wallets como hot wallets para as chaves que gerem.
Como aspectos positivos das carteiras sem custódia podemos ressaltar:
- Mantemos o resguardo pessoal de nossas chaves, dependem apenas do usuário, não é necessário nem depende de um terceiro
- Não há restrições de horários nem montantes para operar, nem nenhum tipo de manutenção
- São muito seguras enquanto as medidas de precaução são tomadas, as carteiras de hardware lideram em segurança.
- Permitem interagir com diferentes Dapps
- Descentralizadas e pseudo- anonimas
- Sem kyc (não requerem informação pessoal)
Como aspectos negativos:
- Interfaces um pouco mais complexas para usuários que se iniciam.
- em sua maioria, sem suporte ao usuário.
- interagir com Dapps pode ser arriscado sem o conhecimento correto
- Sem políticas AML
Conclusão:
Se se esperava uma única resposta, infelizmente esse não é o resultado. Tanto as carteiras com custódia como as carteiras sem custódia são opções seguras. Ficará a critério do usuário segundo seu grau de conhecimento, o objetivo que tenha em mente e sua forma de operar, que opção o resulte mais ou menos pratica.Para um usuário que só inicia no ecossistema certamente uma carteira com custódia em uma exchange seja a melhor opção.
Um trader experiente, que precisa de várias ferramentas para operar além de interfaces rápidas e precisas, também o fará através de uma carteira com custódia dentro de uma exchange centralizada.
Um usuário que interatue em DEFI ou que prioriza a descentralização e o pseudo anonimato de um dex, necessita de uma hot wallet sem custódia.
Um holder com grande quantidade de ativos, certamente investirá em uma cold wallet sem custódia para mantê-los com a maior segurança possível.
Meu conselho é dividir entre várias opções, desta forma também, dividiremos o risco.
Mas principalmente, instruir-se no que diz respeito à higiene cibernética. Além de conhecer como identificar os problemas de segurança que atentam contra o setor (algo no que poderemos aprofundar em outra oportunidade). Dessa forma, saberemos manter nossos dispositivos seguros, saberemos que é 2fa e que opções escolher, usaremos e-mails únicos para as plataformas, manteremos senhas seguras e variáveis, não usaremos redes públicas, aprenderemos a prevenir scams ou tentativas de phishing, protegeremos nossas chaves privadas, e em um nível um pouco mais avançado poderemos entender como funciona uma auditoria de smart contracts, como identificar um potencial rugpull, como revogar contratos potencialmente maliciosos de uma carteira, como identificar um malware de copy-paste em um dispositivo, isto entre outros tantos aspectos a trabalhar e ter em conta.
Comentários