Início Tecnologia Para consertar contratos inteligentes, comece com seus segredos

Para consertar contratos inteligentes, comece com seus segredos

14
0

 

Autores:

(1) Rujia Li, Universidade de Ciência e Tecnologia do Sul, China, Universidade de Birmingham, Reino Unido e este autor contribuiu igualmente para este trabalho;

(2) Qin Wang, CSIRO Data61, Austrália e este autor contribuíram igualmente para este trabalho;

(3) Qi Wang, Universidade de Ciência e Tecnologia do Sul, China;

(4) David Galindo, Universidade de Birmingham, Reino Unido;

(5) Mark Ryan, Universidade de Birmingham, Reino Unido.

Resumo e I. Introdução

Ii. Um tour de raios

Iii. Metodologia de sistematização

4. Solução de camada um

V. Layer-Two Solution

Vi. Discussão

Vii. Desafios de pesquisa

Viii. Comentários e referências finais

Apêndice A. Principais gerentes

Apêndice B. Anonimato e confidencialidade

Apêndice C. Fundo

Apêndice D. Um protocolo de votação baseado em TCSC

Resumo-O contrato inteligente baseado em blockchain carece de privacidade, uma vez que o estado do contrato e o código de instrução são expostos ao público. A combinação de execução de contrato inteligente com ambientes de execução confiável (TEES) fornece uma solução eficiente, chamada contratos inteligentes assistidos por tee, para proteger a confidencialidade dos estados contratados. No entanto, as abordagens de combinação são variadas e um estudo sistemático está ausente. Os sistemas recém -lançados podem não se basear na experiência aprendida com os protocolos existentes, como repetir erros de design conhecidos ou aplicar a tecnologia Tee de maneira insegura. Neste artigo, primeiro investigamos e categorizamos os sistemas existentes em dois tipos: a solução Layer-One e a solução de camada dois. Em seguida, estabelecemos uma estrutura de análise para capturar suas luzes comuns, cobrindo as propriedades desejadas (para serviços contratados), modelos de ameaças e considerações de segurança (para sistemas subjacentes). Com base em nossa taxonomia, identificamos suas funcionalidades ideais e descobrimos as falhas fundamentais e a razão dos desafios no design de cada especificação. Acreditamos que este trabalho forneceria um guia para o desenvolvimento de contratos inteligentes assistidos por Tee, bem como uma estrutura para avaliar futuros sistemas de contrato confidenciais assistidos por tee.

I. Introdução

Contrato inteligente foi originalmente introduzido por Szabo [1] e ainda mais desenvolvido pela Ethereum [2] nos sistemas blockchain. Os contratos inteligentes baseados em blockchain [3]Assim, [4]Assim, [5] Adote idiomas de script de turing-complete para obter funcionalidades complicadas [6] e executar a lógica predefinida através da replicação de transição do estado sobre os algoritmos de consenso para realizar a consistência final. Os contratos inteligentes permitem que os participantes não familiarizados e distribuídos trocem razoavelmente sem terceiros confiáveis ​​e são usados ​​ainda para estabelecer uma abordagem uniforme para o desenvolvimento de aplicações descentralizadas (DAPPS [7]). No entanto, o contrato inteligente baseado em blockchain carece de confidencialidade. As informações do estado e o código de instrução são completamente transparentes [8]Assim, [9]Assim, [10]. Quaisquer estados com suas mudanças são acessíveis ao público e todos os dados de transação e variáveis ​​de contrato dos usuários são visíveis a observadores externos. Sem privacidade, a criação de DAPPs avançados que dependem dos dados sensíveis do usuário se torna um desafio [11]Assim, [12]Assim, [13]Assim, [14]. Por exemplo, contratos inteligentes no Ethereum [2] não pode ser aplicado diretamente ao leilão de Vickrey [15]Assim, [16] ou sistemas de voto eletrônico [17]Assim, [18]onde a oferta e o voto precisam ser ocultos do público. Além disso, o DAPPS sem proteção de privacidade pode ser proibido pela União Europeia porque eles vão contra o regulamento geral de proteção de dados [19]Assim, [20]. Assim, a transparência completa dos contratos inteligentes restringe sua ampla adoção. Recentemente, os pesquisadores exploraram muitas soluções criptográficas para resolver esses problemas, incluindo a utilização de técnicas de prova zero-conhecimento (ZKP) [21]Assim, [22]Assim, [12]Assim, [23]Assim, [24]Assim, [25]criptografia homomórfica (He) [26] e computação multipartidária segura (MPC) [27]. No entanto, essas abordagens são apenas aplicáveis ​​a aplicativos que exigem cálculos simples.

