Saltar para o conteúdo

Usuário(a):SergioTTF/Testes

Origem: Wikipédia, a enciclopédia livre.

EOS.IO é uma plataforma de aplicações descentralizadas que está sendo desenvolvida pela empresa Block.one, que conta com nomes famosos no espaço das Criptomoedas como Daniel Larimer[1], e almeja suportar aplicações de escala industrial. Após o surgimento do Ethereum, primeiro projeto que tinha como visão ser uma plataforma para aplicações descentralizadas e contratos inteligentes, passou a ser interesse da indústria o desenvolvimento de "sistemas" que funcionam de maneira descentralizada em uma rede com o uso de tecnologias como o Blockchain e protocolos de consenso. A visão do projeto EOS.IO é funcionar como um verdadeiro sistema operacional descentralizado, com uma rede de Blockchain escalável verticamente e horizontalmente.[2]


História[3][editar | editar código-fonte]

  • Divulgação do White paper do projeto no primeiro semestre de 2017
  • Desenvolvimento do ambiente de mínimos testes viáveis no verão(americano) 2017
  • Lançamento da venda do Token em junho de 2017
  • Lançamento da rede de testes em novembro de 2017
  • Encerramento da venda do Token no dia 1 de junho de 2018
  • Lançamento da rede principal em junho de 2018

Algoritmo de Consenso[editar | editar código-fonte]

Sistemas descentralizados e distribuídos necessitam de alguma maneira de entrar em consenso para não ocorrer discrepância nos dados, o Bitcoin por exemplo faz uso do Proof of Work. O EOS.IO utiliza o algoritmo Delegated Proof of Stake(DPOS), neste algoritmo detentores de tokens podem eleger produtores de blocos através de um sistema contínuo de votação para aprovação. Qualquer um na rede pode escolher participar da produção de blocos e será provida a oportunidade, uma vez participando, eles podem persuadir os detentores de tokens a votar neles. Na blockchain do EOS.IO são produzidos blocos a cada 0.5 segundos, cada produção feita por apenas um indivíduo autorizado a produzir naquele instante, caso a produção não ocorra aquele instante de tempo o bloco deste instante é ignorado.

Os blocos são produzidos em rodadas de 126, a cada rodada são eleitos 21 produtores de blocos onde cada um produz 6 blocos cada em um instante determinado com intervalo fixo e preciso de 0.5 segundos. Caso algum produtor não tenha produzido um bloco nas últimas 24 horas e falhe em produzir o bloco designado para ele, o produtor será desconsiderado até que envie um sinal para a rede avisando que quer participar da produção de blocos novamente. Esse aspecto da rede garante uma maior fluidez, diminuindo a quantidade de blocos não produzidos e produtores ineficientes no sistema.

A Blockchain no EOS.IO não gera forks em condições normais, pois quando ocorre alguma inconsistência um produtor não pode produzir blocos em mais de um ramo, logo o ramo com menos produtores terá mais blocos ignorados se tornando menor que o outro ramo.

Para garantir uma Tolerância a Falha Bizantina, referente ao Problema dos Generais Bizantinos famoso no estudo de sistemas distribuídos, todos os produtores assinam todos os blocos contanto que nenhum produtor assine um bloco com mesmo "timestamp" ou mesma "altura" na blockchain, quando um bloco é assinado por 15 produtores ele é considerado irreversível. Logo nesse algoritmo um consenso irreversível deve ser gerado a cada 1 segundo.[4]

Detalhes Técnicos[editar | editar código-fonte]

Confirmação de Transação[editar | editar código-fonte]

O Blockchain do Delegated Proof of Stake(DPOS) tipicamente tem 100% de participação do produtor de blocos. Uma transação é geralmente confirmada dentro de 1,5 segundos após a sua transmissão com 99% de certeza. Para ter absoluta certeza o nó da rede deve aguardar que pelo menos 15 dos 21 produtores entrem em consenso, ou seja a maioria.

Caso ocorra algum fork devido a uma falha ou por intenção maliciosa, por padrão todos os nós não irão trocar para o ramo que conter blocos ainda não confirmados pela maioria dos produtores(15 dos 21) mesmo que a a cadeia seja mais longa. Para ser considerado parte da cadeia cada bloco deve ser aprovado pela maioria dos produtores.

Devido ao tempo curto de criação de blocos, é possível avisar aos nós se eles estão em um ramo principal ou um ramo com menos produtores. Se o nó ignorar dois blocos consecutivos eles tem uma chance de 95% de estar em uma cadeia com menos produtores.[5]

