Pular para o conteúdo principal

Como a Tecnologia Blockchain funciona?


O primeiro blockchain foi conceituado por um indivíduo (ou grupo de indivíduos) conhecido como Satoshi Nakamoto em 2008.
Foi lançado no ano seguinte, em janeiro de 2009, por Nakamoto como um componente central da criptocorrência Bitcoin, onde serve como razão pública para todas as transações na rede.
Através do uso de uma blockchain, o Bitcoin se tornou a primeira moeda digital a resolver o problema dos gastos duplos sem exigir uma autoridade confiável e tem sido a inspiração para muitas aplicações adicionais.
Acredito que, em cem anos, as blockchains serão tão comuns e necessárias quanto a eletricidade atual. Serão peças fundamentais da economia com as quais quase todos interagirão diariamente. Eles serão tão normais que esqueceremos que eles existem.
Devemos esperar que, nas próximas duas décadas, veremos uma explosão cambriana de aplicativos e organizações de blockchain muito parecidos com o que aconteceu com a Internet nas últimas décadas ou a eletrificação no início do século XX.
Se isso for verdade, vale a pena desenvolver um entendimento básico para blockchains, incluindo por que eles são importantes e como funcionam.

Porquê Blockchains Matter

“ É um truísmo profundamente errado, repetido por todos os cadernos e por pessoas eminentes quando eles estão fazendo discursos, que devemos cultivar o hábito de pensar [sobre] o que estamos fazendo. O oposto exato é o caso. A civilização avança estendendo o número de operações importantes que podemos realizar sem pensar nelas. ”- Alfred North Whitehead
Em um blockchain, cada vez que uma transação ocorre, como uma parte enviando bitcoin diretamente para outra, os detalhes dessa transação - incluindo sua origem, destino e data / registro de data e hora - são adicionados ao que é referido como um bloco.
Usando criptografia, blockchains aumenta drasticamente a escalabilidade social , a capacidade de os humanos colaborarem com um número cada vez maior de outros humanos, uma característica necessária da civilização.
Historicamente, os seres humanos só transacionavam com membros de uma pequena tribo, muitas vezes baseados apenas no parentesco, porque não havia como eles confiarem em indivíduos fora desse grupo.
Uma grande variedade de inovações nos últimos milênios aumentou a escalabilidade social, permitindo que os humanos cooperassem em grupos maiores.
O sistema legal moderno que reduz a vulnerabilidade à violência, roubo e fraude, permitindo que partes ou indivíduos que não têm relações pré-existentes interajam.
A internet, particularmente por meio de sistemas de classificação, facilitou transações entre indivíduos com pouca ou nenhuma relação social.
Os blockchains têm o potencial de aumentar a escalabilidade social a um nível que nenhuma tecnologia anterior possui. Pela primeira vez, temos uma maneira de um usuário da Internet transferir uma propriedade exclusiva de propriedade digital para outro usuário da Internet com segurança, sem depender de uma confiança. terceiro. É difícil exagerar o tamanho do negócio.
Pense em contratos digitais, chaves digitais (para bloqueios físicos ou bloqueios on-line) e propriedade digital de ativos físicos, incluindo carros, casas, ações, títulos e, é claro, dinheiro digital.
Nota: Há muito mais a ser dito sobre Por que Blockchains Matter. Para não deixar este artigo insanamente longo, vou focar este artigo principalmente no “como” e não no “porquê”. Se você gostaria de ler mais sobre como a tecnologia blockchain é importante, por que a Tecnologia Bitcoin e Cryptocurrency é valiosa? ? Dinheiro, blockchains e escalabilidade social , uma carta para Jamie Dimon , além da bolha de Bitcoin e porque a importância da descentralização .

Como funciona a tecnologia Blockchan?

Aqui está a versão curta do jargão:
Um blockchain é um livro que usa criptografia e incentivos para registrar transações de maneira inviolável. Isso permite transações minimizadas pela confiança entre partes pseudônimas sem a necessidade de um intermediário confiável.
Agora, vamos descompactar as peças para que, até o final do artigo, façam todo o sentido para você.

Primitivos

Antes de mergulharmos em blockchains, precisamos estabelecer alguns primitivos. Primitivos são como material de construção. Se você quiser construir um galpão, precisará de um pouco de madeira, alguns parafusos, uma broca e uma serra. Seria bom ter uma breve ideia de como cada um deles funcionou antes de você começar a construir. Isso é tudo o que vamos fazer aqui.
Os blocos de construção de blockchains são - surpresa, surpresa -  primitivas criptográficas .
Criptografia é o estudo de técnicas de comunicação segura na presença de terceiros (adversários da AKA).
Historicamente, muita pesquisa criptográfica foi feita pelos militares para garantir que eles pudessem se comunicar com segurança sem que seus inimigos pudessem ler suas mensagens de telegrama ou rádio.
A criptografia moderna é usada em todos os sites populares, nos chips de cartão de crédito e nas senhas dos computadores. Em todos esses casos, ele está tentando impedir que um terceiro (leia-se: hacker, ladrão etc.) roube dados confidenciais, como informações do seu cartão de crédito.
O primeiro bloco de construção com o qual começaremos é o hash.

Funções de hash

Uma função hash é uma função matemática que permite criptografar dados. [1]
Uma função hash possui três propriedades:
  • Sua entrada pode ser de qualquer tamanho.
Por exemplo, eu poderia usar a frase "Eu gosto de sorvete" como entrada ou eu poderia usar todo o texto de Guerra e Paz e ambos funcionariam.
  • Usando qualquer entrada de tamanho, ele apresenta uma saída de tamanho fixo determinada pelo algoritmo de hashing específico que está sendo usado. Para simplificar, usaremos uma saída de 256 bits, pois é isso que o Bitcoin, o primeiro blockchain, usa.
