Tabela de hyperlinks
Resumo e 1. Introdução
-
Conceitos -chave
2.1 log somente de anexo e 2.2 estado de máquina digital
2.3 Transações como funções ao curry
2.4 Nomes naturais de estado
2.5 Verdade do solo
2.6 Representações eficientes de estado
2.7 pontos de verificação
2.8 Parâmetros de execução: calldata
2.9 Pedido de execução
2.10 decidindo sobre o estado correto
-
Design Supreme da Camada 2
3.1 VM Fila de empregos e finalidade de pedidos de transação
3.2 Disponibilidade de dados e coleta de lixo
3.3 Finalidade do Estado
3.4 Finalidade do ponto de verificação
-
Conclusão e referências
A. Parâmetros de segurança de detecção de discrepância
2.7 pontos de verificação
A reprodução de todas as transações do Gênesis é cara e, como um sistema de blockchain é usado, ele rapidamente se torna proibitivamente para os novos participantes que desejam ingressar no sistema. O custo de armazenamento dos blocos de blockchain cresce linearmente ao longo do tempo e, para a manutenção do Ethereum, qualquer tipo de disponibilidade para o antigo estado de trie pode se tornar bastante caro. No passado, o Bitcoin realizava uma espécie de compromisso do Uber, lançando novos clientes com “pontos de verificação”, onde o estado em alguma altura do bloco é incorporado ao cliente. Blocos com números mais baixos de blocos podem ser descartados com segurança, pois todos têm um estado – o estado do ponto de verificação – do qual a reprodução de transações mais recentes. Desde então, o Bitcoin removeu os pontos de verificação porque foi visto como criando confusão/conceitos errôneos em torno do modelo de segurança.
Além de reduzir o custo de entrada para ingressar no sistema, a oposição de verificação reduz o custo da manutenção de registros para os participantes existentes. Este é um nível de finalidade “meta”: o efeito das transações que aterrissam antes do ponto de verificação não pode ser contestado, uma vez que os registros associados a eles provavelmente não estão disponíveis.
Além do custo de entrada ou dos custos operacionais em andamento, os pontos de verificação também são usados em conjunto com os mecanismos de governança para recuperação de erros catastróficos. Muitos sistemas de blockchain que tiveram problemas, por exemplo, perdas maciças de token devido a bugs em código de blockchain crítico ou contratos inteligentes, recorreram aos garfos duros para se recuperar de tais erros, apesar das transações atingirem a finalidade do estado; Verifique se o ponto de verificação muito cedo-se os registros mais antigos que os pontos de verificação não forem mantidos por perto-impediriam a recuperação, revertendo para o estado do ponto de verificação e (opcionalmente) reexecionando (usando versões fixas do código, and so on.) transações em seu pedido de registro unique.
2.7.1 pontos de verificação vs ataques de longo alcance
Observe que os pontos de verificação abordam um problema diferente dos ataques de longo alcance. Em ataques de longo alcance, estamos preocupados com a exposição de chaves antigas de assinatura criptográfica usadas por membros do comitê de consenso passado em um design de POS [2]. Esses membros podem ter saído do ecossistema e suas chaves antigas não são mais tratadas com cuidado; Pior, esses membros anteriores podem racionalmente decidirem leiloar suas chaves de assinatura na Net Darkish, pois não possuem mais tokens e não têm nada a perder. Essas chaves são inúteis quando usadas para apresentar informações falsas para os participantes da blockchain que conhecem a composição atual do comitê e têm rastreado transações e eleições para o comitê. No entanto, considere um modelo de ameaça em que uma vítima de Rip van Winkle acorda após um período de inatividade e de alguma forma é colocada em um Começo Estilo bolha de informações do mundo digital / fake. Que a bolha filtra informações legítimas sobre o estado atual de um POS Blockchain e, em vez disso, apenas torna as informações disponíveis construídas para tornar uma cadeia bifurcada-feita viável devido a um número tremendous limiar de chaves exfiltradas/comprometidas de membros de um antigo comitê de consenso [2].
A bolha de informações iniciantes é um modelo de ameaça interessante. Se aplicado a Blockchains de Pow, a vítima não pode saber se a cadeia que vê é realmente a cadeia mais longa – o predicado “mais longo” equivale a um quantificador common e são necessárias informações globais. Estimativas por quanto tempo a corrente deve pode ser viável se houver tempo de confiança, mas isso é probabilístico de natureza: a taxa de produção de bloqueio depende das mudanças de parâmetros do protocolo e do número de mineradores ativos, o que tem mais a ver com a atratividade econômica para a participação (em relação a todos os outros investimentos) do que com as limitações de potência da computação. Além disso, essa estimativa de comprimento se aplica apenas a todo o segmento da cadeia, já que a vítima adormeceu e não ajuda muito com o predicado “mais longo”, pois o garfo pode ser bastante recente.
Sem poderes iniciantes para montar ataques do Eclipse [6]um adversário deve ser incapaz de confundir vítimas em potencial. Uma vítima em potencial pode verificar se eles têm uma visão atual da blockchain: eles apenas consultam com segurança N Fontes para os hashes de blocos recentes na cadeia. Se a maioria M Destes hashes estão na mesma cadeia e essas fontes são honestas, não eclipsadas e continuaram sendo observadores de blockchain, a vítima em potencial poderá distinguir a cadeia de consenso world de uma cadeia bifurcada criada com chaves vazadas de longo alcance. Aqui M ≤ N é um parâmetro de segurança, que pode ser escolhido para que o adversário do tipo Inception tenha que comprometer adicionalmente proibitivamente muito mais chaves (ou seus titulares) do que apenas os dos antigos membros do comitê de consenso, já que qualquer observador de blockchain pode testemunhar blocos recentes e, portanto, assim N pode ser muito maior que o tamanho de um comitê de consenso.
2.7.2 Ataques de dia zero / falhas no modo comum
Verify -inging destina -se a abordar o manuseio de relativamente recente Ataques de dia zero em que um número tremendous limiar dos membros atuais do comitê de consenso foi comprometido, ou uma vulnerabilidade recém-descoberta no software program Rollup está sendo explorada. Não imaginamos que seja útil para lidar com ataques que não foram notados há muito tempo, pois qualquer meio actual de resolvê -lo será complicado. A relação causal em cascata de transações mais recentes, dependendo dos estados de saída das transações mais antigas, provavelmente levará a uma explosão de transações que serão abortadas em uma nova interpretação de seus efeitos quando tivessem sucesso antes.
A decisão de design é executar o verify -se de tudo e, se sim, quantos anos – em tempo actual, números de bloqueio and so on. – é uma transação finalizada antes de ser incluída em um ponto de verificação. Esta decisão é essencialmente a versão blockchain de um Estatuto de limitações em muitos sistemas legais. Ao contrário dos estatutos normais de limitações que especificam um limite de tempo específico para o tipo de crime – e para alguns crimes, não há limites – aqui o ponto de verificação é world em escopo: todas as transações, independentemente de quais contratos eles possam estar associados, devem ser tratados da mesma maneira.
A associação de estado / valor do ponto de verificação é uma barreira temporal: as transações anteriores ao ponto de verificação têm “finalidade do ponto de verificação”, pois os registros que permitiriam sua repetição no ambiente alternativo com fixação de insetos não estão disponíveis. Observe que, diferentemente da finalidade da ordem da transação e da finalidade do estado, que normalmente ocorrem ao mesmo tempo que quando suas entradas de log são feitas, ou seja, na finalidade do log, a finalidade do ponto de verificação pode ocorrer muito tempo após a identificação de um estado como candidato a ponto de verificação. Por exemplo, um sistema pode registrar que um estado se tornará o próximo ponto de verificação assim que a altura do bloco da blockchain atingir um determinado valor (que deve ocorrer em cerca de seis meses, digamos) ou quando um quorum de tempo oráculos atestará que uma certa knowledge foi atingida. A entrada do log torna a decisão irrevogável, mas a finalidade do ponto de verificação não ocorre necessariamente até que outras condições de bloqueio sejam atendidas.
Separando a finalidade do estado da finalidade do ponto de verificação para lidar com a possibilidade de falhas catastróficas introduzem o risco para aqueles que precisam tomar ações externas ao rollup com base na finalidade do estado. Ações externas nem sempre podem ser revertidas. Acreditamos que isso pode ser tratado usando um modelo de seguro: por exemplo, uma apólice de seguro com base no tipo de ação externa e perfil de risco pode ser oferecida para tornar os participantes inteiros, caso um ponto de verificação/reprodução invocado devido a uma falha catastrófica faça com que a ação externa adequada mude.
::: informações
Autores:
(1) Bennet Yee, Oasis Labs;
(2) Track Daybreak, Oasis Labs;
(3) Patrick McCorry, Infura;
(4) Chris Buckland, Infura.
:::
::: Data este artigo é Disponível no Arxiv Sob Atribuição 4.0 Licença Internacional.
:::