BCT 5 PDF
BCT 5 PDF
What is a dApp?
➢ A decentralized application (dApp) is a type of distributed open source software
application that runs on a peer-to-peer (P2P) blockchain network rather than on a
single computer.
➢ The decentralized nature of dApps means that once a developer has released a
dApp's codebase, others can build on top of it. The app is free from the control of a
single authority.
➢ A dApp is developed to create a variety of applications, including those for
decentralized finance, web browsing, gaming and social media.
➢ DApps are built on a decentralized network that is supported by a blockchain
distributed ledger. The use of blockchain enables a dApp to process data through
distributed networks and to execute transactions. dApps are also often built using
the Ethereum platform.
➢ Distributed ledger technologies like the Ethereum blockchain have helped popularize
dApps.
➢ The major advantages of dApps are that they are always accessible and do not have a
single point of failure.
How does a dApp work?
Decentralized apps have the following three common characteristics and key attributes:
✓ They are open source. All required changes are decided upon by a consensus of
the majority of users. This requires the codebase to be available to all users for
evaluation.
✓ They provide decentralized storage. Data is stored on decentralized blocks.
✓ They offer cryptographic Decentralized blocks of data are validated and proven
true.
➢ DApps are both stored and executed on a blockchain system -- commonly using
Ethereum. The app is validated with the use of cryptographic tokens, which are needed
to access the application.
➢ DApps are similar to conventional apps, as they use the same front-end code to render a
web page. But dApp's back-end code is different, as it runs on a decentralized P2P
network. This is what makes dApps free from the control of a single authority.
➢ While a traditional application is supported by centralized servers and database, a
dApp is supported by a smart contract that is stored on a blockchain. Ethereum is
the most popular blockchain for running smart contracts. Smart contracts enforce rules
defined in the code and facilitate transactions.
➢ The blockchain that a smart contract runs on is a ledger of data records that is stored in
blocks. The blocks of data remain dispersed across distributed locations. All of the
blocks of data are linked and ruled by cryptographic validation.
Most Common Platforms For Creating dApps
There are many Blockchain platforms created by various companies. While the most popular
and commonly heard one is Bitcoin, there are many others that are used to create dApps. These
Blockchain platforms are further used as a base to create dApps. So let’s see some of these
now:
What is Ethereum?
➢ Ethereum is a decentralized global software platform powered by blockchain
technology.
➢ Ethereum can be used by anyone to create any secured digital technology.
➢ Ethereum is designed to be scalable, programmable, secure, and decentralized.
➢ Ethereum is a decentralized blockchain platform that establishes a peer-to-peer network
that securely executes and verifies application code, called smart contracts.
➢ Smart contracts allow participants to transact with each other without a trusted
central authority. Transaction records are immutable, verifiable, and securely
distributed across the network, giving participants full ownership and visibility into
transaction data.
➢ Transactions are sent from and received by user-created Ethereum accounts. A sender
must sign transactions and spend Ether, Ethereum's native cryptocurrency, as a cost of
processing transactions on the network.
Transactions:
➢ An Ethereum transaction refers to an action initiated by an externally-owned account,
in other words an account managed by a human, not a contract.
For example, if Bob sends Alice 1 ETH, Bob's account must be debited and Alice's
must be credited. This state-changing action takes place within a transaction.
➢ Transactions, which change the state of the EVM(EVM is a piece of software that
executes smart contracts and computes the state of the Ethereum network after each
new block is added to the chain), need to be broadcast to the whole network, a
validator will execute the transaction and propagate the resulting state change to the rest
of the network
A submitted transaction includes the following information:
➢ Recipient: The account address to which the transaction is being sent.
➢ Value: The amount of ether to transfer from the sender to the recipient. This amount
may be zero.
➢ Data: Optional arbitrary binary data. During contract deployment, this is where the
contract’s bytecode is sent. When calling a function on a contract, this specifies which
function should be called and with what arguments. For simple transfers of ether, the
data portion of the transaction is typically omitted.
➢ gas limit : The maximum amount of gas that can be consumed by the transaction.
➢ gas price: The amount the sender will pay for each unit of gas.
➢ Nonce: A sequence number called a “nonce”. The sequence number is per sender and
must match the next available sequence number exactly.
➢ Signature: Data that identifies and authenticates the transaction’s sender.
TYPES OF TRANSACTIONS
➢ Regular transactions: a transaction from one account to another.
➢ Contract deployment transactions: a transaction without a 'to' address, where the data
field is used for the contract code.
➢ Execution of a contract: a transaction that interacts with a deployed smart contract. In
this case, 'to' address is the smart contract address.
Ethereum Wallet?
➢ Ethereum wallet is like your digital bank account that saves your details, records, and
transactions, managing your Ethereum account. Just like you manage your bank account
on mobile without visiting a bank, you can access your Ethereum account details from
anywhere and maintain security through restricted access allowed to only you.
➢ An Ethereum wallet is a gateway to send and receive payments and assess your
transaction history.
➢ Ethereum wallet is the best crypto wallet to keep the control of your account in your
hands. The wallet doesn’t manipulates and manages your funds but provides a platform
for you to make transaction decisions. These wallets are available on desktop and mobile
applications
Best Ethereum wallets are here for you.
Ethereum wallets are applications that let you interact with your Ethereum account. Think of it
as an internet banking app – without the bank. Your wallet lets you read your balance, send
transactions, and connect to applications. You need a wallet to send funds and manage your
ETH.
Ledger Nano X
➢ This is the most modern ETH hardware wallet. Ledger has been a pioneer in the industry
of hardware wallets and they support Ethereum all the tokens of the Ethereum chain.
Right now, Ledger Ethereum integration is available via MyEtherwallet which makes it
easier for you to manage your Ethereum coin. Apart from ETH, you can also store many
other coins. This is the successor of the popular Ledger Nano S. The major difference is it
has a battery and Bluetooth, so mobility has increased significantly. Moreover, you can
manage more Coins at the same time. Using Ledger Nano X is as easy as the Ledger
Nano S which I have mentioned below. The price is only US$119 and all future firmware
updates are free. The price also includes free shipping.
Ledger Nano S (Hardware Wallet)
➢ The Ledger Nano S is one of the most inexpensive Ethereum hardware wallets available
(US$59). Here, Ether is stored offline on the device. Whenever you want to spend Ether,
Ledger signs it using the private key stored on the device. You can store both ETH &
ETC. I have published a few video guides on using Ledger Nano S that you must check
out. This will help you to learn everything about Ledger Nano S. The best thing about the
Ledger Nano S is that it comes with a small OLED screen that allows you to control your
transactions. The security is so robust that you can use your Nano S device even on a
hacked computer.
Trezor (Hardware Wallet)
➢ Trezor was the first hardware wallet invented for Bitcoin. However, now Trezor can be
used for Ethereum too with the MyEtherWallet web interface. It also stores Ether offline
on a secure electronic chip which can be activated only when you log in with your
password. It is a very light and portable device. It comes in 3 colors – white, gray, and
black – and costs US$99.
Atomic Wallet (Desktop and Mobile)
➢ Atomic Wallet is an ultimate solution for Ethereum and ERC20 tokens. The wallet
enables you to store, exchange, and buy ETH with a bank card. In the future, Ethereum
will be available for swapping with Atomic Swaps, a fully decentralized way for
exchanging cryptos without involving intermediaries. Atomic Wallet supports over 300
cryptocurrencies and provides you with its interface for all ERC20 tokens. Basically, you
can input a contact address and have your custom coin in your Atomic Wallet. The wallet
encrypts your private keys on your device and gives you full access and control over your
funds. Atomic Wallet is available almost for any desktop operating system and will be on
Android and iOS devices.
Guarda (Desktop + Mobile)
➢ Guarda is a non-custodial wallet for storing Ethereum. The Guarda wallet has an intuitive
interface and offers a high degree of protection. The wallet is available for Desktop,
mobile, and web interface is also available. When you set up a Guarda wallet, you are the
only one who controls the private key. This way, you are in complete control of your
Ethereum coins and other coins if you wish to store them on Guarda. No personal
information is required to use Guarda wallet which has become a De facto standard
among all top Ethereum wallets.
Argent
➢ Argent is the most modern mobile wallet for Ethereum. This is one unique ETH wallet
that is non-custodial but it doesn’t let you store the private key. The wallet is configured
using your Email address and mobile number and can be recovered using the same. The
unique feature about this wallet is integration with compound, finance which lets you
lend your Ethereum and let you accumulate interest. The wallet also has a dAPP browser
and if you want your non-techie family and friend to use an Ethereum wallet, this is the
easiest one for them and for yourself.
Exodus (Desktop Wallet + Mobile)
➢ Exodus is the world’s first multi-cryptocurrency desktop wallet. It is free to use and has
an attractive UI. As soon as you open the Exodus wallet, a pie chart will show your entire
portfolio of coins. It supports seven cryptocurrencies (including Ethereum) and is the first
desktop wallet to have ShapeShift built in for exchanging cryptocurrencies. However,
while using Exodus, one needs to always be connected to the internet, but you need not
worry as your private keys never leave your machine. Features like one-click email
recovery and backup seed keys for restoring your wallet ensure the security of your
funds. Exodus now supports close to 100 cryptocurrencies! They also have multiple
exchange partners (not just ShapeShift), which means they can offer more exchangeable
assets. Sourcing liquidity from various partners has made exchanging in Exodus faster
and more reliable.
Jaxx (Mobile Wallet)
➢ Jaxx is a multi-asset wallet created by the Canada-based company, Decentral. It supports
13 cryptocurrencies (including ETH) and has an elegant design with robust security
features. On Jaxx, private keys never leave the device, and features like seed keys enable
you to restore your funds whenever required. It has an amazing development community
that looks after the innovation and maintenance of the product. Jaxx wallet is available
for Android, iOS, Mac OS, Windows, Linux. They are also launching a hardware wallet
in the coming months.
MetaMask (Desktop Wallet + Mobile wallet)
➢ MestaMask is like a browser to access the Ethereum network. It not only enables you to
store and send Ethereum but also allows you to access decentralized Ethereum apps. It
has an inbuilt design where you can switch quickly between a test network and the main
Ethereum network.
MyEtherWallet (Web Wallet)
➢ It is an open-source wallet, with no third-party servers, where you can write and access
smart contracts. It has an inbuilt BTC to ETH (and vice-versa) swap facility. You can
also connect your Trezor or Ledger Nano S to access your funds in MyEther’s browser
environment.
Accounts:
Accounts are one of the main building blocks of the Ethereum blockchain. The state is created or
updated as a result of the interaction between accounts. Operations performed between and on
the accounts represent state transitions. State transition is achieved using what's called the
Ethereum state transition function, which works as follows:
1. Confirm the transaction validity by checking the syntax, signature validity, and nonce.
2. Transaction fee is calculated and the sending address is resolved using the signature.
Furthermore, sender's account balance is checked and subtracted accordingly and nonce
is incremented. An error is returned if the account balance is not enough.
3. Provide enough ether (gas price) to cover the cost of the transaction. This is charged per
byte incrementally according to the size of the transaction.
4. In this step, the actual transfer of value occurs. The flow is from the sender's account to
receiver's account. The account is created automatically if the destination account
specified in the transaction does not exist yet. if the destination account is a contract, then
the contract code is executed. If enough gas is available, then the contract code will be
executed fully; otherwise, it will run up to the point where it runs out of gas.
5. In cases of transaction failure due to insufficient account balance or gas, all state changes
are rolled back with the exception of fee payment, which is paid to the miners.
6. Finally, the remainder (if any) of the fee is sent back to the sender as change and fee is
paid to the miners accordingly. At this point, the function returns the resulting state.
Types of Accounts:
➢ Externally owned accounts (EOA) refer to accounts that humans manage, such as a
personal Metamask or Coinbase wallet. This account is identified by a public key
(also known as an account address) and is controlled by a private key. The public key is
derived from the private key using a cryptographic algorithm. These accounts cannot
store information other than your accounts balance and nonce.
➢ Smart contract accounts (also known as contract accounts) also contain an address to
balance mapping but differ because they can also include EVM code and storage.
Contract accounts control themselves by the logic in the EVM code stored within the
account.
Ethereum utilizies the elliptic curve digital signature algorithm (ECDSA) to prove
authentication (i.e., prove that we have a private key for our public address) and verify that our
transaction comes from the account signing the transaction and is not fraudulent.
ETHER:
➢ Ether is made by miners as a currency reward for the computational effort they spend in
order to secure the network by verifying and with validation transactions and blocks.
➢ Ether is used within the Ethereum blockchain to pay for the execution of contracts on the
EVM. Ether is used to purchase gas as crypto fuel, which is required in-order to perform
computation on the Ethereum blockchain.
➢
Gas
➢ Gas refers to the unit that measures the amount of computational effort required to
execute specific operations on the Ethereum network.
➢ Since each Ethereum transaction requires computational resources to execute, each
transaction requires a fee.
➢ Gas is required to be paid for every operation performed on the ethereum blockchain.
➢ This is a mechanism that ensures that infinite loops cannot cause the whole blockchain to
stall due to the Turing-complete nature of the EVM.
➢ A fee is paid for transactions to be included by miners for mining. If this fee is too low,
the transaction may never be picked up; the more the fee, the higher are the chances that
the transactions will be picked up by the miners for inclusion in the block.
➢ Conversely, if the transaction that has an appropriate fee paid is included in the block by
miners but has too many complex operations to perform, it can result in an out-of- gas
exception if the gas cost is not enough. In this case, the transaction will fail but will still
be made part of the block and the transaction originator will not get any refund.
➢ Transaction cost can be estimated using the followingformula:
Total cost = gasUsed * gasPrice
➢ Here, gasUsed is the total gas that is supposed to be used by the transaction during the
execution. This is specified in Ether.
➢ Each EVM opcode has a fee assigned to it. It is an estimate because the gas used can be
more or less than the value specified by the transaction originator originally.
For example, if computation takes too long or the behaviour of the smart contract
changes in response to some other factors, then the transaction execution may perform
more or less operations than originally intended and can result in consuming more or
fewer gas.
➢ Each operation costs some gas; a high level fee schedule of a few operations is shown as
an example here:
➢ An example calculation of the SHA3 operation can be calculated asfollows:
• SHA3 costs 30 gas
• Current gas price is 25 Wei, which is 0.000000025
• Ether Multiplying both: 0.000000025 * 30 = 0.00000075 Ether
In total, 0.00000075 Ether is the total gas that will becharged
➢ Gas prices are denoted in wei, which itself is a denomination of ETH - each wei is equal
to 0.000000001 ETH (10-9 ETH).
GasPrice: Price per unit of gas you are willing to pay for the transaction. If you are executing
your transaction on the Mainnet, here is a website from ETH Gas Station that recommends what
you should set the gas price for your transaction to succeed in a reasonable amount of time.
GasLimit:
➢ Gas limit refers to the maximum amount of gas you are willing to consume on a
transaction.
➢ More complicated transactions involving smart contracts require more computational
work, so they require a higher gas limit than a simple payment. A standard ETH transfer
requires a gas limit of 21,000 units of gas.
For example, if you put a gas limit of 50,000 for a simple ETH transfer, the EVM would
consume 21,000, and you would get back the remaining 29,000. However, if you specify
too little gas, for example, a gas limit of 20,000 for a simple ETH transfer, the EVM will
consume your 20,000 gas units attempting to fulfil the transaction, but it will not
complete. The EVM then returns any changes, but since the miner has already done 20k
gas units worth of work, that gas is consumed.
Tokens are digital assets defined by a smart contract and built on a specific blockchain.
Introduction
➢ Ethereum is a network built for smart contracts, virtual agreements that can be
programmed to execute automatically when certain conditions are met.
➢ This functionality provides ability to create many kinds of new decentralized
applications. As a result, many other platforms and their tokens are built on top of the
Ethereum blockchain.
➢ Few of the most popular utility tokens (non cash assets) and decentralized finance (DeFi)
applications are built on Ethereum. There are certain standards developers must follow if
they want their tokens to be accepted by the network — standards often referred to as
ERC20.
What is ERC20(Ethereum Request for Comment)?
➢ ERC20 is a token that can be issued on Ethereum and it also represents a set of
standards that cryptocurrencies can follow to.
➢ The primary purpose of ERC20 tokens is to work with smart contracts and define a
common list of rules that all tokens on the Ethereum blockchain have to accept.
➢ While Ether (ETH) is the native cryptocurrency of the Ethereum network, the ERC20
token represents a specific standard(set of rules) that developers can follow to make
Ethereum-based tokens.
➢ This token standard is only for fungible tokens (Divisable and non-unique), and not non-
fungible tokens (unique and non-devisable).
➢ ERC20 smart contracts use ERC20 tokens to make payments when their protocol
calls for it.
How Does ERC20 Work?
➢ ERC20 is not a program or piece of software. It’s a standard protocol.
➢ This protocol governs the tokenization of new tokens, ensuring that they meet the
required technical specifications. If a token doesn’t conform to the appropriate
technical standards defined by ERC20, it won’t be called an ERC20 token, and won’t be
issued on Ethereum.
For Example; The Hypertext Transfer Protocol used for websites. HTTP defines how messages
on the internet are formatted and transmitted, and how servers and browsers should react in
response to various commands.
➢ ERC20 specifies the essential features that Ethereum-based tokens should have and how
they should function. Tokens that don’t meet the terms cannot be issued, traded, or listed
on exchanges.
ERC20 Standard
Smart contracts that want to use ERC20 tokens have to follow the appropriate ERC standards.
There are currently 9 rules in total, 6 of which are mandatory. The other 3 are optional. These
include:
TransferFrom Symbol
Transfer
BalanceOf
TotalSupply
Here’s a brief overview how the mandatory standards apply to the creation of tokens.
TotalSupply: Outlines the total number of tokens to be created.
Approve: Helps to eliminate the possibility of forged tokens being created by requiring approval
of smart contract functions.
BalanceOf: Returns the total number of tokens held by an address, allowing users to check their
balances.
TransferFrom: Allows for the automation of transactions when desired.
Transfer: Allows for the transfer of tokens from one address to another, like any other
blockchain-based transaction.
Allowance: When a smart contract wants to execute a transaction, it has to be able to see the
balance held by the Ethereum wallet trying to transact. The allowance function allows the
contract to carry out the transaction if the user has sufficient balance or cancel the transaction if
they do not.
➢ These six rules must be programmed into a token for it to be considered ERC20.
The Importance and Impact of ERC20
➢ The ERC20 Protocol standard makes it easy for developers to create decentralized
applications (dApps) on Ethereum.
➢ The standard makes implementing new tokens simpler for developers since there is a
standard protocol to follow.
➢ ERC20 tokens can be made to offer high liquidity, and smart contract transactions
are thought to be low-risk if the programming is done correctly.
What Tokens are ERC20?
ERC20 has enabled the creation of many new tokens. Here’s a list of the top 10 largest ERC20
tokens by market cap as of November 2021:
• USD Coin (USDC)
• Shiba Inu (SHIB)
• Uniswap (UNI)
• ChainLink (LINK)
• Wrapped Bitcoin (WBTC)
• Axie Infinity (AXS)
• Theta Token (THETA)
• Fantom (FTM)
• Decentraland (MANA)
• Crypto.com Chain (CRO)
How to Store ERC20 Tokens
To hold ERC20 tokens, users need an ERC20 wallet. Fortunately, some wallets have been
designed for the purpose of storing ETH and ERC20 tokens, including:
• MetaMask
• MyEtherWallet
• Trust Wallet
• Mist Wallet
When storing crypto in any wallet, be sure to back up your private keys and seed phrase. Don’t
let anyone else access either the key or the phrase, as doing so would allow them to take
ownership of all the crypto in that wallet.
What is Ethereum Mining? ( https://www.guru99.com/how-to-mine-ethereum.html)
➢ Mining Ethereum means more than just increasing the volume of Ether in circulation. It
also means securing the Ethereum network while creating, verifying, and ad blocking the
blockchain.
➢ Compared to mining Bitcoin, Ethereum mining takes up a lot of electricity and
computational power. The difficulty level adjusts itself dynamically to produce one block
after every 12 seconds.
➢ The mining process for Ethereum uses the Proof-of-work system (POW).
What is Ethereum Proof of Work?
Like Bitcoin, Ethereum also uses a consensus protocol to operate, known as Proof-of-
work(PoW). The Ethereum network uses this protocol for its nodes to agree on the state of
information recorded on the blockchain. It is the mechanism that allows the Ethereum network
nodes to come to a consensus on data.
The protocol aims to deter or curb blockchain network attacks or abuse. They do this by
forcing all participants to solve moderately hard calculations or computations to verify
blockchain transactions for a reward. PoW is also responsible for releasing new currency into the
system. In the PoW system, no one can erase or create fake transactions.
PoW miners have to use their computational resources to solve hashes to verify
transactions. It is done to prevent double-spending. Proof of Work also helps you to ensure that
the network functions without relying on any third party or middleman.
Some of the Proof-of-Work functions miners execute include puzzles, integer
factorization, merkle tree-based puzzles, hash sequences, and functions. The completion of these
activities helps in producing blocks, after which the network rewards the miners.
Profitability Factor of Ethereum Mining
How much money an Ethereum miner makes depends on several costs, including electricity
consumption, fees, or the cost of hardware being used.
Generally, three factors affect the profits of Ethereum mining.
➢ Rewards per block: At the moment, miners get 2 ETH plus the transaction fees for each
block mined.
➢ Network difficulty: Every cryptocurrency has a mining difficulty of its own, and so does
Ethereum. Ethereum mining difficulty refers to the difficulty of a problem that miners
can solve to produce a block. As a general rule, the larger the number of miners in the
network. The more difficult it is to find a block, which increases the more difficult. The
more miners with powerful hardware enter the market, the more difficulty will decrease
the profits significantly.
➢ Uptime: The amount of time that the miner’s rig is online and mining is called uptime in
this context.
➢ Pools: Miners use Mining hash pools to bring together their hash rate to rapidly find
blocks and get rewards. It is much more efficient compared to solo mining. It is
considered one of the most profitable and reliable ways of mining Ethereum.
➢ Hardware: Miners always have to be on the lookout for updates and innovations in
mining rigs and GPU model, which can save them a lot of money by either increasing the
hash rate or consuming less electricity. Alternatively, miners can opt for mining pools for
effectively mining Ethereum for a profit.
➢ Network Changes: Ethereum’s transition to the Proof-of-stake model will have an effect
on mining profits. PoW (Proof of Work) mining is expected to be effective till 2023.
Types of Ethereum Mining
Depending on the type of processes and hardware used, there are several different ways you can
mine Ethereum. We will now cover each of them briefly.
CPU Mining: CPU mining utilizes the miner’s central processing unit for mining Ethereum. It
used to be a possible option almost 5 to 6 years ago. However, it is declined in popularity due to
dwindling profits.
It is an extremely slow process to go on for several months without earning any
significant gains. All one needs to start CPU mining Ethereum is just a computer and some
software programs.
GPU Mining: This is probably the most popular method of mining cryptocurrencies. Miners use
one or several graphics processing units to mine Ethereum. It’s both relatively cheap and
efficient to build a mining rig comprising of GPUs. A standard Ethereum mining rig consists of a
motherboard, a processor, and a rig frame that houses the graphics cards.
ASIC Mining: ASIC stands for Application-Specific Integrated Circuits, which refer to specific
devices that perform crypto mining. Compared to the above methods, ASIC mining can produce
a lot of ETH because of its higher computational/processing power.
Since ASIC miners have more computational power than other miners, there’s a fear that
they rob other miners of equal opportunities. The miners who use CPUs and GPUs cannot keep
up with ASIC miners in hash speeds and earnings.
Cloud mining: Ethereum Cloud Mining is possibly one of the best ways to mine Ethereum
alongside pool mining. It’s a process where miners pay an entity (normally a big company) to
rent out their mining rigs. This is usually fixed in an agreement where all the earnings the rig
makes, get transferred to the miner’s crypto wallet.
Cloud mining services usually have large mining facilities consisting of several mining
rigs. Using this combined computational value, they can offer mining services on a large scale
better than others. Individuals who do not have sufficient money to invest in mining rigs
themselves can avail this service for mining cryptocurrency.
However, one disadvantage related to cloud mining is that you have to pay the money
upfront means that you will not get your money back if the price of ETH drops. You also won’t
be able to change the hardware and software provided by the cloud mining company.
Solo Mining: Mining alone or solo mining seems to be the most plausible method of mining.
But the degree of competition is high because of the number of participants involved in the
network. This is only a profitable method if you have enough resources to have a big presence in
the network. For instance, if you have more than a hundred GPUs as part of a mining farm.
However, there are a lot of disadvantages related to maintaining a mining farm. They can
be plagued with heating and ventilation issues. Maintaining multiple mining rigs also means that
you have to spend a lot on electricity, especially if you want to install more than 10 graphics
cards.
Pool mining (recommended): Ethereum can also be mined using mining pools. A joint group of
cryptocurrency miners combines their computational resources into a mining pool. This
strengthens their probability of finding a block, leading to more profits.