<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Igor Lourenço</title>
    <description>The latest articles on DEV Community by Igor Lourenço (@igorlourenco).</description>
    <link>https://dev.to/igorlourenco</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F774556%2Fc5394f1d-95cc-4653-bb94-69c6e6c1ce0f.jpeg</url>
      <title>DEV Community: Igor Lourenço</title>
      <link>https://dev.to/igorlourenco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/igorlourenco"/>
    <language>en</language>
    <item>
      <title>Revolutionize Your React Development with PrismaDB</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Mon, 13 Feb 2023 21:12:01 +0000</pubDate>
      <link>https://dev.to/igorlourenco/revolutionize-your-react-development-with-prismadb-2255</link>
      <guid>https://dev.to/igorlourenco/revolutionize-your-react-development-with-prismadb-2255</guid>
      <description>&lt;p&gt;As a React developer, you're always looking for ways to improve the performance and scalability of your projects. That's where PrismaDB comes in.&lt;/p&gt;

&lt;p&gt;Prisma is a modern database toolkit that makes it easy to interact with databases using TypeScript. Its main competitors are traditional ORMs (Object-Relational Mapping) such as Sequelize, TypeORM, and Doctrine.&lt;/p&gt;

&lt;p&gt;The purpose of Prisma is to increase the efficiency of application developers when they are working with databases. The following are some of the ways in which Prisma accomplishes this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Object-based thinking instead of mapping relational data&lt;/li&gt;
&lt;li&gt;Queries instead of complex model objects in classes&lt;/li&gt;
&lt;li&gt;A unified source of truth for both database and application models&lt;/li&gt;
&lt;li&gt;Protective constraints to prevent common mistakes and negative practices&lt;/li&gt;
&lt;li&gt;An interface that makes it easy to do things correctly ("a safe haven")&lt;/li&gt;
&lt;li&gt;Safe database queries that can be verified before compiling&lt;/li&gt;
&lt;li&gt;Reduced repetitive code, allowing developers to concentrate on the crucial aspects of their application&lt;/li&gt;
&lt;li&gt;Code editors that offer auto-completion, removing the need to consult documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the key advantages of Prisma is improved performance. Prisma generates optimized database queries, reducing the load on your server and making your applications run faster. Another benefit of using Prisma is scalability. Prisma is designed to handle growth, so you can focus on building your application as your user base grows.&lt;/p&gt;

&lt;p&gt;Unlike traditional ORMs, which can have a steep learning curve, Prisma provides a simple and intuitive interface for working with your database, making it easy to interact with your data without having to learn complex syntax. Whether you're performing common database operations like creating, reading, updating, and deleting records, or more advanced tasks, Prisma has you covered.&lt;/p&gt;

&lt;p&gt;Stay ahead of the curve as a React developer by adopting Prisma. &lt;a href="https://www.prisma.io/docs/concepts/overview/should-you-use-prisma"&gt;It's a smart choice&lt;/a&gt; that will take your projects to the next level. I'm doing that.&lt;/p&gt;




&lt;p&gt;References:&lt;br&gt;
&lt;a href="https://www.prisma.io/docs/concepts/overview/should-you-use-prisma"&gt;https://www.prisma.io/docs/concepts/overview/should-you-use-prisma&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.prisma.io/docs/concepts/overview/why-prisma"&gt;https://www.prisma.io/docs/concepts/overview/why-prisma&lt;/a&gt;&lt;/p&gt;

</description>
      <category>prisma</category>
      <category>react</category>
      <category>typescript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Deploy your Smart Contracts to Mainnet Safely</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Tue, 03 Jan 2023 12:35:41 +0000</pubDate>
      <link>https://dev.to/igorlourenco/how-to-deploy-smart-contracts-to-mainnet-safely-3fmk</link>
      <guid>https://dev.to/igorlourenco/how-to-deploy-smart-contracts-to-mainnet-safely-3fmk</guid>
      <description>&lt;p&gt;To ensure the reliability of your smart contract when deploying it on mainnets, it is important to extensively test it on both local and public testnets. Here are some steps you can take to do so:&lt;/p&gt;

