footerRecurso 9

Whitepaper Satoshi Nakamoto

footerRecurso 10

Bitcoin: um sistema de caixa eletrônico ponto a ponto

Abstrato. Uma versão puramente ponto a ponto do dinheiro eletrônico permitiria que os pagamentos online fossem enviados diretamente de uma parte para outra, sem passar por uma instituição financeira. As assinaturas digitais fornecem parte da solução, mas os principais benefícios são perdidos se um terceiro de confiança ainda for necessário para evitar gastos duplos. Propomos uma solução para o problema do gasto duplo usando uma rede ponto a ponto. A rede marca a data e hora das transações, fazendo o hashing delas em uma cadeia contínua de prova de trabalho baseada em hash, formando um registro que não pode ser alterado sem refazer a prova de trabalho. A cadeia mais longa não só serve como prova da sequência de eventos testemunhados, mas também como prova de que veio do maior reservatório de energia da CPU. Contanto que a maior parte da energia da CPU seja controlada por nós que não cooperam para atacar a rede, eles gerarão a cadeia mais longa e os atacantes externos. A própria rede requer uma estrutura mínima. As mensagens são transmitidas com base no melhor esforço, e os nós podem sair e se juntar à rede à vontade, aceitando a mais longa cadeia de prova de trabalho como prova do que aconteceu enquanto eles estavam fora.

1. Introdução

O comércio na Internet passou a depender quase exclusivamente de instituições financeiras que atuam como terceiros confiáveis ​​para processar pagamentos eletrônicos. Embora o sistema funcione bem o suficiente para a maioria das transações, ele ainda sofre das fraquezas inerentes do modelo baseado em confiança. Transações totalmente irreversíveis não são realmente possíveis, uma vez que as instituições financeiras não podem evitar a mediação de disputas. O custo da mediação aumenta os custos de transação, limitando o tamanho mínimo da transação prática e cortando a possibilidade de pequenas transações casuais, e há um custo mais amplo na perda da capacidade de fazer pagamentos não reversíveis para serviços não reversíveis. Com a possibilidade de reversão, a necessidade de confiança se espalha. Os comerciantes devem ser cautelosos com seus clientes, importunando-os para obter mais informações do que de outra forma precisariam. Uma certa porcentagem de fraude é aceita como inevitável. Esses custos e incertezas de pagamento podem ser evitados pessoalmente usando moeda física, mas não existe nenhum mecanismo para fazer pagamentos por meio de um canal de comunicação sem uma parte confiável.

O que é necessário é um sistema de pagamento eletrônico baseado em prova criptográfica em vez de confiança, permitindo que quaisquer duas partes interessadas negociem diretamente uma com a outra sem a necessidade de um terceiro de confiança. As transações que são computacionalmente impraticáveis ​​para reverter protegeriam os vendedores de fraudes, e mecanismos de garantia de rotina poderiam ser facilmente implementados para proteger os compradores. Neste artigo, propomos uma solução para o problema do gasto duplo usando um servidor de timestamp distribuído ponto a ponto para gerar uma prova computacional da ordem cronológica das transações. O sistema é seguro desde que os nós honestos controlem coletivamente mais potência da CPU do que qualquer grupo cooperativo de nós do invasor.

2. Transações

Definimos uma moeda eletrônica como uma cadeia de assinaturas digitais. Cada proprietário transfere a moeda para o próximo assinando digitalmente um hash da transação anterior e a chave pública do próximo proprietário e adicionando-os ao final da moeda. Um beneficiário pode verificar as assinaturas para verificar a cadeia de propriedade.

O problema, claro, é que o beneficiário não pode verificar se um dos proprietários não gastou o dinheiro duas vezes. Uma solução comum é introduzir uma autoridade central confiável, ou casa da moeda, que verifica todas as transações em busca de gastos em dobro. Após cada transação, a moeda deve ser devolvida à casa da moeda para a emissão de uma nova moeda, e apenas as moedas emitidas diretamente da casa da moeda são consideradas como não gastas em dobro. O problema com essa solução é que o destino de todo o sistema monetário depende da empresa que administra a casa da moeda, com cada transação tendo que passar por ela, assim como um banco.

Precisamos de uma maneira para o beneficiário saber que os proprietários anteriores não assinaram nenhuma transação anterior. Para nossos propósitos, a primeira transação é a que conta, então não nos importamos com tentativas posteriores de gastar dobrado. A única maneira de confirmar a ausência de uma transação é estar ciente de todas as transações. No modelo baseado na Casa da Moeda, a Casa da Moeda estava ciente de todas as transações e decidia qual chegava primeiro. Para conseguir isso sem uma parte confiável, as transações devem ser anunciadas publicamente [1], e precisamos de um sistema para que os participantes concordem em um único histórico da ordem em que foram recebidas. O beneficiário precisa de uma prova de que, no momento de cada transação, a maioria dos nós concordou que foi a primeira recebida.

