Leitura:
Capítulo 7 do livro "Mastering Bitcoin" de Andreas M. Antonopoulos
Blockchain
Merkle tree
Audiovisual:
Bitcoin Internals: Verifying Merkle Roots using Merkle Proofs in JavaScript
The Blockchain & Bitcoin - Computerphile
Blockchain/Bitcoin for beginners 7: Blockchain header: Merkle roots and SPV transaction verification
A árvore de Merkle é uma importante estrutura que permite tanto detectar alterações na estrutura de dados, quanto rapidamente oferecer ao SPV uma forma eficiente de responder seus questionamentos sobre a validade das transações. Não se limitando a essa estrutura de dados, Merkle colaborou para a popularização do algoritmo criptográfico Diffie-Hellman, portanto um expoente importante para a área da criptografia.
ResponderExcluirO Blockchain é uma peça chave para o Bitcoin funcionar, esta estrutura de dados funciona como uma lista encadeada conectada por hashes, cada nó da lista é um bloco, daí o nome Blockchain ou cadeia de blocos, o bloco contém um grupo de transações e um ponteiro de hash para o bloco anterior na cadeia.
ResponderExcluirConforme a comunidade cresce, mais ideias adentram esse universo das criptomoedas e hoje existem variações dessa estrutura de dados, como blockchains privados, suplychains, DAG(directed acyclic graph) blockchains, dentre outros.
Devido à sua natureza distribuída, a blockchain precisa certificar aos nós da rede que todas as transações são legítimas sem a necessidade de intervenção de uma instituição central. Já que aparatos matemáticos regem as provas de trabalho da moeda, com a blockchain não seria diferente. Hashs criptográficos são utilizados para linkar cadeias de blocos, tendo em vista dificultar ações maliciosas de terceiros que porventura venham a modificar as informações contidas nos blocos, já que pequenas modificações em tais conteúdos resultam em hashs totalmente diferentes, anunciando uma possível tentativa de fraude. Interessante notar que esse princípio poderia ser empregado em outras situações que necessitam do resguardo de informações seriais à prova de ações maliciosas, como, por exemplo, notas de cartórios (como foi levantado em sala).
ResponderExcluirNessa etapa, percebesse o empenho em facilitar a consulta/visualização das transações, a escalabilidade do bitcoin e a identificação dos blocos no blockchain.
ResponderExcluirO fato de conseguirmos voltar no tempo atrás das transações e do bloco Gênesis, de cada bloco conter formas fáceis de fazer as verificações/visualização das transições internamente (pelo Merkle Tree), e como essa estrutura de dados é protegida contra possíveis cópias, todos essas informações, mostram como o estudo e a construção de moedas e sua manipulações devem ser feitas com o máximo cuidado, pois os seus maus usos e roubos, serão as primeiras práticas a serem tentadas.
A aplicação da árvore de Merkle nesse tipo de validação de transações mostra como inúmeras tecnologias combinadas fortalecem todo o meio, para melhorar a usabilidade do sistema, e acelerar processos, mesmo atualmente termos lentidão no processo de transações (que são fatores ainda discutidos, para melhorar o uso do bitcoin e de outras moedas).
A blockchain é a estrutura de dados usada pelo sistema bitcoin para gerar o “livro-caixa” que todos que participam possuem uma cópia. A block chain do bitcoin contém duas estruturas de hash. A primeira é a sequência de blocos que possuem ligações uns com os outros. A segunda é um hash interno a cada bloco, a árvore de Merkle. Árvore de Merkle é uma árvore de hash binária, usada para resumir de forma eficiente as transações de um nó e verificar a integridade de grandes quantidades de dados.
ResponderExcluirMuitos anos já se passaram desde o surgimento da tecnologia Blockchain, e muito se fala sobre ela nas comunidades de tecnologia, o que de fato não existiu ainda foi uma nova aplicação para a blockchain fora do mercado de moedas e especulações. Tem se tentado muito e investido muito nessa nova tecnologia, mas ainda é muito devagar o aparecer das conquistas, com certeza é uma tecnologia que ajuda bastante no controle de autenticidade das transações, mas constantemente vemos pessoas querendo usar blockchain e muitas vezes não sabem se de fato ela se enquadra no problema. Talvez as pessoas devessem buscar entender melhor o problema e não tentar criar um problema que a blockchain resolveria. Talvez o uso da Arvore de merckle em conjunto com a blockchain gerem melhores resultados para alguns problemas que existem hoje. Continuo curioso para ver onde iremos chegar com as Blockchains e o que será a proxima grande tecnologia que vai utilizá-la por baixo.
ResponderExcluirA árvore de Merkle é uma estrutura de dados baseada em hash que é uma generalização de uma lista de hash. É uma estrutura de árvore na qual cada nó folha é um hash de um bloco de dados e cada nó não folha é um hash de seus filhos. As árvores de Merkle são comumente usadas em sistemas distribuídos e P2P para verificação dos dados.
ResponderExcluirNa Blockchain cada bloco contém um hash que identifica o bloco anterior, um timestamp e os dados da transação. Os dados da transação podem ser armazenados em blocos, que são os nós folha de uma árvore de Merkle. O hash da raiz pode então ser armazenado no bloco. Portanto, os blocos da blockchain contêm transações válidas que são armazenadas na forma de uma árvore merkle.
Muitos pesquisadores afirmam que a blockchain é a "alma" do bitcoin, e que ela é a real inovação que o bitcoin trás para o mercado. Primeiramente, é bom lembrar que ela é uma estrutura de dados organizada em vários blocos, e é estruturado utilizando algoritmos de hash. Isso é muito interessante, pois uma das características mais importantes do blockchain é o encadeamento de hashes. Isso faz com que seja difícil serem feitas alterações indesejadas, ou por erro de quem faz, ou por má fé. As árvores de Merkie contribuem justamente para isso, dando mais proteção aos dados armazenados na estrutura de dados. Ela garante a integridade de blocos de dados vindos de outros peers, numa P2P.
ResponderExcluirO blockchain é a estrutura que leva todas as transações bitcoin, estando estas dentro de blocos. É de suma importância, pois o bitcoin não existe como uma moeda virtual, no sentido de existir dados que representem a moeda e sim, podemos dizer, entradas e saídas nas transações, de modo que a existência de um bitcoin se refere a existência da transação desse bitcoin como entrada ou saida da mesma. Desse modo a blockchain é onde se encontram todos os bitcoin existentes e, por isso deve-se garantir a sua integridade. O mecanismo da blockchain que garante sua integridade é a arvore de merkle, que se utiliza de uma soma de hashes.
ResponderExcluirA arvore de merkle garante a integridade devido a se utilizar de soma dos hashes de cada transição de uma,onde cada uma é uma folha de uma arvore binaria. Disso é possível se fazer uma soma do hash de duas folhas e dessa soma, somar com a soma de outras duas e assim sucessivamente de modo que no final haja um nó raiz que será a soma de todos os hashes das transações desse bloco e representara o hash do bloco para a blockchain, bloco esse que também terá o hash do bloco anterior. Assim, se for modificado algo nesse bloco ,enquanto já na blockchain, o bloco depois dele garantirá que essa modificação não seja aceita na mesma, pois carrega o valor anterior do hash.
Pode-se considerar a blockchain a alma do bitcoin. Um dos pontos mais interessantes no blockchain é o encadeamento já de hashes. Essa estrutura faz com que o blockchain seja uma massa de dados de difícil alteração maliciosa, pois caso algum dado de um bloco anterior seja alterado, toda a cadeia posterior é invalidada pela alteração de todos os hashes subsequentes.
ResponderExcluirUma alteração maliciosa de uma transação em um bloco passado altera o cabeçalho desse mesmo bloco, pois um de seus campos é a raiz da árvore de Merkle formada por todas as transações.
Conforme a árvore de Merkle, vulgo a blockchain, cresce, a segurança da moeda também aumenta, isso se da pois para fazer alterações na estrutura presente, o atacante precisaria recalcular a hash de todos os blocos recursivamente até chegar no bloco original.
ResponderExcluirComo o bitcoin é por natureza descentralizado a árvore pode conter ramificações para o mesmo nó, quando isso ocorre, a cadeia de maior tamanho é tida como "válida" enquanto a outra é descartada. Transações contidas no ramo descartado devem ser incluídas em novos blocos, para que sejam confirmadas novamente.