out 31, 2018 | Bitcoin
Entendendo a história do dinheiro
O dinheiro é injustamente culpado por ser o mal da sociedade. No entanto, tendo a discordar, porque o dinheiro foi uma das maiores criações da história da humanidade. Ele permitiu a humanidade sair de uma sociedade primitiva de escambo, e chegar uma sociedade extremamente complexa e produtiva. A história do dinheiro é fascinante.
Atualmente é possível digitalizar seu dinheiro e enviar para qualquer lugar do mundo. Entretanto, nem sempre foi assim, o dinheiro assumiu diversas formas até chegar ao formato que somos habituados hoje. No post de hoje, vamos entender um pouco desta complexa evolução.
Escambo

Ao longo da história da humanidade, as pessoas passaram a cooperar em uma divisão de trabalho para produzir bens. Com o passar do tempo, o processo produtivo passou a se tornar cada vez mais complexo. As pessoas se especializam em tarefas cada vez mais específicas, até que começam a surgir os diferentes ofícios e profissões.
Como consequência disso, passaram a surgir bens com propósitos e ordem de complexidade diferentes. Diante deste fato, a troca direta entre duas pessoas (escambo) passou a se tornar cada vez mais difícil, a ponto de se tornar impraticável.
Para facilitar, podemos recorrer a um exemplo simples: suponha que em uma economia existam dois bens (sapatos e agasalhos). Duas pessoas podem estimar uma taxa de câmbio e trocar diretamente seus 2 pares sapatos por 1 agasalho. Esta é uma troca simples e direta, pois envolve dois bens e não houve nenhum meio de troca a não ser os próprios bens.
Agora imagine que essa economia passe a se tornar mais complexa e que agora a mesma tenha 3 bens (sapatos, agasalhos e carne). Suponha que duas pessoas desejam realizar uma transação simples: uma possui sapatos e deseja agasalho, a outra parte possui agasalho mas deseja carne, desta forma, a troca direta não acontecerá.
Será necessário encontrar alguém que deseje trocar carnes por sapatos, depois disso será necessário trocar carne por agasalho. Diante disso, adicione mais bens e mais pessoas dentro do contexto econômico, as trocas diretas ficariam impossíveis de ocorrer.
Surge o dinheiro
Dentro desse contexto surge o meio de troca, que passa a ser utilizado como dinheiro. Alguns bens são mais negociáveis dentro de uma economia do que outros bens. Por exemplo, o trigo é mais negociável do que um instrumento de astronomia, assim como o couro é mais negociado do que um arado.

Estes bens são escolhidos gradativamente pela sociedade, através do mercado. O bem escolhido como dinheiro deve ser aquele que mais facilita a troca indireta entre duas pessoas. Inicialmente foi escolhido o trigo, no entanto, algumas sociedades chegaram a usar carne, couro e sal como meio de troca.
A sociedade foi selecionando os melhores bens para servir como meio de troca, até chegar nos metais preciosos como Ouro, Prata e Bronze.
As características que todo bom meio de troca deve ter é: facilidade de trocar, fácil de transportar, escasso, difícil de falsificar, ter uma boa durabilidade e ser homogêneo. Os metais preciosos preenchiam todas estas características quase à perfeição.
Então por volta do século VII a.C, começam a ser cunhadas, de forma privada, as primeiras moedas metálicas. Logo depois, os governos passaram a cunhar suas próprias moedas, obrigando sua utilização pelos seus cidadãos. O dinheiro, portanto, passava a assumir a forma como conhecemos hoje, de moedas metálicas.

Moeda metálica do Império Romano.
Um milagre econômico
Com o surgimento das moedas metálicas, as trocas indiretas ficam mais fáceis de ocorrer, permitindo que a economia se desenvolva. Com uma moeda boa, a divisão de trabalho se torna mais evidente. As pessoas se especializam cada vez mais nas tarefas e a produtividade do trabalho aumenta em um nível nunca antes visto.
Antigamente, as pessoas deveriam produzir o que desejavam consumir, o que demandava bastante tempo. Além disso, a produtividade era muito baixa, ou seja, poucos bens eram produzidos na sociedade. O dinheiro, portanto, foi um verdadeiro milagre, porque possibilitou uma maior prosperidade econômica.
As pessoas podem se especializam em uma profissão, aumentando a produtividade de seu trabalho. Agora elas podem vender seus produtos no mercado, adquirir suas moedas metálicas e trocá-las por uma centena de outros produtos disponíveis para a compra.
Limitação das moedas metálicas
As moedas de metais preciosos são muito valiosas, e por conta disso, surgiu a preocupação com a segurança. Negociar grandes quantidades de ouro passava a ser perigoso e cada vez mais impraticável. Um mercador com uma alta quantia de moedas de ouro se tornaria um alvo fácil para ladrões, por exemplo.
Além disso, carregar grandes quantias de ouro se tornava um fardo pesado e custoso, o que dificulta a mobilidade. Isso impossibilitava o envio de uma grande quantia de ouro para qualquer lugar do mundo, inflexibilizando o fluxo de dinheiro internacional.
Diante destas deficiências das moedas metálicas, começaram a surgir as casas de custódia. Elas basicamente eram um lugar onde se depositava o ouro em troca de um certificado que era uma espécie de “vale ouro”. Este certificado ficou conhecido como moeda-papel, que agora poderia ser utilizado em qualquer transação.

