Pelajaran 2

Como funciona a Bitcoin

A Bitcoin é baseada na tecnologia blockchain, que é um livro de registro distribuído publicamente que usa um mecanismo de consenso PoW para manter a segurança da rede.

O nascimento da bitcoin e da blockchain envolve dois problemas de longa data na moeda digital: o Problema dos Dupla-Gastos e o Problema dos Generais Bizantinos

Da Moeda Física à Digital: Resolver o Problema de Dois Gastos

Comparado com a moeda física no dia a dia, a maior dificuldade em desenvolver dinheiro eletrónico é como ultrapassar o “problema da confiança”. A razão pela qual as primeiras conchas e metais preciosos podem ser usados como equivalentes gerais é que têm uma certa escassez e as notas físicas posteriores dependem da credibilidade do estado para resolver o problema da confiança.

Estas moedas físicas tinham valor e puderam concluir a transferência de valor instantaneamente. Na era digital, qualquer conteúdo é essencialmente uma combinação de 0 e 1 códigos, e o dinheiro digital pode ser copiado em duas cópias e lançado para dois destinatários diferentes ao mesmo tempo, que é o chamado “problema de gastos duplos”. A Internet em si não tem a capacidade de representar valor, então as pessoas tinham de usar um sistema de conta centralizado com um servidor centralizado, como um banco, para poderem usar cartões de crédito e outros tipos de dinheiro eletrónico.

Um sistema que não exige confiança: Distributed Ledger

Mas se há um terceiro de confiança verdadeiramente é uma pergunta. Há um risco de ponto único de falhas, como ataques a servidores centralizados, e até os governos podem coletar uma “Senhoriage” emitindo dinheiro em excesso. A solução proposta pela Bitcoin é abandonar intermediários de terceiros e construir um registo distribuído onde todos estão no centro do livro.

Considere uma aldeia onde só há um “chefe” responsável por manter o registo, e todas as despesas dos membros da aldeia são registadas no chefe da aldeia, que é o centro do sistema de registo. O sistema pode funcionar bem se o chefe da aldeia for confiável; no entanto, se o chefe, que é o centro do sistema, for um ladrão, pode ser difícil para outros detetar.

Considerem uma aldeia “descentralizada” na qual cada membro detém um livro idêntico. Quando um membro quer fazer uma alteração no livro, deve notificar os outros membros através de “transmissão” para que possam confirmar as entradas e copiá-las para os seus próprios registos. O processo de transação não está concluído até que todos os membros tenham confirmado e atualizado os seus registos. É essencialmente assim que funciona a rede Bitcoin.

Implementação de Distributed Ledger: Blocos e Blockchain

A Bitcoin inventou um novo tipo de sistema digital para registar a transação de ativos conhecido como o registo distribuído. Em contraste com a gravação centralizada, onde os dados são armazenados em servidores centralizados, a blockchain é uma base de dados descentralizada, com cada nó da rede a atuar como o detentor e mantém a base de dados.

A Bitcoin foi a primeira aplicação em larga escala de blockchain e a blockchain é a fundação subjacente da Bitcoin.

O sistema Bitcoin pode ser dividido em três camadas: a camada de dados, a camada de protocolo e a camada de aplicação. Vamos começar com o “livro-razão” (camada de dados) que cada membro do sistema Bitcoin possui.

Das Merkle Treine ao Bloco “Correntes”

Uma blockchain é essencialmente um registo distribuído mantido por todos os nós da rede, com cada nó a armazenar os dados inteiros da blockchain. A “cadeia” de blocos armazenada por um nó é uma cadeia ordenada de blocos conectada entre si e o bloco em si é uma estrutura de dados inalterável mantida pelo algoritmo de Hash Criptográfico.

A função hash (SHA-256 e RipeMD160) é um algoritmo criptográfico crítico em Bitcoin que pode converter um valor de entrada de comprimento arbitral numa saída de valor de comprimento fixo com aleatoriedade, recursos sem colisião.E é difícil adivinhar o valor de entrada para uma função hash a partir da sua saída. Uma pequena alteração na entrada pode resultar numa saída drasticamente diferente. A saída de uma função hash pode ser facilmente derivada da entrada, mas inferir a entrada da saída requer enumeração de força bruta, o que leva uma quantidade significativa de tempo e poder de computação. O uso repetido das funções hash simplifica e define a estrutura de dados da Bitcoin.