&lt;p&gt;• Create a comprehensive test suite using tools like Forge or Hardhat to thoroughly test each function of your smart contract. This will help you identify and fix any bugs before deployment.&lt;/p&gt;

&lt;p&gt;• Deploy your smart contract on a testnet and offer bug bounties to encourage other developers to audit it, test it, and submit solutions for any bugs they find.&lt;/p&gt;

&lt;p&gt;• Invite a diverse group of people to test your smart contract, including other developers, investors, and potential users of the application that will utilize the smart contract.&lt;/p&gt;

&lt;p&gt;• When ready for the mainnet, consider a beta deployment in which certain functions are only available for a trial period. After this period, you can use the upgradeability feature to replace it with a fully tested and finalized version (example code in the image below).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CdUosGbh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gyms3negny95f8fv7c51.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CdUosGbh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gyms3negny95f8fv7c51.jpeg" alt="Example Code" width="602" height="301"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>What are Rollups, Ethereum's big scalability insight?</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Fri, 17 Dec 2021 19:05:40 +0000</pubDate>
      <link>https://dev.to/igorlourenco/what-are-rollups-ethereums-big-scalability-insight-21pj</link>
      <guid>https://dev.to/igorlourenco/what-are-rollups-ethereums-big-scalability-insight-21pj</guid>
      <description>&lt;p&gt;Rollup is a way of scaling operations on Ethereum that consists of executing transactions outside of Layer 1 (Ethereum Mainnet) and then indexing everything on Layer 1, using the advantage of being outside of Mainnet (speed), but still with the same security protocols.&lt;/p&gt;

&lt;p&gt;Taking these transactions off Mainnet allows more transactions to be made and this becomes cheaper, because in Rollups, only some transaction data is sent to the main network, after which it is executed in a separate network, compatible with Mainnet (EVM- based).&lt;/p&gt;

&lt;p&gt;Once the transactions are rolled up, it's time to group them into batches of transactions and then send them for validation on the main network, the Ethereum Mainnet.&lt;/p&gt;

&lt;p&gt;The process is summed up: executing transactions, taking the data, compressing it and "cumulating" it in the main chain in a single batch. Hence the name Rollup (a rollup).&lt;/p&gt;

&lt;p&gt;But how do you know that this data is really trustworthy, not someone wanting to manipulate everything for their own benefit? Proving: each type of rollup is responsible for some smart contracts on Ethereum Mainnet, which will validate deposits and withdrawals, in addition to verifying authenticity.&lt;/p&gt;

&lt;p&gt;Basically, we have two types of rollups, Optimistic Rollup (optimistic) and ZK Rollup (zero knowledge), which differ from each other in the way they validate and prove transactions.&lt;/p&gt;

&lt;p&gt;Below, I'll explain the basics of each of the types, but over the next few days I'll create threads explaining each one separately and in more detail, for a clearer understanding. First, Optimistic Rollup:&lt;/p&gt;

&lt;p&gt;As the name implies, Optimistic Rollup takes an optimistic stance in relation to the data it receives and posts it on Ethereum as true and consistent. If they are really consistent, nothing more needs to be done, but in case of fraud, the person who sent the transaction is punished.&lt;/p&gt;

&lt;p&gt;To achieve this, Optimistic Rollups implement a dispute resolution system that is capable of verifying evidence of fraud, detecting fraudulent transactions and discouraging corrupt ones from submitting other invalid transactions or performing incorrect validations.&lt;/p&gt;

&lt;p&gt;When a fraud is sent, the system enters dispute resolution mode. So, the suspicious transaction is executed again, this time on Ethereum Mainnet. If the execution proves that the transaction was actually fraudulent, the party that presented it is punished.&lt;/p&gt;

&lt;p&gt;To prevent corrupt parties from spamming the network with incorrect evidence of fraud, parties who wish to send evidence of fraud often also need to provide a link that can be subject to court.&lt;/p&gt;

&lt;p&gt;In order to be able to execute a rollup transaction on Ethereum Mainnet, Optimistic Rollups must implement a system that is capable of playing back a transaction with the same state that was present when the transaction was originally executed in the rollup.&lt;/p&gt;