Reservas fracionárias
As casas de custódia começaram a perceber que nem todas as pessoas sacavam todo o seu ouro ao mesmo tempo. Diante deste fato, as instituições começaram a emitir quantias de certificados além do que tinham em estocado em ouro. Os novos certificados sem lastro eram emprestados para outras pessoas, que pagariam juros às casas de custódia. Este mecanismo é conhecido como reserva fracionária, que é praticado até hoje.
Na reserva fracionária atual, os bancos emprestam ou aplicam no mercado financeiro uma quantia de dinheiro maior do que está depositada neles. Desta forma, se todas as pessoas corressem para sacar o seu dinheiro ao mesmo tempo, a maioria dos bancos iria declarar falência no mesmo dia, porque nem todas as pessoas conseguiriam resgatar seu dinheiro.
As casas de custódia evoluíram para o atual sistema bancário, que agora passava a custodiar ouro. Os bancos grandes passaram a incorporar os bancos menores por meio da competição bancária. Além disso, os bancos menores viam nos grandes bancos uma forma de garantir maior liquidez para o sistema.
A partir deste ponto, começam a surgir os primeiros bancos centrais, sendo o Banco da Inglaterra o primeiro deles. Em 1919, nos EUA surge o FED (Federal Reserve) por meio de uma sociedade anônima. Toda e qualquer emissão de moeda privada passa a se tornar ilegal e impraticável.
O lastro é perdido
Os bancos centrais agora detém o monopólio da emissão de moeda em seus respectivos países. Por meio de decretos governamentais de confisco, ou de serviços que ofereciam a custódia direta, os bancos centrais ficaram com a custódia de grande parte do ouro da população.
As moedas ainda eram lastreadas em ouro e prata, de forma que um cidadão poderia solicitar o resgate a qualquer momento. Ou seja, um dólar ainda valeria o equivalente a x gramas de ouro ou prata no momento do resgate.

Imagem de um dólar resgatável em ouro
Através da maior prática de reserva fracionária, a conexão da moeda com os metais preciosos se torna cada vez mais efêmera. A ligação é rompida definitvamente com fim do Acordo de Bretton Woods, nos anos 70. Foi uma saída encontrada pelo presidente dos EUA, Richard Nixon, para evitar a fuga de ouro para a União Soviética.
A moeda fiduciária
A ligação com o Ouro se perde completamente, surgindo assim as “moedas fiduciárias”. As moedas fiduciárias não possuem nenhum tipo de lastro. Isto é, seu valor está baseado na confiança da população e investidores em relação ao governo emissor.

Quando as pessoas perdem a confiança nas instituições do governo, a moeda do país perde grande parte do seu valor. Para observar estes acontecimentos, não é necessário ir muito longe. A moeda Venezuelana, o Bolívar, já vale menos do que a moeda do jogo eletrônico World of Warcraft. No Zimbábue já existem notas de 100 trilhões de Dólares Zimbábueanos para comprar uma dúzia de ovos.
A retirada do lastro serviu como incentivo para os bancos centrais e privados criarem dinheiro indefinidamente. O lastro em ouro e prata serviam como disciplinadores e limitadores para o aumento da oferta monetária. Diante disso, os governos passaram a imprimir mais dinheiro do que nunca. Abaixo segue o exemplo da oferta monetária Venezuelana.

Os governos definem através da lei o que deve ser utilizado como meio de troca dentro da economia. Por lei as pessoas são obrigadas a expressarem seus contratos e contabilidades em termos da moeda corrente definida pelo governo.
Como dito anteriormente, a moeda atual possui curso forçado pelo poder legislativo do governo. No Brasil, por exemplo, é proibido aceitar em estabelecimentos outras moedas que não Real. Isso faz com que as pessoas nunca deixem de utilizar a moeda por pior que ela seja.
Modernização do sistema financeiro
O sistema financeiro se modernizou com o surgimento da internet. Como consequência, o dinheiro passou a ser representado também por dígitos na tela de um computador. Os bancos dispõem de sistemas de internet banking, que permitem as pessoas realizar pagamentos e transações globais sem precisarem sair de casa.
Além disso, o mercado de crédito se torna extremamente mais acessível com o surgimento dos cartões de crédito. As pessoas podem solicitar empréstimos e receber o dinheiro ainda no mesmo dia. Com os cartões, as pessoas podem realizar compras sem necessariamente possuir dinheiro naquele momento.

No entanto, a expansão do mercado de crédito aumentou o nível de endividamento das pessoas, empresas e governos. As consequências da expansão de crédito sem limites foram encaradas na crise financeira de 2008, onde os Estados Unidos passaram por uma das maiores recessões de sua história.
Bitcoin
No auge da crise financeira de 2008, Satoshi Nakamoto, em seu White Paper, propõe um sistema de dinhero digital sem a necessidade de confiança em uma instituição financeira: O Bitcoin. Naquele momento, ele reunia todas as características que o tornava a antítese do sistema financeiro vigente.

