Olá a todos!
Ontem do projeto NEAR, no qual eu e meus colegas trabalhamos nos últimos dois anos.
NEAR é um protocolo de blockchain e uma plataforma para aplicativos descentralizados, com foco em desempenho e simplicidade de uso.
Hoje, quero falar sobre quais problemas do mundo moderno os protocolos de blockchain resolvem, quais problemas podem resolver, mas ainda não resolvem, e onde o NEAR se encaixa nesse quadro.
Por que os protocolos de blockchain são necessários
Os protocolos de blockchain fornecem uma infraestrutura muito importante que permite executar aplicativos que não são controlados por nenhuma organização centralizada.
No curto prazo, isso já está sendo usado para construir serviços financeiros que não são controlados por bancos e governos. No Ethereum – a plataforma mais popular hoje para aplicativos descentralizados – surgiram nos últimos dois anos uma enorme quantidade de serviços financeiros interessantes: o MakerDAO construiu uma moeda descentralizada, cujo preço é quase igual a um dólar, permitindo usar serviços financeiros na plataforma com ativos não voláteis. O Compound criou a possibilidade de depositar dinheiro em uma conta virtual e obter quase garantidamente uma renda, o Augur e o Flux construíram serviços onde é possível fazer apostas em vários eventos do mundo real. Além disso, no Ethereum foram lançados diversos mercados descentralizados. Todos esses serviços são ou autônomos e não são controlados por ninguém, ou são controlados coletivamente pelos participantes do serviço.
Produtos financeiros não controlados pelo governo e bancos são uma direção muito importante. Mas os protocolos de blockchain permitem fazer muito mais.
No médio e longo prazo, essa mesma infraestrutura permitirá a construção de serviços e aplicativos cujo objetivo é criar uma internet livre e aberta e reduzir a influência dominante das oligarquias em nossas vidas. Para aplicativos do dia a dia: redes sociais, chats, grupos de interesse e outros, os protocolos de blockchain permitem obter funcionalidades que sem eles seriam muito mais difíceis de implementar. Três exemplos:
1. Login único e informações gerais da conta. Hoje, quase todos os serviços de login único são centralizados. Se você usa uma conta do Gmail para se autenticar em aplicativos e o Google decidir excluir sua conta, você perderá acesso a todos os aplicativos nos quais utilizou o Google. Usar uma solução baseada em blockchain para login único permite que você não dependa de nenhuma organização centralizada. Além disso, aplicativos que utilizam essa solução podem, com a permissão do usuário, salvar várias informações em uma conta única, que podem ser utilizadas em outros aplicativos. Uma Coursera descentralizada hipotética poderia salvar em sua conta a conclusão de um curso, enquanto um LinkedIn descentralizado hipotético poderia mostrar essa informação, e nem a Coursera, nem o LinkedIn, nem o serviço de login poderiam excluir, modificar essas informações ou fechar a conta do usuário de forma contrária a protocolos transparentes previamente estabelecidos.
2. Monetização, ativos e microtransações. Uma das razões pelas quais o desenvolvimento de serviços abertos não é popular é que eles são muito difíceis de monetizar. Como no blockchain o dinheiro é uma parte fundamental do protocolo e sua transferência não é limitada, é muito mais fácil integrar diferentes métodos de monetização em aplicativos e serviços. Sem caminhos razoáveis para monetização, o trabalho em um internet aberta nunca poderá atrair grandes equipes sérias, e, como consequência, aplicativos capazes de competir com grandes players não surgirão.
3. Coordenação do armazenamento de dados e cálculos. Realizar cálculos e armazenar dados em protocolos de blockchain é significativamente mais caro do que na nuvem. Para a maioria dos aplicativos e serviços, operar em blockchain não é economicamente viável. No entanto, se eles operarem e armazenarem dados em seus próprios servidores, podem acabar por desativar seus servidores, resultando na perda de dados, ou alterar o código que executam, o que, no contexto de algumas aplicações descentralizadas, é inaceitável. Felizmente, existem várias abordagens que permitem armazenar dados e realizar cálculos fora do blockchain a um custo comparável ao da nuvem, mas que não permitem a exclusão de dados ou a alteração de cálculos. Essas abordagens usam o blockchain como protocolo, no qual participantes que fornecem recursos depositam algum tipo de garantia como prova de que estão operando corretamente, e os participantes que utilizam os recursos podem queimar ou retirar essa garantia se conseguirem fornecer uma prova criptográfica de que os dados não foram salvos ou os cálculos foram realizados de forma incorreta.
Toda a funcionalidade descrita acima exige que o protocolo subjacente seja rápido, barato e compreensível para os usuários.
O que resolve o NEAR
O NEAR resolve dois problemas existentes nos protocolos atuais.
O primeiro é a velocidade, e a decorrente custo das transações. O Ethereum hoje permite realizar cerca de 15 transações por segundo. A demanda atualmente supera significativamente 15 transações por segundo, e o custo das transações devido a isso é incrivelmente alto: a transação mais simples hoje custa cerca de ¢40, e as mais complexas custam vários dólares. Quase todos os cenários de uso que descrevi acima fazem sentido apenas se os preços estiverem abaixo de vários ordens de magnitude, o que, por sua vez, exige uma capacidade muito maior.
A tentativa de implementar um protocolo com capacidade maior, mantendo a exigência de que cada participante da rede verifique cada transação e armazene todo o estado, aumenta as exigências de hardware. Isso, por sua vez, eleva a barreira de entrada e diminui a descentralização e a confiabilidade do protocolo.
O NEAR é escalável utilizando uma abordagem diferente chamada Sharding. Eu descrevi em detalhes o sharding no contexto de blockchains no Habr. . Sharding é uma escalabilidade horizontal, permitindo, no futuro, realizar muito mais cálculos de forma significativamente mais barata do que em protocolos que escalam verticalmente, independentemente das altas exigências de hardware.
O segundo problema é a facilidade de uso. Desenvolver e implantar aplicativos no NEAR é muito mais fácil do que em outros protocolos. E, mais importante, os usuários podem usar os aplicativos implantados no NEAR sem precisar saber o que é uma blockchain, uma transação ou uma chave privada.
Os protocolos de blockchain historicamente foram desenvolvidos para máxima confiabilidade, e não para facilidade de uso. Em muitos aspectos, esses objetivos levam a requisitos incompatíveis, e o tema do desenvolvimento de protocolos que possam ser usados por pessoas sem formação técnica, mas que sejam suficientemente seguros para cenários onde a perda de uma conta pode custar milhões de dólares – é um tema para um artigo separado.
Sobre você pode ver exemplos de desenvolvimento de aplicativos para NEAR em Rust e AssemblyScript (um subconjunto do TypeScript) em uma IDE interativa no navegador, e como eles se apresentam para o usuário final.
Em conclusão
A internet aberta e os instrumentos financeiros descentralizados, por definição, não podem ser construídos por uma única empresa.
Construir a infraestrutura é apenas uma pequena parte de todo o trabalho que precisa ser feito para criar um ecossistema onde todos os serviços principais são controlados pela comunidade, e não por oligopólios.
Se você tem ideias de serviços geridos pela comunidade e deseja trabalhar nelas, venha para o nosso programa de apoio a empreendedores. .
Se você é desenvolvedor, junte-se ao ecossistema: , vamos construir uma internet aberta juntos!
Fonte: habr.com
