Um blockchain é um banco de dados distribuído que é descentralizado, anônimo, de código aberto e imutável. Uma vez confirmadas, as transações on-chain são armazenadas permanentemente e não podem ser alteradas. Então, o que torna os dados on-chain imutáveis?
Simplificando, um blockchain é composto de blocos e cadeias.
Um bloco é composto por um cabeçalho e um corpo, onde um cabeçalho contém as informações básicas sobre o bloco, como timestamp, números de versão, hash aleatório, hash do bloco anterior, hash raiz Merkle e dificuldade de mineração. Dentro do corpo do bloco estão as transações empacotadas, que são os dados assinados pelos usuários da carteira com suas chaves privadas. Em outras palavras, é uma transferência de ativos entre usuários, mas além dos usuários, há outra transação que pertence ao minerador, e o valor da transação é a soma da recompensa do bloco mais as taxas pagas por todos os comerciantes no quadra.
Cada cabeçalho de bloco contém o hash do cabeçalho de bloco anterior e é interligado entre si por carimbos de data/hora e números de versão para formar o blockchain.
A imutabilidade do blockchain significa que os registros de transações que ocorreram não podem ser alterados. Depois de conhecermos a composição do blockchain, ele pode ser separado como a imutabilidade do cabeçalho do bloco e do corpo do bloco.
O cabeçalho do bloco registra o valor de hash aleatório do bloco anterior, que é gerado pelo algoritmo de hash a partir das informações da transação e carimbo de data/hora do bloco anterior. Nesse ponto, os mineradores da rede calculam o hash do cabeçalho do bloco usando poder de computação, e quem o calcular primeiro pode empacotar a transação e sincronizá-la com toda a rede por meio de transmissão. Se os dados do bloco anterior forem alterados, eles serão inconsistentes com o valor de hash do bloco original e não serão confirmados pelo próximo bloco.
A imutabilidade do corpo do bloco é determinada pela função hash. O corpo contém muitas transações que são conectadas por árvores Merkle. Qualquer alteração em uma das transações alterará o valor do hash da raiz Merkle, causando a alteração do próximo cabeçalho do bloco. A função hash usada pelo Bitcoin é o algoritmo SHA-256.
Pode-se ver com isso que a adulteração dos dados da transação no blockchain fará com que a raiz da árvore Merkle seja alterada diretamente e, em seguida, o valor de hash do próximo cabeçalho do bloco também será alterado, o que se tornará ilegítimo e exigirá um recálculo de o hash do novo cabeçalho do bloco. Uma alteração no valor de hash do novo cabeçalho do bloco, por sua vez, causará uma alteração no próximo cabeçalho do bloco, resultando em um colapso de dados que não será aceito por toda a rede.
Em teoria, é necessário mais de 51% do poder de computação da rede para adulterar os dados, mas em uma rede suficientemente robusta, um ataque de 51% é essencialmente impossível e não é do interesse do próprio invasor.
Na rede centralizada, o banco de dados é manipulado por uma autoridade central onde novas emissões, modificação de registros e congelamento de circulação podem ser manipulados. O banco central pode adicionar dinheiro fiduciário todos os anos e congelar os ativos bancários de qualquer pessoa. E uma rede centralizada requer apenas uma única string de código para modificar os dados em comparação com um banco de dados distribuído.
No blockchain, todos participam da contabilidade, todos os registros de transações são sincronizados com toda a rede em tempo hábil e os mesmos dados são registrados no livro razão nas mãos de todos, embora não haja uma organização centralizada para manipulá-los. Portanto, quando alguém adulterar o livro razão em sua mão, isso não afetará os registros contábeis de outras pessoas. Ao mesmo tempo, toda a rede segue o princípio da maioria obedecendo à minoria, para que os dados não sejam adulterados.
Por exemplo, Bob toma $ 500 emprestados de Tom. Para evitar que Bob inadimplente, Tom convida Nancy como intermediária para testemunhar. No entanto, Bob diz a Nancy que dará a ela $ 200 se ela o ajudar a trapacear. Nancy concorda por interesse. Nesse caso, Tom não tem nenhuma prova ou certificado a não ser admitir a derrota, e Nancy faz o papel de intermediária aqui.
Se todo o processo for sincronizado com todos na forma de transmissão, todos se lembrarão de que Bob deve $ 500 a Tom, e Bob não tem como negar isso.
Devido à sua natureza imutável, o blockchain está sendo usado em muitos campos, incluindo identidade eletrônica, cadeia de suprimentos, transferência de dinheiro e remessa. Na identidade eletrônica, as informações de autenticação de todas as pessoas podem ser gravadas diretamente no blockchain e transmitidas para todos os nós, para que a autenticidade e a certeza das informações possam ser garantidas e nenhuma alteração possa ser feita. O mesmo vale para a cadeia de suprimentos, onde problemas como opacidade, baixa eficiência, fraude de informações e assim por diante podem ser bem resolvidos.
A imutabilidade do blockchain resolve os problemas de fraude de dados, adulteração de dados e opacidade de dados na rede tradicional e também tem sido amplamente aplicada. No entanto, deve-se notar que isso não é verdade para todas as redes blockchain, como cadeias de alianças ou cadeias privadas. Devido ao pequeno número de participantes e governança semi-descentralizada ou centralizada, os dados dessas cadeias não podem ser absolutamente imutáveis e transparentes.
Um blockchain é um banco de dados distribuído que é descentralizado, anônimo, de código aberto e imutável. Uma vez confirmadas, as transações on-chain são armazenadas permanentemente e não podem ser alteradas. Então, o que torna os dados on-chain imutáveis?
Simplificando, um blockchain é composto de blocos e cadeias.
Um bloco é composto por um cabeçalho e um corpo, onde um cabeçalho contém as informações básicas sobre o bloco, como timestamp, números de versão, hash aleatório, hash do bloco anterior, hash raiz Merkle e dificuldade de mineração. Dentro do corpo do bloco estão as transações empacotadas, que são os dados assinados pelos usuários da carteira com suas chaves privadas. Em outras palavras, é uma transferência de ativos entre usuários, mas além dos usuários, há outra transação que pertence ao minerador, e o valor da transação é a soma da recompensa do bloco mais as taxas pagas por todos os comerciantes no quadra.
Cada cabeçalho de bloco contém o hash do cabeçalho de bloco anterior e é interligado entre si por carimbos de data/hora e números de versão para formar o blockchain.
A imutabilidade do blockchain significa que os registros de transações que ocorreram não podem ser alterados. Depois de conhecermos a composição do blockchain, ele pode ser separado como a imutabilidade do cabeçalho do bloco e do corpo do bloco.
O cabeçalho do bloco registra o valor de hash aleatório do bloco anterior, que é gerado pelo algoritmo de hash a partir das informações da transação e carimbo de data/hora do bloco anterior. Nesse ponto, os mineradores da rede calculam o hash do cabeçalho do bloco usando poder de computação, e quem o calcular primeiro pode empacotar a transação e sincronizá-la com toda a rede por meio de transmissão. Se os dados do bloco anterior forem alterados, eles serão inconsistentes com o valor de hash do bloco original e não serão confirmados pelo próximo bloco.
A imutabilidade do corpo do bloco é determinada pela função hash. O corpo contém muitas transações que são conectadas por árvores Merkle. Qualquer alteração em uma das transações alterará o valor do hash da raiz Merkle, causando a alteração do próximo cabeçalho do bloco. A função hash usada pelo Bitcoin é o algoritmo SHA-256.
Pode-se ver com isso que a adulteração dos dados da transação no blockchain fará com que a raiz da árvore Merkle seja alterada diretamente e, em seguida, o valor de hash do próximo cabeçalho do bloco também será alterado, o que se tornará ilegítimo e exigirá um recálculo de o hash do novo cabeçalho do bloco. Uma alteração no valor de hash do novo cabeçalho do bloco, por sua vez, causará uma alteração no próximo cabeçalho do bloco, resultando em um colapso de dados que não será aceito por toda a rede.
Em teoria, é necessário mais de 51% do poder de computação da rede para adulterar os dados, mas em uma rede suficientemente robusta, um ataque de 51% é essencialmente impossível e não é do interesse do próprio invasor.
Na rede centralizada, o banco de dados é manipulado por uma autoridade central onde novas emissões, modificação de registros e congelamento de circulação podem ser manipulados. O banco central pode adicionar dinheiro fiduciário todos os anos e congelar os ativos bancários de qualquer pessoa. E uma rede centralizada requer apenas uma única string de código para modificar os dados em comparação com um banco de dados distribuído.
No blockchain, todos participam da contabilidade, todos os registros de transações são sincronizados com toda a rede em tempo hábil e os mesmos dados são registrados no livro razão nas mãos de todos, embora não haja uma organização centralizada para manipulá-los. Portanto, quando alguém adulterar o livro razão em sua mão, isso não afetará os registros contábeis de outras pessoas. Ao mesmo tempo, toda a rede segue o princípio da maioria obedecendo à minoria, para que os dados não sejam adulterados.
Por exemplo, Bob toma $ 500 emprestados de Tom. Para evitar que Bob inadimplente, Tom convida Nancy como intermediária para testemunhar. No entanto, Bob diz a Nancy que dará a ela $ 200 se ela o ajudar a trapacear. Nancy concorda por interesse. Nesse caso, Tom não tem nenhuma prova ou certificado a não ser admitir a derrota, e Nancy faz o papel de intermediária aqui.
Se todo o processo for sincronizado com todos na forma de transmissão, todos se lembrarão de que Bob deve $ 500 a Tom, e Bob não tem como negar isso.
Devido à sua natureza imutável, o blockchain está sendo usado em muitos campos, incluindo identidade eletrônica, cadeia de suprimentos, transferência de dinheiro e remessa. Na identidade eletrônica, as informações de autenticação de todas as pessoas podem ser gravadas diretamente no blockchain e transmitidas para todos os nós, para que a autenticidade e a certeza das informações possam ser garantidas e nenhuma alteração possa ser feita. O mesmo vale para a cadeia de suprimentos, onde problemas como opacidade, baixa eficiência, fraude de informações e assim por diante podem ser bem resolvidos.
A imutabilidade do blockchain resolve os problemas de fraude de dados, adulteração de dados e opacidade de dados na rede tradicional e também tem sido amplamente aplicada. No entanto, deve-se notar que isso não é verdade para todas as redes blockchain, como cadeias de alianças ou cadeias privadas. Devido ao pequeno número de participantes e governança semi-descentralizada ou centralizada, os dados dessas cadeias não podem ser absolutamente imutáveis e transparentes.