&lt;p&gt;This is one of the tricky parts of Optimistic Rollups and is usually achieved by creating a separate smart contract that replaces certain function calls with a rollup state.&lt;/p&gt;

&lt;p&gt;In contrast, in ZK Rollups there is no dispute resolution. This is possible by leveraging a smart piece of cryptography called Zero-Knowledge evidence, hence the name ZK rollups. In this model, each batch posted to tier 1 includes a cryptographic proof called ZK-SNARK.&lt;/p&gt;

&lt;p&gt;Evidence can be quickly verified by smart contract on Ethereum when the transaction batch is submitted and invalid batches can be rejected immediately.&lt;/p&gt;

&lt;p&gt;At first, this is simple, but, in practice, for this to work, there is a complex layer of cryptography and mathematics, the result of hours of work by several researchers.&lt;/p&gt;

&lt;p&gt;Besides this one, there are other differences between Optimistic and ZK Rollups. Briefly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Time to withdraw funds: Optimistic Rollups can generally take days to allow withdrawals, as the implementation method expects a consensus on proof of fraud. ZK Rollups are much faster once the batch of transactions and a proof of validity are submitted.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compatibility: Due to the complexity of the technology, it's much harder to create an EVM-compatible ZK Rollup, which makes it harder to scale apps without having to rewrite much of their logic. Optimistic Rollups use 99% of smart contracts with no need to change.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;As should have been clear, Rullups is a pretty big subject. This thread was more to talk about the topic and leave it open for study. Over the next few days, I will be doing separate articles explaining Optimistic Rollups and ZK Rollups better and separately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://finematics.com/rollups-explained/"&gt;https://finematics.com/rollups-explained/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://vitalik.ca/general/2021/01/05/rollup.html"&gt;https://vitalik.ca/general/2021/01/05/rollup.html&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>scalability</category>
      <category>web3</category>
    </item>
    <item>
      <title>O que são os Rollups, a grande ideia de escalabilidade em Ethereum?</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Thu, 16 Dec 2021 21:25:38 +0000</pubDate>
      <link>https://dev.to/igorlourenco/o-que-sao-os-rollups-a-grande-sacada-da-escalabilidade-em-ethereum-5fml</link>
      <guid>https://dev.to/igorlourenco/o-que-sao-os-rollups-a-grande-sacada-da-escalabilidade-em-ethereum-5fml</guid>
      <description>&lt;p&gt;Rollup é uma forma de escalar operações na Ethereum que consiste em executar as transações fora da Layer 1 (Ethereum Mainnet) e, depois, indexar tudo na Layer 1, usando a vantagem de estar fora da Mainnet (velocidade), mas ainda com os mesmos protocolos de segurança.&lt;/p&gt;

&lt;p&gt;Tirar essas transações da Mainnet permite que mais transações sejam feitas e que isso se torne mais barato, pois em Rollups, apenas alguns dados das transações são mandados para a rede principal, depois delas executadas em uma rede separada, compatível com a Mainnet (EVM-based).&lt;/p&gt;

&lt;p&gt;Feitas as transações em rollup, é hora de agrupá-las em lotes de transações e, aí sim, mandar para validação na rede principal, a Ethereum Mainnet.&lt;/p&gt;

&lt;p&gt;Resumindo o processo: executar transações, pegar os dados, compactá-los e os "acumular" na cadeia principal em um único lote.  Daí vem o nome Rollup (um acúmulo).&lt;/p&gt;

&lt;p&gt;Porém, como saber que esses dados são realmente confiáveis, não alguém querendo manipular tudo para benefício próprio? Provando: cada tipo de rollup é responsável por alguns smart contracts na Ethereum Mainnet, que vão validar depósitos e saques, além de verificar a autenticidade.&lt;/p&gt;

&lt;p&gt;Basicamente, temos dois tipos de rollups, Optimistic Rollup (otimista) e ZK Rollup (zero conhecimento), que diferem entre si pela forma com que validam e provam as transações. &lt;/p&gt;