Afinal, o Bitcoin é um dinheiro descentralizado, sem intermediários financeiros, extremamente escasso, que oferece maior privacidade nas transações e não é controlado por uma pessoa ou entidade central. Além disso, ele é um ativo inconfiscável, que o torna completamente descolado do mercado financeiro e de decisões políticas como confisco de ouro e poupança.
O Bitcoin possui lastro
O Bitcoin, tal como o ouro, não possui lastro em algum bem físico. Seu valor não é garantido por uma entidade central ou governo. Seu lastro é justamente suas características: um bem descentralizado, fácil de trocar, genuinamente escasso, inconfiscável, seguro e infalsificável.
Além disso, ele concerta um problema do ouro, que fez com tenha sido necessária a sua custódia: o problema de mobilidade. Portanto, o Bitcoin não precisa de uma casa de custódia ou um banco. O detentor do Bitcoin pode ser o seu próprio banco, ou seja, dono da sua própria riqueza.
Lá e de volta outra vez?
Os estudos sobre dinheiro ficaram em um segundo plano por muitos anos. Acreditava-se que sabíamos tudo o que era necessário sobre suas teorias. No entanto, nós economistas tendemos a possuir uma certa arrogância involuntária. Volta e meia surgem novos fatos que desafiam nossos conhecimentos, sendo o surgimento das criptomoedas um deles.
Particularmente, somos privilegiados testemunhar o surgimento deste novo ecossistema. Temos a chance de reviver e colocar à prova todas aquelas teorias econômicas formuladas séculos atrás. O monopólio estatal sobre a moeda fez com que os economistas acharem que qualquer debate já estava fechado e definido.
Definitivamente esquecemos ou sequer pensamos em uma economia com moedas concorrentes tendo o seu valor definido no livre mercado, como um bem qualquer. Não pensamos sequer na possibilidade de possuir um dinheiro o qual podemos escolher o seu destino. Isto é fantástico de se presenciar.
As criptomoedas são um desafio para a economia. É papel dos economistas estudá-las com afinco, porque elas representam uma ruptura com um sistema estabelecido há séculos. Diferente de revoluções, as criptomoedas seguem um caminho natural, lento e coeso de aprendizado. Quando menos percebermos, estaremos diante de um novo sistema financeiro.
out 30, 2018 | Bitcoin
O whitepaper do Bitcoin, conhecido pelo nome “Bitcoin: A Peer-to-peer Electronic Cash System” foi escrito pelo pseudônimo Satoshi Nakamoto, que criou a tecnologia. Se você quiser conhecer de uma maneira mais técnica e aprofundada, nós disponibilizamos abaixo o artigo escrito por Satoshi Nakamoto explicando com maiores detalhes a sua criação. Se você ainda é novato no assunto, recomendamos o nosso post O que é Bitcoin? antes de ler o whitepaper do Bitcoin.
Whitepaper do Bitcoin por Satoshi Nakamoto
Abstract. Uma versão de dinheiro eletrônico puramente ponto-a-ponto permitiria que pagamentos online fossem enviados diretamente de uma pessoa para outra sem a necessidade de passar por uma instituição financeira, como bancos, por exemplo. Assinaturas digitais oferecem uma parte da solução, mas os principais benefícios são perdidos se um intermediário confiável ainda é necessário para prevenir o gasto duplo.
Nós propomos uma solução ao problema do gasto duplo utilizando uma rede ponto-a-ponto. A rede registra a data e hora das transações através de um sistema de carimbo de tempo, transformando-as em uma cadeia contínua de prova de trabalho baseada em um hash, formando um registro que não pode ser modificado sem que toda a prova de trabalho seja refeita.
A cadeia mais longa não serve apenas como uma prova da sequência dos eventos testemunhados, ela serve também como uma prova de que ela veio do grupo com maior poder computacional. Enquanto a maioria do poder computacional é controlada por nós de rede que não estão cooperando para atacar a rede, eles vão gerar a maior cadeia e ultrapassar os atacantes.
A própria rede requer uma mínima estrutura. As mensagens são transmitidas com o melhor esforço base e, os nós de rede podem sair e se juntar a rede quando quiserem, aceitando a cadeia com a prova de trabalho mais longa como uma prova do que aconteceu enquanto eles estiveram fora da rede.
Introdução
O comércio na internet passou a se tornar quase que exclusivamente dependente de instituições financeiras se propondo como terceiros confiáveis para processar pagamentos eletrônicos. Enquanto o sistema funciona bem o suficiente para a maioria das transações, ele ainda sofre de fraquezas inerentes em modelos baseados na confiança em terceiros ou intermediários. Transações completamente irreversíveis não são realmente possíveis, porque as instituições financeiras não podem evitar mediação de disputas judiciais. O custo das mediações aumenta os custos de transação, limitando o tamanho mínimo que uma transação deve possuir e acabando com a possibilidade de pequenas transações casuais, além disso, há um custo mais amplo na perda da possibilidade de fazer pagamentos irreversíveis para serviços irreversíveis.
Com a possibilidade de pagamentos reversíveis, a necessidade de confiança aumenta. Os comerciantes precisam estar atentos aos seus clientes, incomodando eles para darem mais informações do que eles precisam oferecer normalmente. Uma certa porcentagem de fraude é aceita como inevitável. Essas incertezas de custos e pagamentos podem ser evitados com uma pessoa usando uma moeda física, entretanto, não existe nenhum mecanismo para fazer pagamentos através de um canal de comunicações sem um terceiro.
O que se torna necessário é um sistema de pagamentos eletrônicos baseado em provas criptográficas ao invés de confiança, permitindo que duas partes dispostas a negociar diretamente entre si possam o fazer sem a necessidade de um terceiro confiável. Transações que são computacionalmente impraticáveis de serem revertidas protegem os vendedores de caírem em alguma fraude. Além disso, mecanismos de rotina de depósitos poderiam ser facilmente implementados para proteger os compradores.
Neste artigo nós propomos uma solução para o problema do gasto duplo usando um servidor ponta-a-ponta de carimbos de tempo para gerar uma prova computacional da ordem cronológica das transações. O sistema é seguro enquanto nós de rede honestos controlam coletivamente mais poder computacional do que qualquer outro grupo de nós de rede atacantes cooperando entre si.
Transações
Nós definimos uma moeda eletrônica como uma cadeia de assinaturas digitais. Cada proprietário transfere a moeda para a próxima pessoa, assinando digitalmente um hash da transação anterior e uma chave pública do próximo dono e adicionando a estes, a assinatura de sua chave privada que libera as moedas para a pessoa que vai recebê-las. A pessoa que recebeu a transação pode verificar as assinaturas para checar a cadeia de propriedade.