3. Servidor de carimbo de data / hora

A solução que propomos começa com um servidor de carimbo de data / hora. Um servidor de timestamp funciona pegando um hash de um bloco de itens a serem marcados e publicando amplamente o hash, como em um jornal ou postagem da Usenet [2-5]. O carimbo de data / hora prova que os dados devem ter existido no momento, obviamente, para entrar no hash. Cada tempoestamp inclui o carimbo de data / hora anterior em seu hash, formando uma cadeia, com cada carimbo de data / hora adicional reforçando os anteriores.

4. Prova de Trabalho

Para implementar um servidor de carimbo de data / hora distribuído em uma base ponto a ponto, precisaremos usar um sistema de prova de trabalho semelhante ao Hashcash de Adam Back [6], em vez de publicações em jornais ou Usenet. A prova de trabalho envolve a varredura de um valor que, quando hash, como com SHA-256, o hash começa com um número de bits zero. O trabalho médio necessário é exponencial no número de bits zero necessários e pode ser verificado executando um único hash.

Para nossa rede de carimbo de data / hora, implementamos a prova de trabalho incrementando um nonce no bloco até que seja encontrado um valor que forneça ao hash do bloco os bits zero necessários. Uma vez que o esforço da CPU tenha sido despendido para satisfazer a prova de trabalho, o bloco não pode ser alterado sem refazer o trabalho. Como os blocos posteriores são encadeados depois dele, o trabalho para mudar o bloco incluiria refazer todos os blocos depois dele.

A prova de trabalho também resolve o problema de determinar a representação na tomada de decisão da maioria. Se a maioria fosse baseada em um-endereço-IP-um-voto, ele poderia ser subvertido por qualquer pessoa capaz de alocar muitos IPs. A prova de trabalho é essencialmente um-CPU-um-voto. A decisão da maioria é representada pela cadeia mais longa, que tem o maior esforço de prova de trabalho investido nela. Se a maior parte do poder da CPU for controlada por nós honestos, a cadeia honesta crescerá mais rápido e ultrapassará quaisquer cadeias concorrentes. Para modificar um bloco anterior, um invasor teria que refazer a prova de trabalho do bloco e todos os blocos posteriores e então alcançar e superar o trabalho dos nós honestos. Mostraremos mais tarde que a probabilidade de um atacante mais lento se aproximar diminui exponencialmente à medida que os blocos subsequentes são adicionados.

Para compensar o aumento da velocidade do hardware e o interesse variável na execução de nós ao longo do tempo, a dificuldade da prova de trabalho é determinada por uma média móvel visando um número médio de blocos por hora. Se eles forem gerados muito rápido, a dificuldade aumenta.

5. Rede

  1. As etapas para executar a rede são as seguintes: Novas transações são transmitidas para todos os nós.
  2. Cada nó coleta novas transações em um bloco.
  3. Cada nó trabalha para encontrar uma prova de trabalho difícil para seu bloco.
  4. Quando um nó encontra uma prova de trabalho, ele transmite o bloco para todos os nós.
  5. Os nós aceitam o bloqueio apenas se todas as transações nele são válidas e ainda não foram gastas.
  6. Os nós expressam sua aceitação do bloco trabalhando na criação do próximo bloco na cadeia, usando o hash do bloco aceito como o hash anterior.

Os nós sempre consideram a cadeia mais longa como a correta e continuarão trabalhando para estendê-la. Se dois nós transmitem versões diferentes do próximo bloco simultaneamente, alguns nós podem receber um ou o outro primeiro. Nesse caso, eles trabalham no primeiro que receberam, mas salvam o outro ramo para o caso de ficar mais longo. O empate será desfeito quando a próxima prova de trabalho for encontrada e uma ramificação ficar mais longa; os nós que estavam trabalhando na outra ramificação mudarão para a mais longa.

As novas transmissões de transações não precisam necessariamente atingir todos os nós. Contanto que alcancem muitos nós, eles entrarão em um bloco em pouco tempo. As transmissões em bloco também são tolerantes com mensagens perdidas. Se um nó não receber um bloco, ele o solicitará quando receber o próximo bloco e perceber que perdeu um.

6. Incentivo

Por convenção, a primeira transação em um bloco é uma transação especial que inicia uma nova moeda de propriedade do criador do bloco. Isso adiciona um incentivo para os nós darem suporte à rede e fornece uma maneira de inicialmente distribuir as moedas em circulação, uma vez que não existe uma autoridade central para emiti-las. O acréscimo constante de uma quantidade constante de novas moedas é análogo ao gasto de recursos dos mineiros de ouro para adicionar ouro à circulação. Em nosso caso, é o tempo de CPU e a eletricidade que são gastos.

