Blockchain & Crypto Currencies
Last updated
Last updated
Aprenda e pratique Hacking AWS:Treinamento HackTricks AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
Contratos Inteligentes são programas que executam em uma blockchain quando certas condições são atendidas, automatizando a execução de acordos sem intermediários.
Aplicações Descentralizadas (dApps) são construídas sobre contratos inteligentes, apresentando uma interface amigável para o usuário e um back-end transparente e auditável.
Tokens & Moedas diferenciam-se onde moedas servem como dinheiro digital, enquanto tokens representam valor ou propriedade em contextos específicos.
Tokens de Utilidade concedem acesso a serviços, e Tokens de Segurança significam propriedade de ativos.
DeFi significa Finanças Descentralizadas, oferecendo serviços financeiros sem autoridades centrais.
DEX e DAOs referem-se a Plataformas de Troca Descentralizadas e Organizações Autônomas Descentralizadas, respectivamente.
Mecanismos de consenso garantem validações seguras e acordadas de transações na blockchain:
Prova de Trabalho (PoW) depende do poder computacional para verificação de transações.
Prova de Participação (PoS) exige que validadores possuam uma certa quantidade de tokens, reduzindo o consumo de energia em comparação com PoW.
Transações de Bitcoin envolvem a transferência de fundos entre endereços. As transações são validadas por meio de assinaturas digitais, garantindo que apenas o proprietário da chave privada possa iniciar transferências.
Componentes Chave:
As transações consistem em inputs (fonte de fundos), outputs (destino), taxas (pagas aos mineradores) e scripts (regras da transação).
Tem como objetivo melhorar a escalabilidade do Bitcoin permitindo múltiplas transações dentro de um canal, transmitindo apenas o estado final para a blockchain.
Ataques à privacidade, como Propriedade Comum de Inputs e Detecção de Endereço de Troco UTXO, exploram padrões de transações. Estratégias como Mixers e CoinJoin melhoram o anonimato ao obscurecer os links de transações entre usuários.
Métodos incluem negociações em dinheiro, mineração e uso de mixers. CoinJoin mistura várias transações para complicar a rastreabilidade, enquanto PayJoin disfarça CoinJoins como transações regulares para maior privacidade.
No mundo do Bitcoin, a privacidade das transações e o anonimato dos usuários são frequentemente temas de preocupação. Aqui está uma visão simplificada de vários métodos comuns pelos quais os atacantes podem comprometer a privacidade do Bitcoin.
Geralmente é raro que inputs de diferentes usuários sejam combinados em uma única transação devido à complexidade envolvida. Assim, dois endereços de input na mesma transação frequentemente são assumidos como pertencentes ao mesmo proprietário.
Um UTXO, ou Unspent Transaction Output, deve ser totalmente gasto em uma transação. Se apenas uma parte dele for enviada para outro endereço, o restante vai para um novo endereço de troco. Observadores podem assumir que este novo endereço pertence ao remetente, comprometendo a privacidade.
Para mitigar isso, serviços de mistura ou o uso de múltiplos endereços podem ajudar a obscurecer a propriedade.
Usuários às vezes compartilham seus endereços de Bitcoin online, tornando fácil vincular o endereço ao seu proprietário.
Transações podem ser visualizadas como gráficos, revelando conexões potenciais entre usuários com base no fluxo de fundos.
Essa heurística é baseada na análise de transações com múltiplos inputs e outputs para adivinhar qual output é o troco que retorna para o remetente.
Se adicionar mais inputs faz com que a mudança de saída seja maior do que qualquer input único, pode confundir a heurística.
Os atacantes podem enviar pequenas quantias para endereços usados anteriormente, esperando que o destinatário combine essas com outros inputs em transações futuras, vinculando assim os endereços.
As carteiras devem evitar usar moedas recebidas em endereços vazios já usados para evitar essa exposição de privacidade.
Quantias de Pagamento Exatas: Transações sem troco provavelmente são entre dois endereços pertencentes ao mesmo usuário.
Números Redondos: Um número redondo em uma transação sugere um pagamento, sendo o output não redondo provavelmente o troco.
Identificação de Carteira: Diferentes carteiras têm padrões únicos de criação de transações, permitindo aos analistas identificar o software usado e potencialmente o endereço de troco.
Correlações de Quantia e Tempo: Divulgar horários ou quantias de transação pode tornar as transações rastreáveis.
Ao monitorar o tráfego de rede, os atacantes podem potencialmente vincular transações ou blocos a endereços IP, comprometendo a privacidade do usuário. Isso é especialmente verdadeiro se uma entidade operar muitos nós Bitcoin, aumentando sua capacidade de monitorar transações.
Para uma lista abrangente de ataques e defesas de privacidade, visite Privacidade do Bitcoin na Bitcoin Wiki.
Transações em Dinheiro: Adquirir bitcoin em dinheiro.
Alternativas em Dinheiro: Comprar cartões-presente e trocá-los online por bitcoin.
Mineração: O método mais privado para ganhar bitcoins é através da mineração, especialmente quando feita sozinha, pois os pools de mineração podem conhecer o endereço IP do minerador. Informações sobre Pools de Mineração
Roubo: Teoricamente, roubar bitcoin poderia ser outro método para adquiri-lo de forma anônima, embora seja ilegal e não recomendado.
Ao usar um serviço de mistura, um usuário pode enviar bitcoins e receber bitcoins diferentes em troca, o que torna difícil rastrear o proprietário original. No entanto, isso requer confiança no serviço para não manter logs e realmente devolver os bitcoins. Opções alternativas de mistura incluem cassinos de Bitcoin.
CoinJoin mescla várias transações de diferentes usuários em uma só, complicando o processo para quem tenta associar inputs com outputs. Apesar de sua eficácia, transações com tamanhos de input e output únicos ainda podem ser potencialmente rastreadas.
Exemplos de transações que podem ter usado o CoinJoin incluem 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
e 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Para mais informações, visite CoinJoin. Para um serviço similar no Ethereum, confira Tornado Cash, que anonimiza transações com fundos de mineradores.
Uma variante do CoinJoin, PayJoin (ou P2EP), disfarça a transação entre duas partes (por exemplo, um cliente e um comerciante) como uma transação regular, sem a característica distintiva de outputs iguais do CoinJoin. Isso torna extremamente difícil de detectar e poderia invalidar a heurística comum de propriedade de input usada por entidades de vigilância de transações.
Transações como a acima poderiam ser PayJoin, aumentando a privacidade enquanto permanecem indistinguíveis das transações padrão de bitcoin.
A utilização do PayJoin poderia perturbar significativamente os métodos tradicionais de vigilância, tornando-se um desenvolvimento promissor na busca pela privacidade transacional.
Para manter a privacidade e segurança, sincronizar carteiras com a blockchain é crucial. Dois métodos se destacam:
Nó completo: Ao baixar toda a blockchain, um nó completo garante máxima privacidade. Todas as transações já feitas são armazenadas localmente, tornando impossível para adversários identificar quais transações ou endereços o usuário está interessado.
Filtragem de bloco do lado do cliente: Este método envolve a criação de filtros para cada bloco na blockchain, permitindo que as carteiras identifiquem transações relevantes sem expor interesses específicos a observadores de rede. Carteiras leves baixam esses filtros, buscando blocos completos apenas quando uma correspondência com os endereços do usuário é encontrada.
Dado que o Bitcoin opera em uma rede peer-to-peer, é recomendado usar o Tor para mascarar seu endereço IP, aumentando a privacidade ao interagir com a rede.
Para proteger a privacidade, é vital usar um novo endereço para cada transação. Reutilizar endereços pode comprometer a privacidade ao vincular transações à mesma entidade. Carteiras modernas desencorajam a reutilização de endereços por meio de seu design.
Múltiplas transações: Dividir um pagamento em várias transações pode obscurecer o valor da transação, frustrando ataques à privacidade.
Evitar troco: Optar por transações que não exigem troco melhora a privacidade ao interromper métodos de detecção de troco.
Múltiplas saídas de troco: Se evitar troco não for viável, gerar múltiplas saídas de troco ainda pode melhorar a privacidade.
O Monero aborda a necessidade de anonimato absoluto em transações digitais, estabelecendo um alto padrão de privacidade.
O Gás mede o esforço computacional necessário para executar operações no Ethereum, precificado em gwei. Por exemplo, uma transação custando 2.310.000 gwei (ou 0,00231 ETH) envolve um limite de gás e uma taxa base, com uma gorjeta para incentivar os mineradores. Os usuários podem definir uma taxa máxima para garantir que não paguem a mais, com o excesso sendo reembolsado.
Transações no Ethereum envolvem um remetente e um destinatário, que podem ser endereços de usuário ou contratos inteligentes. Elas requerem uma taxa e devem ser mineradas. Informações essenciais em uma transação incluem o destinatário, a assinatura do remetente, valor, dados opcionais, limite de gás e taxas. Notavelmente, o endereço do remetente é deduzido da assinatura, eliminando a necessidade dele nos dados da transação.
Essas práticas e mecanismos são fundamentais para qualquer pessoa que deseje se envolver com criptomoedas priorizando privacidade e segurança.