Neste artigo, falarei sobre o problema de segurança na tecnologia blockchain à luz do crescimento no desempenho dos computadores quânticos, discutirei alguns dos métodos de proteção contra ataques usando um computador quântico e um projeto recente: Quantum-Resistant Ledger. Segundo os desenvolvedores, esta será a primeira plataforma do mundo construída sobre os princípios da criptografia pós-quântica e projetada para fornecer proteção contra "choque quântico" no caso de desenvolvimento rápido dessas tecnologias. Plataformas construídas usando os princípios clássicos de criptografia podem ser submetidas a esse golpe. Sem mudanças fundamentais, Bitcoin, Ethereum, Ardour e a maioria dessas plataformas podem estar em um futuro próximo.
Parte 1. Problema de segurança
Vulnerabilidade
O algoritmo de proteção do Bitcoin e sistemas similares é baseado no princípio da criptografia assimétrica com chaves públicas e privadas. Uma transação é assinada com uma chave privada e sua validade é verificada usando a chave pública.
Usando algoritmos de ataque clássicos, é quase impossível encontrar uma chave privada, conhecendo a chave pública. Sistemas de criptografia assimétrica, como RSA e similares (DSA, DH, etc.), são construídos com base na afirmação de que a complexidade de fatorar um número cresce exponencialmente a partir do tamanho da chave. No entanto, usando
o algoritmo Shore em um computador quântico, torna-se possível, em tempo polinomial, decompor o número em fatores primos e, assim, encontrar a chave privada, conhecendo a pública.
Em 2001, a IBM
demonstrou isso dividindo o número 15 em dois fatores principais, 3 e 5. Um computador quântico composto por 7 qubits foi usado para esses propósitos. Desde então, o desenvolvimento de tecnologias de computação quântica tem progredido mais rapidamente.
Em 2016, um grupo de pesquisadores do Instituto de Tecnologia de Massachusetts, juntamente com o Instituto Innsbruck, realiza a mesma tarefa de decompor o número 15,
usando apenas 5 qubits .
Em julho de 2017, um
computador programável de 51 qubit foi criado por físicos russo-americanos.
No final de outubro de 2017, um grupo de pesquisa internacional das universidades de Cingapura e Austrália chegou à conclusão de que a maioria dos protocolos criptográficos usados na blockchain são vulneráveis a ataques de um poderoso computador quântico. O
relatório do grupo fornece duas previsões do crescimento de energia do computador quântico: otimista e menos otimista. De acordo com o primeiro, o número de qubits de um computador quântico dobrará a cada 10 meses. Uma previsão menos otimista indica uma duplicação do número de qubits a cada 20 meses. A figura abaixo mostra gráficos de ambas as previsões.
O mais vulnerável a ataques quânticos de computador é o algoritmo para criar uma assinatura digital baseada em curvas elípticas (
ECDSA ). Assim, de acordo com
o relatório do grupo , o Bitcoin em sua forma clássica pode ser quebrado até 2027.
Talvez nem tudo seja tão ruim? A chave pública não é armazenada em texto não criptografado
No final de abril de 2017, um
artigo foi publicado no bitcoin.com para responder à pergunta sobre se os titulares de Bitcoin devem ter cuidado em quebrá-lo com um computador quântico. Ele diz que, apesar do fato de que a criptografia assimétrica é usada no blockchain do Bitcoin, os usuários não devem se preocupar com a segurança de suas moedas. A chave pública não é armazenada em texto não criptografado. Portanto, os endereços para transferência de moedas não são chaves públicas, mas apenas o resultado da aplicação da função de hash SHA-256. A função hash realiza conversão unidirecional e, portanto, é resistente aos ataques de um computador quântico.
A chave pública se torna conhecida durante a transação
A afirmação de que a chave pública não está disponível de forma clara não é totalmente verdadeira. Sem entrar em pequenos detalhes, analisaremos usando o exemplo de Bitcoin (BTC) como a criptomoeda é transferida de uma pessoa para outra.
Deixe Alice em sua carteira em um dos endereços Bitcoin ter 100 mBTC (1000 mBTC = 1 BTC). Ela quer transferir Bob 1 mBTC. Para fazer isso, ela indica o endereço Bitcoin de Bob, a taxa de transferência e o endereço Bitcoin em sua carteira para receber troco. Suponha que Alice tenha indicado 1 mBTC como uma comissão. Assim, de 100 mBTC que Alice possui, 1 mBTC é enviado para Bob, 1 mBTC sai como comissão na rede Bitcoin e 98 mBTC são devolvidos à carteira de Alice.
Agora vamos ver o que acontece no nível da rede Bitcoin. Alice e Bob têm carteiras com endereços para armazenar moedas. Uma carteira pode conter vários endereços Bitcoin. Os endereços são gerados ao criar carteiras. Cada endereço corresponde a um par de chaves criado pelo algoritmo ECDSA: público e privado. Ao transferir moedas, é criada uma transação na qual são transmitidas informações sobre o número de moedas transmitidas por Alice, o endereço Bitcoin de Bob, uma assinatura feita pela chave privada de Alice,
chave pública de Alice e alguns outros dados. Em seguida, a transação
em um formulário aberto (não criptografado) é enviada para a rede . Antes de aceitar uma transação para processamento, os hosts verificam sua assinatura usando a chave pública. Se a assinatura for válida, eles adicionam informações de transação ao bloco. Esta operação de comutação é chamada de confirmação.
O tempo médio de geração de blocos na rede Bitcoin é de 10 minutos. A rede procura manter esse tempo constante. Antes de usar os fundos recebidos,
é recomendável aguardar 6 confirmações. Assim, Bob, observando as regras de segurança, poderá usar os fundos recebidos cerca de uma hora depois de serem transferidos.
Uma das características da transferência de moedas na rede Bitcoin é que não é possível transferir apenas parte das moedas de um endereço. As moedas são sempre transferidas na íntegra, localizadas no endereço Bitcoin da carteira e a alteração é devolvida ao remetente. Pode ser obtido no endereço a partir do qual as moedas foram enviadas e em qualquer outro. Portanto, Alice deve indicar o endereço para entrega. Em vários softwares que operam a carteira, o endereço de entrega é o endereço de envio.
Uma taxa de transação, estritamente falando, não é obrigatória, mas sua ausência pode atrasar a transação por um longo tempo. O inverso também é verdadeiro: você pode acelerar a transação um pouco, aumentando o tamanho da comissão. No momento da redação deste artigo (janeiro de 2018), a maioria dos softwares de carteira oferece uma taxa de 1 mBTC. Existem vários recursos, por exemplo,
este , que permitem estimar o tempo em que uma transação é incluída em um bloco, dependendo do tamanho da comissão.
Usando a chave pública 1 vez
Do ponto de vista da segurança, é melhor receber alterações em um novo endereço, cuja chave pública não será conhecida pela rede. Nesse caso, o par de chaves é usado apenas 1 vez. No entanto, segundo as
estatísticas de dezembro de 2017, cerca de 41,34% dos endereços são reutilizados.
10 minutos para atacar
No entanto, mais cedo ou mais tarde, você precisará usar os fundos no novo endereço. A chave pública é transmitida para a rede de forma clara. Até a confirmação chegar, os fundos ainda estão no remetente. Se um invasor receber uma chave pública durante uma transação, ele terá cerca de 10 minutos para obter a chave privada usando um computador quântico e tentar realizar sua transação a partir do mesmo endereço, estabelecendo uma comissão mais alta.
Endereços estáticos são mais vulneráveis
Em sistemas como Ethereum, NXT, Ardour, etc., a chave pública também se torna conhecida após a primeira transação. A situação é agravada pelo fato de que tokens ou contratos inteligentes estão vinculados a endereços estáticos, que podem ser atacados por um longo tempo. Se o ataque for bem-sucedido, o invasor poderá destruir todo o sistema econômico com base nesses endereços.
Parte 2. Soluções
Como fornecer resistência a ataques de um computador quântico?
Atualmente, existem vários métodos básicos que fornecem proteção contra ataques quânticos de computador:
- criptografia baseada em hash;
- criptografia baseada em código;
- criptografia baseada em matriz;
- criptografia baseada em sistemas quadráticos multidimensionais;
- criptografia de chave privada.
Com chaves suficientemente longas e conformidade com os requisitos de segurança, esses métodos de proteção são capazes de suportar ataques clássicos e ataques usando um computador quântico.
O mais estudado é o uso de assinaturas digitais baseadas em funções de hash.
Como mencionado anteriormente, a função hash executa a conversão de mensagem unidirecional. A mensagem é convertida em um valor de hash de comprimento fixo. O uso de uma função de hash, por um lado, deve fazer sentido pesquisar nas mensagens para obter um valor de hash semelhante. Por outro lado, o algoritmo deve ser resistente a colisões: quando 2 mensagens diferentes correspondem ao mesmo valor da função hash.
O algoritmo quântico de Grover pode ser usado para tentar encontrar uma colisão ou executar um ataque preliminar para encontrar a mensagem original. Isso exigirá
O ( 2 f r a c n 2 ) operações. Assim, para manter a segurança de 128 bits, o comprimento do hash resultante é de pelo menos 256 bits. Como tal função, o SHA-256 pode ser selecionado.
Lampport Signature
Uma opção para usar uma função de hash em uma assinatura digital é a assinatura de Lamport. Ele pode ser construído com base em qualquer função de hash unidirecional. A estabilidade criptográfica do algoritmo é baseada na estabilidade criptográfica das funções de hash usadas.
Esquema de assinaturaPara mensagem
M longo
m chaves são geradas. Primeiro, chaves privadas são geradas em pares
SK longo
n , então, usando uma função hash, pares de chaves públicas são formados a partir de chaves privadas
PK . O número de pares de chaves públicas e privadas é igual ao número de bits na mensagem original.
Ao assinar, uma mensagem é lida pouco a pouco e, dependendo do valor do bit atual, uma das chaves privadas do par correspondente é selecionada. As chaves privadas selecionadas são combinadas em uma assinatura. Em seguida, a assinatura resultante e
m pares de chaves públicas são enviados ao destinatário.

