Por que o tempo de bloqueio desejado foi escolhido como 10 minutos?

De acordo com a wiki , 10 minutos foram escolhidos como uma “compensação”.

Por que dez minutos especificamente? É uma compensação escolhida por Satoshi entre o tempo de propagação de novos blocos em grandes redes e a quantidade de trabalho desperdiçado devido às divisões da cadeia.

No entanto, no artigo original de Satoshi, 10 minutos é meramente assumido para fins de cálculo dos requisitos de espaço em disco.

Um cabeçalho de bloco sem transações teria cerca de 80 bytes. Se supormos que os blocos são gerados a cada 10 minutos, 80 bytes * 6 * 24 * 365 = 4,2 MB por ano.

Há alguma discussão em outro lugar que explique como o tempo de bloqueio de 10 minutos foi alcançado?

Comentários

  • Acho que se o requisito de bloqueio de 10 minutos se mostrar problemático por algum motivo, e a maioria dos mineradores & usuários concordarem, isso pode ser reduzido no futuro.
  • Mike Hearn me explicou uma vez que Satoshi estimou o tempo de propagação do bloco em 1 minuto e escolheu intervalos de bloco de 10 minutos porque ” desperdiçando ” 10% do trabalho de mineração foi uma quantia razoável. Atualmente, o tempo de propagação do bloco é muito, muito mais rápido.
  • @pinhead O que exatamente você quer dizer com desperdiçar 10% do trabalho de mineração?
  • @FivePoints neste contexto, queremos dizer que 10 % dos blocos minerados ” perderão a corrida ” contra outro bloco minerado quase ao mesmo tempo e se tornarão obsoletos, significando que o pagamento de subsídio o minerador nunca será gasto e a energia consumida pelo minerador para produzir aquele bloco será desperdiçada.
  • @pinhead faz sentido, mas como esses 10% foram calculados? É simples (latência / tempo de bloqueio)?

Resposta

Blocos de 10 minutos são simplesmente um meio-termo.

Tempo de bloqueio mais curto:

  • PRO – 1 tempo de confirmação mais rápido (para proteger de 0-confirmar gasto duplo)
  • PRO – Menor variação de pagamento para mineiros (menos dependência de grandes piscinas)
  • CON – Requer maior largura de banda (comunicação entre nós)
  • CON – Mais garfos, garfos mais longos e tempo de reorganização mais longo
  • CON – Uma grande parte do hashpower bruto é desperdiçada, resultando em uma segurança efetiva inferior.

Com uma meta de intervalo de bloqueio maior de mais de 10 minutos, os prós e os contras seriam revertidos.

O principal benefício de um intervalo mais curto o tempo de bloqueio é o tempo de confirmação 1 reduzido. Embora uma transação de confirmação de bloqueio mais rápido tenha menos força do que uma transação de confirmação de bloqueio mais longa, ainda é melhor do que qualquer bloco confirma a transação.

A velocidade da primeira confirmação pode parecer um grande benefício, mas na realidade para a maioria das transações de baixo valor e sensíveis ao tempo, como comprar uma xícara de café, pagar um táxi ou usar uma máquina de venda automática, o risco de gastos duplos é muito baixo. Tenha em mente que aceitar cartões de crédito não é isento de riscos. No entanto, os comerciantes há muito aceitaram que enfrentarão algumas perdas. No entanto, se essas perdas forem mínimas, isso pode ser visto apenas como um custo de fazer negócios. Muitos comerciantes poderiam simplesmente aceitar transações de confirmação zero sem se exporem a mais riscos do que de fraude de cartão de crédito.

O outro fator que diminui o potencial do mundo real de intervalos de bloqueio mais curtos é o de muitos comerciantes , mesmo tempos de confirmação “mais rápidos” ainda não são rápidos o suficiente. Para uma transação de ponto de venda, um tempo médio de confirmação de 2 minutos ainda é significativamente mais longo do que o que a maioria dos comerciantes consideraria viável. A transação média com cartão de crédito leva cerca de 20 segundos (incluindo atrasos por cliente). Todo o setor gastou recursos significativos para economizar até mesmo alguns segundos. Mudanças como permitir que o cliente passe o cartão, passar antes que todos os itens tenham sido tocados e não exigir assinaturas de baixo valor são tudo sobre poupar alguns segundos de um processo que já é rápido e o custo dessas alterações é considerado aceitável para melhorar um pouco a eficiência de um checkout.