O incentivo também pode ser financiado com taxas de transação. Se o valor de saída de uma transação for menor que seu valor de entrada, a diferença é uma taxa de transação que é adicionada ao valor de incentivo do bloco que contém a transação. Uma vez que um número predeterminado de moedas tenha entrado em circulação, o incentivo pode passar inteiramente para taxas de transação e ser completamente livre de inflação.

O incentivo pode ajudar a encorajar os nós a permanecerem honestos. Se um invasor ganancioso for capaz de reunir mais poder de CPU do que todos os nós honestos, ele terá que escolher entre usá-lo para fraudar pessoas roubando seus pagamentos ou usá-lo para gerar novas moedas. Ele deve achar mais lucrativo jogar de acordo com as regras, regras que o favorecem com mais moedas novas do que todas as outras pessoas juntas, do que minar o sistema e a validade de sua própria riqueza.

7. Recuperando Espaço em Disco

Uma vez que a última transação em uma moeda é enterrada sob blocos suficientes, as transações gastas podem ser descartadas para economizar espaço em disco. Para facilitar isso sem quebrar o hash do bloco, as transações são hash em uma árvore Merkle [7] [2] [5], com apenas a raiz incluída no hash do bloco. Os blocos antigos podem ser compactados removendo os galhos da árvore. Os hashes internos não precisam ser armazenados.

Um cabeçalho de bloco sem transações teria cerca de 80 bytes. Se supormos que os blocos são gerados a cada 10 minutos, 80 bytes * 6 * 24 * 365 = 4,2 MB por ano. Com os sistemas de computador normalmente vendendo com 2 GB de RAM em 2008 e a Lei de Moore prevendo um crescimento atual de 1,2 GB por ano, o armazenamento não deve ser um problema, mesmo que os cabeçalhos dos blocos devam ser mantidos na memória.

8. Verificação de pagamento simplificada

É possível verificar os pagamentos sem executar um nó de rede completo. Um usuário só precisa manter uma cópia dos cabeçalhos de bloco da cadeia de prova de trabalho mais longa, que ele pode obter consultando os nós da rede até que esteja convencido de que tem a cadeia mais longa e obtenha o branch Merkle ligando a transação ao bloco ele não pode verificar a transação por si mesmo, mas ao vinculá-la a um local na cadeia, ele pode ver que um nó da rede a aceitou e os blocos adicionados depois dela confirmam que a rede a aceitou.

Como tal, a verificação é confiável desde que nós honestos controlem a rede, mas é mais vulnerável se a rede for dominada por um invasor. Embora os nós de rede possam verificar as transações por si próprios, o método simplificado pode ser enganado por transações fabricadas por um invasor, enquanto o invasor puder continuar a dominar a rede. Uma estratégia para se proteger contra isso seria aceitar alertas de nós de rede quando eles detectarem um bloco inválido, solicitando que o software do usuário baixe o bloco completo e as transações alertadas para confirmar a inconsistência. As empresas que recebem pagamentos frequentes provavelmente ainda irão querer executar seus próprios nós para uma segurança mais independente e verificação mais rápida.

9. Combinação e divisão de valor

Embora fosse possível lidar com moedas individualmente, seria difícil fazer uma transação separada para cada centavo em uma transferência. Para permitir que o valor seja dividido e combinado, as transações contêm várias entradas e saídas. Normalmente, haverá uma única entrada de uma transação anterior maior ou várias entradas combinando valores menores e, no máximo, duas saídas: uma para o pagamento e uma devolvendo o troco, se houver, ao remetente.

Deve-se notar que fan-out, onde uma transação depende de várias transações, e essas transações dependem de muitas outras, não é um problema aqui. Nunca há necessidade de extrair uma cópia autônoma completa do histórico de uma transação.

10. Privacidade

O modelo bancário tradicional atinge um nível de privacidade ao limitar o acesso às informações às partes envolvidas e ao terceiro de confiança. A necessidade de anunciar todas as transações publicamente impede esse método, mas a privacidade ainda pode ser mantida interrompendo o fluxo de informações em outro lugar: mantendo as chaves públicas anônimas. O público pode ver que alguém está enviando um valor para outra pessoa, mas sem informações que vinculem a transação a ninguém. É semelhante ao nível de informação divulgado pelas bolsas de valores, onde o tempo e a dimensão dos negócios individuais, a «fita», é tornado público, mas sem revelar quem eram as partes.

Como um firewall adicional, um novo par de chaves deve ser usado para cada transação para evitar que sejam vinculadas a um proprietário comum. Alguns links ainda são inevitáveis ​​com transações de várias entradas, que necessariamente revelam que suas entradas eram de propriedade do mesmo proprietário. O risco é que, se o proprietário de uma chave for revelado, a vinculação poderá revelar outras transações que pertenceram ao mesmo proprietário.