Transação como Proof of Stake[editar | editar código-fonte]

Toda transação no sistema do EOS.IO contém o hash do cabeçalho de um bloco recente. Esse fato tem dois propósitos:

  1. Prevenir que transações sejam propagadas em ramos diferentes.
  2. Avisar a rede que o usuário e seu "stake" estão no ramo em questão.

Estas propriedades garantem uma proteção contra a gentes maliciosos que tentam forjar ramos ou propagar transações de ramos diferentes em novos ramos.[4]

Eliminação de Taxas de Transação[editar | editar código-fonte]

A rede do EOS.IO funciona de uma maneira diferente do Ethereum, pois este último cobra em uma unidade nomeada "gas" para as aplicações descentralizadas rodarem em sua rede, tornando um processo caro para o desenvolvedor testar sua aplicação. No EOS.IO os usuário tem direito de usar o poder computacional da rede com base na proporção de tokens que estes alocaram(colocar em estado de "stake"), logo tendo 1% de todos os tokens alocados o usuário terá direito de usar 1% de todo o poder computacional. Este poder computacional pode ser usado para processar a sua transação, eliminando a necessidade da taxa.[6]

Contas[editar | editar código-fonte]

Todas as contas no EOS.IO são referenciadas por um único nome(de fácil leitura) com até 12 caracteres de comprimento. O nome é escolhido pelo criador da conta e este deve reservar a própria memória RAM para armazenar os dados da conta. Se a conta conter tokens o suficiente em estado de 'stake' para garantir o espaço RAM necessário na rede, o usuário pode passar a alocar na rede os dados.[7]

Cada conta pode enviar ações estruturadas para outras contas e pode definir scripts para manipular ações quando elas são recebidas. O software EOS.IO fornece a cada conta seu próprio banco de dados privado, que só pode ser acessado por seus próprios scripts. Os scripts de manipulação de ação também podem enviar ações para outras contas. A combinação de ações e manipuladores de ação automatizada é como o EOS.IO define contratos inteligentes. Para suportar a execução paralela, cada conta também pode definir qualquer número de escopos no banco de dados. Os produtores de blocos programarão a transação de forma que não haja conflito sobre o acesso à memória dos escopos e, portanto, eles possam ser executados em paralelo.

A rede do EOS.IO contém um sistema de gerenciamento de permissões sobre as contas. Podendo controlar quem pode fazer certas ações e quando certas ações podem ser feitas. Uma conta pode ser composta de múltiplas outras contas como também de chave privadas, essa composição permite uma melhor organização das aplicações descentralizadas além de ser uma medida de segurança a mais contra ataques de hackers.[8]

Usuários podem definir certos tipos de ação que só podem ser executadas por determinado grupo de Contas e/ou chaves. Existe a opção ainda de dar o direito de agir como outra conta, sem necessidade da assinatura da conta original.[9]

Na Cibersegurança tempo é um recurso muito relevante e tem que ser tratado com bastante cuidado, pois caso a contramedida não seja feita em um tempo razoável o dano da invasão ou falha de segurança poderá ser grande. O EOS.IO permite que desenvolvedores elaborem ações que devem esperar uma quantidade mínima de tempo após sua inserção no bloco, durante esse período a ação pode ser cancelada. Embora isso possa ser visto com maus olhos pela comunidade que apoia as tecnologias descentralizadas como Bitcoin, já que muda a memória da Blockchain, esta característica é interessante para transações de maior importância. Por exemplo quando adquirimos um carro, queremos ter certeza de que iremos receber o produto e não ser vítima de golpe. Usuários podem receber uma notificação quando esses tipos de Ação são transmitidas na rede, caso este não tiver autorizado aquela transação ele deve iniciar o processo de recuperação de conta.

O software do EOS.IO permite a recuperação da conta da seguinte maneira: o dono escolhe qualquer chave usada pela conta nos últimos 30 dias e juntamente com uma outra conta de recuperação ,designada pelo dono no momento de criação da conta, reseta-se as chaves da conta. Esse processo se diferencia das contas com múltiplas assinaturas pois não há necessidade de usar todas as chaves nas ações regulares da conta, apenas na recuperação.[10]

Governança[editar | editar código-fonte]

O processo de Governança sobre uma comunidade ou grupo de indivíduos é composto por:

  • Atingir consenso sobre assuntos subjetivos de ação coletiva que não pode ser substituída por algoritmos;
  • Encaminhar decisões tomadas;
  • Alterar as próprias regras de governança através de emendas constitucionais.

