Blockchain e bancos de dados padrão. Existe alguma diferença

Desta vez, gostaria de falar sobre como vejo as diferenças entre o blockchain e os sistemas de banco de dados convencionais. É claro que não acho que encontrei a resposta, considere meus pensamentos.



Vamos lembrar o blockchain primeiro



Blockchain é o nome popular da tecnologia de contabilidade distribuída. Ele difere dos outros porque vincula blocos de dados a uma cadeia usando um hash criptográfico. Essa cadeia pode ser alterada apenas se for observado o consenso geral adotado entre os participantes (nós) em uma rede.



Em termos mais simples, tecnologia de contabilidade distribuída ou blockchain, estamos falando sobre segurança de dados; uma organização onde eles estão protegidos contra mudanças independentes. Essa segurança é garantida usando criptografia (os dados na rede são sempre assinados, seja uma transação ou um bloco, e a assinatura é verificada antes que os dados sejam considerados confiáveis) e todos os outros componentes são algo mais familiar. Mesmo esse mesmo consenso é mais uma loteria entre os participantes que seguem certas regras. Apenas um participante vence cada rodada, que tem a honra de enviar um bloco para a rede e todos sabem que ele venceu a rodada e leva esse bloco à sua cadeia.



Os recursos de rede do protocolo não são difíceis: inicialmente a partir da configuração e, em seguida, usando as mensagens daqueles nós aos quais foi possível conectar, as informações são lidas (endereços de rede e qualquer meta) e são armazenadas na memória para sincronizar com eles. O número desses nós também pode ser definido nas configurações ao iniciar o software de rede (nós). Na meta, esses nós relatam informações sobre sua carga e, sabendo disso, o resto dos vizinhos tenta incomodar menos esse nó.



Vamos tentar comparar



Os DBMS modernos são programas complexos e projetados para armazenar informações, para que haja onde salvá-las e onde procurar mais tarde. Eles têm muitas ferramentas para protegê-lo, incluindo pontos de falha e replicação. Eles podem trabalhar distribuídos. Qual é a diferença, então, e onde a corporação tem tanto desejo por ogivas?



Digamos que algumas organizações desejam armazenar seus dados como se fossem seus. Eles iniciam um banco de dados, qualquer um e os inserem com segurança.



Depois, eles têm parceiros que querem implorar um pouco a partir daí e inserir algo sobre seus clientes, produtos etc. Também não é uma questão, podemos sincronizá-los, digamos, usando REST, o princípio de transações é perfeitamente implementado na maioria de seus mecanismos, e o princípio de chaves (PK, UNIQUE) não permite inserir a mesma coisa novamente e, de fato, resolve o problema de gastos duplos. E esses são todos os sistemas padrão de gerenciamento de banco de dados.



Então, por que você precisava de uma blockchain? Eles começaram a olhar para ele por causa das complexidades da confiança nos processos financeiros modernos e um pouco mais tarde na produção. Eles não confiam lá de maneiras diferentes e, apesar de toda a idealidade do DBMS moderno, precisam de constantes mudanças e melhorias. E isso se refere basicamente ao algoritmo de consenso.



Se você olhar as notícias sobre o tema da tecnologia blockchain, em suas startups elas estarão brigando por protocolos (velocidade e resiliência) e consenso (o princípio de confiança na rede).

Ao mesmo tempo, não há consenso padrão, dependendo das tarefas a serem resolvidas, diferentes são escolhidas.

A concorrência leva ao fato de que o direito de fazer alterações na contabilidade geral afeta muito o sucesso do participante, e todo mundo quer fazê-lo primeiro (bom, ou sempre), mas isso é impossível, apenas uma cópia das alterações feitas deve ser aceita, caso contrário, todo mundo ficará confuso sobre o que ler. ...



Você diz: por que não dar a oportunidade a todos por sua vez. De fato, isso às vezes é feito e contribui para um excelente desempenho, mas reduz a segurança. O fato é que, dessa maneira, você pode descobrir quando alguém faz alterações e isso de um certo tipo nos centraliza no momento da geração do bloco em alguém específico, e se não confiarmos nele, ou apenas em alguns nós, os remetentes das transações serão enviá-los em um momento em que eles sabem exatamente de quem é a vez.

Por outro lado, também é o princípio da competição entre os mineiros, ou seja, os participantes que desejam ser os primeiros no momento da troca de blocos. Isto é especialmente verdade para sistemas com dados abertos.



Falando em abertura de dados. Como muitos DBMSs são fechados, eles não podem implementar os princípios de confiança e isso sugere que a tecnologia deve ser separada e adequada para trabalhar com qualquer banco de dados.



Como resultado, podemos dizer que estamos falando de um sistema de tecnologias construídas sobre bancos de dados existentes, que tem abertura e necessidade de constantes mudanças e melhorias por todos.



Francamente, esse é o desejo de idealizar a contabilidade de dados diante da concorrência por esses dados. Algum tipo de garantia das partes na transação para um resultado favorável de suas atividades.



A própria tecnologia traz popularidade ao fluxo de documentos eletrônicos e suas modificações às que surgem no processo de complicar as operações nele.



All Articles