&lt;p&gt;Abaixo, vou explicar o básico de cada um dos tipos, mas nos próximos dias vou criar threads explicando cada um separadamente e de forma mais detalhada, pra um entendimento mais claro. Primeiro, Optimistic Rollup:&lt;/p&gt;

&lt;p&gt;Como o nome já diz, o Optimistic Rollup assume uma postura otimista em relação aos dados que recebe e os posta na Ethereum como verdadeiros e consistentes. Caso sejam realmente consistentes, nada mais precisa ser feito, mas, em caso de fraude, quem enviou a transação é punido.&lt;/p&gt;

&lt;p&gt;Para conseguir isso, Optimistic Rollups implementam um sistema de resolução de disputas que é capaz de verificar as provas de fraude, detectar transações fraudulentas e desincentivar os corruptos de enviar outras transações inválidas ou fazer validações incorretas.&lt;/p&gt;

&lt;p&gt;Quando uma de fraude é enviada, o sistema entra no modo de resolução de disputas. Assim, a transação suspeita é executada novamente, agora na Ethereum Mainnet. Caso a execução comprove que a transação foi realmente fraudulenta, a parte que a apresentou é punida.&lt;/p&gt;

&lt;p&gt;Para evitar que os partes corruptas enviem spam para a rede com provas de fraude incorretas, as partes que desejam enviar provas de fraude geralmente também precisam fornecer um vínculo que pode ser sujeito a corte.&lt;/p&gt;

&lt;p&gt;Para poder executar uma transação de rollup na Ethereum Mainnet, Optimistic Rollups devem implementar um sistema que seja capaz de reproduzir uma transação com o mesmo estado que estava presente quando a transação foi originalmente executada no rollup.&lt;/p&gt;

&lt;p&gt;Essa é uma das partes complicadas dos Optimistic Rollups e geralmente é conseguida com a criação de um smart contract separado que substitui certas chamadas de função por um estado do rollup.&lt;/p&gt;

&lt;p&gt;Diferentemente, nos ZK Rollups não há resolução de disputa. Isso é possível aproveitando uma peça inteligente de criptografia chamada provas Zero-Knowledge, daí o nome rollups de ZK. Neste modelo, cada lote postado na camada 1 inclui uma prova criptográfica chamada ZK-SNARK.&lt;/p&gt;

&lt;p&gt;A prova pode ser verificada rapidamente pelo smart contract na Ethereum quando o lote de transação é enviado e lotes inválidos podem ser rejeitados imediatamente. &lt;/p&gt;

&lt;p&gt;De cara, isso é simples, mas, na prática, para que isso funcione, existe uma camada complexa de criptografia e matemática, fruto de horas do trabalho vários pesquisadores.&lt;/p&gt;

&lt;p&gt;Além da dessa, existem outras diferenças entre Optimistic e ZK Rollups. Resumidamente:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Tempo de saque de fundos: Optimistic Rollups geralmente podem demorar dias para permitir os saques, já que a forma de implementação espera um consensosobre provas de fraude. Os ZK Rollups são bem mais rápidos, assim que o lote de transações e uma prova de validade são submetidos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compatibilidade: devido à complexidade da tecnologia, é muito mais difícil criar um ZK Rollup compatível com EVM, o que torna mais difícil escalar apps sem ter que reescrever boa parte da lógica deles. Optimistic Rollups usam 99% dos smart contracts sem necessidade de alteração.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Como deve ter ficado claro, Rullups é um assunto bem extenso. Essa thread foi mais p/ falar sobre o tema e deixar aberto para estudo. Nos próximos dias, vou fazer artigos separados explicando Optimistic Rollups e ZK Rollups melhor e separadamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Referências:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://finematics.com/rollups-explained/"&gt;https://finematics.com/rollups-explained/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://vitalik.ca/general/2021/01/05/rollup.html"&gt;https://vitalik.ca/general/2021/01/05/rollup.html&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Ethereum Network Scalability: Layer 2, Rollups, Sidechains and Sharding</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Tue, 14 Dec 2021 20:25:31 +0000</pubDate>
      <link>https://dev.to/igorlourenco/ethereum-network-scalability-layer-2-rollups-sidechains-and-sharding-2a8l</link>
      <guid>https://dev.to/igorlourenco/ethereum-network-scalability-layer-2-rollups-sidechains-and-sharding-2a8l</guid>
      <description>&lt;p&gt;Article taken from &lt;a href="https://twitter.com/igorlourencox/status/1470489611944275977"&gt;this thread&lt;/a&gt;, made by me in Portuguese (BR).&lt;/p&gt;