O problema, claro, é que quem recebe a moeda não pode verificar se um dos donos não gastou a mesma moeda duas vezes. Uma solução comum é introduzir uma autoridade central, ou uma “Casa da Moeda” que verifica se houve gasto duplo em cada transação.
Depois de cada transação, a moeda deve retornar à casa da moeda, que vai emitir novas moedas, e somente moedas emitidas diretamente pela Casa da Moeda são confiáveis de não terem sido gastas duas vezes. O problema dessa solução é que o destino de todo sistema monetário dependeria de uma instituição que estaria por trás da cunhagem das moedas, com cada transação tendo que passar por ela, como se fosse um banco.
Nós precisamos de um modo no qual quem recebeu a moeda saiba que os donos anteriores da moeda não assinou nenhuma outra transação prévia. Para nossos propósitos, a transação mais antiga é a que conta, então não nos importamos com tentativas mais recentes de gastos-duplo. O único modo de confirmar a ausência de uma transação é estar atento a todas as transações que ocorrem.
No modelo baseado em “Casas da moeda”, elas estavam atentas de todas as transações e decidiram qual delas foi feita primeiro. Para que isso seja feito sem um intermediário confiável, todas as transações precisam ser anunciadas publicamente [1], e nós precisamos de um sistema para que os participantes concordem em uma única ordem cronológica na qual todos eles receberam. Quem recebe as moedas precisa de uma prova para comprovar que naquele tempo, todos os nós de rede concordaram que aquela transação foi recebida primeiro.
Servidor de Carimbos de tempo
A solução que propomos começa com um servidor de carimbo de tempo. Um servidor de carimbos de tempo funciona pegando a função hash de um bloco de itens que serão carimbados com a data e a hora e publicando largamente a função hash, como se fosse um jornal ou um post na Usenet [2-5]. O Carimbo de tempo inclui o carimbo de tempo anterior em sua função hash, formando uma espécie de cadeia ou corrente, com cada carimbo de tempo adicional reforçando os anteriores.

Prova de trabalho
Para implementar um servidor de carimbos de tempo bem distribuído em uma base ponto-a-ponto, nós vamos precisar usar um sistema de prova-de-trabalho similar ao Hashcash de Adam Back [6], ao invés do jornal ou posts de Usenet. O sistema de prova-de-trabalho envolve escanear o valor que foi adicionado à função hash, como em um sistema de criptografia SHA-256, a função hash começa com um número de zero bits. O trabalho médio requerido é exponencial no número de zero bits requeridos e pode ser verificado executando um único hash.
Para a nossa rede de carimbo de tempos, nós implementamos uma prova-de-trabalho através da incrementação de um nonce no bloco até que o valor seja encontrado e dê ao hash do bloco os zero bits requeridos. Como o esforço computacional foi gasto para satisfazer a prova-de-trabalho, o bloco não pode ser mudado sem que todo esse trabalho seja refeito. Conforme os últimos blocos são encadeados depois do primeiro, o trabalho para mudar o bloco incluiria refazer todo o trabalho gasto nos blocos depois dele.

A prova-de-trabalho também soluciona o problema de determinar a representação com uma maioria tomando as decisões. Se a maioria fosse baseada em um-ip-um-voto, ela poderia ser facilmente subvertida por qualquer um que pudesse alocar grandes quantidades de IPs. Prova-de-trabalho é essencialmente um-Computador-um-voto.
A decisão tomada pela maioria é representada pela maior cadeia de blocos, a qual contém a prova-de-trabalho com maior esforço investido. Se a maioria do poder computacional é controlada por nós-de-rede honestos, a cadeia honesta irá crescer mais rapidamente e ultrapassar qualquer cadeia de blocos competidora.
Para modificar um bloco anterior da rede, um atacante precisaria refazer toda a prova-de-trabalho do bloco atual e todos os blocos depois dele e, então recuperar o atraso e ultrapassar o trabalho de todos os nós-de-rede honestos. Mostraremos mais adiante que a probabilidade de um atacante mais lento ultrapassar os nós honestos diminui exponencialmente enquanto blocos subsequentes são adicionados.
Para compensar o aumento da velocidade dos hardwares e a variação do interesse em se rodar nós com o passar do tempo, a dificuldade da prova-de-trabalho é determinada por uma média móvel focando o número médio de blocos por hora. Se eles estão sendo gerados muito rápido, a dificuldade de gerar a prova-de-trabalho aumenta.
Rede
Os passos para rodar a rede são conforme a seguir:
- 1) Novas transações são transmitidas para todos os nós;
- 2) Cada nó coleta novas transações para dentro de 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 bloco somente se todas as transações contidas nele são válidas e não foram gastas anteriormente;
- 6) Nós de rede expressam a sua aceitação do bloco trabalhando na criação do próximo bloco na cadeia, usando o hash do bloco anterior que foi aceito como o hash anterior.
Nós de rede sempre consideram a maior cadeia como a correta e sempre continuarão trabalhando para estendê-la. Se dois nós de rede transmitem diferentes versões do próximo bloco simultaneamente, alguns nós de rede vão receber uma ou outra versão primeiro. Nesse caso, eles trabalham em cima do primeiro bloco que eles receberam, mas salvam o outro ramo no caso de ele se tornar maior do que o que está sendo trabalhado.
O consenso será alcançado quando a próxima prova-de-trabalho é encontrada e um dos ramos de blocos se torna maior, os nós de rede que estavam trabalhando no ramo que ficou menor, irão mudar para o ramo que se tornou maior.
Uma nova transação transmitida não precisa, necessariamente, alcançar todos os nós da rede. Desde que ela alcance muitos nós de rede, elas serão incluídas em um bloco mais tarde. Transmissões de blocos também são tolerantes com mensagens descartadas. Se um nó de rede não recebe um bloco, ele irá solicitá-lo quando ele receber o próximo bloco e perceber que um bloco está faltando.
Incentivo
Por convenção, a primeira transação em um bloco é uma transação especial, ela cria novas moedas que são possuídas como uma forma de recompensa pelo criador daquele bloco. Isso adiciona um incentivo para os nós de rede darem suporte e aderir à rede, além disso, provê uma maneira de distribuir inicialmente as moedas para a circulação, sem que haja uma autoridade central para emiti-las.
Uma adição estável de uma quantidade constante de novas moedas é análoga aos mineradores de ouro gastando seus recursos para colocar mais ouro em circulação. Em nosso caso, apenas poder computacional, tempo e eletricidade são gastos.
O incentivo também pode ser fundamentado através de taxas de transação. Se o valor de saída de uma transação é maior que o valor de entrada, a diferença desses valores é a taxa de transação que é adicionada como um valor de incentivo do bloco contendo a transação. Desde que o número pré-determinado de moedas tenha entrado em circulação, o incentivo pode ser dado inteiramente através de taxas de transações, mantendo o sistema completamente livre de inflação.
O incentivo irá ajudar a encorajar os nós de rede a se manterem honestos. Se um atacante ganancioso é capaz de reunir mais poder computacional do que todos os nós de rede honestos, ele teria de escolher entre usar seu poder para fraudar as pessoas roubando de volta seus pagamentos, ou usá-lo para gerar novas moedas. Ele iria achar mais lucrativo jogar conforme as regras, tais regras que o favorecem com mais moedas novas do que todos os outros juntos, do que prejudicar o sistema e a validade de sua própria riqueza.
Recuperando espaço em disco
Desde que a última transação em uma moeda é garantida através uma quantidade suficiente de blocos, as transações gastas antes dessa última transação podem ser descartadas para guardar espaço no disco (hd) do computador. Para facilitar isso sem quebrar o hash do bloco, transações assumem seus hashes em uma Árvore de Merkle [7][2][5], com a única raiz incluída no hash do bloco.
Blocos mais antigos podem ser compactos podando os ramos desta árvore. Os hashes interiores não precisam ser armazenados.