Verificar uma assinatura é semelhante ao processo de criá-la. A assinatura é dividida em fragmentos de comprimento
n que são convertidos usando a mesma função hash. A mensagem é lida pouco a pouco e o valor do bit seleciona a chave pública, que é comparada com o valor de hash recebido.
Normalmente, antes de aplicar uma assinatura, a mensagem original é dividida em hash para reduzir seu tamanho. Deixe o SHA-256 ser selecionado como uma função hash e, em seguida,
m=n=256 . Nesse caso, o comprimento total da chave pública (e também privada)
LPK Acontece igual:
LPK=n∗2∗m=256∗2∗256=128KB=16KB
Comprimento da assinatura
LS é:
LS=n∗m=64KB=8KB.
A assinatura do Lamport é única (permanece segura apenas quando usada uma vez), porque quando é executada e transmitida, metade da chave privada se torna conhecida. Permita que o tamanho da mensagem seja 256 bytes e o tamanho do hash 256. Antes de Alice publicar a assinatura da mensagem, ninguém sabe 2 * 256 números aleatórios em uma chave secreta. Assim, ninguém pode criar o conjunto correto de 256 números para assinatura.
Depois que Alice publicar a assinatura, ninguém ainda saberá os 256 números restantes e, portanto, não poderá criar uma assinatura para mensagens com um hash diferente.
O fato de a assinatura do Lamport ser única, combinada com uma quantidade total impressionante de assinatura e chave pública (24 KB com um comprimento de mensagem de 256 bytes e um hash de 256 bytes), torna inadequado o uso em um bloco de transação pública.
Signature Winternitz
Existem outros algoritmos de assinatura digital únicos. Na assinatura de Vinternytsia, em contraste com a assinatura de Lamport, a mensagem original é assinada não em bits, mas em bloco. A assinatura única de Winternitz, como Lamport, pode ser construída com base em qualquer função criptográfica forte.
Esquema de assinaturaMensagem
M longo
m quebrado em fragmentos
Mi longo
w . Uma chave privada é gerada para cada fragmento
SK comprimentos
n . Para cada chave privada, uma operação de hash é aplicada sequencialmente
2w−1 vezes (rodadas
R ) Como resultado das operações, as chaves públicas correspondentes são obtidas
PK mesmo comprimento
n .

