Blockchains e bancos de dados têm muito em comum; para começar, ambos são usados para armazenar dados, e é por isso que você costuma ver os dois termos aparecerem onde quer que haja uma discussão sobre a tecnologia blockchain. Você poderia até dizer que blockchains são um tipo de banco de dados sem estar completamente errado.
No entanto, blockchains e bancos de dados são estrutural e funcionalmente diferentes uns dos outros. Então, o que é um banco de dados? O que é uma blockchain? E qual é a diferença?
O que é um banco de dados?
Um banco de dados é uma coleção de informações organizadas que são armazenadas e acessadas eletronicamente. Os bancos de dados são gerenciados por meio de um Sistema de Gerenciamento de Banco de Dados (SGBD), que é o software por meio do qual os usuários finais interagem com o banco de dados. O banco de dados, o DBMS e quaisquer outros aplicativos associados são chamados de “sistemas de banco de dados”.
Os bancos de dados são classificados de acordo com seu design, ou seja, como eles classificam, organizam e armazenam dados. O design do banco de dados leva em consideração várias técnicas e considerações práticas, incluindo modelagem de dados, armazenamento e representação de dados eficientes, segurança, privacidade e problemas de computação distribuída, como falhas tolerância.
Existem vários tipos de modelos de dados, incluindo os modelos hierárquicos, de rede, de objetos e de documentos, com a mais popular é o modelo relacional, que organiza os dados em tabelas compostas por linhas e tabelas chamadas "relações."
No entanto, com o surgimento da internet, os anos 2000 viram um aumento na demanda por grandes bancos de dados distribuídos com alta tolerância a partições, o que era um problema para bancos de dados. Em resposta, outros modelos de dados que poderiam lidar melhor com a escalabilidade se tornaram populares, como NoSQL e NewSQL.
Embora existam vários tipos de bancos de dados, há uma coisa que todos eles têm em comum. Um administrador os executa centralmente por meio do DBMS, seja distribuído ou não, e o administrador tem a capacidade não apenas de ler, mas também de escrever.
Os bancos de dados têm muitos casos de uso práticos, inclusive nas áreas de finanças, telecomunicações e transporte indústrias, e são usados para armazenar sistemas de biblioteca, reservas de voos, sistemas de gerenciamento de conteúdo e mais.
O que é uma Blockchain?
Um blockchain é, simplesmente, um livro-razão distribuído, que alguns poderiam dizer que é um tipo de banco de dados distribuído. E eles não estariam completamente errados. Com ambos sendo o produto da computação distribuída, blockchains e bancos de dados distribuídos compartilham muitas de suas tecnologias subjacentes.
Blockchains são distribuídos porque, como bancos de dados distribuídos, eles não estão localizados em um único lugar, mas em todo diferentes nós que se unem através de uma rede peer-to-peer, transformando-a virtualmente em um único ecossistema. Mas isso é até onde vão suas semelhanças.
Ao contrário dos bancos de dados distribuídos, as blockchains não são gerenciadas centralmente. Em vez disso, as blockchains funcionam como um redes ponto a ponto descentralizadas, com nós verificando e concordando com o estado atual do blockchain por meio de um mecanismo de consenso.
Blockchains armazenam dados na forma de “blocos”, com cada bloco contendo um hash criptográfico do bloco anterior, um carimbo de data/hora e dados de transação. Finalmente, uma vez que o consenso é alcançado, novos blocos são adicionados ao blockchain, vinculando-os com segurança por meio de criptografia.
Embora os registros em uma blockchain possam, em teoria, ser alterados, blockchains são considerados por alguns como seguro por design e são um bom exemplo de um sistema de computação distribuído com alta partição tolerância.
A tecnologia Blockchain ainda está sendo desenvolvida e muitos novos casos de uso estão sendo encontrados todos os dias. Seus casos de uso são como um livro digital para criptomoedas, a liquidação de contratos inteligentes, a tokenização de itens virtuais e o gerenciamento da cadeia de suprimentos.
Qual é a diferença entre um banco de dados e um Blockchain?
Embora bancos de dados e blockchains sirvam como armazenamento de dados, eles são estrutural e funcionalmente diferentes um do outro, desde a maneira como armazenam e organizam os dados até a maneira como são gerenciados.
Blockchains registram dados na forma de blocos ao contrário de outras estruturas de dados tradicionalmente usadas por bancos de dados e, por serem descentralizadas, dispensam a necessidade de um administrador. Por todas essas razões, as blockchains são melhor descritas não como um banco de dados, mas sim como um armazenamento de dados.