Atualização do desenvolvedor EOS.IO - Suporte para o enclave seguro da Apple e tecnologias similares

in #eos7 years ago

A equipe do block.one tem trabalhado o tempo todo para tornar o software de bloco de bloco mais avançado do eos.io. Ao avançar o software principal, também trabalhamos com vários players importantes do setor para migrar suas plataformas para usar o software eos.io.

Projeto de evolução constante

O EOS.IO não é uma especificação fixa, mas um design vivo que está constantemente sendo aprimorado acima e além do nosso documento branco original. Nós nos esforçamos para tornar a EOS.IO a melhor plataforma possível e entregá-la o mais rápido possível. Hoje, gostaríamos de discutir algumas das mudanças que estamos no processo de implementação.

Execução paralela antes do horário

Nosso roteiro original exigiu que uma implementação de thread único seja concluída em junho de 2018 e que o desenvolvimento de vários tópicos ocorra depois disso. Estamos entusiasmados em compartilhar que o trabalho no mecanismo de execução paralela tenha começado 8 meses antes do cronograma e acreditamos que estará pronto em junho de 2018. O trabalho necessário para que isso aconteça inclui uma reescrita completa da base de cadeia, a tecnologia de banco de dados subjacente atrás Steem.

Novo banco de dados EOS.IO Shard-Aware

Ao longo das últimas semanas, implementamos um novo banco de dados com proteção contra fragmentos que foi projetado para permitir que vários segmentos acessem regiões de memória independentes (chamados de fragmentos) ao mesmo tempo. Os intervalos de dados do fragmento não são fixos, diferentes transações podem agrupar diferentes fragmentos dependendo dos padrões de acesso de dados necessários.

Nova Recuperação de Chave Multi-Threaded

Desenvolvemos um serviço de recuperação de chaves multi-threaded que acelerará a taxa em que as transações podem ser validadas em comparação com nossa abordagem threaded existente.

Comunicação Interblockchain

Nós colocamos muito trabalho de design em como dois blockchains se comunicarão uns com os outros. Isso envolve cuidadosamente elaborar a estrutura de nossas árvores merckle para tornar as provas significativas e eficientes. Também significa reestruturar nossos cabeçalhos de bloco e cabeçalho de transações.

Introduzindo Regiões

As transações agora possuem um campo de cabeçalho extra, uma região. Pense nisso como um código postal que indica qual bloqueio em que a transação se destina a ser incluída. Por padrão, a região 0 implica que a cadeia atual e todas as outras cadeias possuem códigos de região diferentes. Quando um contrato gera uma transação diferida para outra região, é um sinal para os produtores de blocos ignorarem essa transação. Cabe às outras cadeias usar provas merkle para verificar o código da região que eles atribuíram.

Manipulação de erros em transações diferidas (assíncronas)

Originalmente, o software EOS.IO não apresentava tratamento de erros para transações assíncronas, exceto para o tempo limite. A razão pela qual tínhamos essa limitação era que os próprios manipuladores de erros poderiam falhar. A única opção para o tratamento de erros foi esperar a caducidade da transação sem executar.

Atualizamos a estrutura do bloco para permitir aos produtores agendar transações que falham por motivos objetivos e para executar um manipulador de erros. Existem 3 estados possíveis de que uma transação diferida poderia ser incluída como: sucesso, erro com o manipulador de erros bem-sucedido ou erro com falha no manipulador de erros. Somente falhas objetivas estão incluídas, falhas subjetivas, como o uso de muito tempo no relógio da parede, ainda exigem a espera de um tempo limite.

Adicionando Suporte para o Enclave Seguro da Apple

Estamos ampliando nosso suporte para a validação das chaves da curva elíptica para incluir a curva secp256r1. Este é o padrão criado pelo NIST e usado pela Apple, Android e muitos cartões inteligentes. Os usuários terão a opção de escolher suas curvas (secp256k1, são usados ​​por Bitcoin e EOS por padrão) e podem usar ambos (r1 e k1) se eles não sabem qual deles confiar! O aspecto mais importante disso é que dará a cada usuário de celular uma carteira de hardware com validação biométrica de 2º fator.

A implementação está em andamento, mas a decisão de design foi feita e deve tornar o EOS.IO utilizável em muitos mais ambientes.

Conclusão

Há muito trabalho acontecendo aqui no block.one e o software eos.io está se tornando melhor todos os dias.

Aviso Legal

block.one é uma empresa de software e está produzindo o software EOS.IO como software livre e de código aberto. Este software pode habilitar aqueles que o implementam para lançar um bloco ou aplicativos descentralizados com os recursos descritos acima. block.one não estará iniciando um bloco de blocos público com base no software EOS.IO. Será exclusiva da responsabilidade de terceiros e da comunidade e aqueles que desejam se tornar produtores de blocos para implementar os recursos e / ou fornecer os serviços descritos acima, conforme o acham. O block.one não garante que alguém implemente tais recursos ou forneça esses serviços ou que o software EOS.IO seja adotado e implantado de qualquer maneira.

Todas as declarações neste documento, além de declarações de fatos históricos, incluindo quaisquer declarações relativas à estratégia de negócios, planos, perspectivas, desenvolvimentos e objetivos da block.one são declarações prospectivas. Essas declarações são apenas previsões e refletem as crenças e expectativas atuais do block.one em relação a eventos futuros e são baseadas em premissas e estão sujeitas a riscos, incertezas e mudanças a qualquer momento. Operamos em um ambiente em rápida mudança. Novos riscos emergem de tempos em tempos. Dado esses riscos e incertezas, você é advertido de não confiar nessas declarações prospectivas. Os resultados reais, desempenho ou eventos podem diferir materialmente daqueles contida nas declarações prospectivas. Alguns dos fatores que podem causar resultados reais, desempenho ou eventos diferem materialmente das declarações prospectivas contidas neste documento incluem, sem limitação: volatilidade do mercado; disponibilidade contínua de capital, financiamento e pessoal; aceitação do produto; o sucesso comercial de quaisquer novos produtos ou tecnologias; concorrência; regulamentação e leis governamentais; e condições gerais de economia, mercado ou negócios. Qualquer declaração prospectiva feita por block.one fala apenas a partir da data em que é feita e block.one não tem nenhuma obrigação e, expressamente, se isenta de qualquer obrigação de, atualizar ou alterar o seu futuro declarações, seja como resultado de novas informações, eventos subseqüentes ou de outra forma.