Em 3 de janeiro de 2009, Satoshi Nakamoto extraiu o bloco de génese da Bitcoin num pequeno servidor em Helsínquia, criando assim um mundo cripto em rápida evolução. A Bitcoin é baseada na tecnologia “distributed ledger” e a essência da bitcoin é na verdade o saldo registado nesse “distributed ledger” (ou seja, UXTO, despesas de transação não gastas). A Bitcoin é, inquestionavelmente, uma invenção brilhante, mas a sua aplicação tem algumas limitações. Porque a linguagem de script baseada no UX só pode suportar transações simples, implementar uma lógica mais complexa na rede Bitcoin é difícil. Isso limitou o uso da Bitcoin ao “ouro digital”, tornando difícil tornar-se mais amplamente utilizado.
Inspirado na Bitcoin, Vitalik Buterin publicou “Ethereum: A Next-Generation Cryptocurrency and Descentralized Application Platform” na Bitcoin Magazine em 2014, na qual propôs pela primeira vez contratos inteligentes na tentativa de criar um sistema blockchain mais utilizado a partir de um protocolo básico, que agora é conhecido como Ethereum, a cadeia pública inteligente dominante neste momento.
No white paper da Ethereum, Vitalik menciona os objetivos do projeto: “O que a Ethereum pretende fornecer é uma blockchain com uma linguagem de programação Tira completa incorporada que pode ser usada para criar “contratos” que podem ser usados para codificar funções de transição de estado arbitrárias, permitindo que os utilizadores criem qualquer um dos sistemas descritos acima, bem como muitos outros que ainda não imaginámos, simplesmente escrevendo a lógica em algumas linhas de código.” Em palavras simples, trata-se de criar uma plataforma que pode executar contratos inteligentes e aplicações descentralizadas (DAPP).
Um contrato inteligente é semelhante a um “acordo aplicável” entre uma pessoa e uma máquina que executará assim que uma condição predefinida for satisfeita. Como resultado, os contratos inteligentes podem ser considerados um “intermediário de confiança”. A inovação mais significativa da Ethereum são os contratos inteligentes, que também são a base do seu vasto ecossistema. Ao contrário dos scripts de transações da Bitcoin, os contratos inteligentes da Ethereum são Turing-complete, o que significa que teoricamente é capaz de qualquer computação possível e, portanto, têm possibilidades ilimitadas.
Se a Bitcoin for essencialmente um “registro distribuído” com funções de script, a Ethereum provavelmente está mais perto de uma “máquina de estado distribuído”. As contas na Ethereum são classificadas em dois tipos: contas externas, controladas por usuários comuns usando as suas chaves particulares, e contas de contrato, que têm códigos de contrato armazenados internamente mas não chaves privadas correspondentes e, portanto, não pertencem a ninguém.
O estado de toda a rede Ethereum é uma estrutura de dados grande (Merkle-Patricia Tree) que contém o estado de todas as contas, os seus saldos, bem como as regras para mudar o estado. O estado de Ethereum está constantemente a mudar à medida que novos blocos são adicionados à cadeia. Assim, pode pensar no Ethereum como um “computador público distribuído” (uma máquina virtual) e os vários DAPPs como programas de software instalados neste computador.
Na Ethereum, um DAPP é essencialmente uma coleção de contratos inteligentes, cada um com a sua morada contratual única. Uma vez concluído o código do contrato, deve ser iniciado por uma transação externa para a conta do contrato. Os desenvolvedores podem criar facilmente DAPPs com base em contratos inteligentes e executá-los em máquinas virtuais Ethereum usando ferramentas oficiais. Como a máquina virtual Ethereum tem um poder de computação limitado, os usuários devem usar o ETH como “gás” para alimentar o DAPP e a máquina virtual.
Desde o início dos contratos inteligentes Ethereum, o número de DAPPs cresceu e a área de cobertura expandiu-se. A Vitalik imaginou três tipos de aplicações Ethereum no White Paper Ethereum: não financeiro, semifinanceiro e financeiro. As aplicações não financeiras incluem votação online, governança descentralizada, e assim por diante; as aplicações semi-financeiras incluem pagamentos de recompensas inteligentes, e assim por diante; e as aplicações financeiras (ou seja, Defi) são as mais influentes, com a Ethereum a fornecer uma abordagem contratual flexível e fiável para construir fichas nativas do protocolo, derivados financeiros, contratos de cobertura e outras aplicações.
Embora a Ethereum seja a cadeia pública mais popular com o mais diverso ecossistema DAPP, também enfrenta congestionamento da rede, fraca eficiência e taxas elevadas. Mais tarde, à medida que surgiu uma nova geração de cadeias públicas inteligentes de alto desempenho, como EOS, Solana e Flow, estabeleceram os seus próprios ecossistemas DAPP. Atualmente, as categorias mais populares são os jogos, o Defi, as coleções NFT e Social-Fi. Os DAPPs do jogo têm uma vantagem significativa em termos de número total e UAW (número de carteiras ativas exclusivas), enquanto os projetos do Defi (como Dex, empréstimos, etc.) lideram em termos de volume de transações.
Pode verificar os utilizadores ativos, o volume de transações e outros dados de vários DAPPs nas principais blockchains em sites de dados como DAPPRadar e DAPPreview. O número de DAPPs listados apenas no DAPPRadar tinha ultrapassado os 12 000 em novembro de 2022.
Fonte: DAPPRadar
O DAPp tem muitas semelhanças com a App na internet tradicional e a relação entre a DAPp e a blockchain é semelhante à entre a App e sistemas operacionais como IOS ou Android. Um DAPP funciona em blockchains, tal como uma aplicação é executada em vários sistemas operacionais. Usar um DAPP num navegador pode ser semelhante a usar um software SaaS para um utilizador.
Um DAPp típico consiste em três partes com funcionalidade semelhante à estrutura de três níveis típica de back-end (módulo empresarial), base de dados (módulo de armazenamento) e front-end (interface de utilizador) da aplicação.
Os contratos inteligentes servem como a base programática para implementar a lógica de negócios de uma DAPP. Os contratos inteligentes são armazenados na blockchain em endereços contratuais e os dados de entrada são passados entre endereços contratuais para realizar as funções do DAPP de acordo com uma lógica predefinida e desencadear a transformação do estado de toda a máquina virtual. Ao contrário de uma App tradicional, no entanto, o contrato inteligente também armazena o estado atual do DAPP, que é também a natureza da própria blockchain.
O processo do fluxo de dados está no centro de qualquer App ou DAPP. Os dados são transferidos do módulo de armazenamento para o módulo empresarial para processamento para que os utilizadores possam interagir com o front-end. Os dados de aplicativos são normalmente armazenados num servidor centralizado, enquanto os dados da DAPP podem ser armazenados inteiramente na cadeia; no entanto, por razões de eficiência e custo, muitos DAPPs armazenam a maioria dos dados fora da cadeia, em serviços como IPFS, e apenas armazenam dados importantes do módulo de negócios na blockchain.
A front-end é onde os usuários gerais podem facilmente acessar o uso do código de contrato inteligente mesmo sem conhecimentos detalhados de programação. Há pouca diferença no desenvolvimento front-end entre DAPp e App; ambos são construídos com tecnologias gerais, como HTML e JavaScript. No entanto, como usar um DAPP exige interação com contratos inteligentes, o front-end deve fornecer uma interface programática que permita aplicações de wallet (como Metamask).
Fonte: Ethereum DApp Architecture Fonte: A Arquitetura de uma Aplicação Web3
Os DAPPs têm as seguintes funcionalidades quando comparados com as apps tradicionais:
Os DAPPs não dependem de servidores centralizados mas de blockchains que funcionam em máquinas virtuais descentralizadas. Estes são os recursos essenciais dos DAPPs, mas também têm algumas vantagens e desvantagens significativas:
Se o servidor centralizado falhar, o programa ficará completamente indisponível; no entanto, para um DAPp, um único nó a descer não tem efeito na operação do programa na blockchain. Os DAPPs frequentemente têm custos operacionais mais baixos do que os Apps tradicionais porque os contratos inteligentes nunca param de funcionar depois que entram na cadeia. Os DAPPs têm frequentemente custos operacionais mais baixos do que as aplicações tradicionais.
A interação com os DAPPs é feita apenas através do endereço da carteira sem a necessidade de fornecer informações pessoais completas quando pede uma conta financeira geral. Isto não só elimina a necessidade de revelar a privacidade pessoal mas também reduz significativamente o limiar para que qualquer pessoa com uma carteira criptográfica possa facilmente aceder à maioria dos DAPPs.
Devido à característica inviolável da blockchain, os DAPPs dependem da lógica de código dos contratos inteligentes para operar, então, assim que for carregado para a cadeia, é impossível ser modificado a menos que o desenvolvedor mantenha a permissão para o alterar; e uma vez que o aplicativo for implementado, existirá para sempre e é teoricamente impossível restringir o acesso de qualquer pessoa no mundo.
Os DAPPs geralmente operam de forma menos eficiente que as aplicações tradicionais devido à descentralização e podem mesmo ficar temporariamente indisponíveis devido ao congestionamento da blockchain.
Devido à limitada capacidade de processamento da máquina virtual de blockchain, os utilizadores precisam pagar um certo valor da taxa de gás à rede para interagir com a Dapp, o que é difícil para os utilizadores que estão habituados às Apps tradicionais gratuitas.
Assim que o código do contrato inteligente estiver na cadeia, é difícil de modificar, o que torna o desenvolvimento e a manutenção da DAPP mais complexo. Também é difícil fixar o código a tempo assim que correr mal.
Visto que a blockchain é descentralizada, o código do DAPP precisa estar acessível ao público a todos os membros da comunidade. Isso também permite que os usuários façam a sua análise de código e prevejam o potencial do projeto.
As funções dos DAPPs são frequentemente implementadas através de vários fichas, seja o símbolo da blockchain correspondente (por exemplo, ETH) ou o símbolo emitido pelo próprio DAPP (por exemplo, UNI).
Embora o ecossistema DAPP esteja em rápido desenvolvimento, a influência geral dos DAPPs continua limitada em comparação com as aplicações de classe mundial no Web2. Podem surgir os seguintes gargalos durante a implementação ecológica do DAPP.
1.Escala do utilizador e limiar de aprendizagem:
Em termos de UAW, apenas cerca de 100 DAPs são superiores a 10.000. Mesmo os DAPPs mais populares só recebem centenas de milhares de endereços independentes por dia, o que definitivamente empobrece em comparação com o espaço da Web2.
Os utilizadores devem aprender conhecimentos básicos, como carteiras e blockchains, para usar DAPPs. Então, trocar de apps Web2 para DAPPs vai acarretar custos de aprendizagem. Por enquanto, os recursos prometidos anti-censura e privacidade dos DAPPs não demonstraram o seu valor real, fazendo com que os DAPPs se mantenham um nicho de produto entre os geeks criptoativos.
2.Riscos de iteração de produtos e de segurança
Para colocar os usuários em primeiro lugar e melhorar a qualidade do produto na operação, os produtos na Web2 seguem frequentemente a regra de desenvolvimento de “pequenos passos, iteração rápida.” No entanto, é difícil mudar o código do contrato de um DPp uma vez online. Se houver erros importantes no código após o lançamento, trará consequências graves. Como resultado, o proprietário do projeto deve executar um projeto completo do produto e uma auditoria de código antes que o DAPp fique online para evitar todos os problemas possíveis.
3.Infraestrutura pública de Blockchain
Ethereum, a cadeia pública inteligente número um atual, sofre de baixa eficiência e alto custo. Em comparação com os 24 000 TPS da VISA, o TPS da Ethereum com cerca de 15 anos é insuficiente para atender à sua visão de se tornar uma “camada de liquidação global”. O tempo dirá se a futura blockchain pode quebrar o triângulo impossível e encontrar um equilíbrio entre eficiência, segurança e descentralização.
Os DAPPs são cruciais para a próxima geração da Internet, conhecida como Web3, e podem inaugurar um novo modelo de negócio para a indústria da informação. No que diz respeito à usabilidade, os DAPPs são muito semelhantes aos aplicativos Web2, mas os DAPPs têm recursos distintos de anti-censura e privacidade.
Além disso, usar DAPPs requer uma conexão com uma carteira, tornando-a intimamente relacionada com a propriedade pessoal do usuário. Para evitar a perda de propriedade, deve avaliar cuidadosamente a segurança do DAPP antes de conectar a sua carteira a ela. O melhor é escolher um DAPP com uma auditoria de código de agência fiável.
Em 3 de janeiro de 2009, Satoshi Nakamoto extraiu o bloco de génese da Bitcoin num pequeno servidor em Helsínquia, criando assim um mundo cripto em rápida evolução. A Bitcoin é baseada na tecnologia “distributed ledger” e a essência da bitcoin é na verdade o saldo registado nesse “distributed ledger” (ou seja, UXTO, despesas de transação não gastas). A Bitcoin é, inquestionavelmente, uma invenção brilhante, mas a sua aplicação tem algumas limitações. Porque a linguagem de script baseada no UX só pode suportar transações simples, implementar uma lógica mais complexa na rede Bitcoin é difícil. Isso limitou o uso da Bitcoin ao “ouro digital”, tornando difícil tornar-se mais amplamente utilizado.
Inspirado na Bitcoin, Vitalik Buterin publicou “Ethereum: A Next-Generation Cryptocurrency and Descentralized Application Platform” na Bitcoin Magazine em 2014, na qual propôs pela primeira vez contratos inteligentes na tentativa de criar um sistema blockchain mais utilizado a partir de um protocolo básico, que agora é conhecido como Ethereum, a cadeia pública inteligente dominante neste momento.
No white paper da Ethereum, Vitalik menciona os objetivos do projeto: “O que a Ethereum pretende fornecer é uma blockchain com uma linguagem de programação Tira completa incorporada que pode ser usada para criar “contratos” que podem ser usados para codificar funções de transição de estado arbitrárias, permitindo que os utilizadores criem qualquer um dos sistemas descritos acima, bem como muitos outros que ainda não imaginámos, simplesmente escrevendo a lógica em algumas linhas de código.” Em palavras simples, trata-se de criar uma plataforma que pode executar contratos inteligentes e aplicações descentralizadas (DAPP).
Um contrato inteligente é semelhante a um “acordo aplicável” entre uma pessoa e uma máquina que executará assim que uma condição predefinida for satisfeita. Como resultado, os contratos inteligentes podem ser considerados um “intermediário de confiança”. A inovação mais significativa da Ethereum são os contratos inteligentes, que também são a base do seu vasto ecossistema. Ao contrário dos scripts de transações da Bitcoin, os contratos inteligentes da Ethereum são Turing-complete, o que significa que teoricamente é capaz de qualquer computação possível e, portanto, têm possibilidades ilimitadas.
Se a Bitcoin for essencialmente um “registro distribuído” com funções de script, a Ethereum provavelmente está mais perto de uma “máquina de estado distribuído”. As contas na Ethereum são classificadas em dois tipos: contas externas, controladas por usuários comuns usando as suas chaves particulares, e contas de contrato, que têm códigos de contrato armazenados internamente mas não chaves privadas correspondentes e, portanto, não pertencem a ninguém.
O estado de toda a rede Ethereum é uma estrutura de dados grande (Merkle-Patricia Tree) que contém o estado de todas as contas, os seus saldos, bem como as regras para mudar o estado. O estado de Ethereum está constantemente a mudar à medida que novos blocos são adicionados à cadeia. Assim, pode pensar no Ethereum como um “computador público distribuído” (uma máquina virtual) e os vários DAPPs como programas de software instalados neste computador.
Na Ethereum, um DAPP é essencialmente uma coleção de contratos inteligentes, cada um com a sua morada contratual única. Uma vez concluído o código do contrato, deve ser iniciado por uma transação externa para a conta do contrato. Os desenvolvedores podem criar facilmente DAPPs com base em contratos inteligentes e executá-los em máquinas virtuais Ethereum usando ferramentas oficiais. Como a máquina virtual Ethereum tem um poder de computação limitado, os usuários devem usar o ETH como “gás” para alimentar o DAPP e a máquina virtual.
Desde o início dos contratos inteligentes Ethereum, o número de DAPPs cresceu e a área de cobertura expandiu-se. A Vitalik imaginou três tipos de aplicações Ethereum no White Paper Ethereum: não financeiro, semifinanceiro e financeiro. As aplicações não financeiras incluem votação online, governança descentralizada, e assim por diante; as aplicações semi-financeiras incluem pagamentos de recompensas inteligentes, e assim por diante; e as aplicações financeiras (ou seja, Defi) são as mais influentes, com a Ethereum a fornecer uma abordagem contratual flexível e fiável para construir fichas nativas do protocolo, derivados financeiros, contratos de cobertura e outras aplicações.
Embora a Ethereum seja a cadeia pública mais popular com o mais diverso ecossistema DAPP, também enfrenta congestionamento da rede, fraca eficiência e taxas elevadas. Mais tarde, à medida que surgiu uma nova geração de cadeias públicas inteligentes de alto desempenho, como EOS, Solana e Flow, estabeleceram os seus próprios ecossistemas DAPP. Atualmente, as categorias mais populares são os jogos, o Defi, as coleções NFT e Social-Fi. Os DAPPs do jogo têm uma vantagem significativa em termos de número total e UAW (número de carteiras ativas exclusivas), enquanto os projetos do Defi (como Dex, empréstimos, etc.) lideram em termos de volume de transações.
Pode verificar os utilizadores ativos, o volume de transações e outros dados de vários DAPPs nas principais blockchains em sites de dados como DAPPRadar e DAPPreview. O número de DAPPs listados apenas no DAPPRadar tinha ultrapassado os 12 000 em novembro de 2022.
Fonte: DAPPRadar
O DAPp tem muitas semelhanças com a App na internet tradicional e a relação entre a DAPp e a blockchain é semelhante à entre a App e sistemas operacionais como IOS ou Android. Um DAPP funciona em blockchains, tal como uma aplicação é executada em vários sistemas operacionais. Usar um DAPP num navegador pode ser semelhante a usar um software SaaS para um utilizador.
Um DAPp típico consiste em três partes com funcionalidade semelhante à estrutura de três níveis típica de back-end (módulo empresarial), base de dados (módulo de armazenamento) e front-end (interface de utilizador) da aplicação.
Os contratos inteligentes servem como a base programática para implementar a lógica de negócios de uma DAPP. Os contratos inteligentes são armazenados na blockchain em endereços contratuais e os dados de entrada são passados entre endereços contratuais para realizar as funções do DAPP de acordo com uma lógica predefinida e desencadear a transformação do estado de toda a máquina virtual. Ao contrário de uma App tradicional, no entanto, o contrato inteligente também armazena o estado atual do DAPP, que é também a natureza da própria blockchain.
O processo do fluxo de dados está no centro de qualquer App ou DAPP. Os dados são transferidos do módulo de armazenamento para o módulo empresarial para processamento para que os utilizadores possam interagir com o front-end. Os dados de aplicativos são normalmente armazenados num servidor centralizado, enquanto os dados da DAPP podem ser armazenados inteiramente na cadeia; no entanto, por razões de eficiência e custo, muitos DAPPs armazenam a maioria dos dados fora da cadeia, em serviços como IPFS, e apenas armazenam dados importantes do módulo de negócios na blockchain.
A front-end é onde os usuários gerais podem facilmente acessar o uso do código de contrato inteligente mesmo sem conhecimentos detalhados de programação. Há pouca diferença no desenvolvimento front-end entre DAPp e App; ambos são construídos com tecnologias gerais, como HTML e JavaScript. No entanto, como usar um DAPP exige interação com contratos inteligentes, o front-end deve fornecer uma interface programática que permita aplicações de wallet (como Metamask).
Fonte: Ethereum DApp Architecture Fonte: A Arquitetura de uma Aplicação Web3
Os DAPPs têm as seguintes funcionalidades quando comparados com as apps tradicionais:
Os DAPPs não dependem de servidores centralizados mas de blockchains que funcionam em máquinas virtuais descentralizadas. Estes são os recursos essenciais dos DAPPs, mas também têm algumas vantagens e desvantagens significativas:
Se o servidor centralizado falhar, o programa ficará completamente indisponível; no entanto, para um DAPp, um único nó a descer não tem efeito na operação do programa na blockchain. Os DAPPs frequentemente têm custos operacionais mais baixos do que os Apps tradicionais porque os contratos inteligentes nunca param de funcionar depois que entram na cadeia. Os DAPPs têm frequentemente custos operacionais mais baixos do que as aplicações tradicionais.
A interação com os DAPPs é feita apenas através do endereço da carteira sem a necessidade de fornecer informações pessoais completas quando pede uma conta financeira geral. Isto não só elimina a necessidade de revelar a privacidade pessoal mas também reduz significativamente o limiar para que qualquer pessoa com uma carteira criptográfica possa facilmente aceder à maioria dos DAPPs.
Devido à característica inviolável da blockchain, os DAPPs dependem da lógica de código dos contratos inteligentes para operar, então, assim que for carregado para a cadeia, é impossível ser modificado a menos que o desenvolvedor mantenha a permissão para o alterar; e uma vez que o aplicativo for implementado, existirá para sempre e é teoricamente impossível restringir o acesso de qualquer pessoa no mundo.
Os DAPPs geralmente operam de forma menos eficiente que as aplicações tradicionais devido à descentralização e podem mesmo ficar temporariamente indisponíveis devido ao congestionamento da blockchain.
Devido à limitada capacidade de processamento da máquina virtual de blockchain, os utilizadores precisam pagar um certo valor da taxa de gás à rede para interagir com a Dapp, o que é difícil para os utilizadores que estão habituados às Apps tradicionais gratuitas.
Assim que o código do contrato inteligente estiver na cadeia, é difícil de modificar, o que torna o desenvolvimento e a manutenção da DAPP mais complexo. Também é difícil fixar o código a tempo assim que correr mal.
Visto que a blockchain é descentralizada, o código do DAPP precisa estar acessível ao público a todos os membros da comunidade. Isso também permite que os usuários façam a sua análise de código e prevejam o potencial do projeto.
As funções dos DAPPs são frequentemente implementadas através de vários fichas, seja o símbolo da blockchain correspondente (por exemplo, ETH) ou o símbolo emitido pelo próprio DAPP (por exemplo, UNI).
Embora o ecossistema DAPP esteja em rápido desenvolvimento, a influência geral dos DAPPs continua limitada em comparação com as aplicações de classe mundial no Web2. Podem surgir os seguintes gargalos durante a implementação ecológica do DAPP.
1.Escala do utilizador e limiar de aprendizagem:
Em termos de UAW, apenas cerca de 100 DAPs são superiores a 10.000. Mesmo os DAPPs mais populares só recebem centenas de milhares de endereços independentes por dia, o que definitivamente empobrece em comparação com o espaço da Web2.
Os utilizadores devem aprender conhecimentos básicos, como carteiras e blockchains, para usar DAPPs. Então, trocar de apps Web2 para DAPPs vai acarretar custos de aprendizagem. Por enquanto, os recursos prometidos anti-censura e privacidade dos DAPPs não demonstraram o seu valor real, fazendo com que os DAPPs se mantenham um nicho de produto entre os geeks criptoativos.
2.Riscos de iteração de produtos e de segurança
Para colocar os usuários em primeiro lugar e melhorar a qualidade do produto na operação, os produtos na Web2 seguem frequentemente a regra de desenvolvimento de “pequenos passos, iteração rápida.” No entanto, é difícil mudar o código do contrato de um DPp uma vez online. Se houver erros importantes no código após o lançamento, trará consequências graves. Como resultado, o proprietário do projeto deve executar um projeto completo do produto e uma auditoria de código antes que o DAPp fique online para evitar todos os problemas possíveis.
3.Infraestrutura pública de Blockchain
Ethereum, a cadeia pública inteligente número um atual, sofre de baixa eficiência e alto custo. Em comparação com os 24 000 TPS da VISA, o TPS da Ethereum com cerca de 15 anos é insuficiente para atender à sua visão de se tornar uma “camada de liquidação global”. O tempo dirá se a futura blockchain pode quebrar o triângulo impossível e encontrar um equilíbrio entre eficiência, segurança e descentralização.
Os DAPPs são cruciais para a próxima geração da Internet, conhecida como Web3, e podem inaugurar um novo modelo de negócio para a indústria da informação. No que diz respeito à usabilidade, os DAPPs são muito semelhantes aos aplicativos Web2, mas os DAPPs têm recursos distintos de anti-censura e privacidade.
Além disso, usar DAPPs requer uma conexão com uma carteira, tornando-a intimamente relacionada com a propriedade pessoal do usuário. Para evitar a perda de propriedade, deve avaliar cuidadosamente a segurança do DAPP antes de conectar a sua carteira a ela. O melhor é escolher um DAPP com uma auditoria de código de agência fiável.