Os desenvolvedores do EOS.IO acreditam que sistemas que usam a Blockchain necessitam de um sistema sofisticado de governança para evitar possíveis resultados inesperados e desagradáveis para o ecossistema da aplicação. O EOS.IO tem um sistema de governança que direciona bem a existente influência que tem os produtores de blocos. Estes tem o poder temporário e fiscalizado de congelar contas, atualizar aplicações defeituosas e propor mudanças(com necessidade de Hard Fork) para o protocolo.[11]

Com a eleição dos nós produtores de blocos, gera uma relação de vigilância entre estes e os detentores de token em estado de 'stake' ou estocados. Antes de que qualquer mudança seja feita no Blockchain, os produtores têm que ter aprovado, mas claro que os detentores dos tokens não devem eleger produtores que desaprovam mudanças que os interessam. Por outro lado, se os produtores de blocos fazerem mudanças sem a aprovação dos detentores dos tokens, outros nós validadores(Exchanges, etc) vão rejeitar a mudança.[12]

Quando um Contrato inteligente é programado de maneira indevida ou negligente, pode gerar problemas para a rede além de perda de fundos. Quando uma aplicação usufrui de alguma falha do sistema para utilizar recursos que não deveriam ser acessíveis pode desencadear em uma sobrecarga da rede. Para situações como esta que a funcionalidade de congelamento de conta foi desenvolvida. Como os produtores de blocos tem o poder de selecionar quais transações, eles podem congelar aquelas referente a determinada conta, usualmente com o intuito de preservar a segurança do sistema. Só será congelada a conta após o consenso dos produtores. Caso os produtores abusem deste poder, eles podem ser votados para ser removidos e a conta será descongelada.[13]

Críticas ao Projeto[editar | editar código-fonte]

O projeto do EOS.IO vem sofrendo duras críticas da mídia sobre sua política sobre resolução de disputas internas em sua plataforma, os críticos afirmam que como essas disputas são resolvidas fora da rede elas estão expostas a interpretação e falha humana. Daniel Larimer, CTO da Block.One, afirma ter planos para melhorar a mediação destas disputas e tem discutido com sua equipe de desenvolvedores.[14]

Block.One[editar | editar código-fonte]

A empresa de desenvolvimento de sistemas Block.One é registrada nas Ilhas Cayman e tem Brendan Blumer como seu CEO, Daniel Larimer como seu CTO. Daniel é conhecido por sua participação no desenvolvimento de uma plataforma descentralizada de consumo e criação do conteúdo, chamada Steemit.[15]

Referências[editar | editar código-fonte]

  1. Cruz, Eduardo (20 de abril de 2018). «O que é o EOS? O projeto atual de Dan Larimer». Eduardo Cruz. Consultado em 11 de julho de 2018 
  2. «eosio | Blockchain software architecture». eos.io (em inglês). Consultado em 8 de julho de 2018 
  3. «EOSIO Roadmap». GitHub (em inglês). Consultado em 11 de julho de 2018 
  4. a b «EOSIO/Documentation». GitHub (em inglês). Consultado em 8 de julho de 2018 
  5. «What is EOS Blockchain: Beginners Guide - Blockgeeks». Blockgeeks (em inglês) 
  6. «O que é o blockchain EOS e seu papel na revolução cripto - Bitcoin Brasil». Bitcoin Brasil. 1 de junho de 2018 
  7. «Comprehensive Guide to Accounts & Wallets». developers.eos.io. Consultado em 9 de julho de 2018 
  8. «The Ultimate Guide to Keeping Your EOS Account Safe - Trybe». trybe.one (em inglês). Consultado em 9 de julho de 2018 
  9. «Accounts and Permissions». developers.eos.io. Consultado em 9 de julho de 2018 
  10. «EOS911 Recovery process». EOS42. 14 de junho de 2018 
  11. «EOS-Mainnet/governance». GitHub (em inglês). Consultado em 9 de julho de 2018 
  12. Larimer, Daniel (20 de junho de 2018). «Decentralized Blockchain Governance». Daniel Larimer. Consultado em 9 de julho de 2018 
  13. Varshney, Neer (19 de junho de 2018). «EOS freezes 7 accounts in violation of its own 'constitution'». Hard Fork | The Next Web (em inglês) 
  14. «Arbitragem em um blockchain governado: Crise de solução controvérsias do EOS». Cointelegraph. 30 de junho de 2018 
  15. «About | Block.one». Block.one (em inglês) 

Links Externos[editar | editar código-fonte]

Site Oficial

Whitepaper

Github

CoinMarketCap

Block.One

Categoria:Criptomoedas Categoria:Bitcoin