Mecanismo de comissão do Bitcoin e por que ser amigo de mineiros

Neste artigo, tentaremos descrever em detalhes a principal tarefa das comissões no Bitcoin, como elas funcionam e o que afetam. Explicaremos as razões da volatilidade das comissões, atrasos na confirmação de transações e descreveremos as abordagens para solucionar esses problemas. Além disso, esclareceremos como exatamente a atualização Segregated Witness ajuda a reduzir os custos de transação. E, como bônus, compartilharemos nossos pensamentos sobre como a amizade com os mineiros reduz as comissões a zero e o que essa tendência pode levar no futuro. Então, vamos começar.

Hora de confirmação da transação


É importante distinguir o processo de processamento de transações (verificação) do processo de confirmação (confirmação). Na rede Bitcoin, as transações são processadas quase instantaneamente e confirmadas - por uma hora inteira. Em outras moedas digitais, tudo pode ser feito em alguns segundos. O que determina o tempo para confirmar totalmente uma transação em um ambiente descentralizado? Principalmente do mecanismo de construção de consenso.

Em sua forma mais pura, o PoW não pode obter consenso em menos de uma hora. Por sua vez, os protocolos de consenso baseados em PBFT e os protocolos baseados em DPoS podem obter consenso em questão de segundos. No entanto, o nível de descentralização e independência de tais sistemas é muito menor do que no Bitcoin.

imagem

De acordo com as regras do protocolo Bitcoin, os proprietários da maior parte do poder de computação devem confirmar a transação (o bloco que contém essa transação) para serem considerados totalmente confirmados. Ou seja, com base no bloco em que a transação recebeu a primeira confirmação, vários outros blocos devem ser construídos. Além disso, essa cadeia deve ser a mais longa e não deve haver cadeias competitivas. O número desses blocos (confirmações de transação) é determinado pelo próprio beneficiário, a seu critério. Ele é guiado pela regra que afirma que, quanto mais confirmações uma transação tiver, menor a probabilidade de ela ser posteriormente cancelada.

Limitações de largura de banda


Com a popularidade do Bitcoin, o fluxo de novas transações na rede aumentou significativamente. Sabe-se que o tamanho do bloco é determinado pelas regras do protocolo e é estritamente limitado. No Bitcoin, o tamanho máximo do bloco é de 1 MB, portanto, a largura de banda é limitada (1,7 KB / s). Se o fluxo de novas transações exceder a taxa de transferência, nem todas elas serão processadas. E tais situações geralmente acontecem. Quais transações receberão a confirmação primeiro e quais esperarão - essa é uma pergunta que requer uma resposta clara. Sua essência é que as transações devem competir umas com as outras.

O papel das comissões


O mecanismo de comissão no Bitcoin é necessário para pagar pelos serviços de rede distribuídos, onde o serviço de rede é de fato um armazenamento de dados confiável. Os usuários da rede Bitcoin realmente pagam por cada byte de dados adicionados ao banco de dados comum. Devido ao fato de a largura de banda desse banco de dados ser limitada, os usuários competem entre si pela prioridade de gravação.

imagem

Formando transações, os usuários definem uma comissão na forma de uma certa quantidade de satoshi para um byte de dados. Além disso, cada nó validador enfileira todas as transações não confirmadas de forma que primeiro confirme transações que pagam uma comissão grande por uma unidade de seu peso. Obviamente, as transações que caem no final da fila podem permanecer não reconhecidas por um longo tempo.

Outra tarefa importante que o mecanismo da comissão resolve é a "tragédia das comunidades". No contexto do Bitcoin, a proteção contra spam está implícita nas transações. A presença de comissões obrigatórias significa que será caro para um invasor obstruir a rede com transações falsas por um longo tempo, se ele tiver tais intenções.

Escreva volatilidade de preços


De tempos em tempos, os usuários da rede Bitcoin encontram uma volatilidade de comissão extraordinariamente alta. Por exemplo, em 2017, o preço médio da gravação de um byte de dados na blockchain Bitcoin variou de 1 a 500 satoshi. E a fila de transações não confirmadas variou de alguns KiB a dezenas e até centenas de MiB.