O outro fator i s que a redução do intervalo de destino apenas reduz o tempo médio de confirmação, mas metade deles será mais longa e a cauda pode ser muito longa. Devido à natureza aleatória das soluções de blocos, cerca de 15% dos blocos levarão mais do que 2x o alvo, 3% mais do que 3x o alvo e> 7,5 minutos e cerca de 0,5% levarão mais do que 4x o alvo. Essa incerteza torna difícil para uma empresa sensível ao tempo, como uma questão de política, esperar por confirmações. A confirmação da maioria das transações em 30 segundos, mas algumas demoram minutos, pode causar a frustração do cliente no ponto de venda.

Se a economia do BTC crescer o suficiente, poderemos ver o uso expandido de “endereços verdes” para preencher a necessidade de aceitação instantânea sem confirmações. Esses serviços podem ser fornecidos por grandes empresas e garantidos por seguro contra fraude (por uma pequena taxa por transação). Esta seria uma solução de confirmação 0 mais viável do que uma simples redução do intervalo de bloqueio.

Dito isso, a meta de 10 minutos era provavelmente excessivamente conservadora e há algumas vantagens em um tempo de bloqueio mais curto.

Comentários

  • Seu erro é que você acha ” ataque de gasto duplo ” significa ” 51% de ataque “. Você pode tentar dobrar os gastos com menos, mas ‘ não terá sucesso garantido. Quanto mais blocos esperaram, menor sua chance. > 50% é o ponto onde você ‘ garante o sucesso eventual, não importa quantos blocos sejam esperados. A probabilidade de sucesso com um < ataque de 50% depende do número de blocos e não da quantidade de tempo. Esta é uma vantagem de blocos mais curtos.
  • O tempo de bloco mais curto tem outra variação pró – menos para os mineiros. Além disso, o espaço de armazenamento extra para blocos curtos é insignificante, pois a maior parte dos dados são as transações, não os cabeçalhos dos blocos.
  • Você tem alguns erros de digitação: As primeiras 2 entradas para ” O tempo de bloqueio mais longo ” deve ser ” CON ” e ” PRO ” em vez de ” PRO ” e ” RRO “.
  • @MeniRosenfeld Obrigado pelas correções e adicionei diferenças de variância e removi as diferenças de armazenamento como você está correto que as diferenças serão bastante pequenas. Eu também removi o aspecto baseado no tempo porque, embora eu tenha ouvido que ele requer mais confirmações, eu não ‘ não tenho conhecimento definitivo. Existem muitas outras diferenças conhecidas.
  • Atualização muito boa, gostaria de poder votar positivamente novamente. 😉

Resposta

Também achei essa parte do wiki frustrante e acabei de editá-la. Agradeço as correções. Aqui está o que escrevi:

Dez minutos foram escolhidos especificamente por Satoshi como uma compensação entre o primeiro tempo de confirmação e a quantidade de trabalho desperdiçado devido a rachaduras na cadeia. Depois que um bloco é minerado, leva tempo para que outros mineiros descubram sobre ele e, até então, eles estão realmente competindo contra o novo bloco em vez de aumentá-lo. Se alguém extrair outro bloco novo com base na cadeia de blocos antiga, a rede só pode aceitar um dos dois e todo o trabalho que foi para o outro bloco será desperdiçado. Por exemplo, se os mineiros levam 1 minuto em média para aprender sobre os novos blocos e novos blocos surgem a cada 10 minutos, a rede geral está desperdiçando cerca de 10% de seu trabalho. Aumentar o tempo entre os blocos reduz esse desperdício.

Como um experimento mental, e se a rede Bitcoin crescesse para incluir Marte? Dos pontos mais distantes de suas órbitas, leva cerca de 20 minutos para um sinal viajar da Terra a Marte. Com apenas 10 minutos entre os novos blocos, os mineiros em Marte estariam sempre 2 blocos atrás dos mineiros na Terra. Seria quase impossível para eles contribuir para a cadeia de blocos. Se quiséssemos colaborar com esses tipos de atrasos, precisaríamos de pelo menos algumas horas entre os novos blocos.

Comentários

Resposta

Como os Bitcoins são a primeira criptomoeda a usar a geração de blocos e assim por diante, pode-se supor que 10 minutos foi um escolhido arbitrariamente. Qualquer valor grande o suficiente para propagar o novo bloco pela rede antes que outro minerador provavelmente gerasse um novo bloco seria bom. Por outro lado, os blocos não devem ser muito escassos, pois levaria muito tempo para obter confirmações. Uma hora de computação é considerada segura de ser adulterada, então, dividir esse tempo em partes legais pode lhe dar 10 minutos.

