O que é QTUM? [O guia mais abrangente] – Blockgeeks

Qtum (pronuncia-se Quantum) tem virado muitas cabeças no espaço criptográfico. A Fundação Qtum está registrada em Cingapura e é um projeto global com uma equipe localizada na Ásia, Américas, África e Europa. A razão por trás de sua onda de popularidade é o seu USP – fornecendo ao EVM da Ethereum o modelo UTXO seguro do Bitcoin. Além disso, eles garantem o consenso com o algoritmo Proof of Stake 3.0 (POS 3.0). Neste guia, daremos uma olhada mais profunda no Qtum e ver por que os desenvolvedores devem começar a experimentar com sua plataforma.

Combinando o melhor dos dois mundos

Os blockchains mais populares do mundo atualmente são Bitcoin e Ethereum. Bitcoin, sendo o que começou tudo, ainda continua sendo o blockchain mais seguro do espaço. Seu modelo UTXO (Unspent Transaction Output) também auxilia na alta rastreabilidade das transações. Esta é a razão pela qual a Qtum decidiu que o blockchain Bitcoin seria sua base. Do outro lado da equação, temos o blockchain Ethereum. Ethereum inaugurou a era dos contratos inteligentes. De repente, um blockchain não era mais apenas uma forma sofisticada de transferir dinheiro. O Ethereum permitiu que desenvolvedores de todo o mundo criassem seus aplicativos descentralizados (dApps) no topo da cadeia. Para incorporar contratos inteligentes, os desenvolvedores do Qtum criaram uma camada de abstração chamada “Account Abstraction Layer (AAL)” para permitir que a Ethereum Virtual Machine (EVM) exista no topo do blockchain UTXO da Qtum. Com esta inovação simples, o Qtum fornece aos seus usuários um mecanismo seguro de contrato inteligente que é interoperável com Bitcoin e Ethereum. Esta é uma proposta altamente interessante para usuários regulares e desenvolvedores, já que as técnicas de escalabilidade que estão sendo trabalhadas em Bitcoin (a Rede Lightning) e Ethereum (Rede Raiden, Plasma, etc.) podem ser operadas no Qtum, desde que a comunidade consentimentos. Por falar em interoperabilidade, existem dois aspectos mais fascinantes que devemos ter em mente:

Compatibilidade SegWit

Para obter uma compreensão completa do SegWit, confira nosso guia detalhado aqui. Para lhe dar um breve entendimento, SegWit significa “Testemunha Segregada”. Antes da implementação do SegWit, as transações Bitcoin estavam sofrendo de um problema de escalabilidade, uma vez que eram desnecessariamente volumosas. Os dados da assinatura adicionaram o volume extra. Ao implementar o SegWit, os dados de assinatura foram retirados dos blocos e mantidos em uma cadeia lateral, executando paralelamente ao blockchain principal do Bitcoin. Como o Qtum é compatível com SegWit, ele pode colher seus benefícios.

Compatibilidade de contrato inteligente Ethereum

O Qtum usa a Máquina Virtual Ethereum (EVM) para garantir que os contratos inteligentes do Ethereum sejam executados no Qtum e vice-versa. Esta é uma funcionalidade extremamente importante. Ethereum tem a comunidade de desenvolvedores mais forte do mundo. Por meio dessa funcionalidade, o Qtum pode direcionar esses desenvolvedores para sua plataforma. Ethereum dApps também pode ser facilmente transferido para Qtum. O que isso também significa é que os desenvolvedores podem usar Solidity, uma linguagem já estabelecida, para criar contratos inteligentes no Qtum.

Qtum e UTXO

Para entender o UTXO, você precisa entender como as transações funcionam no Bitcoin (e funcionam da mesma forma para o Qtum). Para obter a compreensão de um leigo de como funcionam os UTXOs, pense em como funcionam as transações básicas em dinheiro. Suponha que seu amigo lhe deva $ 6. Ela pega sua bolsa e tira uma nota de $ 5 e $ 1, e paga de volta com ela. 

Agora, se você deve $ 8 a alguém, você retira os $ 5 e $ 1 que seu amigo havia pago anteriormente a você e $ 2 que outra pessoa havia pago anteriormente a você.