Um cabeçalho de bloco sem transações teria o tamanho aproximado de 80 bytes. Se nós supomos que os blocos são gerados a cada 10 minutos, logo: 80 bytes * 6 * 24 * 365 = 4.2MB por ano. Atualmente os computadores estão sendo vendidos tipicamente com 2GB de RAM em 2008, e a Lei de Moore prevendo que o crescimento atual de 1.2gb por ano, o armazenamento não deverá ser um problema mesmo se os cabeçalhos dos blocos precisarem ser armazenados na memória.
Simplificando a verificação de pagamentos
Se é possível verificar pagamentos sem que seja necessário rodar um nó de rede inteiro. Um usuário precisa manter apenas uma cópia dos cabeçalhos dos blocos da cadeia que possua a maior prova-de-trabalho, a qual pode ser obtida consultando nós de rede até que ele esteja convencido de que ele tem a cadeia mais longa e obtenha o ramo da Árvore de Merkle vinculando a transação ao bloco com o registro de data e hora através de carimbos de tempo. Ele não pode checar a transação sozinho, no entanto, ele pode vincular ligando-a a um lugar na cadeia, dessa forma, ele pode ver se os nós de rede aceitaram a transação e se os blocos adicionados depois dela confirmam que a rede aceitou a transação.

Assim sendo, a verificação é confiável enquanto os nós de rede honestos controlam a rede, mas ela pode se tornar vulnerável se a rede é controlada por um atacante. Enquanto os nós de rede podem verificar as transações por eles mesmos, um método simplificado pode ser enganado por transações forjadas pelo atacante enquanto a rede continuar sob seu domínio.
Uma estratégia para se proteger contra isso seria aceitar alertas de nós de rede quando eles detectam um bloco inválido, notificando o software dos usuários para baixar o bloco inteiro e as transações alertadas para confirmar a inconsistência. Estabelecimentos que recebem pagamentos frequentemente vão querer rodar seus próprios nós de rede para manter uma segurança mais independente e uma verificação mais rápida.
Combinando e dividindo valores
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, transações contém múltiplas entradas e saídas. Normalmente, haverá uma única entrada a partir de uma transação anterior maior ou entradas múltiplas combinando quantidades menores, e finalmente duas saídas: uma para o pagamento, e outra retornando o troco, que volta para o remetente do pagamento.

Deve-se notar que o número de entradas que podem ser conectadas a uma saída especificada, onde uma transação depende de várias transações, não há um problema aqui. Nunca há a necessidade de extrair cópia autônoma completa do histórico de uma transação.
Privacidade
O modelo bancário tradicional alcança um nível de privacidade limitando o acesso à informação das partes envolvidas e do intermediário confiável. A necessidade de anunciar todas as transações publicamente torna esse método inviável, mas a privacidade ainda pode ser mantida quebrando-se o fluxo de informações outro lugar: mantendo as chaves públicas anônimas.
O público pode ver que alguém está enviando uma quantia para outra pessoa, mas sem informações ligando a transação a ninguém. Isto é semelhante ao nível de informação divulgado pelas bolsas de valores, em que o tempo e o tamanho negócios individuais, a “fita”, é tornada pública, mas sem dizer quem eram as partes envolvidas na negociação.