Ao assinar, como na geração de chaves públicas, é realizado um cálculo iterativo do hash sobre as chaves privadas. O número de repetições em cada caso depende da mensagem que está sendo assinada. Como mencionado anteriormente, a mensagem é dividida em blocos de comprimento
w . O valor numérico deste bloco
Mi e é o número de iterações que devem ser executadas em chaves privadas para obter uma assinatura. A conexão dos blocos recebidos será a assinatura desta mensagem.

Ao verificar uma assinatura em fragmentos de seu comprimento
n iterativamente calcula o hash. Número de rodadas
Ri a aplicação da função hash é definida como a diferença entre o número de iterações para obter a chave pública e o valor numérico do bloco de mensagens, ou seja,
Ri=2w−1−Mi vezes. Em seguida, os valores obtidos são comparados com a chave pública correspondente.
ExemploIlustrarei o acima com um pequeno exemplo. Deixe a mensagem ser dada
M (em representação de bits) comprimento
m , parâmetro Vinternitsa
w e alguma função hash de comprimento
n :
M=1100011101100111,m=16,w=8,n=256.
Gerar
m/w=2 chave privada baseada em um gerador de números pseudo-aleatórios. Para cada chave privada, aplicamos
2w−1=$25 vezes uma função hash, obtendo assim
2 chaves públicas que são combinadas em uma chave comum de comprimento
2∗n=512 pouco. Avançar para cada bloco de mensagens
M comprimentos
w determinar o número de operações de hash aplicadas à chave privada
Ri . Nesse caso, esses serão os valores
110001112=19910 e
011001112=10310 em conformidade. Tendo realizado a operação de hash em chaves privadas, obtemos uma assinatura de comprimento
2∗n=512 pouco.
Para verificar a assinatura, divida-a em partes do comprimento
n . Produzimos sobre cada peça
Ri=2w−1−Mi operações de hash. I.e.
255−199=56 e