É basicamente assim que as transações funcionam no Bitcoin. As saídas de uma transação anterior tornam-se as entradas de uma transação futura. Portanto, mantenha isso em mente e vejamos como as transações de Bitcoin funcionam.

Entrada de transação

Suponha que Alice precise enviar alguns Bitcoins para Bob. Para fazer esta transação, a carteira de Alice fará dos resultados de suas transações anteriores a entrada da nova transação.

Então, suponha que Alice precise puxar bitcoins das seguintes transações, que chamaremos de TX (0), TX (1) e TX (2). Essas três transações serão somadas e darão a você a transação de entrada que chamaremos de TX (Entrada).


Diagramaticamente, será semelhante a este:

o que é qtum

Então, é isso do lado da entrada, vamos verificar como será o lado da saída.

Saída da transação

A saída basicamente terá o número de bitcoins que Bob possuirá após a transação e qualquer alteração restante que sobrar, que será enviada de volta para Alice. Esta mudança torna-se então seu valor de entrada para uma transação futura.

Uma representação pictórica do lado da saída tem a seguinte aparência:

o que é qtum

Agora, esta é uma transação simples que tem apenas uma saída (além da CHANGE), algumas transações são possíveis com várias saídas.

Então, por que o Qtum adotou o modelo UTXO? Há duas razões principais:

  • Em primeiro lugar, para usar um modelo de transação maduro, estável e seguro que é amplamente compreendido a partir do blockchain Bitcoin.
  • Em segundo lugar, o modelo UTXO ajudou na implementação do Simple Payment Verification (SPV). O SPV permitirá que um nó leve interaja com contratos inteligentes e verifique as transações. Nós leves são nós que baixam apenas uma parte do blockchain em vez do blockchain completo.

Qtum e EVM

Como mencionado acima, o Ethereum inaugurou a era dos contratos inteligentes. Contratos inteligentes são acordos autoexecutáveis ​​e automatizados entre duas ou mais partes, que não requerem quaisquer intermediários legais. Isso parece incrível, certo?

No entanto, onde exatamente você executa esses contratos? Os contratos inteligentes podem ser executados em um dos dois sistemas a seguir:

  • Máquinas virtuais: Ethereum usa isso.
  • Docker: Tecido usa isso.

Vamos comparar os dois e determinar o que contribui para um ecossistema melhor. Para simplificar, vamos comparar Ethereum (Máquina Virtual) ao Fabric (Docker).

o que é qtum

Portanto, as máquinas virtuais fornecem um ambiente melhor determinístico, finalizável e isolado para contratos inteligentes. EVM integra um mecanismo de gás para evitar loops infinitos e spam (a execução termina quando a chamada do contrato fica sem gás). Quer saber mais sobre gás? Clique aqui.

Conectando UTXO e EVM

Visto que UTXOs e EVM são conceitos totalmente diferentes, como a QTUM conseguiu conectá-los em sua plataforma? Por meio da adição da Camada de Resumo de Conta (AAL). AAL atua como uma camada de interface entre o UTXO e EVM. A beleza do AAL é que não se limita apenas ao EVM. Qualquer máquina virtual compatível com o AAL pode ser executada em cima do AAL. 

Então, antes de nos aventurarmos mais em AAL, vamos entender o que abstração significa.

Abstração significa que qualquer pessoa pode usar qualquer sistema ou protocolo sem conhecer completamente os meandros e todos os detalhes técnicos. Por exemplo. Quando você usa seu iPhone, não precisa ser um programador ou engenheiro para operá-lo. Basta pressionar na tela para ativar um aplicativo ou pressionar o botão de chamada para ligar para alguém. Você não precisa saber como pressionar certos aplicativos ativa o circuito dentro do telefone ou como certos aplicativos foram programados. A abstração torna uma tecnologia sofisticada acessível às massas, escondendo as complexidades.

Para plataformas de contrato e dApps inteligentes, a abstração é praticamente o Santo Graal. Se a adoção em massa realmente for o objetivo, os dApps precisam ser executados de forma semelhante a um aplicativo normal. Da mesma forma, Qtum deve integrar EVM e UTXO de uma forma que seja simples para usuários e desenvolvedores interagirem com ele. 