Como um firewall adicional, um novo par de chaves públicas precisaria ser usado para cada transação para evitar que eles sejam ligados a um dono comum. Alguma ligação ainda é inevitável com transações que tenham múltiplas entradas, as quais necessariamente revelam que suas entradas sejam possuídas pelo mesmo dono. O risco é que o dono da chave público seja revelado, caso isso aconteça, seria possível ligar todas as outras transações que foram feitas pelo mesmo dono.
Cálculos
Nós consideramos o cenário no qual um atacante está tentando gerar uma cadeia alternativa de blocos mais rápido que a cadeia honesta. Mesmo que isso seja feito, isso não torna o sistema aberto a mudanças arbitrárias, como criar valores do nada, ou tomar dinheiro que nunca pertenceu ao atacante.
Os nós de rede não irão aceitar uma transação inválida como pagamento, e nós honestos nunca vão aceitar o bloco contendo a transação fraudulenta. Um atacante pode apenas tentar mudar uma de suas próprias transações para tomar de volta o dinheiro que ele gastou recentemente.
A corrida entre a cadeia honesta e a cadeia atacante pode ser caracterizada como uma Caminhada Binominal Aleatória. O sucesso do evento ocorre quando a cadeia honesta está sendo estendida por um bloco, aumentando sua liderança em +1, e a falha do evento ocorre se a cadeia do atacante está sendo estendida, diminuindo o gap em -1.
A probabilidade de um atacante alcançar a cadeia honesta partindo de um dado déficit é análogo ao problema da Ruína do Apostador. Suponha que um apostador com crédito ilimitado comece com um déficit e jogue potencialmente um número infinito de tentativas para tentar alcançar o ponto de equilíbrio. Podemos calcular a probabilidade na qual o apostador atinge o ponto de equilíbrio, ou que um invasor alcance a cadeia de blocos honesta, como segue abaixo:
p = probabilidade um nó honesto encontrar o próximo bloco
q = probabilidade o atacante encontrar o próximo bloco
qz = probabilidade de o atacante se recuperar de z blocos atrás

Dada a nossa suposição de que p>q, a probabilidade cai exponencialmente conforme o número de blocos que o atacante tem que acompanhar com o aumento da cadeia. Com as chances contra ele, se ele não tiver um lance de sorte logo no começo, suas chances irão se tornar cada vez menores conforme ele vai ficando para trás.
Nós vamos agora considerar o quanto a pessoa que recebe uma nova transação precisa esperar antes que tenha a certeza suficiente de que quem enviou a transação não pode mudar a transação. Nós supomos que quem enviou a moeda é um atacante que deseja fazer com que a pessoa que vai receber a moeda acredite que ele recebeu o seu pagamento naquele momento, e então reverter o pagamento de volta para ele mesmo depois de algum tempo. O destinatário da transação será alertado quando isso acontece, mas quem enviou a transação acredita que será tarde demais.
O destinatário gera um novo par de chaves e dá a chave pública para quem vai enviar as moedas por um curto momento antes de assinar. Isso impede que o atacante prepare uma cadeia de blocos com antecedência trabalhando continuamente até que ele tenha a sorte de chegar longe o suficiente, e então executar a transação no aquele momento.
Uma vez 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. A pessoa que vai receber as moedas espera até que a transação tenha sido adicionada ao bloco e z blocos tenham sido ligados depois disso. Ele não precisa saber a quantidade exata de progresso que o atacante fez, mas supondo que a cadeia de blocos honestos tomou o tempo médio esperado por bloco, o progresso potencial do atacante será uma distribuição de Poisson com o valor esperado:

Para obter a probabilidade de um invasor ainda alcançar neste momento, nós multiplicamos a densidade de Poisson por cada quantidade de progresso que ele poderia ter feito pela probabilidade de ele conseguir alcançar a partir daquele ponto:

Reorganizando para evitar a soma de uma cauda infinita da distribuição…