Devido ao fato de o preço da gravação de dados poder mudar drasticamente, os usuários são forçados a competir entre si quase cegamente. Isso se deve ao fato de que, de fato, a transação será confirmada em média em 8 minutos, enquanto a taxa de processamento deve ser definida antes de ser assinada. Portanto, a questão de uma comissão adequadamente estabelecida ainda permanece relevante, porque todos desejam confirmação rápida de suas transações com custo mínimo. Naturalmente, pagar mais de 50 USD por uma transação típica não é a melhor opção, especialmente quando você pode economizar até 90% desse valor se calcular corretamente a comissão.

As consequências de um aumento acentuado no fluxo de novas transações são o surgimento de uma grande fila de transações pendentes no blockchain de transações. Entre elas estão as transações cujos remetentes não prestaram atenção à mudança no preço do registro ou formaram uma transação no momento anterior ao aumento acentuado. Muitas vezes, o problema não está no usuário, mas no software da carteira ou nos serviços de gerenciamento de bitcoin. Um usuário ativo geralmente encontra produtos de software para trabalhar com Bitcoin, nos quais o gerenciamento de comissão geralmente está oculto.

Resolvendo o problema com a volatilidade das comissões


Independentemente de ser possível controlar manualmente a prioridade da gravação de transações geradas, as carteiras do Bitcoin podem usar mecanismos para estimar o preço atual da gravação de dados, em vez de usar valores constantes ou atualizados manualmente. Isso dá à carteira uma grande vantagem em termos de gerenciamento da prioridade de registrar a transação em um banco de dados comum e economizar dinheiro na comissão.

Deve-se observar que a previsão do preço de um registro também é possível, mas muitas vezes essas previsões funcionam apenas por períodos muito curtos (em média, vários minutos). Se a previsão estiver desatualizada e a transação não for confirmada, é provável que você possa esperar por sua confirmação por um longo período de tempo - geralmente várias horas e às vezes até dias.

taxa de transação = tamanho da transação * preço em bytes

Cálculo dinâmico ou adaptável de uma taxa de transação significa uma avaliação automática do tamanho total da transação em bytes e uma estimativa do preço de escrever um byte no blockchain do Bitcoin pelas próximas horas. Para ambas as classificações, existem algoritmos específicos para analisar transações e atividades na rede. Após obter uma estimativa do tamanho da transação em bytes e o preço de gravação de um byte, esses valores são multiplicados e a quantidade real em bitcoins é obtida, que deve ser adicionada à transação como uma comissão.

A vantagem da abordagem de avaliação adaptativa é a inclusão de uma comissão mais precisa na transação, que estará acima do limite mínimo, mas não muito alto, o que economiza o dinheiro do usuário. Além disso, a probabilidade de que a transação seja profunda na fila de não confirmados é mínima. No entanto, existem exceções. Portanto, consideramos com mais detalhes o que é importante fazer em uma emergência.

Aumento da comissão após o envio da transação


Observe que o protocolo Bitcoin é muito flexível em relação às comissões. Por exemplo, existem dois aprimoramentos de protocolo: substituir por taxa e pagar por filho ou pai, que permitem aumentar a comissão de uma transação já gerada e enviada. Infelizmente, muito poucas carteiras implementam essa funcionalidade para a conveniência de seus usuários, embora com o tempo elas se tornem mais.

Além disso, esse recurso possui várias nuances técnicas e requisitos organizacionais para seu uso correto. Um desses requisitos é que o usuário (ou o software no modo automático) reavalie a taxa da transação, forme e assine uma nova transação (alternativa), distribua-a à rede e continue monitorando seu status.

Como a testemunha segregada ajuda


Uma das alterações de protocolo introduzidas pela atualização Segregated Witness é a introdução de um novo formato de transação e seu peso de transação. Antes do advento da Segregated Witness, apenas o tamanho da transação era geralmente considerado no cálculo da comissão. Agora importantes são o tamanho, as transações e o seu peso. A nova transação armazena evidências de propriedade de moedas em uma estrutura separada (dados da testemunha). Para converter o tamanho total de uma transação em seu peso, o tamanho dos dados da testemunha é multiplicado por um coeficiente menor que o restante dos dados da transação. O peso da transação é calculado usando uma fórmula especial:

peso = tamanho base * 3 + tamanho total .