Então, para obter uma melhor compreensão de como funciona o AAL, vamos ver como uma transação simples de Bitcoin funciona no nível do código. Durante uma transação, sua carteira executará os seguintes opcodes em sua máquina. Basicamente, isso instrui o software a verificar se a chave pública da transação corresponde ou não à assinatura:

o que é qtum

A coluna “Script” tem várias palavras-chave chamadas opcodes. As transações Bitcoin são programadas pela combinação desses opcodes. O AAL adiciona mais três opcodes à lista Bitcoin original para permitir o suporte de contrato inteligente.

  • OP_CREATE: usado para criar novos contratos inteligentes. 
  • OP_CALL: usado para executar código dentro de um contrato inteligente existente.
  • OP_SPEND: usado para gastar o valor em um contrato inteligente.

Então, como esses opcodes são processados? Vamos dar uma olhada.

  • O software do validador analisa o script nas transações Qtum.
  • Quando eles encontram um desses três opcodes, eles os colocam de lado para serem processados ​​por EVMs.
  • As transações de contrato EVM são então processadas em uma “Lista de transações de contrato esperada” especial, que é executada por nós validadores.
  • Essas transações são executadas contra o EVM, com a saída resultante sendo convertida em um Qtum tx gastável. 
  • Se, durante a execução de um contrato, o contrato chama outro contrato com um valor, essa transação também é transformada em um Qtum tx explícito e anexado ao bloco atual.

O tamanho do Qtum UTXO pode ser gerenciado razoavelmente bem, uma vez que as transações OP_CREATE, OP_CALL e OP_SPEND são gastas. Quando um contrato se autodestrói, a transação OP_CREATE é gasta, o que o remove do pool UTXO.

Se você for um desenvolvedor de solidez, será muito simples começar a codificar no Qtum, pois ele já alavanca o EVM. Se você estiver interessado, recomendamos que você comece em seu guia do desenvolvedor abrangente.

No entanto, como mencionado antes, EVM não é a única máquina virtual disponível no Qtum para execução inteligente de contratos. A equipe Qtum está desenvolvendo uma máquina virtual de contratos inteligentes x86 para Qtum. Esta VM x86 permitirá aos desenvolvedores a flexibilidade de codificar contratos inteligentes em linguagens de programação populares como Rust e outras. 

Qtum e prova de aposta (POS)

Como mencionado várias vezes, o Qtum usa um modelo de consenso de POS. Muitos dos blockchains modernos optaram por um modelo POS devido às vantagens que ele tem sobre o modelo POW clássico. POW ou prova de trabalho foi o modelo de consenso introduzido pelo Bitcoin, em que nós especializados chamados mineiros resolvem enigmas criptograficamente difíceis usando ASICs. 

Os problemas com a prova de trabalho.

  • A prova de trabalho é um processo extremamente ineficiente devido à grande quantidade de poder e energia que consome.
  • Pessoas e organizações que podem pagar ASICs mais rápidos e poderosos geralmente têm uma chance melhor de mineração do que as outras. Isso significa que a mineração de Bitcoin não é tão descentralizada quanto queremos.
  • Uma vez que a mineração POW consome recursos do mundo real, é altamente prejudicial ao meio ambiente.

A prova de aposta, por outro lado, torna o processo de mineração totalmente virtual. Vamos dar uma breve visão geral de como o PDV funciona:

  • Os validadores / mineradores bloqueiam algumas de suas moedas como aposta.
  • Depois disso, eles vão começar a validar os blocos. Ou seja, quando eles descobrem um bloco que acham que pode ser adicionado à cadeia, eles o validam piquetando um ou mais UTXOs para 500 confirmações..
  • Se o bloco for anexado, os validadores receberão uma recompensa do bloco, em que a frequência das recompensas do bloco é proporcional ao valor apostado por aquele validador.

Projetos diferentes usam variações diferentes do algoritmo POS. Ethereum usará o protocolo Casper, enquanto o Algorand usará POS puro. Depois, há projetos como EOS que usam POS delegado

Qtum usa POS versão 3 ou POSv3, que é construído para blockchains baseado em UTXO. Vejamos as versões anteriores antes de chegar ao POSv3.

