E se as aplicações que utilizamos fossem todas nossas por direito?
Foto de Alvaro Reyes via Unsplash
Entrou de mansinho no nosso vocabulário e ainda experimentou a variação por extenso aplicação, mas a sigla app, dita ou soletrada, fixou-se por completo no léxico das gerações em idade activa. Agora, com o evoluir das tecnologias, mais concretamente, das que potenciam a internet descentralizada, surge uma nova geração deste "tipo" de software utilitário. São as dApps, com o "D" antes de "app" a indicar com a ajuda da frase anterior que tratam-se de aplicações descentralizadas.
Não é fácil explicar o que são dApps de uma forma exacta que se possa considerar suficiente. Embora o conceito seja fácil de perceber, são uma novidade ainda por consolidar do mundo das tecnologias e, por isso, não reúne consenso absoluto entre os vários entusiastas; contudo, dez anos depois do surgimento da primeira dApp (já lá vamos), este conceito de aplicações descentralizadas começa a surgir no mainstream e a merecer, assim, uma justificação.
Apesar da novidade nos circuitos mediáticos mais populares, dApps é um termo careca entre os mais geeks e que já vai ganhando alguma teoria que sustenta o consenso em torno da definição. O principal documento de referência nesta área é assinado por David A. Johnston, um notável entusiasta de blockchain, em cooperação com uma vasta equipa e dá pelo nome de Teoria Geral das Aplicações Descentralizadas. Nesse artigo – em formato white paper como é apanágio no mundo descentralizado –, David e a sua equipa definem quatro pontos essenciais para ser que uma app mereça o distinto "D" no seu princípio.
Antes de passar de os elencar, recordemos apenas o que é o blockchain para que tudo faça sentido por cima disto. O blockchain está para as bases de dados como o Google Drive está para o Word. Perdoa-nos o simplismo de linguagem mas é a forma mais fácil de o perceberes, se não repara: antigamente criavas um documento e só depois de o salvares o podias partilhar com outras pessoas criando cópias desse documento – o mesmo se passava com as bases de dados alojadas num sítio único. Com o Google Drive (ou outros serviços semelhantes, de que é exemplo o Microsoft Office, o iWork da Apple ou Dropbox Paper), podes editar um documento de texto em tempo real enquanto quem está a fazê-lo contigo tem acesso a um registo de todas as alterações de promoves, dando igual poder de decisão a qualquer um dos intervenientes uma vez que o ficheiro não se encontra apenas num dos aparelhos. É isso que acontece numa base de dados em blockchain: os dados de registo criados na base são armazenados de forma distribuída numa "cadeia de blocos" pública.
David A. Johnston numa conferência (screenshot via Polycon/YouTube)
O que define uma dApp?
Agora sim, vamos aos quatri pontos, citando e explicando David A. Johnston:
1. The application must be completely open-source, it must operate autonomously, and with no entity controlling the majority of its tokens. The application may adapt its protocol in response to proposed improvements and market feedback but all changes must be decided by consensus of its users.
O poder da descentralização é a descentralização do poder; nesse sentido as dApps não podem ter uma entidade central que as controle e devem operar autonomamente; assim, o seu código deve ser completamente aberto. As aplicações podem e devem responder aos pedidos e desejos do mercado mas todas as alterações devem resultar de um consenso dos seus utilizadores e não de uma entidade central que a detenha.
2. The application's data and records of operation must be cryptographically stored in a public, decentralized blockchain in order to avoid any central points of failure.
Todos os dados gerados ou disponibilizados pelos utilizadores na aplicação devem ser criptograficamente gravados numa blockchain pública e descentralizada, evitando o usufruto dos dados por parte de uma entidade terceira que os centralize. O ponto da criptografia é essencial visto que, neste sentido, significa encriptação.
3. The application must use a cryptographic token (bitcoin or a token native to its system) which is necessary for access to the application and any contribution of value from (miners / farmers) should be rewarded in the application's tokens.
As aplicações devem usar ou gerar um token necessário à utilização. Este token pode ou não servir para o financiamento inicial – a venda de tokens em modo crowdfunding aka ICO – mas serve sempre para validar um utilizador na rede. Por outro lado, a validação desses tokens feita por "miners" ou "farmers", devem também ser remunerada em tokens.
Os tokens são uma forma de descentralizar o controlo da aplicação e no documento base – o white paper – a sua utilização e distribuição deve estar clara. Os utilizadores que participem no desenvolvimento podem inclusive ser remunerados em tokens da própria empresa que podem "gastar" à posteriori para utilizar a aplicação (por favor, googla: "bounty programs").
4. The application must generate tokens according to a standard crytptographic algorithm acting as a proof of the value nodes are contributing to the application (Bitcoin uses the Proof of Work Algorithm).
Os tokens devem ser gerados através de um algoritmo criptográfico que os valide como parte da blockchain a que pertencem.
Três tipos de dApps
Assim, existem para já três tipos de dApps. As que têm a sua própria blockchain e o seu próprio token, como é o exemplo a popularíssima Bitcoin. As que têm o seu próprio token mas correm numa outra blockchain – como aplicações na rede Ethereum. Ou as mistas, do tipo três.
De resto, é importante salientar que a Bitcoin e a Ethereum são as duas maiores e mais proeminentes blockchains, pelo que, embora haja mais, é bastante frequente que estas sejam utilizadas por grande parte das dApps. As dApps podem ser qualquer coisa; aliás, é essa a promessa da lei de Johnston: "tudo o que pode ser descentralizado vai ser descentralizado". É por isso que este tipo de aplicações e conhecimento, embora ainda seja tudo muito preliminar, é tão importante.
Sendo as app do futuro, é no presente que devemos prestar-lhes atenção, percebendo como podem ajudar-nos a colmatar as falências que vamos detectam nas actualmente existentes. De resto, são essas alternativas que surgem às dezenas por dia no universo descentralizado. Basta pensar nas recentes preocupações de que o Facebook vende os nossos dados ou o Google controla a nossa localização para perceber a importância de perceber e dominar as tecnologias do futuro, ao ponto de as poder tornar presente.