Convertendo em código C…
{
double p = 1.0 – q;
double lambda = z * (q / p);
double sum = 1.0;
int i, k;
for (k = 0; k <= z; k++)
{
double poisson = exp(-lambda);
for (i = 1; i <= k; i++)
poisson *= lambda / i;
sum -= poisson * (1 – pow(q / p, z – k));
}
return sum;
}
Executando alguns resultados, podemos ver a probabilidade cair exponencialmente com z.
q=0.1
z=0 P=1.0000000
z=1 P=0.2045873
z=2 P=0.0509779
z=3 P=0.0131722
z=4 P=0.0034552
z=5 P=0.0009137
z=6 P=0.0002428
z=7 P=0.0000647
z=8 P=0.0000173
z=9 P=0.0000046
z=10 P=0.0000012
q=0.3
z=0 P=1.0000000
z=5 P=0.1773523
z=10 P=0.0416605
z=15 P=0.0101008
z=20 P=0.0024804
z=25 P=0.0006132
z=30 P=0.0001522
z=35 P=0.0000379
z=40 P=0.0000095
z=45 P=0.0000024
z=50 P=0.0000006
Para P menor que 0.1%
P < 0.001
q=0.10 z=5
q=0.15 z=8
q=0.20 z=11
q=0.25 z=15
q=0.30 z=24
q=0.35 z=41
q=0.40 z=89
q=0.45 z=340
Conclusão
Propusemos um sistema para transações eletrônicas sem depender da confiança em intermediários. Nós começamos com o quadro usual de moedas feitas a partir de assinaturas digitais, que fornece um forte controle de propriedade, mas é incompleta sem uma maneira de evitar o gasto duplo.
Para resolver isso, nós propusemos uma rede ponto-a-ponto usando a prova de trabalho para registrar um histórico público de transações que rapidamente se torna computacionalmente impraticável para um atacante mudar, se nós honestos controlarem a maioria da potência computacional da rede. A rede é robusta em sua simplicidade não estruturada.
Nós de rede trabalham todos de uma vez com pouca coordenação. Eles não precisam ser identificados, pois as mensagens são não é roteado para qualquer lugar específico e só precisa ser entregue com base no melhor esforço. Nós de rede podem sair e voltar à rede à vontade, aceitando a cadeia de prova de trabalho como prova de que aconteceu enquanto eles estavam fora.
Eles votam com seu poder de CPU, expressando sua aceitação de blocos válidos, trabalhando em estendê-los e rejeitando blocos inválidos, recusando-se a trabalhar em eles. Quaisquer regras e incentivos necessários podem ser aplicados com este mecanismo de consenso.
Referências
[1] W. Dai, “b-money,” http://www.weidai.com/bmoney.txt, 1998.
[2] H. Massias, X.S. Avila, and J.-J. Quisquater, “Design of a secure timestamping service with minimal
trust requirements,” In 20th Symposium on Information Theory in the Benelux, May 1999.
[3] S. Haber, W.S. Stornetta, “How to time-stamp a digital document,” In Journal of Cryptology, vol 3, no
2, pages 99-111, 1991.
[4] D. Bayer, S. Haber, W.S. Stornetta, “Improving the efficiency and reliability of digital time-stamping,”
In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993.
[5] S. Haber, W.S. Stornetta, “Secure names for bit-strings,” In Proceedings of the 4th ACM Conference
on Computer and Communications Security, pages 28-35, April 1997.
[6] A. Back, “Hashcash – a denial of service counter-measure,”
http://www.hashcash.org/papers/hashcash.pdf, 2002.
[7] R.C. Merkle, “Protocols for public key cryptosystems,” In Proc. 1980 Symposium on Security and
Privacy, IEEE Computer Society, pages 122-133, April 1980.
[8] W. Feller, “An introduction to probability theory and its applications,” 1957.
Caso queira baixar em PDF: Clique aqui!
*Artigo publicado originalmente no Cointimes.
out 29, 2018 | Foxbit Lab
Educação de qualidade, interação, dinamismo e aprendizado de verdade. Perto do seu lançamento oficial, o Foxbit Lab promoveu um workshop interativo, na Ketchum, empresa global de relações públicas, para proporcionar os funcionários a um primeiro contato mais elaborado com Bitcoin.
Foi a oportunidade para validação do modelo de ensino do Foxbit Lab, que nasce do projeto inicial Foxbit Educação, mas com uma nova proposta de educação financeira através da metodologia ativa.
Eu e o Isac Honorato apresentamos a aula em formato de workshop no curso “B de Bitcoin“, que aborda de uma forma macro o ecossistema da criptomoeda. No conteúdo programático, foram abordados os temas do nascimento do Bitcoin, tecnologia do Blockchain, as possibilidades de transações, a história, teorias, cases, entre outros temas que envolvem o bitcoin e o blockchain.
O formato é embasado: a forma de apreensão de qualquer conteúdo é mais eficiente quando há interação, dinamismo, atividades práticas e abertura para que os alunos possam tirar dúvidas e perguntar. É a possibilidade real de sair da aula com um conhecimento mais aprofundado e com diversas portas e possibilidades a mais do que quando entrou.
O Foxbit Lab quer levar educação para o público não só sobre o mundo de criptoativos, mas também a base estrutural de tudo: educação financeira básica, de uma forma didática, mas com mão na massa. O conhecimento de como controlar melhor seus gastos e finanças abre portas para todos os outros universos do mundo de investimentos.
Na aula que fizemos na Ketchum, foi possível perceber o quanto as pessoas estão sedentas por conhecimento, mas com dificuldade de encontrar quem fale a linguagem delas, de maneira clara e interativa, que tenha apelo e interesse em prosseguir em uma trilha de conhecimento.
Por se tratar de algo tão novo, as perguntas são as mais diversas, como por exemplo: onde e como comprar o primeiro bitcoin? O que é a mineração? Vou ficar rico com bitcoin? Qual o valor ideal de investimento? Essas e muitas outras perguntas foram respondidas ao time da Ketchum.
Falar de bitcoin e blockchain é um desafio, e nosso objetivo é transformar isso em algo simples e interativo, mostrando que o bitcoin já é a nossa realidade, que isso já está entrando no nosso dia a dia, e precisamos nos atualizar e entender essa revolução.
Assim como o time da Ketchum participou, você, sua empresa, o seu grupo de amigos também podem saber mais sobre bitcoin e todo o universo de criptomoedas, escreva para [email protected]. Caso queira levar esse conhecimento para sua empresa, universidade ou até algum grupo de amigos, fale com a gente! 😉
https://foxbit.com.br/blog/aos-nossos-professores-muito-obrigada/
out 25, 2018 | Institucional
Tivemos o privilégio de ter a estudante Maya Rajha em uma semana na Foxbit conosco. Ela é estudante do Ensino Médio na escola Lycée Pasteur, uma instituição franco-brasileira que promove estágio de uma semana. Nele, o aluno passa cinco dias em alguma empresa ou instituição, com o objetivo de aprender sobre a estrutura corporativa, entender como as áreas funcionam, podendo até conhecer novas profissões e funções dessa nova geração empresarial focada em tecnologia. A Foxbit foi a escolha da Maya, em um período que foi enriquecedor de aprendizado tanto pra ela, quanto para nós! 🙂
Uma semana de Foxbit, por Maya Rajha
Como sobreviver ao Ensino Médio, a última etapa da educação no Brasil? Os três anos escolares mais intensos. São muitas provas, lições de casa, relacionamentos, amizades, escolhas e principalmente a pressão sobre a “grande decisão”: Qual profissão exerceremos no futuro?
Para nos ajudar com tal escolha, a minha escola, Lycée Pasteur, criou há alguns anos um projeto em que os todos os alunos do primeiro ano do Ensino Médio devem escolher uma empresa para passarem uma semana estagiando. O objetivo é observar o funcionamento da empresa e entender um pouco melhor de como realmente funciona o mundo do trabalho.
Particularmente, eu ainda não decidi qual caminho eu quero seguir. Porém, tenho algumas ideias, tendo como exemplo o jornalismo, relações internacionais e direito. Então, queria fazer um estágio em algumas dessas áreas ou algo semelhante. Com ajuda da minha prima Rosine Kadamani, consegui fazer meu estágio na Foxbit, na área de marketing.
A minha semana na Foxbit foi bem diferente do que eu esperava. Achei que seria algo com muitas regras, com muitas hierarquias e um ambiente sério. Mas na verdade, foi totalmente diferente. Todos foram muito simpáticos comigo, o ambiente de trabalho é alegre e toda a equipe parece estar lá porque eles realmente gostam do que fazem.
Nesse curto período de tempo, a equipe do marketing me ensinou um pouco mais sobre a empresa. Eu descobri o organograma de lá, podendo então compreender todas as partes complexas e necessárias para o funcionamento da empresa, como a seção financeira, judiciário, atendimento ao cliente, entre outras. Além disso, conversei com pessoas de diferentes setores do marketing como a Carol, a Tauani e a Laís que cuidam do design, a Camila é de Product Marketing, o pessoal que produz conteúdo, a Gabriela que cuida da parte da performance (sem dúvidas a função mais enigmática de todas), o Cury, chefe do setor, dentre outros. Também tive algum tempo para conhecer a área financeira. Sem dúvidas cada papel nessa empresa é extremamente importante para o funcionamento do todo.
Além disso, tive a oportunidade de participar de uma das reuniões de pauta da equipe. O que eu tenho a dizer é que essa galera tem muita coisa pra fazer em muito pouco tempo. Às vezes eles precisam entregar um texto para o dia seguinte! Além de todos eles precisarem comparecer a várias reuniões por dia. Porém, todos são muito bem organizados, bem diferente de mim. Esse fato talvez tenha me lembrado um pouco a escola, o Ensino Médio em particular.
Com essa incrível experiência, eu conheci o que é realmente trabalhar. Um tanto diferente do que eu esperava. Também aprendi com eles que eu tenho que fazer o que eu realmente gosto para ser feliz. Na minha opinião, todos deveriam seguir esse exemplo. Nem tudo na vida é só dinheiro. Às vezes estar com pessoas que você aprecia e pelo simples fato de fazer algo que realmente lhe interessa, já vale a pena.
Por último, eu queria agradecer a todos que tornaram essa semana na Foxbit tão enriquecedora! Muito obrigada por me receberem e me tratarem tão bem! Espero vê-los logo! Obrigada, Foxbit!
out 24, 2018 | Criptomoedas, Litecoin
Qual é o real futuro do Litecoin? Muitas pessoas acham que o Litecoin é apenas uma rede de testes para o bitcoin. Entretanto há muito mais a se explorar sobre essa criptomoeda.
Vamos ver o futuro do litecoin e quais serão as possíveis próximas atualizações.
Dicas dos criadores e desenvolvedores