POSv1:

“Idade da moeda” é um termo usado para descrever por quanto tempo um UTXO não foi gasto no blockchain. POSv1 depende muito da idade da moeda. Quanto maior a idade da moeda, mais a dificuldade é reduzida. No entanto, o problema com essa abordagem é que as pessoas simplesmente pararam de gastar suas moedas! As pessoas só abriam a carteira quando precisavam para apostar. Se uma moeda fosse velha o suficiente, ela produziria quase instantaneamente novos blocos de estaca. 

POSv2:

Esta versão melhora a versão anterior, erradicando o conceito de era da moeda do consenso. Outra mudança significativa que eles fizeram entre uma série de atualizações foi usar um mecanismo modificador de estaca completamente diferente do v1. Este modificador de aposta incluiu o tempo do bloco anterior. Tenha isso em mente quando discutirmos a v3.

POSv3: 

O tempo de bloqueio incluído no POSv2 pode torná-lo vulnerável a um ataque de “curto alcance”, onde era possível minerar um blockchain alternativo iterando os tempos de bloqueio anteriores. Mudanças como essas tornam o POSv3 uma versão muito melhor do POSv2. 

O POSv2 também usou tempos de bloco e transação para determinar a idade de um UTXO, que é diferente da idade da moeda. POSv3 determina a idade de um UTXO julgando sua profundidade no blockchain (por exemplo, confirmações). 

NOTA: Qtum recentemente adicionou suporte para opcode OP_RETURN que permite que um vout contenha a chave pública para assinar o bloco sem exigir um script pay-to-pubkey completo. Isso significa que um provedor de dApp pode pagar o gás para novos usuários de dApp, facilitando a integração.

Olhando mais a fundo no POSv3 

Em um sistema POW, um nonce aleatório é adicionado ao hash do cabeçalho do bloco e o resultante é hash novamente. Esse hash, por sua vez, deve ser menor do que a dificuldade geral da rede. Só então, o bloco é adicionado ao blockchain principal.

Por outro lado, POSv3 tem um hash de kernel, que é composto de várias partes de dados que não são prontamente modificáveis ​​no bloco atual. Aqui estão mais alguns recursos que devem ser mantidos em mente sobre o sistema POS da Qtum: 

  • A segunda transação em cada bloco é chamada de “transação coinstake”, enquanto a primeira transação é uma transação coinbase vazia.
  • Cada bloco deve ter pelo menos uma transação de piquetagem.
  • O carimbo de data / hora do bloco deve ter os quatro bits inferiores definidos como 0, então o tempo de bloqueio só pode ser representado em intervalos de 16 segundos.
  • Apenas uma vez a cada 500 blocos (cerca de 18 horas) um UTXO pode ser usado para produzir uma transação de piquetagem.

Agora, vamos ver em que um Hash de kernel do POSv3 é construído:

  • O modificador de aposta do bloco anterior, que é um hash da transação prevout em blocos PoS e modificador de aposta do bloco anterior.
  • O carimbo de data / hora da transação anterior. 
  • O hash da transação anterior.
  • O número de saída do prevout (este é o resultado da transação gasto pela transação de piquetagem).
  • O tempo de bloco atual em que os quatro bits inferiores são definidos como 0. Este recurso específico muda durante o processo de piquetagem.

NOTA: Uma transação prevout é o UTXO que é usado para criar uma transação de piquetagem. A única maneira de alterar o hash do kernel atual é alterar o UTXO que você está usando para criar o bloco ou alterar o tempo de bloqueio atual.

Agora que sabemos como funciona o POSv3 do Qtum, vamos ver como ele atenua a maior falha do POS – o problema de nada em jogo.

Qual é o problema do “Nothing-at-Stake”?

Considere a seguinte situação:

o que é qtum

No diagrama acima, temos a cadeia principal (azul), que foi minerada até o bloco # 53. No entanto, existe uma ramificação paralela originada do bloco # 50 (vermelho). O que acontecerá se alguns mineiros maliciosos se juntarem e continuarem a minerar na corrente vermelha até que ela ultrapasse a azul? Todas as transações que ocorreram nos blocos azuis 51, 52 e 53 serão instantaneamente nulas e anuladas.