Se eu inseri a frase “Eu gosto de sorvete” como uma entrada ou usei todo o texto de Guerra e Paz como entrada, ambos produziriam uma saída do mesmo tamanho.
Usando o algoritmo SHA 256 , o usado pelo Bitcoin, a frase "Eu gosto de sorvete" (sem aspas) cria a saída:
138F4504A873C01D0864343FAD3027F03CA9BEA2F0109005FA4FC8C7DCC12634
A totalidade de Guerra e Paz (todas as 587.287 palavras) copiadas do projeto Gutenberg produz a saída:
57027F5B3877ABBE43ACB101D59E963BC2CC0E86A6EBCCC34DFD035BBF83B096
Mesmo que a entrada seja 146.821 vezes maior, você obtém a mesma saída de tamanho. Muito legal e, ao que parece, útil. Mais sobre isso depois.
  • É eficientemente computável. Para qualquer string de entrada, você pode descobrir a saída em um período de tempo razoável.
Mesmo se eu quiser usar todo o texto de Guerra e Paz como minha contribuição, ele ainda pode converter isso em uma saída em um período de tempo razoável.
As propriedades acima são para uma função hash geral. Funções gerais de hash permitem mapear um grande espaço de coisas para um pequeno espaço que pode ser útil para armazenar e trabalhar com diferentes tipos de dados.
No entanto, vamos nos concentrar em funções hash criptográficas, já que elas são aquelas usadas em blockchains.
Uma função hash criptográfica requer três propriedades adicionais:
  1. Resistência à colisão
  2. Esconder Deterministic
  3. Puzzle Friendliness

Funções de hash criptográficas

Resistência à colisão

Uma colisão ocorre quando duas entradas diferentes produzem a mesma saída. Embora o tamanho da saída seja o mesmo, a saída em si não será idêntica a outras saídas. “Eu gosto de sorvete” e todo o texto de Guerra e Pazproduz saídas do mesmo tamanho, mas os personagens são diferentes.
Se eles produzissem exatamente a mesma saída e eu lhe enviasse o texto criptografado e você o descriptografasse, você não saberia se eu estava dizendo que eu gostava de sorvete ou que você deveria ler Guerra e Paz .
Também é notável que duas entradas “próximas” não resultem em saídas próximas. O hash de War and Peace é completamente diferente do hash de War and Peace com 1 caractere alterado.
Usando SHA256, a totalidade de Guerra e Paz produz o hash:
57027F5B3877ABBE43ACB101D59E963BC2CC0E86A6EBCCC34DFD035BBF83B096
Se eu excluir o período final, mas deixar tudo o mesmo, ele produzirá o hash:
E2E2E4FFD582E20474F0310C2132EAE5F2D766C6A253C1BC4AF57861095B30FA
Isso é muito semelhante a como dois pontos iniciais "próximos" em um sistema caótico levam muito rapidamente a duas trajetórias futuras completamente diferentes. É essa propriedade "caótica" das funções hash que cria resistência à colisão. As saídas são aleatórias e, portanto, é improvável que colidam, mas são capazes de mapear o infinito para um espaço finito, o que nos permite compactar os dados.
Isso é particularmente importante se você estiver enviando dinheiro. A chave pública para sua carteira é produzida a partir da chave privada usando uma função hash criptográfica. Você não quer que outra pessoa seja capaz de fazer engenharia reversa para obter sua chave pública para descobrir sua chave privada (já que eles poderiam roubar todos os seus fundos).
Uma função hash é considerada resistente à colisão se ninguém encontrar uma colisão. Em teoria, sabemos que elas existem porque o número de entradas é infinito, mas o número de saídas é finito - há apenas muitas maneiras de organizar 64 caracteres.
Na prática, porém, a função hash criptográfica SHA 256 é resistente à colisão, porque ninguém nunca encontrou uma colisão e as chances de isso acontecer são astronômicas. Se todo computador já fabricado pela humanidade estivesse tentando encontrar uma colisão desde o começo do universo, as chances de que isso aconteça são menores do que as probabilidades da Terra ser destruída por um meteoro gigante nos próximos dois segundos.
Então, é possível, mas há muitos outros problemas maiores com os quais devemos nos preocupar primeiro.

Esconder Deterministic

Os hashes parecem aleatórios, mas na verdade são determinísticos. Suas saídas são, portanto, reproduzíveis, de modo que, desde que você use a mesma entrada, você sempre obterá a mesma saída. Isso significa que duas partes diferentes que conhecem a entrada podem verificar se a outra pessoa também conhece a entrada, mostrando seu hash para a outra parte.
A segunda propriedade que queremos para uma função hash criptográfica está oculta. Ocultar significa que, se você receber a saída, não há uma maneira possível de descobrir qual foi a entrada.
Ou seja, não há como um observador terceirizado saber que "Eu gosto de sorvete".
No entanto, se eu sei que a entrada é "Eu gosto de sorvete", então eu posso facilmente verificar se você sabe ou não que, verificando o seu hash.
No entanto, se alguém vir o hash, ele não poderá usá-lo para descobrir a entrada. Isso permite que aqueles que conhecem a entrada se comuniquem com segurança sobre ela em um canal público usando a saída com hash sem se preocupar com o fato de que um observador de terceiros possa descobri-la.

Puzzle Friendliness

