Transações e blocos Órfãs

#1

Gostaria de saber a diferença entre uma transação órfã e um bloco órfão ?

Grato

1 Like
#2

Felipe,
A dúvida não seria entre transações não confirmadas (pendentes na fila/mempool) e bloco órfão? Lembrando que um bloco é formado por várias transações recolhidas pelos mineradores na fila. A definição de bloco órfão você encontra no livro em pdf no link abaixo na pág. 32 (Mastering Bitcoin) mas também pode pesquisar várias informações sobre transações que nada mais são do que dados contendo informações como por exemplo número de conta a ser creditado, assinatura digital, uso de criptografia, etc. Se baixar para o PC dá para fazer pesquisa por palavra chave.

“Se um bloco válido é recebido e nenhum pai é encontrado na correntes existentes, o bloco é considerado um “órfão”. Os blocos órfãos são salvos no pool de blocos órfãos, onde eles ficam até que o seus pais sejam recebidos. Assim que o bloco pai é recebido e vinculado às correntes existentes, o bloco órfão pode então sair do pool e ser vinculado a seu bloco pai, passando a fazer parte da corrente. Os blocos órfãos geralmente surgem quando dois blocos que foram minerados em um curto espaço de tempo são recebidos em ordem inversa, ou seja, o bloco filho é recebido antes do bloco pai.”

https://www.blockchain.com/pt/btc/orphaned-blocks

1 Like
#3

Cecilio, a dúvida é exatamente entre transações não confirmadas e bloco órfão, não soube me expressar direito. Agradeço a resposta.
Agora outra pergunta, bloco pai e bloco filho, você poderia me explicar, fazendo favor ?

2 Likes
#4

Olá Felipe,
Eu imagino que o uso dos termos pai e filho nasceu (desculpe pelo trocadilho, não consegui evitar) está na origem do próprio blockchain do bitcoin, já que o primeiro bloco de transações que foi minerado também é conhecido como bloco gênese. Ainda falando em termos de genética e aproveitando o conceito de DNA que me veio a cabeça, sob o aspecto puramente científico uma pessoa pode ter somente um pai biológico, de quem herda o DNA (junto com o DNA da mãe para não parecer machista ou politicamente incorreto). Essa mesma cadeia vertical que liga as gerações (bisavó, avo, pai, filho, neto, bisneto, etc.) é o que ocorre com a cadeia de blocos no blockchain com uma única diferença fundamental, na vida real um pai pode ter vários filhos sem problemas mas no sistema blockchain cada pai (bloco) pode ter apenas um único filho (bloco), exceto se houver uma bifurcação (fork). Em algum momento diversos filhos podem ser atribuídos ao mesmo pai mas após o exame do DNA somente um deles será confirmado como sendo legítimo e passará a integrar a linha de sucessão, os demais órfãos (blocos) após algum tempo de espera, porque pode ser que alguns deles seja neto e esteja esperando a confirmação da paternidade para ser aceito/incluído na linha de sucessão. Após a identificação do pai verdadeiro, somente os filhos deste pai verdadeiro integrarão a linha de sucessão, os demais que eram “supostamente” filhos (órfãos) não serão aceitos pela família (blockchain). Essa ideia do DNA também ajuda a entender a ligação (cadeia) entre os blocos dai vem o nome blockchain ou cadeia de blocos, cada novo bloco minerado traz uma espécie de DNA de toda a cadeia desde o bloco gênese. Este é um dos motivos pelo qual o sistema bitcoin não foi hackeado até hoje, não basta você adotar um filho no meio da cadeia, você teria que alterar o DNA de toda a árvore genealógica (se você alterar uma transação em qualquer bloco já minerado/validado terá que ajustar também todos os demais blocos da corrente e fazer com que os demais aceitem esta mudança ou não percebam (quase impossível) num tempo médio de 10 minutos. Lembrando que na rede bitcoin existem os nós que guardam cópias integrais da cadeia de blocos. Trazendo para o nosso exemplo de DNA seria o mesmo que falsificar uma certidão de nascimento, mas com uma diferença, ao invés de cada certidão de nascimento estar registrada em único cartório, cópia de cada certidão de nascimento está guardada em cada Cartório do Brasil e você teria que substituir cada cópia em determinado tempo porque se for feito um novo registro de nascimento você terá que voltar e adulterar também o novo registro tendo mais trabalho para falsificar tudo em incluir nos Cartórios. Na página 4 do livro que eu indiquei anteriormente (Mastering of Bitcoin do Andreas Antonopoulos é uma referência e vale a pena ser lido) tem a seguinte explicação, lembrando que um melhor entendimento do assunto vem com o tempo e com boas dúvidas como as que você está trazendo:

“Embora um bloco tenha apenas um bloco “pai”, ele pode temporariamente ter múltiplos blocos “filhos”. Cada um dos blocos “filhos” refere-se ao mesmo bloco “pai” e contém o mesmo hash (o hash do bloco “pai”) no campo “hash do bloco anterior”. Múltiplos blocos filhos surgem quando há uma “bifurcação” da blockchain, uma situação temporária que ocorre quando diferentes blocos são descobertos quase que simultaneamente por diferentes mineradores (veja [forks]). No final, somente um bloco filho se tornará parte da blockchain e a “bifurcação” deixará de existir. Apesar de cada bloco poder ter mais que um filho, cada bloco pode ter somente um pai. Isso ocorre porque um bloco possui apenas um único campo de “hash do bloco anterior”, que é uma referência ao seu bloco pai único.”

1 Like
#5

Cecilio, muito obrigado, mais uma vez pela explicação. A parte do politicamente correto foi sensacional, uma pena hoje em dia tudo seguir esse “politicamente correto”.
Obrigado pela aula! Grande abraço

2 Likes