Um bloco de Bitcoin consiste em duas partes: o corpo do bloco e o cabeçalho do bloco. O corpo do bloco contém todas as informações da transação nesse bloco, que é hashed várias vezes para formar uma estrutura conhecida como uma árvore Merkle, que constitui o corpo do bloco. A primeira mensagem de transação em cada um destes blocos também é conhecida como a transação coinbase e é a transação que gera novas bitcoins e recompensa para o mineiro, enquanto todas as outras transações são transferências entre utilizadores um para o outro.

Estas transações passam por várias operações de hashing para finalmente chegar a um valor chamado Merkle Hash, que é a soma de todos os dados da transação. O Hash Merkle, juntamente com Nune, carimbos de data/hora, hashes do bloco pai e outros dados, constituem o cabeçalho do bloco e calcular o valor de hash do cabeçalho do bloco pode obter o Hash do bloco deste bloco. Visto que o cabeçalho de bloco de cada bloco contém o valor hash do bloco pai, todos os blocos estão conectados numa cadeia. Os blocos estão interbloqueados e qualquer alteração nos dados do bloco resultará numa mudança no hash do bloco, que vai quebrar a cadeia.

Prova-de-trabalho (PoW): o Mecanismo de Consenso para a Segurança de Redes

Depois de introduzir o “ledger” (camada de dados) mantido por cada nó, vamos passar para a camada de consenso Bitcoin, que é responsável pela segurança da rede.

Antes de mergulhar num consenso distribuído, é crítico entender o problema dos “Generais Bizantinos”.

Generais Bizantinos: Um problema de sincronização com várias mensagens

O problema dos Generais Bizantinos remonta ao período medieval em que o exército bizantino dependia de mensageiros para transmitir informações devido ao vasto território de Bizâncio. Se um traidor deturpasse deliberadamente a informação operacional dos mais altos, isso levaria a planos operacionais inconsistentes, resultando no “Problema dos Generais Bizantinos”.

A rede Bitcoin consiste em vários nós descentralizados, cada um dos quais é um “corpo” independente, autónomo e igual. Todos os nós da rede têm a sua própria cópia exclusiva dos dados da blockchain, e todos querem ser os primeiros a empacotar transações e ganhar as recompensas bitcoin. Então, qual nó terá sucesso em ganhar os direitos de registo e convencer toda a rede a chegar a um consenso para modificar os dados da blockchain?

Prova-de-trabalho (PoW): Calcular a resposta e publique-a na rede para a verificação em tempo real

A resposta da bitcoin é o mecanismo de consenso Proof-work (PoW), vulgarmente conhecido como “mineração”, que é um processo de computação digital executado por nós, onde o primeiro nó a encontrar a “resposta” tem os direitos do livro. Especificamente, o nó precisa continuar a tentar mudar o Núncio do cabeçalho do bloco, calculando o hash do bloco e finalmente ter um hash de bloco onde os primeiros bits são zero.

Nesta altura, o valor Nune é a resposta à pergunta. Depois de encontrar a resposta, o nó a transmitirá para outros nós de rede e depois de verificar a resposta, os outros nós rapidamente pegarão o bloco como o novo nó pai e continuarão a próxima ronda de operações de mineração.

Isso apresenta um problema na medida em que os dados demoram a transmitir entre nós, e é inteiramente possível que dois ou mais nós descobrissem a resposta ao quebra-cabeças ao mesmo tempo antes de a comunidade como um todo chegar a acordo. No entanto, como dois nós empacotam transações coinbase diferentes, isso resulta em dois blocos válidos distintos. Devido às diferentes sequências de sinalização, os nós miner vão operar na cadeia dos dois forks. Nesta altura, a rede Bitcoin vai seguir a “regra da cadeia mais longa”, tratando a cadeia de forquilhas com mais blocos como a única blockchain reconhecida. Esta concorrência fork é tipicamente concluída em menos de 6 blocos e todas as transações da outra cadeia abandonada são anuladas.

A essência da Bitcoin: modelo UXTO

Os nós da bitcoin podem sincronizar atualizações para o livro de registro distribuído por mineração e a regra da cadeia mais longa para chegar a um consenso. Este livro de registro distribuído baseado em consentimento também torna possíveis moedas digitais ponto a ponto, como Bitcoin.