” alt=”” aria-hidden=”true” />

Embora vários protocolos TCSC tenham sido propostos, projetos recém -divulgados podem não se basear na experiência aprendida com os protocolos existentes, como repetir erros de design conhecidos ou aplicar criptografia de maneiras inseguras. Por exemplo, uma ausência de incentivos econômicos representará riscos de segurança e diminuirá a estabilidade do protocolo. No entanto, o recente esquema de TCSC proposto HybridChain [41] Repita armadilhas semelhantes ao simplesmente combinar o TEE com uma rede de blockchain com permissão, omitindo considerações sobre o mecanismo de incentivo do mineiro. A repetição de armadilhas vem de dupla. Em primeiro lugar, os projetos do wild diferem de um para o outro, e um modelo relativamente único está ausente, o que restringe a visão dos desenvolvedores. Enquanto isso, está faltando uma estrutura de avaliação unificada, fazendo com que muitas ameaças à segurança sejam descobertas e resultando em uma perda considerável de aplicativos subjacentes à execução de contratos inteligentes confidenciais. Este artigo tem como objetivo abstrair uma estrutura de alto nível para sistematizar de maneira simples e clara o conhecimento sobre os esquemas atuais do TCSC. Tentamos capturar alguns pontos em comum entre esses projetos em relação a seus recursos, propriedades e potencial vulnerabilidade de segurança. Acreditamos que o estabelecimento de critérios de avaliação para medir os recursos e identificar problemas e falhas dos protocolos TCSC existentes oferecerá um bom guia para as comunidades do setor e promoverá a prosperidade do DAPPS. As principais contribuições (uma diretriz visualizada na Fig.2) são:

• Fornecemos uma sistematização dos sistemas TCSC existentes afastados do trabalho acadêmico e em projetos de produção. Com base em seus mecanismos operacionais e formas de combinação, investigamos e categorizamos um conjunto de protocolos típicos em duas classificações principais: o camada-one solução e o camada dois solução.

• Estabelecemos uma estrutura de avaliação unificada para sistemas confidenciais de contratos inteligentes. Consideramos duas partes: os contratos inteligentes usados ​​como serviçose sistemas de blockchain suportados subjacentes. Consequentemente, a estrutura cobre três aspectos: propriedades desejáveis para serviços contratados, modelo de ameaça e consideração de segurança para sistemas subjacentes. Especificamente, discutimos dois tipos diferentes de propriedades desejáveis: propriedades típicas que herdou de contratos inteligentes tradicionais e destaque propriedades relacionadas à privacidade. Em seguida, enfatizamos questões práticas, armadilhas e remédios ao projetar blockchains assistidos por tee de quatro aspectos (host/tee/programa valores mobiliários e Gerenciamento -chave serviços).

• Realizamos uma análise comparativa dos protocolos existentes com base em nossa estrutura de avaliação. Discutimos sistemas tanto de seus Projetos comuns (Classificação do sistema, modelo de ameaça) e características distintivas (projetos, propriedades). Os projetos comuns nos mostram a idéia consistente ao redesenhar o sistema, enquanto os recursos distintos destacam a ingenuidade de cada design do sistema que se desvia de outros (consulte Tab.III/TAB.IV).

• Dá uma discussão abrangente dos projetos e implementações atuais, incluindo um exemplo em execução, comparações entre sistemas de camada e uma e camada-dois das perspectivas de segurançaAssim, eficiência e Fácil adoçãoe problemas comuns em Verificabilidade pública. Infelizmente, um design maduro ainda não está pronto para aplicações em larga escala. Assim, apontamos a pesquisa desafios Nesse campo, desejando fornecer informações para as comunidades para definir seus modelos e descobrir possíveis soluções de projetar sistemas TCSC.

O restante do artigo está organizado da seguinte maneira. A Sec.II fornece uma introdução de alto nível sobre como operar um contrato inteligente confidencial dentro de Tees. Sec.iii fornece a metodologia de sistematização (Classificação do sistema e estrutura de avaliação). Os sistemas Layer-One e Layer-Two são analisados ​​em Sec.IV e Sec.V, respectivamente. As discussões são fornecidas no Sec.vi. Os desafios de pesquisa estão resumidos na seção. Finalmente, o Sec.viii faz observações finais. Os detalhes suplementares são declarados no APÊNDICE AD.

fonte