If you are a novice in the encryption world and can’t start with many concepts, then you are welcome, you are in the right place. Some of my brightest friends have started to spend more time digging into Ethereum. And along the way, some of them asked me similar questions.
Often it’s about defining specific concepts (eg, “what is gas ?”) or broad conceptual questions (eg, ” how does Uniswap work”). These questions led me to write this “Easy Guide to Ethereum”.
How to use this guide?
It is divided into five main parts:
- “Ethereum 101” Basics
- “Ethereum 201” dives into more complex concepts
- (Ethereum 301) The part about identification in the context of encryption
- (Ethereum 401) Decentralized Finance Section
- (Ethereum 501) The part about the future of Ethereum, this last part in particular discusses the transition to PoS (Proof of Stake) (don’t worry too much if that doesn’t concern you now).
In each section, I explain a lot of complex terminology and compile many useful diagrams to explain the most important conceptual topics in Ethereum in layman’s terms. And, I’ve attached additional information at the end of the guide for you to keep digging.
As you learn about Ethereum, you can use the different parts of the guide for quick reading and review, or use the guide as a point of inspiration for exploring the future, or as a link to share with friends who are recently interested in the crypto space.
For example, press Ctrl+F to find ” Uniswap ” to learn more about decentralized exchanges. Alternatively, you can also search for ” wallet ” to learn more about the security of non-custodial wallets.
In a popular blog post by Vitalik Buterin (Ethereum co-founder), he wrote,
“Sometimes an oversimplification of the smallest difference is just what we need to understand the world.”
By condensing these complex topics into something minimal, I hope this guide will help everyone understand the Ethereum world.
Ethereum 101 – The Basics
Before getting to know Ethereum, we need to understand its basic concepts.
In this section, I will explain what a blockchain is, how blocks are added to the chain, how Ethereum works like a world computer, and how smart contracts work.
Blockchain – A blockchain refers to a public record of all transactions processed and maintained by a series of independent computers in a particular network. Rather than managing these transaction databases in a centralized way (like how Amazon or Facebook control their own data), there is no single data owner on the blockchain, making it decentralized. Computers in this network follow specific norms and mechanisms to keep records of all transactions.
These specifications allow computers to agree or agree on all (transactions) that take place in the network: does computer A send funds to computer B, does computer B send those funds to computer C, and when? What happened last week? What happened six months ago?
The computers in the network are independent, so computers D and E (and F and G…) may not know computers A, B, or C. The set of rules of the blockchain means that a single computer does not have to independently verify the accuracy of data provided by other computers in order to agree on transactions that have occurred in the history of the blockchain.
In other words, computers can reach consensus without trusting each other. This trustless consensus mechanism is of paramount importance among computers in a network.
The number of blockchains is very large, and each chain follows its own specifications to reach a consensus. The Ethereum blockchain is committed to providing infrastructure services and design space for cool and novel applications in different fields, such as games, art, finance and social media applications.
Consensus Mechanism – When all computers on the blockchain agree on the fact that is happening in the network, this is ” consensus “. A consensus is reached between individual computers according to the rules of the blockchain, and every time a new transaction is packaged on the chain, all computers need to go through the whole process of reaching a consensus.
Once these computers reach a consensus, blocks of transactions are packaged onto the blockchain and become part of the network’s history.
Basically, assuming the computers have no objection to the act of adding a new transaction to the chain, that would be the equivalent of agreeing to the entire history of the blockchain, since they have to be involved in every link.
Consensus is an important concept underpinning the entire blockchain world. How to verify the transactions that occur above without trusting any participant in the network is a very difficult human problem to solve, and blockchain is the optimal solution to this problem. Different specifications (or ” consensus mechanisms “) can enable personal computers to reach consensus in a blockchain. The two main consensus mechanisms are described below:
Proof of Work (PoW) – In a proof-of-work mechanism, computers compete to solve complex mathematical problems. The network gives an economic reward to the first computer to solve a problem, which incentivizes the people behind the computer to keep updating and running nodes (in other words, ensuring the network is always processing transactions).
You may have heard that this race to solve computationally intensive mathematical problems is called ” mining “. Basically, transactions that are verified to be legitimate can be safely added to the blockchain. This is also the rule that the Bitcoin blockchain and the current Ethereum blockchain are implementing.
The proof-of-work mechanism also has its shortcomings , mainly
1) Ultimately, the most powerful (and most expensive) computers are able to solve problems faster, so the rich get richer;
2) Solving difficult mathematical problems on a computer requires a lot of energy, which has become the most criticized point of the entire blockchain.
Proof of Stake (PoS) – Instead of spending a lot of computing power to reach consensus (like PoW), Proof of Stake uses the risk of punishment (and some economic incentives) to constrain/incentivize participants.
In a proof-of-stake mechanism, participants raise funds (technically, they “stake ” their funds) in exchange for entry into a random selection process. The randomly chosen computer needs to verify the next batch of upcoming transactions. When randomly selected computers process transactions correctly (within the constraints of the proof-of-stake mechanism), rewards are awarded.
If a participant randomly selected by the network violates the rules of the proof-of-stake mechanism, the staked asset by that participant is reduced (or ” slashed “).
Instead of asking all computers in the network to solve those math puzzles at the same time, PoS blockchains verify transactions by randomly selecting computers. Skipping the computationally heavy process can alleviate two major problems with PoW mechanisms. This is part of the reason why Ethereum intends to use this consensus mechanism when it plans to deploy the next-generation blockchain in 2022.
Nodes – For the Ethereum blockchain to function, participants in the network need to run specific software that assists them in interacting with the blockchain. I tend to think that each node runs the Ethereum software as an independent computer.
Likewise, the more nodes (participants in the network) the more decentralized it is, but sometimes, maintaining all nodes is a bit of a hassle, so different nodes serve different purposes:
Full Nodes – Full nodes are used to store complete blockchain data, help blocks to be verified and packaged on the chain. Such nodes also provide validity proofs for past transactions.
Light Nodes – Light nodes are relatively less functional by design than full nodes. Light nodes store only a smaller number of proofs of past transactions than the full blockchain data. Such nodes allow more people to participate in the network because they store less data and are more economical to run.
Archive Node – Archive Node is a library/Wikipedia dictionary for the Ethereum world. They store all the data of a full node and more. Analysis tools and wallet providers may use archive nodes to pull information from a long time ago.
Client – This is Ethereum’s software that enables computers (nodes) to interact with the Ethereum network. Individual nodes can choose the client software they want to use, but using a few different types of clients is essential for decentralization so that one of them does not have bugs or problems.
There are now two types of execution client and consensus client, but this is beyond the scope of the guide.
There are many clients available on the chain these days, and recently the Ethereum community has fought for some of the largest node operators to diversify the clients they run nodes.
Importantly, any user who wants to participate in running the Ethereum network can create their own client, which means that users do not have to rely on third-party entities to validate the blockchain for them.
State – The state of the Ethereum blockchain refers to the status of account balances on the blockchain at any given point in time. Once something new happens (such as processing a new block of transactions), the state is updated to accurately reflect the state of the blockchain after the new transaction was packaged.
The state of Ethereum holds information about different accounts and their balances. In other words, once the blockchain verifies a new transaction, the state is updated to reflect the new account balance with the new transaction information just added.
Sidebar – How are blocks packaged on the blockchain?
One user might want to send some funds to another user using the Ethereum blockchain. Once the initiator user initiates a transaction, the transaction will be packaged on the transaction chain before the recipient user receives the money.
When such a transaction is packaged on the Ethereum blockchain, each node needs to complete the entire consensus process before the transaction is packaged on the chain and becomes part of its history.
In the diagram below, it is talking about the simple transaction described above, where one user sends funds to another user. This transaction is packaged into a block, and it is added to the chain after waiting for the nodes to reach a consensus.
Source: Understanding Ethereum
In fact, the blockchain is just a way for all users to reach a consensus on the historical transactions that happened in the network, and the blockchain state is the account balance that has been updated with new transactions in real time.
Source: Understanding the Ethereum Yellow Paper
Smart Contracts – To a certain extent, smart contracts are similar to electronic versions of traditional contracts used in the physical world. In a traditional contract (such as an employment contract or an apartment lease), two or more contracting parties establish a set of terms, which are then enforced by lawyers and the judicial system.
In a smart contract, two or more users also create a set of rules, but instead of executing the contract through the judicial system, the program code is written into a smart contract and sent to the blockchain (or deployed on the blockchain) . Smart contracts run automatically based on pre-written code, without the need for lawyers to execute them.
The above-mentioned sidebar section describes the process of block packaging and chaining. Smart contracts are code deployed on-chain via transactions within blocks. Future transactions can ” call ” or interact with smart contracts.
As a simple example, User A wants to bet with User B on the value of Bitcoin in the next two years. User A believes that Bitcoin will exceed $100,000 on January 1, 2032, while User B believes that Bitcoin will be below this price.
Then, two users can build a smart contract, place each other’s funds in the contract, and agree on a simple rule: if bitcoin exceeds $100,000 on January 1, 2032, the smart contract will release these funds to user A. , on the contrary, the smart contract sends the funds to user B. The transaction process is simple, straightforward and trustless.
Smart contracts allow anyone to deploy code on the world’s computers in a trustless manner, and also allow anyone to trustlessly verify the content of the code (as long as they can read the code!)
Ultimately, the existence of smart contract technology has brought enormous opportunities for an emerging wave of decentralized applications that would not be possible without blockchain technology.
The biggest difference between Bitcoin and Ethereum is that Ethereum has spawned a wave of smart contract computing platforms, which are blockchains where smart contract code can be written and deployed directly onto the chain.
Ethereum Foundation researcher John Stark has written an article on smart contracts, which I recommend you read if you would like to learn more about the concept.
Ether ( ETH ) – Ether is the native currency that powers the Ethereum blockchain. In a proof-of-work mechanism, the (mining) reward is paid in ether to a computer that solves a mathematical puzzle. In addition, the funds pledged by participants in the proof-of-stake mechanism are also in ether (32 ETH to be pledged).
Ethereum is the name of the cryptocurrency, and Ethereum is the name of the network.
Ethereum Virtual Machine ( EVM ) – The name Ethereum Virtual Machine refers to a ” virtual ” computer, which consists of all the individual small computers participating in the Ethereum network. Such a single mainframe computer is not actually a ” physical ” computer in a location, but works as if it were a mainframe computer (globally).
The state of the Ethereum blockchain lives on this computer, and it is responsible for enforcing the specification of state updates when the next block is packed onto the chain. If a user on the Ethereum network wants to incorporate smart contract code into their transactions, that code runs on the EVM.
Sidebar – How does the Ethereum Virtual Machine work?
While it may not be necessary for a novice to understand the intricacies of how the EVM operates, it is an essential part of the Ethereum blockchain and can give readers a general idea of how decentralization works at scale.
As shown below, although the picture is a bit complicated, it is well drawn. Follow the steps together:
Source: Ethereum EVM Illustrated
- We start with the state of the Ethereum blockchain at a specific point in time. The box to the left is called the “world state σ t “
- A transaction is packaged on-chain, such as transferring ether from one wallet to another, and the box at the top of the graph is the “message call transaction”.
- The state of Ethereum before the transaction took place (again, left box) plus the input data for the new transaction (top box), all run on the EVM. Here, the EVM updates the state of the blockchain.
- Once the EVM has updated the state, the new state “World state σ t+1” is stored.
Tokens – Typically, tokens refer to assets on the blockchain. Tokens can represent many different types of assets.
For example, tokens are generally considered to be assets that can be used as money, or assets that provide holders with voting rights in specific decision-making processes (governance tokens), or can be used as something else entirely. Tokens are atomic units of value that represent different kinds of assets in the crypto world.
fungible token – The term ” fungible ” refers to some commodity or item that is interchangeable, i.e. fungible. This is not a crypto-native term, currency in general refers to homogenized currency.
For example, $1 in my pocket can be exchanged for $1 in your pocket, and both $1s can be used to buy $1 of things, they are equivalent. When fungibility is applied to the concept of cryptography, it refers to whether it is interchangeable with other cryptoassets in the same collection. My ether and your ether are interchangeable.
Non-Fungible Tokens ( NFTs ) – Non-Fungible Tokens refer to all digital assets that are not fungible due to their unique existence.
Although NFT is mainly out of the circle because of digital art and digital collections, it is not limited to this form of expression, it can be any unique digital asset.
Digital art and digital collections happen to be one of the earliest use cases for NFTs that have resonated with the wider public. This token has sparked a lot of interest in the crypto community, but I think the rise of NFT projects like Boring Ape and NBATopShot has led the general public to underestimate the deployment of unique numbers on a trusted settlement layer like the Ethereum blockchain Other utility of the asset.
Conceptually, NFTs can also be applied to many other use cases beyond digital collectibles. NFTs on public blockchains come in handy if a product or service needs to be able to verify the validity of the ownership and scarcity of a particular digital asset.
For example, a concert venue might replace tickets with NFTs, or a video game designer could convert assets that are difficult to obtain in-game into NFTs that can be transferred or traded between users.
This concept can also play a new trick: some assets can be both homogenous and non-homogenous, depending on the set they are compared against. For example, if I own an old 19th century $1 coin and put it in a glass jar as a collectible. It’s obvious that this $1 (non-fungible!) is very different from the new dollar bill that’s been crumpled up and stuffed in your pocket.
However, if I took the $1 out of the glass jar and spent it at Starbucks, they would (probably) be willing to take it. That’s because, in some ways, it’s interchangeable with other dollar bills, although in other ways they’re not the same thing at all.
Source: Graphical Guide to Understanding Uniswap
Ethereum 201 – A Deeper Look
In this section, I’ll explain why gas is expensive, how composability works, and how users can interact with applications built on Ethereum.
Gas – Every interaction with the Ethereum blockchain consumes a cost (gas) that depends on how much computing power the Ethereum Virtual Machine needs to run that particular piece of code .
Since the space of each block on the blockchain can only hold a fixed number of transactions, the concept of gas can help Ethereum allocate scarce block space resources.
More complex transactions may require more gas to complete. For example, sending ether from one wallet to another might only require running a few lines of code on a virtual machine, so it requires less gas than a computationally intensive interaction, such as exchanging some on a decentralized exchange Tokens (read the Decentralized Finance section below to learn more).
You can think of gas as similar to how a centralized credit card company charges a service fee.
For example, Visa, created, operated and maintained since the 1950s, charges a flat 3% fee on all transactions using the Visa network.
Relatively speaking, the “fee” of Ethereum is not fixed, it is based on the supply and demand of the network at the time of the transaction. Gas fees are used to pay for computers that participate in the operation of the Ethereum blockchain (read below to learn more).
Gas is denominated in ETH, and users can choose to pay more gas (by tipping the computer) to speed up transaction times and increase the chance that the transaction will be included in the next block.
Gwei – The price of Gas is technically expressed as wei, the smallest incremental unit of ETH. 1 wei is equal to 0.000000000000000001 ETH (10(18) wei, that is, 1 ETH can be represented by 5 commas), and 1 gwei is equal to 1,000,000,000 wei, so when comparing gas prices, it is more convenient to use gwei to ETH.
Users are used to expressing gas prices in gwei. For example, 0.0001 ETH is 1 gwei, and the gas cost is very low. Users can use Gas.Watch to keep an eye on real-time gas prices. Gas will fluctuate up and down with the demand for transactions packaged into the blockchain.
It’s supposed to be pronounced gwey, but I’ve heard people pronounce it goo-ee. So, I don’t dare to ask others how to pronounce it.
Sidebar – Why is gas needed and how is it applied?
The computers responsible for validating blockchain transactions need to be financially incentivized. Without these incentives, it will be difficult to convince them to operate the computers and the blockchain, and without sufficient computers on the chain to operate, the blockchain will become overly centralized, controlled by only a few users.
As mentioned above, gas paid to network participants fluctuates based on the demand for transactions packaged into the blockchain.
Source: Understanding Ethereum
Solidity – Solidity is a programming language with which users can write smart contracts and create decentralized applications on the Ethereum blockchain.
Importantly, Solidity is a Turing-complete programming language, which basically means ” anything you can write into code can be written in Solidity “. This shows that developers can use Solidity to develop a lot of cool stuff on Ethereum.
Composability – Since smart contracts are deployed on Ethereum as open source code, anyone can build on top of these smart contracts (or ” fork ” the code and change it themselves), suggesting that Ethereum (and other similar blockchains) ) are composable.
Composability can be thought of as the API of the blockchain. Although it stands to reason that developers could create applications based on other technical infrastructures several generations ago, the main difference in cryptographic composability compared to other fields is that all of its underlying protocols are decentralized.
In other words, developers don’t need to worry about a centralized entity that controls all the underlying data and suddenly changes the rules of the platform, or restricts developers’ access, such as those encountered by developers building applications based on the Twitter API in 2018. That’s the case.
Sidebar – What are the cases for composability? How does it apply in practice?
Composability means that developers can create new applications using other applications already built and deployed on the public chain.
For example, Compound as a DeFi application, like a high-energy savings account, allows users to earn profits by depositing. Suppose the developers of a project (such as the Argent crypto wallet) want to embed Compound into an application they build, they can easily integrate Compound without rebuilding the system. This is composability.
Source: Understanding Ethereum
Ethereum Improvement Proposal ( EIP ) – Given that blockchains such as Ethereum are public, decentralized, and open source in nature, the way the developer community modifies the protocol is a far cry from the way centralized entities make decisions . Modern open source communities (such as those active in Linux and Python ) and Ethereum’s development process are more similar.
The Ethereum community has developed a process outlining how community members can propose improvements to the Ethereum protocol. These processes include providing a public forum for discussion and encouraging community participation in open source, which is especially important for the Ethereum blockchain because it is a decentralized blockchain and relies on a globally distributed community to oversee and improve it .
Proposals can relate to core rules that the blockchain follows (such as when consensus is reached), or they can propose a standardized version of Ethereum core building blocks such as non-fungible tokens or wallets (described below). When users take advantage of Ethereum’s composability and build an application based on some standardized specification, it’s obvious that the code will work as expected.
Ethereum Comment Request ( ERC ) – ERC is a category of EIP, specifically, ERC is a type of EIP that describes ” application-level standards and protocols “.
This type of EIP is worth mentioning here because it is a template for contract standards for some of the most important and well-known use cases on Ethereum. Developers can use these contract standards when building on Ethereum to save time and effort, rather than starting from scratch. Some of the well-known ERCs are as follows:
ERC-20 : This is a token standard for homogeneous tokens.
ERC-721 : This is a token standard for non-fungible tokens.
ERC-1155 : This is a token standard optimized for some ERC-20 and ERC-721, generally used for fragmented non-fungible tokens.
Sidebar – Why break up (or make them fungible) non-fungible tokens?
While the very concept of fragmented NFTs may sound like a paradox, there are several different use cases.
The best way to read it is that some works of art are expensive (such as Beeple ‘s NFT sold for $69 million or the famous painting Mona Lisa), and it is difficult for ordinary people to afford it. Fragmentation of an expensive NFT gives consumers the opportunity to hold a fraction of the (invaluable, non-fungible) token.
It is worth noting that most decomposed NFT fragments are fungible, so the Mona Lisa face fragments held by a user will not be repulsive with hand fragments or background fragments (i.e. between fragments are equivalent).
The pieces of these different parts are not actually fungible (I’d rather pay less for a background piece than a face piece) and in reality, the user will only hold a small replaceable piece of the entire artwork Fragments.
Fragmenting NFTs is not just about money. NFTs represent unique digital assets, so the fragmentation of NFTs also implies the concepts of ownership, identity and community.
Testnet – A testnet is a copy of the blockchain that allows developers to develop and test how their code will behave on the “mainnet” blockchain.
When developers deploy smart contracts on the blockchain, although some smart contracts are no longer used, these codes are visible as long as the blockchain is active.
Because of this permanence and the potential for smart contracts to interact with large sums of money, developers will want to make sure the code will work as expected by testing on the testnet.
In the case of Ethereum, there are a bunch of testnets (such as Rinkby , Ropsten , and Kovan ) where developers can test their code without risking real assets. The testnet is a development practice environment for cryptographic software developers.
Faucets – Faucets distribute ” fake ” ETH to developers so they can use these test coins to test smart contracts on the testnet.
Developers need ETH to deploy and interact with smart contracts, but unlike the mainnet’s ETH, the testnet’s test currency has no real economic value. Faucets are an easy channel for developers to obtain ETH test coins.
Imagine you are a developer ready to deploy a smart contract on Ethereum. Assuming you have a smart contract on hand that will handle some funds, possibly similar to a decentralized exchange (discussed in the Decentralized Finance section below).
First, you want to test the smart contract on the testnet. to ensure that the code runs as expected. You will need some testnet ETH to run the smart contract.
However, keep in mind that the testnet is just a copy of the Ethereum blockchain, so the ETH on the testnet is inherently ” fake ” and therefore, these tokens cannot be exchanged for ETH on the mainnet chain.
If the reader wants to test the contract with ETH and see it in action, the faucet makes it easy for users to get ETH and spend/splurge on the testnet.
Oracles – Oracles can be used to connect blockchains and external systems as needed. At some point, applications built on Ethereum may wish to interact with external data streams that are not secured by the Ethereum network. Some data has to be taken off-chain, like today’s weather or the score of a basketball game.
Therefore, oracles are the interface to the ” real world “.
For crop insurance, oracles can be used to look up the weather in Florida near oranges, or to verify the score of a decentralized sports betting application. Oracles have a potential trust hazard (because the network of computers that make up the blockchain cannot really verify what the weather is like in Florida), but for these applications that require oracles, there are good solutions to this problem.
Oracle providers such as Chainlink have built some kind of system to try to ensure that their oracles are not vulnerable (but individual oracles are still a vulnerable weak point on the blockchain).
Readers can imagine: building a consensus mechanism for an oracle system (consisting of multiple oracles), despite the vulnerability (since off-chain data can always be manipulated in some way), still requires 9 /16 oracles reach consensus on the information of the oracle network. or a similar mechanism.
Mempool – When a transaction has been submitted by the user, but has not been verified and packaged on the chain, the pending transaction will be sent to a waiting area called the mempool.
Before processing a transaction, computer nodes in the network verify the validity of the transaction. For example, the account may spend more than the valid funds in the account when sending transactions, or there may be a mismatch between the private key and the public key of the originator’s wallet (see the wallet and authentication section below for more information). Happening. While the computers in the network are verifying these potential vulnerabilities, these pending transactions wait in the mempool.
Technically, each participant in the network has its own mempool, but for entry-level readers, it is acceptable to think of the mempool as a waiting area for all blockchain transactions.
Typically, transactions wait in the mempool for anywhere from a few seconds to a few minutes, depending on demand (scalability is discussed further below).
Pending transactions on Ethereum can be seen on data providers such as Etherscan .
Sidebar – How do users and apps interact with Ethereum?
Users almost always use web applications through browsers such as Chrome . These web applications are built using specific libraries (such as web3.js or ethers.js) that allow web applications to interact directly with blockchain nodes.
Source: Understanding Ethereum
The application built by the developer interacts with Ethereum by running the client software on the node. In the example below, the client running is Geth , a command-line interface used to interact with the Ethereum blockchain.
There are also ” node-as-a-service ” providers like Infura , which allow developers to easily interact with nodes controlled by the service provider, similar to how developers use AWS to access server space. Next, these nodes can interact with smart contracts and individual account balances on Ethereum.
This is very different from the ” back end ” vs. ” front end ” of other software products today . In the bottom left diagram, we can see how a user connects to a traditional web application.
Next to this diagram, is an example of the architecture of an Ethereum-based application. The two are very similar! The difference is that Ethereum serves as a backend infrastructure for cryptographic applications, which makes it global, permissionless, and audit resistant.
Source: The Architecture of a Web3.0 Application
Ethereum 301 – Wallets and Identity
By design, the blockchain enables users to self-custody assets, but the role of the wallet is not only to give users the right to self-custody, it is also the user’s self-presentation in the encrypted world.
In this part, I will introduce the relationship between DAO and identity, and how users can keep their wallets safe.
Wallet – Keeping your assets in a crypto wallet is like keeping cash in a physical wallet. But these crypto wallets also store information that represents you and your actions, such as the apps you’ve interacted with and the transactions you’ve made with that wallet.
It’s important to remember that blockchain transactions are by design open and transparent, whereby when you use your wallet to do something on Ethereum, your wallet manages traceable, public data about those transactions .
This traceable data underscores the idea of ” hold your own data ” in web3 – your assets, transaction history, data interacting with DApps move with your wallet. And, unlike physical wallets, many crypto users use multiple crypto wallets for different purposes.
Here, there are other definitions that need to be understood to fully explain the concept of wallets:
Public Key – This is a long line of code that represents the external address of the wallet. The public key is like your home address; this address is unique, not secret (public records, etc.). And that address corresponds to a household (or in this case, one of your accounts).
You might share your address with friends who want to send you a letter or gift, but even if someone sees your home address in local government property records, that’s fine. If someone sees your public key, that’s fine too.
Private Key – On the other hand, the private key is the password to the wallet, so no one else can know your private key. The private key will correspond to the public key of a specific wallet, so if someone gets the private key, they have full access to the wallet.
The private key is like the key to your home, you don’t mind someone randomly knowing your home address, but if they have the key to your home, then you must be uneasy.
To reiterate – anyone who gets the private key can access the corresponding wallet, don’t tell anyone the private key, and don’t store it where others can find it.
Sidebar – What is the principle of public and private keys?
The mechanics behind public and private keys are very important fundamentals. Basically, public and private keys are a method used to encrypt and verify identities called private key cryptography .
Remember that the public key is exposed externally. When a user initiates a transaction to his friend’s wallet (using the friend’s public key), it is equivalent to locking the transaction. The lock can only be unlocked when the user’s friend actually holds the recipient’s wallet’s private key. Although the transaction is visible (because it exists on the public chain), these assets cannot be ” unlocked ” without a specific private key (the wallet corresponding to the private key that holds the asset) .
Whether you’re a developer building a project on Ethereum or just a user, it’s important to understand the difference between public and private keys. Misuse (or ” misplacement “) of public and private keys can have serious financial consequences, and, unlike forgetting passwords on a centralized website, app developers cannot help users recover keys.
This transaction model will become more standardized as more users create crypto wallets and transact on the blockchain. At the same time, it is important to be aware of the learning curve and to help explain to other users.
Source: How to Generate Public and Private Keys
Mnemonic – A set of mnemonics (usually 12 to 24 random words) is the wallet’s ultimate wallet recovery tool in an emergency. It needs to be equally protected like the private key, because losing the mnemonic phrase or keeping it somewhere where it will be found means everything about the wallet is exposed.
Users must save the mnemonic phrase in an appropriate way to ensure its security and confidentiality.
The developer of the wallet app does not have access to the mnemonic, so if the reader loses their key and mnemonic, your wallet cannot be recovered. If only the private key is lost, the mnemonic can also be used to restore the wallet.
Escrow wallets – These wallets are managed by a custodian (any centralized entity responsible for managing wallet funds), such as a regular Coinbase account. These custodians are responsible for managing the underlying assets in the wallet (so if users use a custodial wallet, they don’t have to keep their own private keys), providing users with a more centralized and smoother user experience.
This user experience typically does not include crypto-native authentication mechanisms, for example, a user can log into a Coinbase account with a Google email address and password.
A custodial wallet is a great way to start your crypto journey, as well as a practical way to exchange cash assets for cryptocurrencies. On the other hand, given that these custodians are all held and managed by centralized institutions, it also brings some of the issues that decentralization is designed to solve, such as data ownership, information flow control, and potential regulatory requirements.
There is a buzzword in the crypto world about custodial wallets – ” no keys, no coins “.
Even Coinbase CEO Brian Armstrong once mentioned the importance of non-custodial wallets, as providers of custodial wallets run the risk of government regulation. Non-custodial wallets are a better option for users who prefer to manage their assets and transactions in a completely decentralized way.
Non-custodial wallets – the manager of such wallets is just… you! Software vendors (such as MetaMask , Argent , Rainbow , etc.) provide software for users to access their own wallets, but the main thing is that wallet assets are stored on-chain rather than with the wallet provider.
So, if something happens to the MetaMask wallet that makes it inaccessible, the user can jump to the Rainbow wallet, import their wallet (without getting permission from MetaMask) and operate their assets through Rainbow.
There is also a non-custodial hardware wallet in which the private key is stored directly on a physical device (usually a small metal object that looks like a USB).
The use of non-custodial wallets comes with the burden of managing public keys, private keys, and mnemonics, but such wallets give users autonomy (holding assets directly) and unique access to the Ethereum world.
The Ethereum app allows users to ” Sign in with Ethereum ” (SIWE), i.e. “Sign in with their own non-custodial wallet “. As such, non-custodial wallets represent the user’s identity, and these wallets expand the design space of the crypto world, such as new ways of thinking about identity, credentials, and ownership.
Social Recovery Wallet – This is a wallet recovery strategy supported by some non-custodial wallet providers.
Such wallets do not require mnemonics (some users have lost mnemonics), and users can appoint other people in their social network to verify that the wallet corresponds to the person it should correspond to. With Social Recovery Wallet, users can back their non-custodial wallets based on the network of trust in their social circles, while still retaining the self-custody/decentralization/single sign-on benefits of non-custodial wallets.
Argent is a use case for a social recovery wallet.
Sidebar – How can users pay attention to the security of the wallet?
I’m not going to use graphs in this column because it’s not practical to put all the necessary information about wallet security into a single graph. In the crypto world, wallet security is paramount, and it’s worth spending some time exploring the best practices for money management.
@Punk6529 posted a great long tweet that covers everything you need to know about using wallets safely.
Vitalik has written a substantial article on this topic on the importance of social recovery wallets (click here to read the Chinese version). And here ‘s more information on wallet security from hardware wallet provider Ledger .
Here are some highlights from @Punk6529’s long tweet, but I highly recommend that readers take to Twitter to read the tweet:
“Unlike the public key, never reveal the private key to anyone. If someone gets your private key, it’s game over.”
“Address/Public Key: Your email address (can be shared)
Private key: password for inbox (never shared)
Wallet: save private key
Mnemonic Phrase: Private Key Recovery System (Never Shared)
Password (optional): Additional password to create a new wallet (never lost)
Security and resilience are contradictory goals: the act of printing your private key on a flyer is extremely resilient, but your NFT will be gone (private key leaked). You can easily solve the security problem by destroying the private key, and as a consequence, you yourself cannot access your NFT. Balancing the goals of security and resiliency is an art.
Ethereum Domain Name Service ( ENS ) – The Ethereum Domain Name Service is an open source domain name system for the Ethereum blockchain, somewhat similar to the domain name provider for traditional websites.
ENS maps addresses on Ethereum to human-readable names, so I can use something like ” brunny.eth ” as my address instead of this long list of public keys: 0xF67cAEbBbE7b630d137d2901637C02899ED3211b.
Readers can try it directly in their crypto wallet (custodial or non-custodial): create a small transaction that sends a small amount of ETH, not using my public key, but “brunny.eth” as the recipient. This service will match “brunny.eth” with the corresponding wallet address.
Overall, as public goods, ENS domains are so important to identity in the Ethereum ecosystem that they deserve their own version of the domain name system.
Decentralized Autonomous Organizations (DAOs) – DAOs are crypto-native forms of organization. It can be a company, nonprofit, social group, or any other type of organization that self-governs and organizes based on crypto-native rules.
Crypto-native rules here refer to concepts like community ownership, transparency, and decentralization, and it’s worth noting that decentralization has a spectrum rather than two extremes of on-and-off.
Unlike the centralized holding and management of traditional companies in terms of entity creation and leadership organizational structure, DAO designs the structure for the operation of crypto-native projects and businesses under decision-making without a central entity, and is committed to striving for community ownership of projects.
Another vision of many DAOs is the realization of complete decentralization and democratization. That is, the various decisions of the DAO are democratically voted by the main players.
DAOs can not only vote on changes in application-level products on the chain, but also play a role in rewarding and motivating system participants.
Some DAOs do come very close to autonomy, in the sense that self-executing smart contract code runs many of the DAO’s functions.
An example of this is the DAO in DeFi, whose core value proposition is the decentralized maintenance of smart contracts that serve certain purposes in DeFi. Most DAOs are progressively moving towards decentralization, most of which are more akin to a multi-person chat with a bank account than a true autonomous organization.
DAOs are actually a social by-product of various things, including permissionless blockchains, non-custodial wallets, identity authentication tools (like ENS, etc.), and willingness to share among ecosystem participants.
DAOs deserve a dedicated section (or even an entire guide!), but my personal view is that DAOs that everyone participates in in the crypto world are the key to redefining digital native identity, so in this chapter, it’s the same as ” Identity .” “It makes the most sense to talk about DAOs together.
Ethereum 401 – Decentralized Finance
Undoubtedly, DeFi is currently the most successful use case of Ethereum, with more than $100 billion in assets locked in Ethereum’s DeFi protocol.
The DeFi space is also good at using some confusing terminology. In this subsection, I’ll define DeFi in a broad sense, dive into these confusing terms, and explain how Uniswap works on Ethereum as a decentralized exchange.
Decentralized Finance ( DeFi ) – Decentralized finance refers to any financial applications, exchanges and systems that do not have a central gatekeeper and run entirely on the blockchain.
Today, there are hundreds, if not thousands, of DeFi projects active on a variety of blockchains, from decentralized exchanges to lending protocols to options and futures contracts, The application range is very wide.
The primary goal of DeFi applications is to rethink: in a world system without central bank control, how to achieve financial services provided by the old banking system in a decentralized form.
A case gives the answer, and readers can imagine the scenario of buying shares in the stock market. When Sally buys a share of Tesla stock through an intermediary ( Robinhood, Charles Schwab , Vanguard , etc.), the share goes through multiple intermediaries before Sally can get it. Generally speaking, when the system is running normally, this behavior of going through multiple different intermediaries will not be discovered by the general public. But sometimes bad things happen (like the global financial crisis in 2008 or the Gametop stock event in 2021), causing the system to crash (like negative oil prices and canceled trades).
After the system crashes, people hope to find the culprit of this mess. But when they began to dig three feet, they found that the traditional financial market was far less transparent than they thought.
Decentralized Exchanges ( DEXs ) – It was the first major DeFi building block. Blockchain enables a new type of exchange that can directly trade with smart contracts without going through opaque intermediaries and semi-official institutions.
To take the example of Sally buying Tesla stock, she no longer has to go through an intermediary brokerage firm (such as Charles Schwab ), which trades with a market maker (such as Citadel ), both of which are subject to U.S. clearing constraints imposed by (eg DTCC ). Instead, trade with the Uniswap smart contract! The code of the smart contract is transparent and public, so she can see the process of the flow of funds and will not be blinded by non-transparent intermediaries.
These decentralized exchanges use blockchain technology and economic incentives to basically build a market for any two currencies (such as BTC and ETH, or USD and EUR, etc.). Below I will explain how Uniswap works as the DEX with the largest market share.
To understand how these decentralized exchanges work, we need to define some additional terms:
Liquidity Providers ( LPs ) – In Sally’s case above, the opaque intermediaries it describes do function effectively in traditional financial systems: provide liquidity to the system. In the traditional financial system, Sally can sell her stock at any time, almost anytime or at least during regular trading hours, because the intermediary is the person hired to provide liquidity to Sally and other shareholders.
So, where does the smart contract in the decentralized exchange protocol come from assets for it to trade? The answer is liquidity providers. DEX gives individuals the opportunity to profit by providing liquidity. When users trade assets with smart contracts, the system will rebate a small portion of the transaction fees to the liquidity provider.
The best known to LPs is the Uniswap model, where they need to deposit two token pairs with the same value in a smart contract. Again, LPs put deposits into smart contracts to get a portion of the transaction fee. LPs can withdraw tokens deposited as liquidity at any time, but in this case, they obviously cannot receive dividends from future transaction fee increases.
Automated Market Makers ( AMMs ) – This is a category of DEXs. Automated market makers are smart contracts that use algorithms to set prices. Here, Uniswap’s constant product formula ( x*y=k ) is best known, however this is beyond the scope of this guide. AMM is just a formula or mechanism that does not require artificially setting prices.
Stablecoins – Stablecoins are digital representations of real money, they represent the value of the currency pegged to them, but only circulate on the blockchain as digital currency.
DeFi makes it possible for users to use encrypted assets to show their strength, but it is difficult for users and investors to manage their assets within a fixed price range, because the prices of encrypted assets are not stable. On a trustless and decentralized blockchain, stablecoins exist as a less volatile asset and also serve as a reference price for comparing encrypted assets.
Typically, stablecoins are pegged to the U.S. dollar, but there are other stablecoins. Whether it is a centralized or decentralized stablecoin, each has its own mechanism to maintain their 1:1 price-pegged relationship with the currency they are anchored to. It is true that cryptocurrencies are disrupting the global financial system, yet major global currencies such as USD, EUR, and JPY are still valid as reference prices.
Total Locked Value ( TVL ) – TVL refers to the total value locked in a platform-specific smart contract. The TVL concept can also be applied in contexts other than DEX smart contracts, because other applications than exchanges may also have liquidity providing mechanisms (such as lending platforms). The total locked value of Uniswap is in the billions of dollars, and the combined TVL of various applications on Ethereum in early 2022 exceeds 100 billion US dollars.
Sidebar – How does Uniswap work?
First, let’s talk about user experience. When a user wants to exchange tokens with Uniswap (or other exchanges), the user only needs to operate in a simple front-end interface, which is built by Uniswap based on more complex smart contracts.
As shown in the figure below, users can exchange ETH (or other tokens) for other assets, just like using a vending machine. Users can connect wallets and exchange any of the tokens for other tokens. very simple!
Source: Understanding Ethereum
However, what is going on behind the scenes? Take a look at the blue box in the image below. This is Uniswap’s smart contract, where liquidity providers deposit their tokens (Token A and Token B in the example).
The left side of the blue box describes the relationship between LPs and staking pools; LPs deposit two assets, and in exchange, they receive staking pool tokens, which are equivalent to liquidity providers that can redeem their staking A document of the asset. The staking pool tokens can redeem the assets originally pledged by the LP in the smart contract at any time (here, traders should be wary of the ” impermanent loss ” mentioned next.)
On the other end of the picture above is the user. Users can enter the interface and exchange one token for another in the staking pool without touching the LP of the staking pool. And, users will pay a small fee, which will be equally distributed to all LPs in the staking pool.
Source: Uniswap documentation
This mechanism is cool. I started studying finance early in my career, so when I learned about decentralized exchanges, it interested me more than Bitcoin’s ” digital gold ” and Ethereum’s ” world computer ” metaphor.
Without the existence of trustless infrastructure such as public chains, Uniswap would only be a dream. What else is it that we dare not imagine today and become mainstream tomorrow?
As of early 2022, Uniswap’s monthly trading volume is around $60 billion.
The terms mentioned next (and beyond the introductory definitions in the text) may be left for the reader to explore on their own. However, they may also be the first term concepts that new users will encounter when they are new to the Ethereum community, so I strongly believe that they will greatly affect and confuse new users. Therefore, they can look at more information at the end of the article.
Yield Farming – As the name suggests, liquidity mining refers to the act of ” harvesting ” earnings by providing liquidity to DeFi applications . These apps offer attractive rewards in return for usage. If a friend tells you that their annual rate of return in DeFi reaches 100,000%, they are talking about liquidity mining.
Many DeFi applications require large sums of money to be injected into the platform (liquidity, as mentioned above) as a key function that reflects the value of their application, no matter what function (such as trading assets, lending, etc.).
There are only two ways for these DeFi applications to go: raise $1 billion and provide liquidity by the application, or give liquidity providers substantial rewards and make these liquidity miners become the liquidity providers of the platform.
Wait a moment? Where do these handsome rewards come from?
Well, these apps are hyping these high rewards as new incentives, but the reality is that these rewards are often just (expensive) customer acquisition costs. That is, the tokens of these applications represent the value of the application to some extent, and they distribute rewards to users through the application (customer acquisition cost). These rewards are a mix of native tokens and other token types.
Therefore, liquidity mining refers to the practice of finding this kind of income and injecting funds into the applications that have the most opportunity to profit, and it can almost be regarded as a form of angel investment in DeFi applications.
Staking – This term is used in a variety of ways, but in reality, staking simply refers to locking up an asset for a period of time and profiting from the lockup.
Typically, this concept is used in centralized finance, where users stake tokens in exchange for rewards, but staking can also be used in other areas. Many DeFi protocols use staking to control the liquid supply of their protocol’s native token, much like a central bank trying to control the money supply. Incentivizing investors to lock up their tokens for a short period of time for financial rewards sounds like bonds.
Impermanence Loss – This concept refers to the potential risk that liquidity providers need to take when supplying liquidity of more than two tokens.
In the Uniswap example above, the liquidity provider deposits two tokens of equivalent value on Uniswap, and gets staked pool tokens. When the LP wants to withdraw funds, the pledge pool tokens can be used to redeem their own two tokens.
The subtle difference here is that both tokens deposited by LPs have their own prices (and price fluctuations). When an LP wants to redeem two tokens with a staking pool token, the prices of the two may already be far apart: maybe one of the tokens is down 5%, while the other is up 10%.
The price gap between tokens may mean that LPs should better hold only one type of token rather than staking pool tokens that benefit from transaction fees. Importantly, impermanent losses are labeled ” non-permanent ” because they are only ” paper losses ” until the LPs actually redeem the staking pool tokens .
That is, if the LP does not choose to redeem the tokens, but continues to provide liquidity until the prices of the two tokens move closer to each other, then the impermanent loss disappears.
A good primer on DEXs, LPs, and impermanent losses for different types of staking pools can be found here. The Impermanent Loss Computer on Daily DeFi demonstrates several examples.
Layer 2 and Proof of Stake
2022 is colloquially known as Ethereum’s ” L2 Year “, with the much-anticipated transition to proof-of-stake expected in the summer. This section will discuss in depth the ” triangle paradox ” of blockchain, the future of Ethereum , and how rollups work.
The Blockchain Triangle – Every blockchain involves a trade-off between three concepts: decentralization, scalability, and security. The general consensus (early 2022) is that Ethereum does better in terms of decentralization and security, but not as good in terms of scalability (high gas fees! Ughhhhhhh!).
Hopefully, there will be some improvement plans in the near future that can solve the blockchain triangular paradox of Ethereum. These three considerations are described below, and are important for understanding the impact of their balance on a single blockchain.
Decentralization – The Bitcoin white paper explains the concept of decentralization accurately (emphasis mine in bold): “It is only necessary to have an electronic payment system based on cryptographic proofs rather than trust, allowing any two willing parties to In the case of three parties, trade directly with each other. ”
The blockchain acts as an infrastructure layer, allowing users around the world to use their computers to interact with each other without going through intermediaries.
The decentralization of the blockchain is like a spectrum; if the blockchain can be shut down by a small number of users, or if the cost of participating in the network is too high (gas fees or the cost of configuring computers to participate in the network), then the blockchain will go to the center. One end is inclined. The higher the degree of centralization, the higher the risk of power monopoly and exploitation.
Security – Security refers to the difficulty of the underlying chain being attacked or controlled by the outside world. A valid rule of thumb is the 51% majority rule; if someone can control 51% of the computers that process transactions on a particular chain, they can probably hack and compromise the security of the network.
There are deeper technical considerations here, but the 51% share helps users clarify the trade-off between security, decentralization, and scalability. The more independent computers that package transactions for a particular blockchain, the more decentralized and secure it is (more computers = low probability that someone controls 51% of network nodes).
However, having more independent computers on a network also means that each computer needs to communicate with a larger network of computers, resulting in slower performance…
Scalability – … slowing down the network means we need to find ways to improve scalability. When the demand for transactions on the blockchain increases, the network will also become extremely congested. Ethereum, for example, has had periods of skyrocketing gas fees, especially when the network is full of demand. These demands increase the cost of packaging and uploading transactions on the chain, and at the same time cause network congestion and slow network operation.
Zero-Knowledge Proofs – This concept is not a specific scaling solution, but it is an important concept to clarify before exploring scaling solutions. Zero-knowledge proofs are a cryptographic method of verifying the validity of things without obtaining specific information.
For example, let’s say I’m a Craigslit buyer looking to buy a TV from any user on the network. At this time, someone privately told me that they had the TV I was looking for, and their information was anonymous.
As a buyer, I want to make sure they actually have a TV before meeting with the seller. But sellers don’t want to leak their personal information (driver’s license, home address, indoor pictures) to random users on the network. Most importantly, the seller also wanted to know if I was a real person! But neither side wants to share personal information.
With zero-knowledge proofs, I can prove to sellers that I am a real person, verifying my identity without telling them who I am. On the other hand, sellers can also prove that they do own a TV and are legitimate sellers, again without revealing any sensitive personal information.
This contains intricate cryptographic primitives, so the above is just a very brief introduction. For the most part, zero-knowledge proofs can solve security, scalability, and privacy challenges in the cryptographic community.
Layer 2 Expansion Solution – Users are eager to expand their capabilities on Ethereum, as it is the most decentralized and sophisticated smart contract computing platform in the world. Ethereum has attracted the most widely distributed developer network for blockchain-based application creation. But as a consequence of these creations, the need to package transactions onto the Ethereum blockchain can sometimes result in high gas prices, which also means that Ethereum is slow and expensive to use.
The blockchain paradox implies that any blockchain optimized for security and decentralization will compromise on scalability. Scalability is the hardest part, as decentralization and security are so important to the promise of blockchain. Ethereum is betting on a big wave of improvements that it hopes will solve the scalability problem.
One of these improvements is to move users from interacting with the Ethereum blockchain itself (ie ” Layer1 “) to interacting with the Layer2 scaling scheme. Fundamentally, this suggests that most transactions and applications on the Ethereum mainnet will move to Layer 2, which inherits the security and decentralization of Ethereum but has orders of magnitude higher throughput than Ethereum itself. Ethereum Layer1 will be dedicated to consensus issues, while its Layer2 will be responsible for executing transactions and code.
Rollups – Rollups process a batch of transactions in their separate blockchain. After executing these transactions on its own chain, Rollup compresses all the transactions into a small packet of information. These small packets are ” sent ” to Layer 1 of Ethereum, which means that Rollup has expanded the number of transactions it can process (because the information is compressed) while inheriting the security of Layer 1.
These much smaller transaction packets contain proofs (proving that these transactions were processed under the rules of Ethereum).
Source: Understanding Rollup Economics
This sounds like a compromise on decentralization. But a key point of Rollup is that Ethereum can just verify the proof, rather than the work of proving every transaction, which saves exponentially the amount of work (thus making Ethereum more scalable!).
Since Ethereum has the final right to decide whether a Rollup transaction can be released on the chain, all Rollup transactions are still guaranteed by Ethereum without compromising centralization.
Below are the various types of Rollups. The main difference is their method of proving the validity of the transaction to Ethereum.
Optimistic Rollup – This type of Rollup will keep a record of transaction proofs, which will only be presented to Ethereum when Ethereum requests specific proofs.
Optimistic Rollups do not prove the validity of every transaction to the Ethereum mainnet, but instead provide proofs when necessary, which facilitates the mitigation of scalability issues.
ZK Rollup – This type of Rollup does not reveal all the details of the transaction, but uses zero-knowledge cryptography to verify the validity of the transaction. Zero-knowledge proofs have been explained above, but the point is that these Rollups only show smaller zero-knowledge proofs instead of the entire transaction process, thus saving a lot of block space.
Sharding – Sharding refers to the process of dividing the blockchain into small shards to reduce congestion. Sharding makes Ethereum more accessible. Essentially, nodes only need to store data for the specific shard they are connected to, not for the entire Ethereum blockchain, which also makes Ethereum more scalable.
Sharding is part of an improvement plan for the Ethereum blockchain that will play a pivotal role after The Merge.
Beacon Chain – The Beacon Chain is the foundation of Ethereum’s transition from PoW to PoS. Now, the beacon chain and the Ethereum blockchain are running in parallel, and the beacon chain has introduced a staking mechanism, which is a prerequisite for the transition to PoS.
Soon, the beacon chain will merge with the current Ethereum blockchain and formally introduce PoS consensus as the consensus mechanism of the Ethereum blockchain, marking an important turning point in the future of Ethereum.
The Merge – The term The Merge is a fitting end to this guide. In the coming months, the Ethereum mainnet and the beacon chain will merge in the most high-profile event the blockchain industry has ever seen.
In just a few months, Ethereum’s PoW era will come to an end, and the response to this consensus mechanism switch could be extraordinary. If for some reason, The Merge fails, it will surely cause an uproar in the entire crypto community. But if the merger goes through, it means we are closer to the day when Ethereum becomes the global settlement layer.
This is the end of it! This is a simple guide to getting started with Ethereum.
Before diving into specific blockchain characteristics, let’s first understand what a blockchain is and why it is so important.
Next, we explored some top-notch applications built on the Ethereum blockchain; wallets, DeFi, DAOs, NFTs.
We then conclude this guide with a discussion of the future of Ethereum, which explores the evolution of the proof-of-stake consensus mechanism and paints a picture of how Ethereum hopes to solve the blockchain’s triangular paradox.
All of these definitions are simplified versions of complex topics, but I hope this guide inspires readers to delve deeper into the Ethereum world. In the following, I have collected some materials for those readers who wish to study further. If you would like to ask me questions or give feedback, drop me a line on Twitter!
Posted by:CoinYuppie，Reprinted with attribution to:https://coinyuppie.com/the-most-complete-guide-for-beginners-a-simple-guide-to-ethereum/
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.