A terceira propriedade que precisamos é que eles sejam amigáveis ​​a quebra-cabeças. Isso significa que, se alguém quiser gerar um hash que produza a mesma saída que "gosto de sorvete", é extremamente difícil encontrar outro valor que atinja exatamente esse objetivo.
O algoritmo para gerar o hash é tentar todas as sequências possíveis, ordenadas por comprimento e depois por ordem alfabética, até obter uma que tenha o mesmo valor. Há um palheiro muito grande para procurar uma agulha muito pequena, de modo que temos probabilidades que sugerem que um asteróide aniquilar toda a vida na Terra é um problema mais premente.
Outra maneira de dizer isso é que as funções hash criptográficas são difíceis de reverter . Esta é a principal coisa que faz um hash criptográfico em comparação com um hash usado em estruturas de dados ou um algoritmo de compressão.
Esta é também a parte da corrida armamentista de blockchains - os hackers estão sempre melhorando em reverter as funções hash, então os criptógrafos estão sempre tendo que criar melhores funções hash.
Ter essa qualidade é importante porque o blockchain é um “livro de registro evidente”, um registro de transações à prova de adulteração.
A propriedade de quebra-cabeças é o que a torna inviolável. Se eu quisesse substituir uma entrada como "Eu gosto de sorvete", seria impossível para mim fazer isso sem que outros participantes pudessem saber.

Usando uma boa função hash criptográfica, até mesmo pequenas alterações na entrada resultarão em saídas drasticamente diferentes, tornando a entrada resistente a violações.

As funções hash criptográficas parecem aleatórias (e, portanto, não têm colisões), não podem ser revertidas e ocultam entradas, mas, ao mesmo tempo, são completamente determinísticas. Isto é o que os torna úteis!
Isso abrange os conceitos básicos das funções hash criptográficas. Na próxima seção, veremos como essas funções hash são usadas para construir blockchains.

Funções de hash transitivas dentro do blockchain