As moedas eletrónicas tradicionais usam um sistema de conta centralizado onde são criadas contas para cada usuário num servidor central e os dados de saldo são armazenados para todas as contas. Após cada transação, o saldo da conta é aumentado ou diminuído por ordem cronológica. Já a Bitcoin usa um modelo UXTO, que representa a saída de transações não gastas.

A criptografia assimétrica é usada para proteger transações com bitcoin. Cada utilizador de Bitcoin deve ter um par de chaves públicas e privadas, semelhantes a uma conta e uma senha. O utilizador deve assinar os dados da transação com a chave privada e publicar os dados da transação, a assinatura e a chave pública em conjunto. No entanto, em cada transação, o utilizador não transfere o saldo da conta diretamente mas usa o “valor não gasto” das várias transações anteriores, ou seja UTXO.

No sistema Bitcoin, não há conceito de conta ou saldo de conta, apenas a UTXO de todas as transações no registo histórico. As carteiras de bitcoin podem verificar os dados de todas as transações anteriores e calcular o UTXO total de um endereço específico (ou seja, chave pública) para determinar o saldo da conta. Além disso, quando uma transação é iniciada, as carteiras de bitcoin podem combinar automaticamente o UTXO com o saldo correto para concluir a transferência.

DESTAQUES

  • A Bitcoin é baseada na tecnologia de blocos. A blockchain é uma base de dados descentralizada usada para criar um registo distribuído, então não é necessária confiança de terceiros e cada nó da rede funciona como um responsável pela manutenção de dados.
  • A Bitcoin usa o algoritmo SHA256 para gerar hashes e armazenar dados em cabeçalhos de bloco e blocos de corpos. Torna-se uma estrutura composta de blocos individuais encadeados juntos, e porque os dados são inalteráveis, são extremamente seguros.
  • O mecanismo de consenso da bitcoin é a Proof-Work (PoW), que é um mecanismo que permite aos nós gastarem poder aritmético para resolver um enigma e sincronizar a transação com outros nós para a recompensa em bloco.
Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 2

Como funciona a Bitcoin

A Bitcoin é baseada na tecnologia blockchain, que é um livro de registro distribuído publicamente que usa um mecanismo de consenso PoW para manter a segurança da rede.

O nascimento da bitcoin e da blockchain envolve dois problemas de longa data na moeda digital: o Problema dos Dupla-Gastos e o Problema dos Generais Bizantinos

Da Moeda Física à Digital: Resolver o Problema de Dois Gastos

Comparado com a moeda física no dia a dia, a maior dificuldade em desenvolver dinheiro eletrónico é como ultrapassar o “problema da confiança”. A razão pela qual as primeiras conchas e metais preciosos podem ser usados como equivalentes gerais é que têm uma certa escassez e as notas físicas posteriores dependem da credibilidade do estado para resolver o problema da confiança.

Estas moedas físicas tinham valor e puderam concluir a transferência de valor instantaneamente. Na era digital, qualquer conteúdo é essencialmente uma combinação de 0 e 1 códigos, e o dinheiro digital pode ser copiado em duas cópias e lançado para dois destinatários diferentes ao mesmo tempo, que é o chamado “problema de gastos duplos”. A Internet em si não tem a capacidade de representar valor, então as pessoas tinham de usar um sistema de conta centralizado com um servidor centralizado, como um banco, para poderem usar cartões de crédito e outros tipos de dinheiro eletrónico.

Um sistema que não exige confiança: Distributed Ledger

Mas se há um terceiro de confiança verdadeiramente é uma pergunta. Há um risco de ponto único de falhas, como ataques a servidores centralizados, e até os governos podem coletar uma “Senhoriage” emitindo dinheiro em excesso. A solução proposta pela Bitcoin é abandonar intermediários de terceiros e construir um registo distribuído onde todos estão no centro do livro.

Considere uma aldeia onde só há um “chefe” responsável por manter o registo, e todas as despesas dos membros da aldeia são registadas no chefe da aldeia, que é o centro do sistema de registo. O sistema pode funcionar bem se o chefe da aldeia for confiável; no entanto, se o chefe, que é o centro do sistema, for um ladrão, pode ser difícil para outros detetar.