Os blockchains POW são vulneráveis ​​a este ataque de 51% porque o hash power pode ser alugado em curto prazo.

Suponha que o mineiro malicioso Alice queira minerar na corrente vermelha. Mesmo que ela dedique todo o seu poder de hash a ele, ela não conseguirá que nenhum outro mineiro se junte a ela na nova cadeia. Todos os outros ainda continuarão a minerar na cadeia azul porque é mais lucrativo e sem riscos minerar na cadeia mais longa.

POW é fácil de montar um ataque de 51% com o poder hash alugado. Portanto, as divisões de cadeia são problemáticas para todos, exceto para o blockchain POW (bitcoin).

No entanto, as coisas parecem um pouco diferentes quando você traz o PDV. Se você for um validador, poderá simplesmente colocar seu dinheiro na corrente vermelha e na corrente azul sem medo de repercussão. Não importa o que aconteça, você sempre vencerá e não terá nada a perder, por mais maliciosas que sejam suas ações. No entanto, a cadeia vermelha teria que apostar com um número maior de moedas (peso da rede) para ter sucesso e, ao contrário do POW, em que um invasor pode alugar potência hash, o POS exige a propriedade real da moeda.

Isso é chamado de problema “Nada em jogo”.

O protocolo Casper da Ethereum mitiga isso usando um mecanismo de punição. Basicamente, os validadores mal-intencionados são punidos por terem sua aposta cortada. Qtum planeja fornecer uma solução diferente para o problema do nada em jogo e nunca punirá os stakers que se comportarem mal, exceto expulsá-los da rede. Eles acreditam que nenhum software pode ser aperfeiçoado e, portanto, o risco de um bug fazer com que o staker se comporte mal e perca milhões de dólares é inaceitável para eles. Os seguintes pontos devem ser mantidos em mente para entender a mitigação do Qtum do problema de nada em jogo:

  • Usando checkpoints e 500 confirmações de vencimento para transações de estaca. 
  • Eles colocarão alguns dos dados na blockchain do Bitcoin que podem ser verificados posteriormente por meio do SPV. Isso garante que um invasor não possa mentir sobre quando um determinado bloco foi criado.

Além disso, deve-se notar que o Qtum sente que o problema do nada em jogo é um pouco exagerado, especialmente em relação ao seu sistema porque:

  • Pode ser muito caro construir a configuração para o ataque.
  • Mesmo quando tudo está configurado, o restante dos nós ainda precisa seguir sua liderança, o que é um tiro no escuro.
  • Qualquer um pode detectá-lo facilmente verificando recursos fora da cadeia centralizados, como exploradores de blocos.
  • Os pontos de verificação podem ser adicionados ao código em um ritmo mais frequente para fazer lançamentos mais rápidos. Isso garantirá que essas cadeias mal-intencionadas de nada em jogo nunca tenham uma quantidade significativa de poder.

Protocolo de Governança Descentralizada

Outro recurso do Qtum é o DGP (Protocolo de Governança Descentralizada) introduzido para modificar os parâmetros do blockchain de forma rápida e perfeita, sem a necessidade de um hard fork. DGP é construído usando tecnologia de contrato inteligente e é capaz de ajustar o tamanho do bloco (até 32 MB) e alterar as quantidades de gás para várias operações de contrato inteligente.

Portanto, o tamanho do bloco e os parâmetros do gás podem ser alterados por meio de um processo de governança na rede, sem a necessidade de download de um novo software e sem a necessidade de realizar ações das partes interessadas da rede e dos operadores de nós. Garfos rígidos ainda serão necessários para mudanças no consenso ou novas máquinas virtuais, por exemplo.

Conclusão

Qtum é um dos projetos mais interessantes do mercado. Ao combinar UTXO, EVM e POS – Qtum fornece uma plataforma que é única, segura e escalável de forma inata. Devido à sua conexão com o EVM, o Qtum pode facilmente atrair a já vibrante comunidade de desenvolvedores de solidez e dar a eles a opção de portar seus dApps para sua plataforma. Será muito interessante ver como esse projeto crescerá em um futuro próximo.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map