O destino de uma criptomoeda está intimamente ligada a seus desenvolvedores e à sua comunidade.
A maior parte dos desenvolvedores prefere não aparecer para o público, mas aqueles que aparecem nos dão algumas dicas sobre as futuras funcionalidades do Litecoin.
Confidential Transactions
Como foi noticiado no Minuto Cointimes #23, uma das possíveis novas funções que a Litecoin Foundation pode integrar à criptomoeda é a tecnologia Confidential Transactions (CT).
Essa tecnologia daria mais privacidade para as transações da moeda e ainda permitiria a entrada do Litecoin na seara de outras criptomoedas voltadas para a privacidade do usuário.
Alguns estudos mostram que esse mercado de privacidade pode ter um crescimento de até 18.000% para algumas criptomoedas famosas pelo uso dessa tecnologia.
Quem cogitou sobre a implementação do Confidential Transactions foi o próprio criado do Litecoin, Charlie Lee.
Acesso ao sistema financeiro global
Além das futuras atualizações no protocolo, a comunidade da criptomoeda tem se posicionado muito bem com relação ao sistema financeiro.
Em julho, a Fundação Litecoin fechou um acordo para auxiliar a empresa TokenPay (uma plataforma de pagamentos) a integrar-se com o universo de criptomoedas.
Em troca a Fundação recebeu ~10% do banco alemão WEG, dando um acesso importante para o mercado financeiro tradicional.
A primeira a receber as atualizações do Bitcoin
Como tem sido cada vez mais comum, as atualizações no protocolo do Bitcoin saem primeiro no Litecoin.
Isso acontece por dois motivos, o primeiro deles é que parte dos desenvolvedores do Bitcoin também contribuem para o desenvolvimento do ltc.
O segundo é que o Litecoin, por ser uma moeda com o mesmo “dna” do Bitcoin, é a plataforma de testes perfeita para os desenvolvedores do btc.
Qual o futuro do Litecoin?
O Litecoin é uma das poucas moedas que contam com um grande e dedicado time de desenvolvimento. Além disso, ela consegue estar bem posicionada no mercado financeiro e no mercado de criptomoedas.
O futuro do Litecoin acompanha o desenvolvimento e o crescimento do Bitcoin, são gêmeos siameses.
Talvez algum dia eles se separem, mas até lá o Litecoin continuará sendo uma espécie de prata ao bitcoin.