vezes respectivamente. Se o resultado das operações resultar em um valor que corresponda à chave pública, a mensagem será confiável.
Ao usar o SHA-256 como uma função de hash para assinar o Winternitz,
m=n=256 .
Vamos
w=8 pouco. Em seguida, o tamanho completo da chave pública
LPK e assinaturas
LS igual a:
LPK=LS=m/w∗n=256/8∗256=8KB=1KB.
O número de operações de cálculo de hash nesse caso é igual a:
P=(2w−1)∗m/w=(28−1)∗256/8=8160.
Para o caso de
w=16 , esse valor aumenta para
P=1048560 .
Os tamanhos da chave pública e da assinatura, com os mesmos parâmetros do exemplo para a assinatura Lamport, são 1 KB. No total, isso é menor do que na assinatura de Lamport (24 KB). No entanto, o número de cálculos de hash nesse caso é 8160. O que, é claro, é muito. Além disso, ao verificar a assinatura, uma média da metade desse número de iterações é executada. Isso torna esta opção de assinatura inadequada para uso na blockchain.
Existem várias opções para assinar o Winternitz, inclusive com a extensão da assinatura, a fim de aumentar a confiabilidade e reduzir o número de usos da função hash. Sua descrição está além do escopo deste artigo. Quem estiver interessado pode ver mais
aqui . A aplicação da assinatura Vinternitsa com base na função hash doméstica do GOST 34.11-12 pode ser vista
aqui .
Árvore Merkle (MSS)
As assinaturas únicas podem fornecer segurança criptográfica satisfatória; no entanto, é o uso único delas que pode se tornar um problema sério. Seja necessário transferir economias de um endereço para outro. Acontece que, ao usar assinaturas únicas, será necessário transferir toda a quantia de fundos a cada vez e, para cada transação, será necessário um novo endereço. Com cada transação, você precisará publicar uma nova chave pública. Além disso, o armazenamento de novas transações na blockchain exigirá gradualmente mais e mais tempo para procurá-las.
Para resolver o problema, eles expandem o esquema de assinatura conduzindo várias assinaturas com base em vários pares de chaves para cada endereço. O uso de várias assinaturas é realizado com base em uma árvore de hash binária - a árvore Merkle.
Mais detalhesO cálculo de uma árvore é feito das folhas até a raiz. Cada folha de nó da árvore é calculada como um hash da chave pública gerada. Os nós restantes são calculados obtendo um hash da concatenação (colagem) dos nós filhos. Assim, a árvore inteira é calculada para a raiz. Suponha que existam 4 pares de chaves, a árvore Merkle é calculada calculando 7 hashes (veja a figura acima).
Uma característica da árvore Merkle é que a existência de qualquer nó ou folha pode ser comprovada criptograficamente através do cálculo da raiz.
A assinatura da mensagem é criada usando a chave privada do par de chaves selecionado.
. :
, . , . , : , , — 0 (
PK1 )
H2 e
H6 .
PK1 , ,
H1 .
H1 e
H2 H5 .
H5 e
H6 R , .
A árvore Merkle, compilada e calculada a partir de chaves públicas, permite, em vez de publicar todo o conjunto delas, publicar apenas a raiz da árvore. Isso aumenta o tamanho da assinatura incluindo parte da árvore na assinatura, mas possibilita o uso de apenas 1 hash para verificar muitas assinaturas. Então, com a profundidade da árvoreN pode ser assinado2 N postos. A árvore Merkle para chaves com base no algoritmo de curva elíptica é usada no Bitcoin e no Ethereum, há um excelenteartigosobre o último com um exame da árvore Merkle.Hypertrees
A principal desvantagem do esquema básico do Merkle é que o número de assinaturas disponíveis é limitado e todos os pares de chaves de assinaturas únicas devem ser gerados antes que a árvore do Merkle seja calculada. A geração de chaves e o tempo de assinatura crescem exponencialmente em relação à altura da árvore. É possível atrasar a geração de novas chaves, bem como aumentar o número de pares disponíveis, ao usar uma hiper árvore.Mais detalhes, . 2 : . , . . , (. ).
, , . , , . , .
. . , , .
Estrutura de árvore estendida de Merkle (XMSS)
Uma descrição completa do circuito vai muito além do escopo deste artigo; mais detalhes podem ser encontrados aqui . Vou abordar apenas conceitos e características básicas. O esquema XMSS, como a árvore Merkle, permite estender assinaturas únicas. O uso de uma máscara de bits usando ORs exclusivos (XOR) dos nós filhos antes que os hashes sejam concatenados no nó pai aumenta a resistência a colisões das funções de hash usadas. Portanto, ao usar o SHA-256 como uma função hash em combinação com um esquema estendido, o Winternitz com um parâmetro de segurança (W-OTS +) permite aumentar a segurança de 128 para 196 bits. De acordo com lenstraA defesa de 196 bits é suficiente para ser considerada segura contra ataques de simples ataques de força bruta até 2169. Com todas as vantagens do esquema XMSS, sua principal desvantagem é o longo tempo de geração de chaves.Atualmente, existem outros esquemas de extensão de árvore Merkle ( GMSS , CMSS ) que, em combinação com algoritmos de assinatura única, também podem ser usados em uma blockchain resistente a ataques usando um computador quântico.Parte 3. Realização de idéias
Projeto Quantum de Blockchain Sustentável - QRL
No segundo semestre de 2016, o Dr. P. Waterland criou um grupo para desenvolver uma blockchain estável tanto para ataques clássicos quanto para ataques usando um computador quântico. De acordo com os resultados do desenvolvimento da parte teórica no final do mesmo ano, o documento principal da blockchain desenvolvida, o “white paper” (white paper), foi disponibilizado ao público. Atualmente, o documento está disponível em vários idiomas, incluindo russo.Principais recursos do QRL
1. Esquema de assinatura e segurançaUm esquema de assinatura é aplicado com base no algoritmo de assinatura estendida Winternitz (W-OTS +, w = 16, SHA-256) com base em estruturas conectadas ao XMSS. Essa abordagem permite gerar endereços com a possibilidade de assinatura, evitando o longo atraso computacional observado ao criar construções XMSS gigantes. Fornece proteção de 196 bits com segurança previsível contra ataques por enumeração simples até 2169.
2. Algoritmo de consenso - prova de trabalhoNa primeira iteração da rede principal, um algoritmo de consenso de prova de trabalho foi anunciado.
3. Comissão flutuanteTamanhos de transação maiores, em comparação com outros blocos da cadeia de transações, exigem pagamento por cada transação. De acordo com Waterland, mercados com uma comissão artificial (por exemplo, Bitcoin) não são necessários e contradizem o ideal de uma blockchain aberta. Cada transação, se acompanhada de um pagamento mínimo, deve ser tão válida quanto qualquer outra. O valor mínimo de pagamento aceitável para os mineradores deve ser flutuante e definido pelo mercado. I.e. os nós (mineradores) devem estabelecer competitivamente uma fronteira mais baixa para pagamento entre si. O valor mínimo absoluto será respeitado no nível do protocolo. Assim, as mineradoras solicitarão transações do mempool para inclusão no bloco a seu critério.
4. Cálculo de recompensa de bloco dinâmicoCada bloco recém-criado incluirá a primeira transação de base de moeda que contém o endereço de mineração, para o qual a recompensa será definida como o valor da recompensa para a taxa de moedas com o valor total de comissões pelas transações dentro do bloco.
5. O tempo gasto pelos blocos é de 1 minutoO tempo entre os blocos na rede Bitcoin é de aproximadamente 10 minutos. Com as 6 confirmações necessárias, isso aumenta adicionalmente o tempo de espera para a conclusão da transação. Esquemas mais recentes de blocos de cadeia de transações, como o Ethereum, são aprimorados nesse aspecto e se beneficiam de um tempo de bloco mais curto, sem perder a segurança ou centralizar os mineradores devido à alta taxa de aparência de blocos órfãos / obsoletos.
Para QRL, esse tempo de bloqueio é de 1 minuto.
6. tamanho do bloco adaptávelPara evitar possíveis disputas, uma solução adaptativa pronta foi modelada com base na proposta Bitpay, que usa um multiplicador para aumentar o tamanho do bloco
x tamanho médio
y o ultimo
z blocos. O uso de um valor médio não permite que os mineradores manipulem, incluindo blocos vazios ou excedidos para alterar o tamanho médio dos blocos.
x e
z haverá regras rígidas de consenso para a rede que terão de obedecer. Assim, o tamanho máximo do bloco
b pode simplesmente ser calculado como:
b = x y .
7. Moeda - quantumA unidade básica da moeda é um quantum. Cada quantum é dividido nos menores elementos. Abaixo estão os nomes de todos os elementos em ordem crescente:
Item | Valor |
---|
Shore | 1 |
Nakamoto | 10 3 |
Buterin | 10 6 |
Merkle | 10 10 |
Lampport | 10 13 |
Quantum | 10 16 |
Assim, cada transação envolvendo parte do quantum é realmente um número muito grande de unidades Shore. A taxa de transação é calculada e lançada em unidades Shore.
8. Contas e endereçosOs saldos do usuário são armazenados nas contas. Cada conta é um endereço de bloco de cadeia de transações reutilizável exclusivo, indicado por uma linha começando com "Q".
O endereço é criado executando o SHA-256 na raiz Merkle da árvore de certificação mais alta do XMSS. Além disso, há uma soma de verificação de quatro bytes, formada a partir dos quatro primeiros bytes do hash SHA-256 duplo da raiz Merkle e a letra "Q".
Por exemplo, no pseudocódigo do Python, isso será descrito da seguinte maneira:
Q + sha256(merkle root) + sha256(sha256(merkle root))[: 4]
Endereço típico da conta:
Qcea29b1402248d53469e352de662923986f3a94cf0f51522bedd08fb5e64948af479
Cada conta possui um saldo, denominado em quanta, divisível até uma única unidade Shore. Os endereços de cada transação usam um novo par de chaves de assinatura únicas. Um contador de transações chamado nonce será incrementado a cada transação enviada da sua conta. Isso permite que carteiras que não armazenam toda a cadeia de blocos rastreiem sua localização no esquema de assinatura da hiperárvore com preservação do estado.
Status atual do projeto e planos para o futuro
Após o lançamento do "white paper", o grupo foi reabastecido com vários novos desenvolvedores e o trabalho começou na implementação do plano. Relatórios regulares de progresso foram publicados no site do projeto. E em abril de 2017, a rede de teste de blockchain QRL já havia sido lançada. O código fonte do projeto é publicado no Github. O projeto está sendo discutido ativamente no Bitcointalk e no Reddit.
Em maio de 2017, uma OIC foi realizada no ecossistema Ethereum. Token ERC20 QRL emitido. No total, foram emitidos 65 milhões de tokens. Desses, 52 milhões de tokens estão em circulação. Ao longo de 200 anos, outros 40 milhões de moedas serão emitidas gradualmente. Assim, o volume total de emissão será de 105 milhões de moedas. Quando a rede principal é iniciada, esses tokens podem ser trocados por moedas QRL na proporção de 1: 1. Atualmente, os tokens estão disponíveis para compra em bolsas como Bittrex, Upbit e Liqui. As cotações de QRL, de acordo com o site
coinmarketcap.com , são apresentadas nas figuras abaixo.


