SEÇÕES
Blockchain
O que é Blockchain?
Bitcoin
O que é Bitcoin?
Pirate Chain
O que é Pirate Chain?
Blockchain - A espinha dorsal das Moedas Digitais
O que é Blockchain?
Blockchain é literalmente uma cadeia de blocos, mas não no tradicional senso dessas palavras. Quando nós dizemos as palavras "block" e "chain" nesse contexto, nós estamos atualmente falando sobre informação digital (o "bloco") armazenado em uma base de dados pública (a "cadeia").
"Blocos" na blockchain são feitos de peças digitais de informação. Especificamente, eles têm três partes:
- Blocos armazenam informações sobre transações como a data, tempo e valor em dolar das suas mias recentes compras, transferências de fundos para outra pessoa, etc.
- Blocos armazenam informação sobre quem está participando nas transações. Um bloco para uma compra pode armazenar seu nome junto com o destinatário. Ao invés de usar seu nome atual, sua compra é armazenada sem qualquer informação de identificação usando uma única "assinatura digital", uma espécie de usuário.
- Blocos armazenam informações que distinguem eles de outros blocos. Como se eu e você tivessem nomes para nos distinguir de outros, cada bloco armazena um único código chamado de "hash" que permite-nos dizer a diferença do outro bloco. Digamos que você envie a um amigo $100, e uma hora depois, você envia a ele outro $100. Mesmo que os detalhes da sua nova transação pareçam ser idênticas à sua primeira compra, nós ainda podemos dizer que os blocos são diferentes por causa dos seus códigos únicos.
Enquanto o bloco no exemplo acima está sendo usado para armazenar uma única transferência, a realidade é um pouco diferente. Um único bloco na blockchain pode, atualmente, armazenar até 1MB de dados. Dependendo do tamanho das transações, isso pode significar que um único bloco pode abrigar algumas milhares de transações sobre um único teto.
Como Blockchain Funciona
Quando um bloco armazena novos dados, isso é armazenado à blockchain. Blockchain, como o nome sugere, consiste em múltiplos blocos unidos juntos. Para um bloco ser adicionado na blockchain, contudo, quatro coisas precisam acontecer:
- Uma transação precisa ocorrer. Vamos continuar com o exemplo do dinheiro do seu amigo, sendo enviado. Após enviar algum dinheiro, você decide enviar mais.
- A transação precisa ser verificada. Após fazer aquela compra, sua transação precisará ser verificada. Com outros registros públicos de informação, como a Comissão de Valores Mobiliários (SEC), Wikipedia, ou sua biblioteca local, existe alguém encarregado de inspecionar novas entradas de informação. Com a blockchain, contudo, esse trabalho é deixado para uma rede de computadores. Essas redes normalmente consistem de milhares ( ou no caso do Bitcoin, muitos milhões) de computadores espalhados ao redor do mundo. Quando você envia uma transação, a rede de computadores se apressa para checar aquela transação que ocorreu no momento em que você disse que fez. Isto é, eles confirmam os detalhes da transação, incluindo o tempo da transação, quantia em dólares, e participantes.
- Aquela transação precisará ser armazenada em um bloco. Após sua transação ser verificada, bem como apurada, ela ganha a luz verde. O valor em dólar transacionado, sua assinatura digital, e a assinatura digital do seu amigo estão todas armazenadas em um bloco. Nesse bloco, a transação se juntará a centenas ou milhares, de outras como ela, da mesma forma.
- Àquele bloco precisará ser dado um hash. Não muito diferente de um anjo ganhando suas asas, uma vez que todas as transações do bloco forem verificadas, precisará ser dado um único, código de identificação chamado hash. Ao bloco também é dado o hash do mais recente bloco adicionado à blockchain. Uma vez tendo o hash, o bloco poderá ser adicionado à blockchain.
Quando esse novo bloco é adicionado à blockchain, ele se torna publicamente disponível para qualquer um visualizá-lo - até mesmo você. Se você der uma olhada na blockchain do Bitcoin, você verá que você tem acesso aos dados de transação, juntamente com a informação sobre quando ("Tempo"), onde ("Altura"), e por quem ("Retransmitido Por") o bloco foi adicionado à blockchain.
Blockchain é segura?
A tecnologia Blockchain se responsabiliza pelas questões de segurança e confiança de muitas maneiras. Primeiramente, novos blocos são sempre armazenados de forma linear e cronologicamente. Isto é, eles são sempre adicionados ao "final" da cadeia de blocos. Se você olhar na blockchain do Bitcoin, você verá que cada bloco tem uma posição na cadeia, chamado de "altura". Como em 31 de Agosto de 2019, a altura do bloco se encontrava em 592.517 .
Após um bloco ser adicionado ao final da cadeia de blocos, é muito difícil voltar atrás e alterar os conteúdos do bloco. Isso é porque cada bloco contem, seu próprio hash, acompanhado do hash do bloco anterior. Códigos de Hash são criados por uma função matemática que transforma a informação digital em uma sequencia de números e letras. Se a informação fosse editada de alguma forma, o código hash mudaria também.
Aqui está o porquê isso é importante para segurança. Digamos que um hacker tente modificar sua transação com o seu amigo para que você tenha que pagar mais. Assim que eles editarem o valor do dólar em sua transação, o hash do bloco irá mudar. O próximo bloco na cadeia, ainda irá conter o antigo hash, e o hacker precisaria atualizar aquele bloco para cobrir seus rastros. Contudo, fazendo isso irá mudar o hash do bloco. E o seguinte, e assim por diante.
A fim de mudar um único bloco, então, um hacker precisaria mudar cada único bloco após ele na blockchain. Recalcular todos esses hashes levaria um enorme e improvável quantia de poder computacional. Em outras palavras, uma vez que um bloco é adicionado à blockchain, isso se torna muito difícil de modificar e impossível de se deletar.
Para resolver o problema da confiança, redes blockchain tiveram que implementar testes para computadores que gostariam de se juntar e adicionar blocos à cadeia. Os testes, chamados de "modelos de consenso, " necessitam que os usuários "verifiquem" eles mesmos antes que eles possam participar em uma rede blockchain. Um dos mais comuns exemplos aplicados pelo Bitcoin é chamado "proof of work".
Em um sistema de proof of work, computadores precisam "provar" que eles fizeram "trabalho", através da resolução de um complexo problema matemático. Se um computador resolve um desses problemas, ele se torna elegível a adicionar blocos para a blockchain. Mas, esse processo de adicionar blocos na blockchain, é o que o mundo das criptomoedas chama de "mineração", que não é algo fácil. Na verdade, de acordo com o site de notícias BlockExplorer, as chances de resolver um desses problemas na rede Bitcoin estava em 1 em 5.8 trilhões em Fevereiro de 2019. Para resolver problemas matemáticos complexos nessas chances, computadores precisariam rodar programas que custam a eles significantes quantias de poder e energia (leia: dinheiro).
Proof of work não faz o ataque dos hackers impossível, mas isso faz com que eles, de alguma forma, sejam inúteis. Se um hacker deseja coordenar um ataque na blockchain, ele precisaria resolver problemas matemáticos complexos em 1 em 5.8 trilhões de chances como todo mundo. O custo para organizar este tipo de ataque certamente seria algo superior aos benefícios.
Blockchain vs. Bitcoin
O objetivo da blockchain é permitir que informação digital seja gravada e distribuída, mas não editada. Esse conceito pode dificultar nosso entendimento sem ver a tecnologia em ação, então vamos dar uma olhada em como a mais antiga aplicação da tecnologia blockchain atualmente funciona.
Tecnologia blockchain foi primeiramente delineada em 1991 por Stuart Haber e W. Scott Stornetta, dois pesquisadores que queriam implementar um sistema onde timestamps documentados não pudessem ser violados. Mas, não foi implementado, até que duas decadas depois, com o lançamento do Bitcoin em Janeiro de 2009, a blockchain teve sua primeira real aplicação.
O protocolo do Bitcoin é construído na blockchain. Em um documento de pesquisa, introduzindo a moeda digital, Satoshi Nakamoto, pseudônimo do criador do Bitcoin, se referre a ele como um " novo sistema de dinheiro eletrônico que é totalmente peer-to-peer, sem confiar em terceiros."
Aqui está como ele funciona:
Você tem todas essas pessoas, ao redor do mundo, que têm Bitcoin. De acordo com um estudo pelo Centro de Alternativa Financeira de Cambridge, o número pode chegar a aproximadamente 5.9 milhões. Vamos dizer que uma dessas 5.9 milhões de pessoas queira gastar seus Bitcoin em mercearias. É aqui onde a blockchain entra.
Quando levamos em conta o dinheiro impresso, o seu uso é regulado e verificado por uma autoridade central, comumente um banco ou governo - mas, Bitcoin não é controlado por ninguém. Ao invés disso, transações feitas no Bitcoin são verificadas por uma rede de computadores.
Quando uma pessoa paga outra por mercadorias, usando Bitcoin, computadores na rede do bitcoin correm para verificar a transação. A fim de fazer isso, usuários rodam um programa em seus computadores e tentam resolver um complexo problema matemático, chamado "hash". Quando um computador resolve o problema fazendo o "hashing" de um bloco, seu trabalho algorítmico também terá verificado as transações do bloco. A transação completa é publicamente gravada e armazenada como um bloco na blockchain, em um ponto onde isso se torna inalterável. No caso do Bitcoin, e muitas outras blockchains, computadores que verificam blocos com sucesso são recompensados por seu trabalho com criptomoeda. (Para uma explicação mais detalhada da verificação, veja "O que é mineração de Bitcoin?"
Embora transações sejam publicamente gravadas na blockchain, dados do usuário não são - ou, ao menos não completamente. A fim de conduzir transações na rede do Bitcoin, participantes precisam rodar um programa chamado "carteira". Cada carteira consiste em duas únicas chaves criptográficas: uma chave pública e uma chave privada. A chave publica é o local onde as transações são depositadas e de onde são retiradas. Essa também é a chave que aparece no livro razão da blockchain como a assinatura do usuário.
Mesmo se um usuário receber um pagamento para sua chave pública, ele não estará elegível para retirar eles para sua contraparte privada. Uma chave pública de um usuário é uma versão encurtada da chave privada dele, criada através de um complicado algoritmo matemático. Contudo, devido a complexidade dessa equação, é quase impossível de reverter o processo e gerar uma chave privada através de uma chave pública. Por essa razão, a tecnologia blockchain é considerada confidencial.
Chaves Públicas & Privadas
Aqui está a versão "Explique isso como se eu tivesse 5 anos": Você pode achar que uma chave pública é como um armário escolar e uma chave privada como uma combinação do cadeado. Professores, estudantes, e mesmo por quem você é apaixonado podem inserir cartas e anotações através das aberturas do seu armário. Contudo, a única pessoa que pode retirar o conteúdo do armário é a única que tem a única chave. Isso deveria ser evidente, contudo, enquanto combinações do armário escolar são mantidas na sala do diretor, não tem uma base de dados central que mantem as chaves privadas na rede blockchain. Se um usuário perder sua chave privada, ele perderá acesso à sua carteira Bitcoin.
Na rede do Bitcoin, a blockchain não é somente compartilhada e mantida por uma rede pública de usuários - mas, também acordada dessa forma. Quando usuários se juntam a rede, eles são conectados ao computador que recebe uma cópia da blockchain que é atualizada sempre quando um novo bloco de transações é adicionado. Mas, e se, através de um erro humano ou de esforços de um hacker, uma cópia de um usuário da blockchain for manipulada para ser diferente de cada outra cópia de blockchain.
O protocolo blockchain desencoraja a existência de múltiplas blockchains através de um processo chamado "consensus". Na presença de múltiplas, diferentes cópias da blockchain, o consenso do protocolo adotará a mais longa cadeia disponível. Mais usuários em uma blockchain significa que os blocos podem ser adicionados ao fim da cadeia mais rapidamente. Pela lógica, a blockchian a ser gravada será sempre aquela que os usuários mais confiam. O protocolo de consenso é um dos grandes fortes da tecnologia blockchain, mas também permite ser uma de suas grandes fraquezas.
Teoricamente, é possível para um hacker tomar vantagem da regra da maioria, no que é chamado de um ataque de 51%. Aqui é onde as coisas acontecem. Vamos dizer que existam 5 milhões de computadores na rede do Bitcoin, a grosso modo para entendimento com certeza, mas um número suficiente e fácil de se dividir. A fim de atingir a maioria da rede, um hacker necessitaria tomar controle de pelo menos 2.5 milhões e um desses computadores. Ao fazer isso, então, o atacante ou o grupo de atacantes pode interferir no processe de recordação de novas transações. Eles podem enviar uma transação - e revertê-la, fazendo isso parecer que ele tinha a moeda que ele gastou. Essa vulnerabilidade, também conhecida como gasto duplo, é algo equivalente digitalmente a uma falsificação perfeita e poderia permitir que os usuários pudessem gastar os seus Bitcoins duas vezes.
Esse tipo de ataque é extremamente difícil de ser executado em uma blockchain da escala do Bitcoin, já que isso iria requerer que o atacante ganhasse controle de milhões de computadores. Quando o Bitcoin foi primeiramente fundado em 2009, e seus usuários eram em números de dezenas, poderia ser muito fácil para o atacante tomar controle da maioria do poder computacional na rede. Essa definição da característica da blockchain foi sinalizada como uma das fraquezas para pequenas criptomoedas. O medo dos usuários de ataques de 51%, pode atualmente limitar monopólios de se formarem na blockchain, por isso a natureza descentralizada do Bitcoin.