Nesse caso, o tamanho da base é o tamanho da transação, excluindo o tamanho dos dados da testemunha. Como você pode imaginar, qualquer dado incluído nos dados da testemunha requer 4 vezes menos comissão do que outros dados da transação. Essa abordagem permite que os mineradores determinem uma transação mais lucrativa em relação ao local ocupado no bloco e à recompensa recebida.

Sabe-se que cerca de 60% de todos os dados de transações são precisamente a evidência de propriedade de moedas (ou seja, aquelas que podem ser registradas em dados de testemunhas). Consequentemente, o peso das transações do novo formato diminuirá significativamente. Assim, o usuário pode pagar menos pela confirmação de uma nova transação, enquanto terá a mesma prioridade entre os mineradores quando incluído no bloco que a transação antiga com uma comissão mais alta.

imagem

O diagrama mostra a dependência do preço de gravação de um byte de dados no blockchain Bitcoin na carga (fluxo de transações não confirmadas), expresso em bytes por segundo. A conclusão pode ser muito simples: se o fluxo de novas transações for menor ou igual ao rendimento do sistema contábil, o preço de registro será quase zero. E se o fluxo de novas transações exceder a taxa de transferência, o preço aumentará bastante.

Opção com um amigo mineiro


Imagine que você tem um amigo que está minerando e controla 10% de todo o poder de processamento envolvido na rede Bitcoin. Em média, gera um bloco a cada 100 minutos. Nesse caso, você pode criar sua própria transação, na qual você define uma comissão zero e, em seguida, envia essa transação ao seu amigo para confirmação.

imagem

Sua transação com uma probabilidade de 50% receberá a primeira confirmação em 50 minutos e a confirmação completa - em média 50 minutos após a primeira. Como resultado, suas transações receberão confirmação completa em aproximadamente 100 minutos. Se você não tivesse um amigo, a transação receberá uma confirmação completa em cerca de 60 minutos, mas com o pagamento de uma comissão completa.

Como você pode ver, se se trata de economizar dinheiro, você tem sorte se tiver um amigo mineiro. Mas se não houver esse amigo, pode haver opções alternativas para pagar por um lugar no quarteirão.

Colocar opção de tokenização


Normalmente, o minerador opera de acordo com o esquema padrão e classifica as transações pelo preço de gravar 1 byte de dados no blockchain. Todo mundo parece estar fazendo isso agora. No entanto, é possível que o mineiro tenha uma melhor motivação. Ele pode formular independentemente uma política de monetização de sua atividade. Em outras palavras, ele pode agir de maneira não padronizada com relação às transações que gravará em seu bloco. Se houver condições mais favoráveis ​​do que apenas receber uma comissão por sua transação, provavelmente ele mudará sua política.

Essa abordagem pressupõe que os usuários paguem ao minerador pela confirmação de suas transações, não por meio de uma comissão predeterminada, mas diretamente (de acordo com seu próprio esquema).

Na prática, qualquer pool de mineração suficientemente grande pode conduzir sua campanha para aumentar a lucratividade e usar mecanismos simples para isso, por exemplo:

  • Defina suas prioridades de classificação de transação
  • firmar parceria com um determinado serviço (troca, loja, navegador);
  • vender garantias para um determinado lugar do bloco no futuro.

Além disso, o pool pode até tokenizar espaço livre em seus blocos (sim, para vender tokens).

Conclusão


Provavelmente, no futuro, veremos muitas maneiras diferentes de pagar por uma entrada no "banco de dados mais confiável da Terra". Dado o interesse de muitos serviços e aplicativos nas propriedades desse banco de dados, há muito tempo soluções de terceiros para adicionar dados arbitrários ao blockchain do Bitcoin com a finalidade de seu "registro de data e hora" confiável. Mas essas soluções não se encaixam bem no ecossistema de aplicativos e é difícil para os desenvolvedores monetizá-las.

No momento, a opção de empurrar as transações "pela amizade" e a opção de tokenizar o espaço livre em blocos pode parecer cômica, mas, no ritmo atual de desenvolvimento da indústria, esses cenários podem se tornar viáveis. Além disso, eles podem se tornar fundamentais no relacionamento entre usuários e validadores, mas isso não é exato.

Source: https://habr.com/ru/post/pt417775/


All Articles