Considerem uma aldeia “descentralizada” na qual cada membro detém um livro idêntico. Quando um membro quer fazer uma alteração no livro, deve notificar os outros membros através de “transmissão” para que possam confirmar as entradas e copiá-las para os seus próprios registos. O processo de transação não está concluído até que todos os membros tenham confirmado e atualizado os seus registos. É essencialmente assim que funciona a rede Bitcoin.

Implementação de Distributed Ledger: Blocos e Blockchain

A Bitcoin inventou um novo tipo de sistema digital para registar a transação de ativos conhecido como o registo distribuído. Em contraste com a gravação centralizada, onde os dados são armazenados em servidores centralizados, a blockchain é uma base de dados descentralizada, com cada nó da rede a atuar como o detentor e mantém a base de dados.

A Bitcoin foi a primeira aplicação em larga escala de blockchain e a blockchain é a fundação subjacente da Bitcoin.

O sistema Bitcoin pode ser dividido em três camadas: a camada de dados, a camada de protocolo e a camada de aplicação. Vamos começar com o “livro-razão” (camada de dados) que cada membro do sistema Bitcoin possui.

Das Merkle Treine ao Bloco “Correntes”

Uma blockchain é essencialmente um registo distribuído mantido por todos os nós da rede, com cada nó a armazenar os dados inteiros da blockchain. A “cadeia” de blocos armazenada por um nó é uma cadeia ordenada de blocos conectada entre si e o bloco em si é uma estrutura de dados inalterável mantida pelo algoritmo de Hash Criptográfico.

A função hash (SHA-256 e RipeMD160) é um algoritmo criptográfico crítico em Bitcoin que pode converter um valor de entrada de comprimento arbitral numa saída de valor de comprimento fixo com aleatoriedade, recursos sem colisião.E é difícil adivinhar o valor de entrada para uma função hash a partir da sua saída. Uma pequena alteração na entrada pode resultar numa saída drasticamente diferente. A saída de uma função hash pode ser facilmente derivada da entrada, mas inferir a entrada da saída requer enumeração de força bruta, o que leva uma quantidade significativa de tempo e poder de computação. O uso repetido das funções hash simplifica e define a estrutura de dados da Bitcoin.

Um bloco de Bitcoin consiste em duas partes: o corpo do bloco e o cabeçalho do bloco. O corpo do bloco contém todas as informações da transação nesse bloco, que é hashed várias vezes para formar uma estrutura conhecida como uma árvore Merkle, que constitui o corpo do bloco. A primeira mensagem de transação em cada um destes blocos também é conhecida como a transação coinbase e é a transação que gera novas bitcoins e recompensa para o mineiro, enquanto todas as outras transações são transferências entre utilizadores um para o outro.

Estas transações passam por várias operações de hashing para finalmente chegar a um valor chamado Merkle Hash, que é a soma de todos os dados da transação. O Hash Merkle, juntamente com Nune, carimbos de data/hora, hashes do bloco pai e outros dados, constituem o cabeçalho do bloco e calcular o valor de hash do cabeçalho do bloco pode obter o Hash do bloco deste bloco. Visto que o cabeçalho de bloco de cada bloco contém o valor hash do bloco pai, todos os blocos estão conectados numa cadeia. Os blocos estão interbloqueados e qualquer alteração nos dados do bloco resultará numa mudança no hash do bloco, que vai quebrar a cadeia.

Prova-de-trabalho (PoW): o Mecanismo de Consenso para a Segurança de Redes

Depois de introduzir o “ledger” (camada de dados) mantido por cada nó, vamos passar para a camada de consenso Bitcoin, que é responsável pela segurança da rede.

Antes de mergulhar num consenso distribuído, é crítico entender o problema dos “Generais Bizantinos”.

Generais Bizantinos: Um problema de sincronização com várias mensagens

O problema dos Generais Bizantinos remonta ao período medieval em que o exército bizantino dependia de mensageiros para transmitir informações devido ao vasto território de Bizâncio. Se um traidor deturpasse deliberadamente a informação operacional dos mais altos, isso levaria a planos operacionais inconsistentes, resultando no “Problema dos Generais Bizantinos”.