&lt;p&gt;With the increase in popularity and influx of users on the Ethereum network, costs have increased and the speed with which transactions are carried out has decreased. Then came the need for a work more focused on scalability.&lt;/p&gt;

&lt;p&gt;The biggest problems to be solved are the slowness and high cost of sending transactions, which is quite common in what we call Layer 1 (first layer) of the Ethereum network, the Ethereum Mainnet.&lt;/p&gt;

&lt;p&gt;Hence the solutions known to us as Layer 2, such as &lt;a href="https://twitter.com/0xPolygon"&gt;Polygon&lt;/a&gt; and &lt;a href="https://twitter.com/arbitrum"&gt;Arbitrum&lt;/a&gt;, which mainly seek to make transactions faster and cheaper, but without giving up the security and decentralization of Layer 1.&lt;/p&gt;

&lt;p&gt;These characteristics, security and decentralization, are essential for the functioning of a (real) blockchain, and they can be maximized with the reduction of entry barriers, both for users and for nodes (machines) validating the transaction.&lt;/p&gt;

&lt;p&gt;Layer 2 solutions are called "off-chain solutions" because they are not tied directly to the Ethereum blockchain, but are just derived from it, adopting security and decentralization protocols similar to Mainnnet's.&lt;/p&gt;

&lt;p&gt;In this model, we basically have transactions sent to this secondary layer instead of being submitted directly to the main network. Once this is done, these transactions are anchored on Ethereum Mainnet and become immutable.&lt;/p&gt;

&lt;p&gt;Another type of off-chain solution is Rollups, which essentially consist of executing transactions outside Mainnet and then sending them to a block there.&lt;/p&gt;

&lt;p&gt;The difference with Layer 2 is that since transactions are sent directly to a Layer 1 block, a different network is not needed and the original Layer 1 security and decentralization protocols are used directly.&lt;/p&gt;

&lt;p&gt;Finally, we have solutions called Sidechains, which are basically blockchains based on EVM (Etherm Virtual Machine) that run independently of Ethereum Mainnet, such as &lt;a href="https://twitter.com/FantomFDN"&gt;Fantom&lt;/a&gt; and &lt;a href="https://twitter.com/SkaleNetwork"&gt;Skale&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;But it's not over; the existence of off-chain solutions in this case implies the existence of on-chain solutions, there is one in particular called Sharding. This concept is not specific to blockchains, it is already well known in computer science.&lt;/p&gt;

&lt;p&gt;Sharding is literally a fragmentation of the database to distribute the loading and validation of information, dividing Mainnet into 64 smaller networks. With low hardware requirements, the number of nodes increases (decentralization and security). Everyone wins.&lt;/p&gt;

&lt;p&gt;However, this solution can only be implemented once the legendary Ethereum 2.0 becomes a reality, which God only knows when it will happen, but the devs have promised by the end of 2022.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://ethereum.org/en/developers/docs/scaling/"&gt;https://ethereum.org/en/developers/docs/scaling/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ethereum.org/en/developers/docs/scaling/sidechains/"&gt;https://ethereum.org/en/developers/docs/scaling/sidechains/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ethereum.org/en/eth2/shard-chains/"&gt;https://ethereum.org/en/eth2/shard-chains/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web3</category>
    </item>
    <item>
      <title>Escalabilidade na rede Ethereum: Layer 2, Rollups, Sidechains e Sharding [PT-BR]</title>
      <dc:creator>Igor Lourenço</dc:creator>
      <pubDate>Tue, 14 Dec 2021 20:11:22 +0000</pubDate>
      <link>https://dev.to/igorlourenco/escalabilidade-na-rede-ethereum-layer-2-rollups-sidechains-e-sharding-1a3b</link>
      <guid>https://dev.to/igorlourenco/escalabilidade-na-rede-ethereum-layer-2-rollups-sidechains-e-sharding-1a3b</guid>
      <description>&lt;p&gt;Com o aumento de popularidade e e fluxo de usuários na rede Ethereum, os custos aumentaram e a velocidade com que as transações são efetivadas diminuiu. Aí surgiu a necessidade de um trabalho mais voltado para a escalabilidade.&lt;/p&gt;