11. Cálculos

Consideramos o cenário de um invasor tentando gerar uma cadeia alternativa mais rápido do que a cadeia honesta. Mesmo que isso seja feito, ele não abre o sistema para mudanças arbitrárias, como criar valor do nada ou tirar dinheiro que nunca pertenceu ao invasor. Nós não aceitarão uma transação inválida como pagamento, e nós honestos nunca aceitarão um bloco que as contenha. Um invasor só pode tentar alterar uma de suas próprias transações para recuperar o dinheiro que gastou recentemente.

A corrida entre a cadeia honesta e a cadeia do atacante pode ser caracterizada como uma caminhada aleatória binomial. O evento de sucesso é a cadeia honesta sendo estendida em um bloco, aumentando sua liderança em +1, e o evento de falha é a cadeia do atacante sendo estendida em um bloco, reduzindo a lacuna em -1.

A probabilidade de um atacante recuperar de um determinado déficit é análoga a um problema de Ruína do Jogador. Suponha que um jogador com crédito ilimitado comece com um déficit e jogue potencialmente um número infinito de tentativas para tentar chegar ao ponto de equilíbrio. Podemos calcular a probabilidade de que ele chegue ao ponto de equilíbrio, ou que um invasor alcance a cadeia honesta, da seguinte maneira [8]:

p = probabilidade de um nó honesto encontrar o próximo bloco
q = probabilidade de o atacante encontrar o próximo bloco
qz = probabilidade de o invasor alcançar os blocos z atrás

Given our assumption that p > q, a probabilidade cai exponencialmente à medida que aumenta o número de blocos que o invasor precisa alcançar. Com as chances contra ele, se ele não der um golpe de sorte para a frente logo no início, suas chances tornam-se cada vez menores à medida que ele fica para trás.

Agora consideramos quanto tempo o destinatário de uma nova transação precisa esperar antes de ter certeza suficiente de que o remetente não pode alterar a transação. Presumimos que o remetente seja um invasor que deseja fazer o destinatário acreditar que o pagou por um tempo e, em seguida, mudar o pagamento para ele mesmo depois de algum tempo. O receptor será alertado quando isso acontecer, mas o remetente espera que seja tarde demais.

O receptor gera um novo par de chaves e dá a chave pública ao remetente pouco antes de assinar. Isso evita que o remetente prepare uma cadeia de blocos com antecedência, trabalhando nela continuamente até que tenha a sorte de avançar o suficiente e, então, executar a transação naquele momento. Depois que a transação é enviada, o remetente desonesto começa a trabalhar em segredo em uma cadeia paralela contendo uma versão alternativa de sua transação.

O destinatário espera até que a transação seja adicionada a um bloco e os blocos z tenham sido vinculados a ela. Ele não sabe a quantidade exata de progresso que o atacante fez, mas assumindo que os bloqueios honestos levaram o tempo médio esperado por bloco, o progresso potencial do atacante será uma distribuição de Poisson com valor esperado:

CRIE SUA CARTEIRA HOJE

A tecnologia do Bitcoin aplicada à reserva de valor mais antiga da história da humanidade: o ouro.

CADASTRE-SE

Divisível

Cada Golden Note equivale ao valor de um grama de ouro dividido em 10.000 partes, que chamamos de quarks (cada um equivalente a 100 microgramas de ouro), pequenos o suficiente para permitir micro transações, enquanto as Golden Notes permitem a transferência de grandes quantidades em tempo real em um custo próximo de zero.

Portátil

O aplicativo da web Golden Notes permite que seus titulares enviem e / ou recebam Golden Notes com contrapartes em qualquer lugar do mundo em tempo real, ou mantenha uma economia de suas Golden Notes em transações Bitcoin não gastas, acessíveis apenas a partir de suas carteiras pessoais, as chaves privadas guardadas são vinculadas à sua conta pessoal do Google.

Reserva de valor

Dado que os Golden Notes são equivalentes ao preço de um grama de ouro, são um activo de refúgio ideal contra a inevitável desvalorização das moedas fiduciárias e a volatilidade indesejável dos cripto-activos.
También los Golden Notes  son el medio de cambio y estándar de valor para un sin número de tokens no fungibles que representan activos de la economía real.

Meio de troca

Faça transferências usando assinaturas digitais no Bitcoin SV Blockchain. Somente o proprietário da sua chave privada pode transferir a propriedade dos seus Golden Notes simplesmente sabendo o endereço público da pessoa para quem deseja transferir e assinando a transação. A plataforma Golden Notes permite esta função da forma mais fácil de usar e com o mais alto nível de segurança, sem necessidade de experiência ou conhecimento prévio em criptografia.

    Selecione sua moeda
    USDDólar americano
    EUR Euro
    PT