O lançamento da rede principal está programado para fevereiro a março de 2018.
No futuro, está planejado alterar o algoritmo de consenso da confirmação do trabalho para a confirmação da estaca (prova de estaca). O tempo de residência seguro esperado dos blocos será de 15 a 30 segundos.
Conclusão
O progresso das tecnologias quânticas foi lançado e não pode ser parado. À medida que aparecem cada vez mais máquinas quânticas produtivas, a gama de tarefas que elas resolvem aumentará continuamente. Hackear uma defesa criptográfica existente, não adaptada aos ataques de um computador quântico, tem sido um dos tópicos centrais de muitos
fóruns de segurança .
O QRL é a primeira tecnologia blockchain projetada para resolver esse problema. No futuro, é claro, outros aparecerão. Qual deles será o mais bem sucedido - o tempo dirá.
Agradecimentos
O autor agradece ao
kamnik por preparar uma parte significativa do material, e especialmente pela parte técnica, bem como ao
SannX, pelas críticas e correções construtivas.
Referências
- Algoritmo Shore .
- Fatoração primária em um computador quântico (IBM) .
- Fatoração do número 15 em fatores simples em um computador quântico (MIT) .
- Relate experimentos em um computador de 51 qubit .
- Relatório do Grupo Internacional de Pesquisa sobre a estabilidade do Bitcoin na frente de um computador quântico .
- Usando o algoritmo de geração de chave ECDSA no blockchain Bitcoin .
- Sobre a resiliência do Bitcoin a ataques quânticos de computador .
- Confirmação de transação na rede Bitcoin .
- Informações sobre comissões na rede Bitcoin .
- Estatísticas de reutilização de endereço de Bitcoin .
- Algoritmo Quantum Grover .
- Winternitz de assinatura estendida .
- Aplicação de uma assinatura única Vinternitsa com base na função hash do GOST 34.11-12 .
- Geektimes sobre Ethereum .
- Esquema XMSS .
- Lenstra. A escolha de tamanhos de chaves criptográficas .
- GMSS
- CMSS .
- Cursos de sistemas de criptomoeda .
- Fórum Anual de Segurança Pós-Quantum .
Material adicional
- Um computador quântico é perigoso para o Bitcoin ?
Projeto QRL
- Site do projeto .
- Livro branco .
- Apresentação
- O blog .
- Código fonte do GitHub .
- Tópico de discussão no Bitcointalk .