A seção anterior sobre as funções hash acima é apenas uma grande introdução sobre como dividir uma única informação como palavras em um livro ou uma senha.
E se você quisesse coletar hash de dados como um monte de documentos ou uma sequência de transações?
Vamos começar com uma seqüência linear de coisas que você pode querer consecutivamente hash. Você começa com algum dado, A e o hash para obter A #.
Agora você quer “misturar” B. Então você apenas adiciona B a ele (A # + B) e pega o hash da coisa toda. Agora você tem um novo hash (B #) que contém algumas informações sobre A (do hash A # você usou) e B.
O que você precisa é de uma função hash para a qual alterar qualquer coisa sobre A ou B resultaria em um hash final diferente. Esta é uma função hash transitiva .

Um blockchain é uma cadeia de hashes.

Quando as pessoas falam sobre blockchains, uma das palavras que é jogada em torno de um lote é “minimizada pela confiança”.
Hashing em geral, e hash pointers em particular, são um componente central da propriedade minimizada por confiança de blockchains. Um ponteiro de hash é apenas um hash que aponta para alguma outra estrutura de dados como um bloco anterior.
Isso é um grande negócio, porque torna fácil ver se alguém interfere nos dados.
Se tivéssemos uma blockchain de 100 blocos e o décimo bloco contivesse o hash de todo o manuscrito para War and Peace e eu mudasse uma letra no manuscrito, ela mudaria o ponteiro de hash naquele bloco e todos os blocos subsequentes. [2]
Os ponteiros de hash garantem a integridade do ledger (ou seja, que ele não foi modificado). Os blockchains têm sido chamados de contabilidade de entrada tripla porque essa estrutura de dados de hpointer é outra maneira mais difícil de garantir que o ledger reflita a realidade.
Por exemplo, se houver duas pessoas colaborando em um projeto e uma pessoa tentar voltar e modificar algo para ganhar mais dinheiro, fica imediatamente claro para o parceiro que ele está tentando trapacear - ele acabará resultando hash é diferente.

Merkle Trees

Agora, se você quiser hash não apenas uma sequência linear, mas uma sequência de conjuntos como o conjunto de transações do Bitcoin em sua sequência de blocos. A novidade de que você precisa é uma regra de como percorrer cada conjunto de dados, reduzindo o problema novamente para criptografar uma série consecutiva de coisas (A #, B #, etc.)
Uma Merkle Tree é exatamente isso. Ele permite agrupar blocos de dados e agrupá-los em uma estrutura que se parece com, bem, um galho de árvore com folhas.


Como acontece com um blockchain, desde que saibamos o ponto de hash na “raiz” da árvore, podemos saber que nenhum dos dados da árvore foi adulterado.
Se um bit, em uma transação é alterada, então ele muda cada hash subsequente e a adulteração é revelada.
A utilização de uma árvore Merkle é preferível a um resumo de todas as transações, pois permite um teste muito mais rápido e simples sobre se uma determinada transação está incluída no conjunto de todas as transações.



Se você está procurando mais sobre blockchain e cryptocurrency para negócios, clique aqui para alguns outros recursos que eu achei valiosos(assim como atualizações sobre futuros artigos)

Blockchains

Começamos olhando para as funções hash.
Em seguida, vimos como poderíamos adicionar três propriedades: resistência à colisão, ocultação determinística e facilidade de quebra-cabeças para transformar uma função hash em uma função hash criptográfica.
Então, vimos como poderíamos conectar funções hash criptográficas em conjunto para fazer uma função hash criptográfica transitiva.
Quando adicionamos uma árvore Merkle a uma função hash criptográfica transitiva, obtemos um blockchain. Cada bloco contém um conjunto de transações "merkleizadas" e os blocos são encadeados.

Prova de Blocos de Trabalho

A inovação de Satoshi Nakomoto, o criador anônimo de Bitcoin, foi fazer mais uma regra. Quando você adiciona um novo conjunto de transações (AKA um bloco) na cadeia existente, você tem que resolver um problema difícil e não-gameable.
Isto é o que os chamados "mineiros" fazem. Eles tentam resolver um problema de matemática muito difícil e, quando o fazem, recebem uma recompensa e atrapalham a dificuldade do problema na cadeia. Esse hash da dificuldade é uma “prova de trabalho”, que é uma prova de quanta energia computacional foi usada para tentar resolver o problema.
Entre os criptógrafos, a invenção dessa “prova de blockchain de trabalho” foi o maior avanço de Satoshi Nakamoto.
Como uma prova de blockchain de trabalho como o Bitcoin se torna mais valioso, os mineradores ganham mais dinheiro, o que incentiva mais mineiros a participar da rede, o que aumenta a dificuldade do problema.
Qualquer um pode baixar o blockchain em seu computador e:
  1. Verifique consecutivamente que cada bloco transitivamente hashes corretamente no topo do bloco anterior.
e
  1. Eles podem calcular o número total de cálculos necessários para produzir esses dados lendo a dificuldade de cada bloco e verificando a solução dos mineiros.
A blockchain com a prova de trabalho mais acumulada (ou seja, a mais difícil e cara de criar) é considerada a verdadeira blockchain.
Se alguém lhe entregasse o blockchain de Bitcoin de hoje em um disco, você poderia rapidamente estimar a enorme quantidade de energia investida para construir esses dados.
O benefício disso é que ninguém pode “fingir” um blockchain do tamanho do Bitcoin com as mesmas dificuldades em seus blocos sem gastar a mesma quantidade de energia computacional.
Em meados de 2018, custaria bilhões de dólares comprar computadores e eletricidade suficientes para reescrever o blockchain do Bitcoin do zero.
Nota: (Mineração, Prova de Trabalho, Prova de Estaca e outros algoritmos de consenso merecem um post completamente diferente, mas eu queria pelo menos mencioná-los aqui no contexto de blockchains.)

Assinaturas Digitais (AKA Private / Public Key Cryptography)

Uma assinatura digital é a primitiva final dos blockchains. Um esquema de assinatura digital bem-sucedido funciona mais ou menos da mesma forma que uma assinatura manuscrita com duas propriedades centrais.
O primeiro é a verificabilidade. Se eu assinar uma transação com minha chave privada, outra pessoa deve poder validá-la usando minha chave pública. Da mesma forma, só você pode escrever sua própria assinatura, mas qualquer um pode ver que é seu.
Uma chave privada e uma chave pública juntas formam um par de chaves. A chave privada é algo que você não compartilha com ninguém, mas use para assinar transações provando que é sua.
É como o selo de cera que os personagens de Harry Potter costumavam colocar em cartas para provar que eles enviaram uma carta e que ela não foi adulterada. Você não gostaria de compartilhar o selo com ninguém, porque então eles poderiam enviar mensagens fingindo ser você.


A chave pública é algo que você pode dar a todos para que eles possam verificar se é sua assinatura sem que eles possam assiná-la. É como se o destinatário tivesse uma pintura do seu selo que pudesse confirmar as correspondências corretamente, sem realmente poder usá-lo para carimbar uma mensagem.
Sua chave pública é um hash da sua chave privada. Seu endereço, como em "Qual é o seu endereço de bitcoin para que eu possa pagar você?", É um hash da sua chave pública.
Chave privada == hash ==> Chave pública == hash ==> Endereço
Por causa das propriedades das funções hash criptográficas, isso significa que você pode publicar seu endereço em qualquer lugar para que as pessoas possam enviar bitcoin, ethereum ou qualquer outra criptomoeda sem poder fazer engenharia reversa para descobrir suas chaves privadas.
A segunda propriedade é imperdoável. Sua assinatura está vinculada a um documento específico. Você não quer que alguém seja capaz de “recortar” sua assinatura em um documento e colá-lo no fundo de outro (como se dissesse que você deve dinheiro a eles!).
O Bitcoin usa um esquema de assinatura digital chamado Algoritmo de Assinatura Digital de Curva Elíptica para atingir essas duas propriedades. Outros blockchains e criptomoedas usam diferentes esquemas de assinatura digital, mas todos têm essas mesmas duas propriedades de verificabilidade e imperdoabilidade.

Os blockchains são como livros…

Uma das maneiras mais fáceis que encontrei para pensar sobre blockchains é como páginas em um livro. Um livro é uma cadeia de páginas com:
  1. Dados - (AKA o texto) em cada página.
  2. Metadados - Metadados são informações sobre si mesmos. Na parte superior ou inferior de cada página, há algumas informações sobre o livro, como o título do livro, o título do capítulo e um número de página.
Um blockchain é uma cadeia de blocos com
  • Dados - o conteúdo do bloco
  • Metadados - dados sobre o bloco, incluindo uma referência ao bloco anterior e um hash dos dados contidos neste bloco.
Se você extraísse todas as páginas de um livro, poderia colocá-las em ordem, de modo que a história fizesse sentido usando o número da página.
Da mesma forma, em um blockchain, cada bloco faz referência ao hash do bloco anterior, tornando possível validar em qual ordem as transações ocorreram. Você saberia se alguém os embaralhava como se soubesse se alguém subiu a página de um livro.
O hash é realmente melhor que um número de página porque contém um hash de todos os dados da página. Em teoria, alguém poderia arrancar as páginas de um livro e sair e mudar os números das páginas e você não saberia.
Se alguém tentasse fazer o equivalente em nosso "livro" de blockchain, seria transparente, porque mudar uma letra em uma página mudaria o hash. Isso se resume ao fato de que um blockchain é uma seqüência de dados transitivamente hash. Mudar qualquer bit em qualquer lugar no passado mudaria tudo depois disso de maneira caótica e fácil de detectar.

Blockchain Explained: A Evolução da Tecnologia Blockchain

Agora, vamos pegar esses primitivos e ver como eles podem ser usados ​​para construir um blockchain simples.
Esses tipos de blockchains são a base para criptomoedas como Bitcoin e Ethereum. Compreendendo como eles funcionam, você terá uma base para entender todos os diferentes projetos blockchain e cryptocurrency.

Moeda Pateta

O GoofyCoin é o blockchain mais simples que podemos imaginar.
Existem três regras do GoofyCoin.
  • O Pateta pode criar novas moedas sempre que quiser e essas moedas recém-criadas pertencem a ele. A moeda tem uma identificação de moeda única, que Goofy assina com a chave para que qualquer um possa usar a chave pública do Goofy para confirmar que a moeda é uma GoofyCoin válida.

“Assinado por pkGoofy” significa que Goofy assinou a transação (neste caso, a criação de uma nova moeda) usando seu par de chaves público / privado.

  • Quem possui uma moeda pode transferi-lo para outra pessoa usando operações criptográficas. Se Goofy quiser transferir uma moeda para Alice, ele cria uma transação dizendo "Pague esta moeda para Alice". Como as moedas só podem ser enviadas usando operações criptográficas, “this” é um ponteiro de hash que aponta para a moeda em questão. Pateta assina esta transação usando sua chave secreta, tornando-a uma transação válida. Qualquer um pode verificar se é uma transação válida confirmando a assinatura do Pateta.


  • Qualquer um pode verificar a validade de uma moeda e quem é o proprietário, seguindo a cadeia de ponteiros de hash (o blockchain) de volta à sua criação pelo Goofy, certificando-se de que todos os hashes estão corretos ao longo do caminho. No exemplo acima, qualquer pessoa pode verificar se o Goofy criou uma moeda válida e se fez uma transferência válida para Alice. No entanto, há um problema de segurança com o GoofyCoin. Vamos ver um exemplo. Com seu novo GoofyCoin, Alice poderia assinar uma transação pagando Bob por um sanduíche.
Parece bom né? Qualquer um pode entrar e ver que essas transações são válidas.
Mas, e se Alice usar essa mesma moeda para pagar Chuck por um milkshake?




Tanto Bob quanto Chuck acham que possuem uma GoofyCoin agora. Parece uma transação válida porque tanto Chuck quanto Bob podem ver Alice assinando-a e a seguindo de volta no blockchain para ver que Goofy a criou como moeda válida.
Isso é chamado de ataque de gasto duplo. Alice está gastando a mesma moeda duas vezes, o que não é como queremos que o dinheiro funcione. Você não pode dar a mesma nota de US $ 10 a uma pessoa por um sanduíche e a outra pessoa por um milkshake.
Um ataque de gastos duplicados é um dos principais problemas contra os quais uma criptomoeda funcional protege.
Para resolver o problema dos gastos duplos, precisaremos criar uma nova moeda chamada ScroogeCoin.

ScroogeCoin

O ScroogeCoin funciona como o GoofyCoin com alguns ajustes diferentes.
Ao contrário de Goofy Coin, Scrooge publica um blockchain com um histórico de todas as transações.
Scrooge irá assinar o ponteiro de hash de cada bloco no blockchain. Qualquer um pode então verificar se uma transação é válida, verificando a assinatura do Scrooge no bloco que registra a transação.


Como o Scrooge está examinando todas as transações, ele pode garantir que ninguém passe duas vezes. Se Alice usar uma moeda para comprar um sanduíche de Bob, Scrooge se certificará de que ela também não poderá usar a mesma moeda para comprar um milkshake de Chuck recusando-se a validar a transação.
Como todos os blocos são conectados por ponteiros de hash em um blockchain, Alice, Bob, Chuck e qualquer outra pessoa usando o ScroogeCoin podem monitorar que o Scrooge não está voltando para alterar nenhum dado. Embora eles não pudessem impedir Scrooge de fazer isso, já que ele é o único no controle da blockchain, eles pelo menos saberiam que ele fez isso.
Se há um ano, Alice pagou 1 ScroogeCoin para Bob por um sanduíche e Scrooge voltou e mudou para dizer que pagou 10 ScroogeCoins, ele mudaria os ponteiros de hash de cada bloco subseqüente, tornando fácil saber que Scrooge havia adulterado os dados. Esta é a propriedade amiga do quebra-cabeça que vimos anteriormente.
Isso torna mais fácil confiar que os dados estão corretos, em vez de se tratar de registros mantidos em uma grande planilha controlada apenas pelo Scrooge, onde ele poderia voltar e alterar uma das entradas anteriores para obter mais dinheiro. [3]
O ScroogeCoin funciona no sentido de que todos podem ver quais moedas são válidas. E, desde que o Scrooge monitore todas as transações e rejeite as tentativas de duplicar os gastos, não há problema com gastos duplicados. Todos os participantes podem confirmar que o Scrooge está evitando gastos duplicados, observando o blockchain para confirmar que todas as transações são válidas e nenhuma moeda foi gasta duas vezes.
O problema em potencial com o ScroogeCoin é o próprio Scrooge. Se Scrooge quiser, ele pode se tornar rico exigindo que todos que fazem uma transação lhe paguem uma grande quantia pela transação, ou ele poderia criar um monte de ScroogeCoins para si mesmo, ou ele poderia ficar entediado e parar de verificar as transações. .
O problema, em suma, é a centralização. Embora Scrooge esteja feliz com o sistema, os usuários podem não estar. Este sistema não é diferente daquele que temos hoje.


Você poderia substituir “Scrooge” por “Citibank” e isso não é diferente de como o sistema bancário existente funciona. Confiamos em bancos ou outros intermediários financeiros para não mentir sobre transações. Na maior parte, isso funciona muito bem. Essas instituições são reguladas por autoridades federais e sujeitas a algum nível de concorrência de outras empresas, o que as encoraja a serem honestas e eficientes. Muitas pessoas, particularmente aquelas que passaram a vida toda em países desenvolvidos, não vêem muito valor no blockchain porque o sistema existente funciona muito bem.
Temos um sistema legal projetado para processar qualquer um que viole seus contratos e os negócios são incentivados a proteger sua reputação comportando-se com honestidade.
No entanto, existem situações em que isso é quebrado. Hiperinflação, quando um país imprime dinheiro novo desvalorizando sua oferta monetária existente, aconteceu muitas vezes na história, incluindo a Alemanha de Weimar na década de 1930, a Argentina e o Zimbábue no início dos anos 2000, e a Venezuela na década de 2010.
Em todos esses casos, foi o equivalente a Scrooge decidir fazer mais moedas Scrooge para si mesmo.
O mesmo cenário pode acontecer em outros tipos de cenários de coordenação. Por exemplo, sua empresa está trabalhando em um projeto de construção conjunta com outras quatro empresas e uma delas tenta mentir sobre quanto trabalho eles fizeram para ganhar uma porcentagem maior do contrato.
Estes são todos os cenários onde blockchains descentralizados têm o potencial para ajudar.
Uma blockchain descentralizada significa que, em vez de uma única parte controlando-a, o ledger é distribuído entre diferentes partes. Cada uma dessas partes mantém sua própria cópia do livro. Por causa das propriedades criptográficas sobre as quais falamos acima, se uma das partes tentar adulterar o livro, imediatamente ficará claro para todas as outras partes que alguém tentou usar Scrooge e trapacear.

Como os Blockchains atingem a descentralização: público (sem permissão de AKA) vs. privado (com permissão de AKA) Blockchains

Existem duas maneiras principais pelas quais um blockchain pode ir de centralizado (por exemplo, ScroogeCoin) para descentralizado.
  1. Blockchains privados (blockchains permitidos de AKA)
  2. Bloqueios Públicos (AKA Permissionless blockchains)
A diferença entre blockchain público e privado está relacionada a quem pode participar da rede.
Uma rede pública blockchain é completamente aberta e qualquer um pode participar e participar. Bitcoin e Ethereum são exemplos de blockchains públicos.
Uma rede blockchain privada requer um convite. É uma rede autorizada que coloca restrições sobre quem pode participar da rede e em quais transações. Alguns exemplos de blockchains privados são o MultiChain, o Corda do R3, o Hyperledger Fabric e o Chain Core.
A diferença em quem é permitido participar é importante porque afeta a forma como a descentralização é alcançada. Em nosso exemplo do ScroogeCoin, ele sofre do mesmo problema em que um único terceiro confiável controla as coisas.
Blockchains públicos são garantidos por criptografia e mineração criptomoeda. (A explicação do jargão para isso é que eles usam uma combinação de incentivos econômicos, teoria dos jogos, criptografia e ciência da computação para concordar com o estado atual do livro - esses são tópicos para um artigo futuro).
Uma blockchain privada ou autorizada é uma blockchain onde o processo de consenso (isto é, o trabalho de Scrooge) é controlado por um conjunto pré-selecionado de atores (por exemplo, indivíduos, empresas, membros de um consórcio). Por exemplo, você pode ter 15 bancos, cada qual com permissão para gravar no ledger e cada um deles deve assinar cada bloco para que o bloco seja válido.
Isso é mais descentralizado do que ter uma única parte encarregada de validar todas as transações, o que tem algumas vantagens.

Vantagens e exemplos de blockchains privados

A principal razão pela qual as empresas podem escolher usar um blockchain privado é aumentar a transparência e a confiança de seus processos com seus parceiros na rede. Como o blockchain funciona como um log inviolável, cada empresa (por exemplo, um grupo de 15 bancos) pode confiar que ninguém adulterou dados pré-existentes.
Em comparação com suas contrapartes públicas, os blockchains privados também são mais escalonáveis. Você pode ter ouvido falar sobre problemas deescalabilidade com blockchains públicos como Bitcoin e Ethereum. Estes são o resultado de tentar escalar o blockchain enquanto o mantém descentralizado e seguro em um ambiente aberto onde qualquer um pode participar.
Como os blockchains privados ocorrem em um ambiente fechado, eles podem impedir ataques controlando quem entra na rede.
Como exemplo de uma blockchain privada, vamos dar uma olhada no Everledger, que está trabalhando com a indústria de diamantes para ajudar a reduzir fraudes e melhorar o seguro.
A indústria de diamantes tem altos níveis de roubo porque os diamantes são pequenos. Há também muita fraude por causa de adulteração de documentos (mentindo sobre a qualidade ou tamanho dos diamantes) e diamantes sintéticos sendo usados ​​em vez de diamantes reais.
Há também questões éticas com os chamados “diamantes de sangue”, e os clientes querem saber que estão comprando uma jóia autêntica e livre de conflitos.
Cerca de US $ 2 bilhões são perdidos com a fraude de jóias a cada ano, então há um problema significativo para resolver aqui.
Everledger trabalha com as casas certificadas que certificam os diamantes. Cada diamante é medido em quarenta critérios diferentes e, em seguida, atribuído um identificador único.
Essa informação é então inserida no blockchain, onde é inviolável. [4] Toda vez que o diamante é vendido ou transferido para outro jogador na cadeia de suprimentos (por exemplo, da empresa de mineração para a empresa que o corta e polui), essa transferência também é registrada no blockchain.
Isso torna possível para um consumidor final saber exatamente onde seu diamante foi extraído e cada empresa que o tocou em toda a cadeia de suprimentos.

Pode haver mais de uma dúzia de diferentes interessados ​​ao longo da vida de um diamante. Se você quiser mais detalhes, você pode assistir a Leanne explicar detalhadamente os negócios da Everledger .
Também permite que as seguradoras saibam que estão pagando reivindicações legítimas.
Outro exemplo de blockchain privado é a Construtivo, uma empresa de software brasileira que, nos últimos quinze anos, gerencia dados de projetos para grandes projetos de construção de infraestrutura. Eles ajudam a garantir que todas as partes interessadas tenham uma visão consistente do status e do progresso de um projeto.
Para satisfazer o desejo de seus clientes por maior transparência e auditabilidade, a Construtivo está usando um blockchain privado, com cada parte interessada mantendo sua própria cópia do livro razão, para que cada stakeholder possa ter certeza de que nenhuma das outras empresas está mudando isso.

O caso contra os blockchains privados

Uma das críticas comuns aos blockchains privados é que eles são “apenas bancos de dados compartilhados”.
Ou seja, um blockchains privado é basicamente como ter uma planilha compartilhada do Google Docs, na qual você confia a ninguém mais para voltar e alterar os dados inseridos.
Os blockchains privados reivindicam proteger os dados controlando quem entra na rede, mas eles ainda são vulneráveis ​​ao mesmo tipo de hacks de rede que já vimos com corporações privadas como Yahoo e Equifax .
Blockchains públicos não têm esse problema porque tudo é público, ou seja, não há rede para invadir. O consenso não é impulsionado pela capacidade de entrar na rede; é movido por quem gasta a energia do mundo real de uma maneira que é impossível falsificar e que torna o blockchain muito mais caro para “hackear” (como discutido na seção Prova de Trabalho acima).
Os blockchains, públicos e privados, sofrem com a necessidade de os usuários protegerem suas chaves privadas. E os usuários constantemente não conseguem fazê-lo corretamente, e é por isso que os indivíduos são hackeados - muitas pessoas tiveram seu bitcoin roubado - mesmo que o sistema não o faça.
Assim, o argumento contra blockchains privados é que eles confiam na segurança da rede para impedir que os maus atores entrem na rede. Detratores argumentam que isso substitui a melhor e mais inovadora parte da segurança blockchain (prova de trabalho) com a pior parte (usuários protegendo suas chaves privadas).

Vantagens e exemplos de blockchains públicos

Blockchains públicos são provavelmente aqueles sobre os quais você mais ouviu falar e incluem redes como Bitcoin e Ethereum.
Uma das maiores vantagens das blockchains públicas está relacionada ao valor de redes abertas (AKA private AKA permissioned) versus closed (AKA público AKA permissionaless).
A comparação mais fácil é redes fechadas versus a internet nos anos 90. Inicialmente, havia várias empresas que operavam redes fechadas / autorizadas, como Compuserve e Prodigy. Eles ligavam computadores a um servidor central, com notícias e outras informações, mas não à Internet mais ampla.
A ideia era mais atraente para grandes empresas porque parecia mais segura. As empresas não seriam expostas a toda a Internet, mas poderiam manter o controle sobre o que poderia ser colocado na rede.
A internet venceu em sistemas fechados como Compuserve e Prodigy porque existem 100x mais desenvolvedores construindo na internet do que em qualquer intranet única.
Hoje, existem talvez 20 milhões de bons desenvolvedores no mundo e as maiores empresas (Facebook, Google e Amazon) empregam, no máximo, algumas dezenas de milhares. Isso significa que 99% dos melhores desenvolvedores do mundo sempre trabalham para outra pessoa.
É melhor criar um ecossistema que faça com que todas as pessoas mais inteligentes do mundo trabalhem para seus objetivos. Se você confiar apenas em seus próprios funcionários, nunca resolverá as necessidades de todos os seus clientes.
A outra vantagem principal das blockchains públicas (pelo menos em teoria) é que elas são mais descentralizadas e, portanto, mais resistentes à censura .
O ScroogeCoin é o sistema menos resistente a censura que você pode imaginar. Se Scrooge decidir que ele não quer deixar você usar a rede, ele pode fazer isso.
Os blockchains privados são mais resistentes à censura. Se você tem um blockchain privado, onde existem 5 validadores, então você precisa de três deles para conspirar e mentir sobre algo que é mais difícil do que apenas uma única pessoa.
Se você tem um blockchain público com 5000 validadores, é muito mais difícil para eles conspirar. Você teria que subornar, coagir ou convencer 2501 atores a conspirar, o que é muito mais desafiador do que convencer uma única pessoa ou um pequeno grupo de indivíduos.
A natureza dos blockchains públicos permite que qualquer pessoa participe da segurança da rede, o que resultou no maior supercomputador do mundo .
Porque eles são públicos, muitas empresas diferentes estão construindo produtos em cima deles, o que os torna mais valiosos .
Em 2017, houve uma onda de outras redes de criptografia lançadas no blockchain Ethereum. Essas redes não precisaram pedir permissão para lançar no Ethereum da equipe Ethereum. Eles apenas tinham que construir sua rede e ligá-la ao protocolo Ethereum aberto.
Isso aumentou o valor da rede Ethereum em mais de 100x. Esse tipo de onda de inovação teria sido impossível se a Ethereum fosse uma blockchain privada que exigisse obter permissão individual para cada projeto.
Um desses projetos é chamado OmiseGO, que está tentando ajudar as pessoas a enviar pagamentos de remessas. Para as pessoas que trabalham em um país e enviam dinheiro para suas famílias em outro país, as soluções atuais podem ser extremamente caras.
Como a OmiseGO sabia que a Ethereum era uma blockchain pública, eles podiam investir com segurança na construção da Ethereum sabendo que não havia risco de a Ethereum ser capaz de desligá-los no futuro. Isso não é o mesmo que construir em cima do blockchain privado, onde é mais fácil ser censurado.




Se você está procurando mais sobre blockchain e cryptocurrency para negócios, clique aqui para alguns outros recursos que eu achei valiosos(assim como atualizações sobre futuros artigos)

Conclusão

Começamos com a razão pela qual os blockchains são importantes: sua capacidade de permitir que grandes grupos de indivíduos se coordenem uns com os outros.
Em seguida, exploramos primitivas de blockchain ou funções hash criptográficas, que possuem três propriedades importantes:
  1. Resistência à colisão - Duas sequências de texto similares produzem saídas muito diferentes. Se você mudar apenas um personagem no manuscrito de Guerra e Paz , você obtém resultados dramaticamente diferentes
  2. Esconder Deterministic - Não há maneira de um observador de terceiros para saber que "Eu gosto de sorvete."
  3. Puzzle Friendliness - Se alguém quiser gerar um hash que produza o mesmo resultado que “gosto de sorvete”, é extremamente difícil encontrar outro valor que atinja exatamente esse alvo.
Em seguida, examinamos como funções hash podem ser agrupadas em uma função hash transitiva. Quando adicionamos uma árvore Merkle a uma função hash criptográfica transitiva, obtemos um blockchain. Cada bloco contém um conjunto de transações "merkleizadas" e os blocos são encadeados.

Vimos então como o bitcoin usa uma tecnologia chamada prova de trabalho para proteger o blockchain de uma forma que é impossível falsificar.
Em seguida, investigamos a Goofycoin e a Scroogecoin para ver como a tecnologia blockchain evoluiu ao longo do tempo para resolver o problema do duplo gasto
Finalmente, analisamos como blockchains públicos e privados tentam alcançar a descentralização.
Os blockchains ainda são uma tecnologia muito nova. Eles só existem desde 2009 e devemos esperar que nas próximas décadas, veremos uma explosão de diferentes aplicações e redes blockchain.
Já existem milhares de projetos diferentes trabalhando na modificação da tecnologia para ver se e como ela pode ser melhorada ou ajustada para casos de uso específicos.
Agora você tem uma compreensão dos fundamentos da tecnologia blockchain e como funcionam os blockchains.
A maioria, senão todas, das maiores inovações na próxima geração de tecnologia blockchain ainda não aconteceu. Nunca haverá um momento melhor na história para começar a aprender e se envolver.
Se você estiver interessado em aprender mais, inscreva-se no meu boletim informativo e enviarei uma lista dos meus 10 principais recursos para aprender mais sobre blockchain, um kit de ferramentas de recursos blockchain e notificações sobre futuros artigos que publico sobre a tecnologia blockchain.
Agradecimentos: Muitas das imagens e ideias deste artigo são do curso de Coursera Bitcoin e Cyrptocurrency Technologies desenvolvido por Arvind Narayanan e oferecido gratuitamente. Eu recomendaria. Eu também li e recomendaria o livro de texto complementar . Todas as imagens são creditadas a elas, a menos que indicado de outra forma. Obrigado a Gary Basin, Dhruv Bansal, Joe Kelly e Juvoni Beckford pelo seu extenso feedback sobre os primeiros rascunhos.

Notas de rodapé

[1] Outra maneira de dizer isso é que é apenas uma maneira de mapear um texto A para outro B de uma forma que dificulta rederivar oA se tudo que você tem é o B e também onde muito poucos textos diferentes C , D, E, etc irá gerar a mesma saída quando passar pela mesma função (tendência mínima para criar "colisões")
[2] (porque o hash é resistente à colisão - duas entradas diferentes efetivamente nunca produzem a mesma saída)
[3] Pela simplicidade da explicação, cada bloco no ScroogeCoin tem apenas uma transação, mas na prática você colocaria múltiplas transações em um bloco e o Scrooge rejeitaria qualquer tentativa de gastar duas vezes dentro do bloco.
[4] Quando você está lidando com o rastreamento de eventos ou itens do mundo real em vez de eventos digitais, você necessariamente reintroduz o problema do scrooge. No caso do Everledger, dependemos de alguma entidade semelhante ao Scrooge para inserir dados a cada passo do caminho (conhecido como o problema oracle - você precisa confiar em algum “oracle” para obter os dados “na cadeia”). Uma vez que os dados estejam na cadeia, eles se tornam evidentes.)
Fonte: https://hackernoon.com/how-does-blockchain-technology-work-ceeeee47eaba

Comentários

Postagens mais visitadas deste blog

Cardano ADA Atualizações - A blockchain de 1 trilhão de dólares

via IFTTT

Como sacar as recompensas do brave e por que não está tendo anúncios? !

via https://youtu.be/nHieCXv3eu0 Vídeo de como sacar seus tokens BAT ( Dinheiro ) do brave, apenas uma idéia do que fazer e alguns motivos do porque as recompensas e anúncios diminuíram. Ganhe tokens BAT Grátis: https://ift.tt/3e7YFlz #bat #brave # # # #blockchain #DLT Não nos responsabilizamos por interpretações, indicações ou quaisquer ações feitas por interpretação Parceiros :) Binance 25%: https://ift.tt/3cxkPME Huobi Brasil: https://ift.tt/2ADi5jq Kucoin: https://ift.tt/3dCNykn Outras moedas e formas de ajudar aqui: https://ift.tt/3dLUWtC Grupos - Comunidades Grupo telegram https://ift.tt/3dAS1UM Redes sociais https://ift.tt/3eSpw5b

O que é DLT?

Ela está engatinhando ainda mais é a espinha dorsal da internet 3.0 e futuramente até mesmo da quarta revolução industrial. Segundo a Wikipedia : Um ledger distribuído (também chamado de razão pública compartilhada , ou tecnologia de razão distribuída , DLT ) é um consenso de dados digitais replicados, compartilhados e sincronizados, distribuídos geograficamente em vários sites, países ou instituições.  Não há administrador central ou armazenamento de dados centralizado. Segundo a Coindesk : Na sua forma mais simples, um ledger distribuído é um banco de dados mantido e atualizado de forma independente por cada participante (ou nó) em uma rede grande. A distribuição é única: os registros não são comunicados a vários nós por uma autoridade central, mas são independentemente construídos e mantidos por cada nó. Ou seja, cada único nó na rede processa cada transação, chegando a suas próprias conclusões e depois votando essas conclusões para garantir que a maioria concorda com as c...