&lt;p&gt;Os maiores problemas a serem resolvidos são a lentidão e o alto custo no envio de transações, o que é bem comum no que chamamos de Layer 1 (primeira camada) da rede Ethereum, a Ethereum Mainnet.&lt;/p&gt;

&lt;p&gt;Daí surgem as soluções conhecidas pela gente por Layer 2, como &lt;a href="https://twitter.com/0xPolygon"&gt;Polygon&lt;/a&gt; e &lt;a href="https://twitter.com/arbitrum"&gt;Arbitrum&lt;/a&gt;, que buscam principalmente fazer com que as transações sejam mais rápidas e baratas, mas sem abrir mão da segurança e descentralização da Layer 1.&lt;/p&gt;

&lt;p&gt;Essas características, segurança e descentralização, são imprescindíveis para o funcionamento de uma blockchain (de verdade), e elas podem ser maximizadas com a diminuição das barreiras de entrada, tanto de usuários quanto de nós (máquinas) validadores de transação.&lt;/p&gt;

&lt;p&gt;As soluções de Layer 2 são chamadas "soluções off-chain", porque elas não são ligadas diretamente à blockchain Ethereum, sendo apenas derivadas dela, adotando protocolos de segurança e descentralização parecidos com o da Mainnnet.&lt;/p&gt;

&lt;p&gt;Nesse modelo, basicamente temos transações enviadas para essa camada secundária em vez de serem submetidas diretamente para a rede principal. Feito isso, essas transações são ancoradas na Ethereum Mainnet e tornam-se imutáveis.&lt;/p&gt;

&lt;p&gt;Outro tipo de solução off-chain são os Rollups, que consistem essencialmente em executar transações fora da Mainnet e, depois, mandar elas pra um bloco de lá. &lt;/p&gt;

&lt;p&gt;A diferença para as Layer 2 é que, como as transações são mandadas diretamente para um bloco da Layer 1, não é necessária uma rede diferente e os protocolos originais de segurança e descentralização da Layer 1 são usados diretamente.&lt;/p&gt;

&lt;p&gt;Por final, temos as soluções chamadas Sidechains, que são basicamente blockchains baseadas na EVM (Etherem Virtual Machine) que rodam independentes da Ethereum Mainnet, como a &lt;a href="https://twitter.com/FantomFDN"&gt;Fantom&lt;/a&gt; e a &lt;a href="https://twitter.com/SkaleNetwork"&gt;Skale&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Mas não acabou; a existência de soluções off-chain nesse caso implicam na existência de soluções on-chain, tem uma em especial chamada Sharding. Esse conceito não é específico das blockchains, já é algo conhecido nas ciências da computação.&lt;/p&gt;

&lt;p&gt;Sharding consiste literalmente em uma fragmentação do banco de dados para distribuir o carregamento e validação de informações, dividindo a Mainnet em 64 redes menores. Com requerimentos de hardware baixos, o número de nós aumenta (descentralização e segurança). Todos ganham.&lt;/p&gt;

&lt;p&gt;Porém, essa solução só poderá ser implementada assim que a lendária Ethereum 2.0 se tornar realidade, o que só Deus sabe quando vai acontecer, mas os devs prometeram pro final de 2022.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Referências&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://ethereum.org/en/developers/docs/scaling/"&gt;https://ethereum.org/en/developers/docs/scaling/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ethereum.org/en/developers/docs/scaling/sidechains/"&gt;https://ethereum.org/en/developers/docs/scaling/sidechains/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://ethereum.org/en/eth2/shard-chains/"&gt;https://ethereum.org/en/eth2/shard-chains/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ethereum</category>
      <category>blockchain</category>
      <category>web</category>
    </item>
  </channel>
</rss>
