Bitcoin é um banco de dados

Prepare-se, prepare-se. Ler isso pode enfurecê-lo e confundi-lo, pode confundi-lo, você pode até ficar bravo o suficiente para dar um soco na tela (não faça isso). Considere isso um aviso de gatilho.

Bitcoin é um banco de dados. Período. É o que é. O blockchain é um banco de dados para armazenar atualizações passadas para poder reproduzir o estado atual desse banco de dados, o conjunto UTXO. Todo o protocolo Bitcoin é construído em torno o banco de dados. O que é uma entrada válida nesse banco de dados e o que não é uma entrada válida no banco de dados? Quem está autorizado a propor entradas para esse banco de dados, como você garante que apenas as entradas desses usuários serão consideradas e aceitas? Qual é o mecanismo de autenticação que restringe a gravação de entradas neste banco de dados? Como você limita as entradas do banco de dados para que as pessoas não possam fazer tantas que sobrecarreguem ou travem o software que gerencia o banco de dados? Como você garante que as pessoas não possam fazer entradas únicas que sejam grandes o suficiente para causar outras preocupações de negação de serviço?

É tudo uma questão de banco de dados.

Prova de trabalho? Todo o propósito disso no protocolo é gerenciar quem pode realmente processar atualizações no banco de dados. O Bitcoin foi concebido para ser um sistema descentralizado, por isso precisava de uma forma de atualizar o banco de dados de forma descentralizada, ao mesmo tempo que permitia que os usuários chegassem a um consenso com todas as suas cópias individuais do banco de dados em uma única atualização. Se todos atualizarem sozinhos sua própria cópia do banco de dados, não haverá como todos chegarem a um consenso sobre uma única versão do banco de dados. Se você depende de algumas autoridades para lidar com as atualizações, o processo de atualização não é verdadeiramente descentralizado. Este era o objetivo do POW, permitir que qualquer pessoa processasse uma atualização, mas não sem incorrer em um custo verificável ao fazê-lo.

A prova de trabalho é simplesmente um mecanismo descentralizado para atualizar um banco de dados.

Toda a arquitetura de rede ponto a ponto? Ele existe apenas para propagar entradas propostas de atualização de banco de dados (transações) e atualizações finalizadas de banco de dados (blocos). Nós verificando as transações conforme elas entram em seu mempool? É para pré-filtrar as atualizações de entrada propostas no banco de dados e garantir que sejam válidas. Nós verificando se um bloco atende à meta de dificuldade exigida? É para pré-filtrar uma atualização de banco de dados proposta e garantir que ela seja válida antes de passá-la para outros nós para atualizar sua cópia local.

A rede ponto a ponto existe apenas para reconciliar múltiplas cópias do mesmo banco de dados.

Roteiro Bitcoin? Literalmente existe com o único propósito de funcionar como um mecanismo de autorização para entradas no banco de dados. Para excluir uma entrada existente no estado atual do banco de dados, o conjunto UTXO, um usuário que propõe essa atualização deve fornecer prova de autenticação que atenda às condições do script que bloqueia a entrada existente do banco de dados. Apenas as entradas existentes, ou UTXOs, podem ser “gastas” para autorizar a criação de novas entradas na base de dados. Os mineiros são os únicos no protocolo autorizados a criar entradas sem cumprir a condição de remover uma existente, cumprindo os requisitos de autorização estabelecidos no seu script de bloqueio.

O script Bitcoin é simplesmente um mecanismo para controlar e restringir quem pode gravar no banco de dados.

Cada aspecto do que é o Bitcoin gira em torno da função central de manter um banco de dados e garantir que muitos participantes da rede, todos mantendo suas cópias individuais desse banco de dados, permaneçam sincronizados e concordem sobre qual é o estado atual do banco de dados. Todas as propriedades que fazem o Bitcoin valorizar como forma de dinheiro ou meio de pagamento, são literalmente derivados de como funciona como um banco de dados.

Muitas pessoas neste espaço pensam que esta base de dados deve ser usada apenas como meio de pagamento ou como forma de dinheiro, e simpatizo com essa opinião. Eu também acho que esse é o caso de uso mais importante e acho que todos os esforços devem ser feitos para dimensionar esse caso de uso específico tanto quanto possível, sem sacrificar a soberania e a segurança de poder interagir diretamente com esse banco de dados. .

Mas ainda é apenas um banco de dados quando você se resume à realidade objetiva do que é o Bitcoin. Pessoas dispostas a pagar os custos denominados em satoshis para escrever uma entrada que seja considerada válida segundo as regras dessa base de dados podem fazê-lo. Não há nada que você possa fazer para impedi-los de alterar o que é considerado uma entrada válida nesse banco de dados, o que implica convencer todos os outros a também adotarem um novo conjunto de regras em relação ao que é uma entrada válida.

As pessoas podem competir livremente dentro das regras de consenso para escrever o que quiserem nesta base de dados, desde que paguem os custos exigidos pelas regras e pela estrutura de incentivos da mineração para o fazer. Período. Muitas das coisas que as pessoas podem e estão inserindo no banco de dados são estúpidas? Sim. Claro que eles são. A Internet está repleta de quantidades entorpecentes de coisas estúpidas em bancos de dados isolados por todo o lugar. Por que é que? Porque as pessoas estão dispostas a pagar o custo de colocar coisas estúpidas em um banco de dados.

Se são os usuários do banco de dados que pagam o provedor e operam, ou o próprio operador permite que certas coisas sejam inseridas como parte das operações sem repassar o custo ao usuário, é irrelevante. Essas coisas estúpidas só existem em algum lugar em formato digital porque, de alguma forma, o custo é pago para isso.

O Bitcoin não é fundamentalmente diferente de qualquer outro banco de dados nesse aspecto. A única diferença é que não existe um proprietário ou porteiro único que dite o que é permitido ou não. Cada proprietário de uma cópia do banco de dados Bitcoin é capaz de permitir ou não o que quiser; o problema é que se eles decidirem recusar algo que todos consideram aceitável, eles sairão do consenso com todos os outros. Seu banco de dados local não está mais sincronizado com o banco de dados virtual global que todos os outros seguem e usam.

Se você achar que certas entradas do banco de dados são inaceitáveis, altere as regras pelas quais sua cópia local valida novas entradas. Mas isso é cortar seu nariz para irritar seu rosto. No final das contas, o Bitcoin funciona com um axioma simples: pague para jogar. Se as pessoas pagarem a taxa, elas poderão jogar. É assim que funciona.

No final das contas, cabe inteiramente a cada indivíduo o que ele deseja permitir ou não em seu banco de dados, mas, ultrapassando todos os debates semânticos e filosóficos que estão acontecendo agora, uma coisa permanece inquestionável e objetivamente verdadeira: Bitcoin é um banco de dados

Fonte: https://bitcoinmagazine.com/technical/bitcoin-is-a-database