Provavelmente não há nenhuma discussão disponível sobre esse tópico, já que a primeira versão do Bitcoin foi criada por Satoshi sozinho, até que ele revele sua verdadeira identidade ou volta para a comunidade, os motivos exatos não podem “ser descobertos com certeza.

Comentários

  • A análise em Satoshi ‘ s artigo não ‘ se relaciona de forma alguma com a quantidade de tempo que se deve esperar – isso depende unicamente da praticidade de manter uma alta taxa de hashr por muito tempo Tempo.Ele discutiu a quantidade de blocos a esperar – ele mostrou, por exemplo, que se o destinatário esperar 6 blocos e o invasor tiver 10% da rede ‘ s hashrate, um duplo- tentativa de gasto tem apenas < 0,025% de chance de sucesso. A 1 minuto por bloco são 6 minutos, etc.

Resposta

AFAICS, o único benefício possível para quanto maior o tempo de bloqueio é a redução da sobrecarga da largura de banda devido à menor probabilidade de divisão da cadeia de blocos.

Eu até duvido dessa compensação, porque se os dados da transação são grandes, então há o efeito de contrapeso que mais curto tempos de bloco significam menos dados para transmitir.

Eu sou altamente cético de que deve haver mais trabalho desperdiçado com menor tempo de bloco, se a dificuldade for calibrada com a hora de chegar a um consenso. Matematicamente, os mineiros ganham uma porcentagem dos blocos recém-criados proporcionalmente proporcional à sua porcentagem do poder de hash do sistema, independentemente da divisão relativa na proporção de sua sorte entre a dificuldade de trabalho e as cadeias órfãs (aleatórias).

A menos que há uma prova, duvido da alegação de que tempos de bloco mais curtos criam tempos mais longos para chegar a um consenso (ou seja, divisões de reorganização), porque, por exemplo, se houver 4 vezes mais divisões com 1/4 do tempo de bloco, haverá cerca de 7 mais iterações para chegar a consenso dentro da mesma duração

Tendo em conta que a irreversibilidade é uma função do número de blocos & mdash;. ̶ não da tempo e a desvantagem de atrasos nas transações, ̶ parece um mais curto bloco de tempo é ̶c̶o̶m̶p̶e̶l̶l̶i̶n̶g̶.̶

Eu apreciaria se downvoters iria pelo menos tentar d Esclareça sua lógica com um comentário abaixo da minha resposta. Isso me dá a oportunidade de debatê-los e mostrar por que acho que estão errados (ou de admitir meu erro). O objetivo é garantir que tenhamos coletivamente a lógica correta.

Comentários

  • Esta resposta desconsidera o custo de tempo incorrido pela transmissão e verificação do bloco . Já que esse tempo é um valor quase fixo para um bloco completo, é uma porção relativa maior de um intervalo de bloco mais curto do que de um intervalo de bloco mais longo.
  • @Murch, escrevi essa resposta alguns dias ou semanas depois iniciando meu estudo de blockchains, criptografia e Bitcoin. Meus pontos de vista mudaram consideravelmente desde então. No entanto, presumindo que o volume de transação por bloco seja reduzido devido a uma frequência de bloco mais alta, sua alegação de propagação constante & tempo de verificação não está correta. Craig Wright afirmou que a rede Bitcoin se propaga a 99% do hashrate em aproximadamente um segundo.
  • Já que praticamente todos os mineiros estão conectados à fibra e os dados publicados sugerem que ‘ s apenas ligeiramente mais lento do que a velocidade da luz, < 1 segundo não é uma afirmação difícil de fazer … No entanto, o impacto mais significativo este ano foi provavelmente que os mineiros atualizaram para uma versão recente do Bitcoin Core para sinalizar a ativação do segwit. No início deste ano, ainda víamos vários blocos órfãos por semana. Um tempo de bloqueio de, por exemplo 60 segundos teriam nos regredido de volta a vários blocos órfãos por dia. Já que os dados estão lá para serem examinados, é ‘ intrigante que você pareça negar o efeito.
  • @Murch, o SegWit reduziu o tamanho médio do bloco em um fator de 10? Se não, então provavelmente os dados que você está citando não estão abordando meu ponto. Eu entendo agora (não que eu entendesse em 2016 quando escrevi essa resposta) que tempos de bloco mais curtos também aumentam as vantagens assimétricas para coalizões de hashrate, como pools que veem seus blocos vencedores instantaneamente (sem atraso de propagação). Portanto, o excesso de órfãos pode ser uma mineração egoísta em ação. Observe que a variante de FANTASMA do Ethereum é uma solução parcial para parte disso.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *