Autores:
(1) Bennet Yee, Oasis Labs;
(2) Music Daybreak, Oasis Labs;
(3) Patrick McCorry, Infura;
(4) Chris Buckland, Infura.
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 Perfect 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
Resumo
Os blockchains combinam um log distribuído somente de anexo com uma máquina digital que outline como as entradas de log são interpretadas. Ao visualizar transações como funções de transformação do estado para a máquina digital, separamos o nomeação de um estado a partir do cálculo de seu valor e atingir o consenso sobre esse valor. Esta distinção nos permite separar a noção de Finalidade da ordem da transação de Finalidade do valor do estado. Uma consideração mais aprofundada de como a governança da blockchain lida com falhas catastróficas de modo comum, como explorações de dia zero nos levam à noção de Finalidade do ponto de verificação.
O consenso sobre a ordem de transação determina a verdade basic. Tudo o resto-computando o valor de um estado ou lidando com falhas catastróficas, como bugs / ataques de dia zero-são apenas otimizações.
1 Introdução
As idéias principais por trás dos contratos inteligentes e dos sistemas blockchain são diretos, com base em um log distribuído e descentralizado apenas de anexos e como interpretamos o significado dessas entradas de log usando uma máquina digital abstrata (VM).
Embora a idéia básica seja simples, há muitas opções de design que precisam ser feitas antes que o sistema de blockchain completo seja especificado, implementado e se torna utilizável, por exemplo, o formato de mensagens que podem ser registradas e seu significado, a semântica da máquina de estado da VM and so on. and so on.
Enquanto os profissionais entendem as nuances, explicar essas noções pode facilitar a discussão do seu impacto e de opções alternativas de design a serem investigadas. Este artigo tenta usar algumas idéias básicas e notação de linguagens de programação, semântica e teoria do grupo para ajudar a modelar sistemas de contrato inteligentes como uma maneira de orientar como olhamos para essas opções de design, os problemas de segurança que surgem e suas implicações de escala.
Introduzimos os seguintes sabores distintos da finalidade:
• Finalidade do log, quando uma entrada é irrevogavelmente anexada ao log de blockchain.
• A finalidade da ordem da transação, quando o efeito de uma transação no estado da VM é irrevogavelmente determinado, sem necessariamente computá -lo primeiro.
• Finalidade do valor do estado, quando o valor do estado calculado é determinado como uma estrutura de dados acessada com eficiência. Isso é irrevogável, exceto para a recuperação de falhas críticas de infraestrutura (determinadas pela governança), por exemplo, um adversário explora um bug no código usado por todos os participantes ou um adversário foi capaz de violar uma suposição de segurança, como subornar um número acima do limite de participantes do comitê.
• Finalidade do ponto de verificação, quando o valor do estado calculado não pode mais ser alterado por garfos duros e, portanto, se torna verdadeiramente irrevogável.
Argumentamos que a finalidade da ordem de transação, construída usando a finalidade do log, é a chave para o raciocínio sobre um sistema de blockchain. A finalidade do valor do estado e a finalidade do ponto de verificação são otimizações importantes: elas permitem respectivamente a aplicação para a qual a determinação independente do estado privado é muito caro e permite que a camada de armazenamento recupere o armazenamento.
Na próxima seção, apresentamos as idéias, notações e terminologias que usamos para analisar as propriedades do blockchain e usá-las para discutir alguns sistemas de blockchain conhecidos e suas propriedades. Então, na Seção 3, discutimos o que achamos que são propriedades “ideais” e tentamos esboçar como seria esse sistema. Finalmente, apresentamos comentários finais na Seção 4.