Uma blockchain é uma base de dados distribuída que é descentralizada, anónima, código aberto e imutável. Uma vez confirmadas, as transações em cadeia são armazenadas permanentemente e não podem ser alteradas. Então, o que torna os dados em cadeia imutáveis?
Dito de forma simples, uma blockchain é composta de blocos e cadeias.
Um bloco é composto de um cabeçalho e um corpo, onde um cabeçalho contém as informações básicas sobre o bloco, como um carimbo de data e hora, números da versão, hash aleatório, o hash do bloco anterior, hash da 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 utilizadores da carteira com as suas chaves particulares. Por outras palavras, é uma transferência de ativos entre utilizadores, mas além dos utilizadores, há outra transação que pertence ao mineiro, e o valor da transação é a soma da recompensa bloco mais as taxas pagas por todos os comerciantes do bloco.
Cada cabeçalho de bloco contém o hash do cabeçalho do bloco anterior e é interligado entre si por carimbos de data/hora e números de versão para formar a blockchain.
A imutabilidade da blockchain significa que os registos de transações que ocorreram não podem ser alterados. Depois de sabermos a composição da blockchain, pode ser separada como a imutabilidade do cabeçalho do bloco e do corpo do bloco.
O cabeçalho do bloco regista 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 e hora do bloco anterior. Neste ponto, os mineiros pela rede calculam o hash do cabeçalho do bloco usando a potência de computação, e quem calcula primeiro pode empacotar a transação e sincronizá-la com toda a rede através de difusão. Se os dados do bloco anterior se alterarem, será inconsistente com o valor de hash do bloco original e não será confirmado pelo bloco seguinte.
A imutabilidade do corpo do bloco é determinada pela função hash. O corpo contém muitas transações que são conectadas pela Merkle Trees. Qualquer alteração numa das transações vai alterar o valor de hash da raiz Merkle, fazendo com que a mudança do próximo cabeçalho do bloco seja sucessivamente. A função hash usada pela Bitcoin é o algoritmo SHA-256.
Pode ser visto por isso que adulterar os dados da transação na blockchain fará com que a raiz da árvore Merkle mude e depois o valor de hash do próximo cabeçalho do bloco também mudará, o que se tornará ilegítimo e exigirá um recálculo do hash do novo cabeçalho do bloco. Uma alteração no valor de hash do novo cabeçalho do bloco causará, por sua vez, uma alteração no próximo cabeçalho do bloco, resultando num colapso de dados que não será aceite por toda a rede.
Em teoria, é preciso mais de 51% do poder computacional da rede para adulterar os dados, mas numa rede suficientemente robusta, um ataque de 51% é essencialmente impossível e não no interesse do próprio atacante.
Na rede centralizada, a base de dados é manipulada por uma autoridade central onde podem ser manipuladas novas emissões, modificação de registos e congelamento da circulação. 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 cadeia de código para modificar dados em comparação com uma base de dados distribuída.
Na blockchain, todos participam na escrituração, todos os registos de transações são sincronizados com toda a rede atempadamente e os mesmos dados são registados no registo nas mãos de toda a gente, enquanto não existe uma organização centralizada para manipulá-lo. Portanto, quando alguém adulterar o registo na sua mão, isso não vai afetar os registos de registo de outras pessoas. Ao mesmo tempo, toda a rede segue o princípio da maioria obedecer a minoria, para que os dados não sejam adulterados.
Por exemplo, Bob pede $500 emprestado do Tom. Para evitar que Bob entrasse em incumprimento, Tom convida Nancy como intermediário a testemunhar. No entanto, Bob diz à Nancy que lhe dará 200 dólares se a ajudar a fazer batota. Nancy concorda por interesse. Neste caso, o Tom não tem provas ou certificado mas admitir a derrota e Nancy desempenha aqui o papel de intermediário.
Se todo o processo estiver sincronizado com toda a gente na forma de transmissão, todos se lembrarão que o Bob deve a Tom 500 dólares e o Bob não tem como negar.
Devido à sua natureza imutável, a blockchain está a ser utilizada em muitos campos, incluindo identidade eletrónica, cadeia de suprimentos, transferência de dinheiro e pagamento. Na identidade eletrónica, as informações de autenticação de todas as pessoas podem ser escritas diretamente na blockchain e transmitidas para todos os nós, para que a autenticidade e a certeza da informação possam ser garantidas e não possam ser feitas alterações. O mesmo acontece com a cadeia de fornecimento, onde os problemas incluem opacidade, baixa eficiência, fraude de informação, etc., podem ser bem resolvidos.
A imutabilidade da blockchain resolve os problemas de fraude de dados, adulteração de dados e opacidade dos dados na rede tradicional e também foi amplamente aplicada. No entanto, é de notar que isto não é verdade para todas as redes blockchain, tais como cadeias de alianças ou cadeias privadas. Devido ao pequeno número de participantes e à governação semi descentralizada ou centralizada, os dados dessas cadeias não podem ser absolutamente imutáveis e transparentes.
Uma blockchain é uma base de dados distribuída que é descentralizada, anónima, código aberto e imutável. Uma vez confirmadas, as transações em cadeia são armazenadas permanentemente e não podem ser alteradas. Então, o que torna os dados em cadeia imutáveis?
Dito de forma simples, uma blockchain é composta de blocos e cadeias.
Um bloco é composto de um cabeçalho e um corpo, onde um cabeçalho contém as informações básicas sobre o bloco, como um carimbo de data e hora, números da versão, hash aleatório, o hash do bloco anterior, hash da 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 utilizadores da carteira com as suas chaves particulares. Por outras palavras, é uma transferência de ativos entre utilizadores, mas além dos utilizadores, há outra transação que pertence ao mineiro, e o valor da transação é a soma da recompensa bloco mais as taxas pagas por todos os comerciantes do bloco.
Cada cabeçalho de bloco contém o hash do cabeçalho do bloco anterior e é interligado entre si por carimbos de data/hora e números de versão para formar a blockchain.
A imutabilidade da blockchain significa que os registos de transações que ocorreram não podem ser alterados. Depois de sabermos a composição da blockchain, pode ser separada como a imutabilidade do cabeçalho do bloco e do corpo do bloco.
O cabeçalho do bloco regista 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 e hora do bloco anterior. Neste ponto, os mineiros pela rede calculam o hash do cabeçalho do bloco usando a potência de computação, e quem calcula primeiro pode empacotar a transação e sincronizá-la com toda a rede através de difusão. Se os dados do bloco anterior se alterarem, será inconsistente com o valor de hash do bloco original e não será confirmado pelo bloco seguinte.
A imutabilidade do corpo do bloco é determinada pela função hash. O corpo contém muitas transações que são conectadas pela Merkle Trees. Qualquer alteração numa das transações vai alterar o valor de hash da raiz Merkle, fazendo com que a mudança do próximo cabeçalho do bloco seja sucessivamente. A função hash usada pela Bitcoin é o algoritmo SHA-256.
Pode ser visto por isso que adulterar os dados da transação na blockchain fará com que a raiz da árvore Merkle mude e depois o valor de hash do próximo cabeçalho do bloco também mudará, o que se tornará ilegítimo e exigirá um recálculo do hash do novo cabeçalho do bloco. Uma alteração no valor de hash do novo cabeçalho do bloco causará, por sua vez, uma alteração no próximo cabeçalho do bloco, resultando num colapso de dados que não será aceite por toda a rede.
Em teoria, é preciso mais de 51% do poder computacional da rede para adulterar os dados, mas numa rede suficientemente robusta, um ataque de 51% é essencialmente impossível e não no interesse do próprio atacante.
Na rede centralizada, a base de dados é manipulada por uma autoridade central onde podem ser manipuladas novas emissões, modificação de registos e congelamento da circulação. 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 cadeia de código para modificar dados em comparação com uma base de dados distribuída.
Na blockchain, todos participam na escrituração, todos os registos de transações são sincronizados com toda a rede atempadamente e os mesmos dados são registados no registo nas mãos de toda a gente, enquanto não existe uma organização centralizada para manipulá-lo. Portanto, quando alguém adulterar o registo na sua mão, isso não vai afetar os registos de registo de outras pessoas. Ao mesmo tempo, toda a rede segue o princípio da maioria obedecer a minoria, para que os dados não sejam adulterados.
Por exemplo, Bob pede $500 emprestado do Tom. Para evitar que Bob entrasse em incumprimento, Tom convida Nancy como intermediário a testemunhar. No entanto, Bob diz à Nancy que lhe dará 200 dólares se a ajudar a fazer batota. Nancy concorda por interesse. Neste caso, o Tom não tem provas ou certificado mas admitir a derrota e Nancy desempenha aqui o papel de intermediário.
Se todo o processo estiver sincronizado com toda a gente na forma de transmissão, todos se lembrarão que o Bob deve a Tom 500 dólares e o Bob não tem como negar.
Devido à sua natureza imutável, a blockchain está a ser utilizada em muitos campos, incluindo identidade eletrónica, cadeia de suprimentos, transferência de dinheiro e pagamento. Na identidade eletrónica, as informações de autenticação de todas as pessoas podem ser escritas diretamente na blockchain e transmitidas para todos os nós, para que a autenticidade e a certeza da informação possam ser garantidas e não possam ser feitas alterações. O mesmo acontece com a cadeia de fornecimento, onde os problemas incluem opacidade, baixa eficiência, fraude de informação, etc., podem ser bem resolvidos.
A imutabilidade da blockchain resolve os problemas de fraude de dados, adulteração de dados e opacidade dos dados na rede tradicional e também foi amplamente aplicada. No entanto, é de notar que isto não é verdade para todas as redes blockchain, tais como cadeias de alianças ou cadeias privadas. Devido ao pequeno número de participantes e à governação semi descentralizada ou centralizada, os dados dessas cadeias não podem ser absolutamente imutáveis e transparentes.