A rede Bitcoin consiste em vários nós descentralizados, cada um dos quais é um “corpo” independente, autónomo e igual. Todos os nós da rede têm a sua própria cópia exclusiva dos dados da blockchain, e todos querem ser os primeiros a empacotar transações e ganhar as recompensas bitcoin. Então, qual nó terá sucesso em ganhar os direitos de registo e convencer toda a rede a chegar a um consenso para modificar os dados da blockchain?

Prova-de-trabalho (PoW): Calcular a resposta e publique-a na rede para a verificação em tempo real

A resposta da bitcoin é o mecanismo de consenso Proof-work (PoW), vulgarmente conhecido como “mineração”, que é um processo de computação digital executado por nós, onde o primeiro nó a encontrar a “resposta” tem os direitos do livro. Especificamente, o nó precisa continuar a tentar mudar o Núncio do cabeçalho do bloco, calculando o hash do bloco e finalmente ter um hash de bloco onde os primeiros bits são zero.

Nesta altura, o valor Nune é a resposta à pergunta. Depois de encontrar a resposta, o nó a transmitirá para outros nós de rede e depois de verificar a resposta, os outros nós rapidamente pegarão o bloco como o novo nó pai e continuarão a próxima ronda de operações de mineração.

Isso apresenta um problema na medida em que os dados demoram a transmitir entre nós, e é inteiramente possível que dois ou mais nós descobrissem a resposta ao quebra-cabeças ao mesmo tempo antes de a comunidade como um todo chegar a acordo. No entanto, como dois nós empacotam transações coinbase diferentes, isso resulta em dois blocos válidos distintos. Devido às diferentes sequências de sinalização, os nós miner vão operar na cadeia dos dois forks. Nesta altura, a rede Bitcoin vai seguir a “regra da cadeia mais longa”, tratando a cadeia de forquilhas com mais blocos como a única blockchain reconhecida. Esta concorrência fork é tipicamente concluída em menos de 6 blocos e todas as transações da outra cadeia abandonada são anuladas.

A essência da Bitcoin: modelo UXTO

Os nós da bitcoin podem sincronizar atualizações para o livro de registro distribuído por mineração e a regra da cadeia mais longa para chegar a um consenso. Este livro de registro distribuído baseado em consentimento também torna possíveis moedas digitais ponto a ponto, como Bitcoin.

As moedas eletrónicas tradicionais usam um sistema de conta centralizado onde são criadas contas para cada usuário num servidor central e os dados de saldo são armazenados para todas as contas. Após cada transação, o saldo da conta é aumentado ou diminuído por ordem cronológica. Já a Bitcoin usa um modelo UXTO, que representa a saída de transações não gastas.

A criptografia assimétrica é usada para proteger transações com bitcoin. Cada utilizador de Bitcoin deve ter um par de chaves públicas e privadas, semelhantes a uma conta e uma senha. O utilizador deve assinar os dados da transação com a chave privada e publicar os dados da transação, a assinatura e a chave pública em conjunto. No entanto, em cada transação, o utilizador não transfere o saldo da conta diretamente mas usa o “valor não gasto” das várias transações anteriores, ou seja UTXO.

No sistema Bitcoin, não há conceito de conta ou saldo de conta, apenas a UTXO de todas as transações no registo histórico. As carteiras de bitcoin podem verificar os dados de todas as transações anteriores e calcular o UTXO total de um endereço específico (ou seja, chave pública) para determinar o saldo da conta. Além disso, quando uma transação é iniciada, as carteiras de bitcoin podem combinar automaticamente o UTXO com o saldo correto para concluir a transferência.

DESTAQUES

  • A Bitcoin é baseada na tecnologia de blocos. A blockchain é uma base de dados descentralizada usada para criar um registo distribuído, então não é necessária confiança de terceiros e cada nó da rede funciona como um responsável pela manutenção de dados.
  • A Bitcoin usa o algoritmo SHA256 para gerar hashes e armazenar dados em cabeçalhos de bloco e blocos de corpos. Torna-se uma estrutura composta de blocos individuais encadeados juntos, e porque os dados são inalteráveis, são extremamente seguros.
  • O mecanismo de consenso da bitcoin é a Proof-Work (PoW), que é um mecanismo que permite aos nós gastarem poder aritmético para resolver um enigma e sincronizar a transação com outros nós para a recompensa em bloco.
Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.