Ch1 - Question and Solutions
Ch1 - Question and Solutions
The Merkle Tree has been all over the place since 1979 when there was a man named Ralph Merkle at Stanford
University. Merkle wrote a paper titled “A Certified Digital Signature,” unknowingly creating a significant
blockchain component. In his paper, Merkle gave a description of a brand new method of proof-making.
Primarily, Merkle designed a data verification process that would allow computers to work much faster than
before. Merkle’s idea, now called the Merkle Tree, has fundamentally changed the world of cryptography,
including how encrypted computer protocols work. As a result, Merkle Trees has grown in popularity over the
years, especially in cryptocurrency. Many cryptocurrencies like Ethereum have also embraced Merkle Trees.
To grasp how important Merkle Trees are to blockchain technology, imagine a blockchain without them. We’re
going to apply to Bitcoin primarily because the usage of Merkle Trees is essential to cryptocurrencies but also
simple to understand. For example, if Bitcoin didn’t have Merkle Trees, every node on the network would need to
maintain a full copy of every transaction that has ever happened on Bitcoin. You can imagine how much
information it would have been. Any authentication request on Bitcoin would take an incredibly large packet of
data to be sent over the network, so you need to have it on your own to verify the data. A computer used for
validation would have to use a lot of processing power to compare ledgers to ensure that there were no changes.
Merkle Trees fix this problem. They hash records in the accounting, which efficiently segregates the data proof
from the data itself. Proving that a transaction is valid only includes giving small amounts of information across
the network. Besides, it allows you to demonstrate that both variants of the ledger are the same for titular amounts
of computing power and network bandwidth.
1. Efficient verification- Merkle trees offer efficient verification of integrity and validity of data and
significantly reduce the amount of memory required for verification. The proof of verification does not require a
huge amount of data to be transmitted across the blockchain network. Enable trustless transfer of cryptocurrency
in the peer-to-peer, distributed system by the quick verification of transactions.
2. No delay- There is no delay in the transfer of data across the network. Merkle trees are extensively used
in computations that maintain the functioning of cryptocurrencies.
3. Less disk space- Merkle trees occupy less disk space when compared to other data structures.
4. Unaltered transfer of data- Merkle root helps in making sure that the blocks sent across the network are
whole and unaltered.
5. Tampering Detection- Merkle tree gives an amazing advantage to miners to check whether any
transactions have been tampered with.
· Since the transactions are stored in a Merkle tree which stores the hash of each node in the upper parent
node, any changes in the details of the transaction such as the amount to be debited or the address to whom the
payment must be made, then the change will propagate to the hashes in upper levels and finally to the Merkle
root.
· The miner can compare the Merkle root in the header with the Merkle root stored in the data part of a block
and can easily detect this tampering.
Importance
Merkle Trees are vital because they make Merkle proof possible. These enable us to quickly verify that the input
was included in the specific data set and in what order. Merkle Trees are effective, too. They allow us to compress
large data sets by removing all unnecessary branches while keeping the only ones we need to prove. In the world
of Blockchain, this means that Merkle Trees provides the following critical features:
Q. State and Explain various challenges that occur while implementing blockchain.(Dec 22, 10 M)
CHALLENGES
The principal challenge associated with blockchain is a lack of awareness of the technology, especially in
sectors other than banking, and a widespread confusion on how it works. In addition, there are also the
following factors that need to be addressed.
One of the other challenges faced by blockchain is the scalability in the speed of transaction
processing. Unlike what people believe, the most popular cryptocurrency Bitcoin can process only an
average of 7 transactions per second. At the same time, Visa can process 24000 transactions per second,
and PayPal can handle about 200 transactions Per second. Bitcoin Cash can transact about 50 to 60
transactions per second, but it is still low compared to Visa. Among all the cryptocurrencies, Ethereum
is relatively slow and can negotiate only about 20 transactions per second. With the growing size and
complexity of Ethereum Blockchain, the transaction speed has been impacted, and sometimes,
transactions take hours to get verified or are not verified at all.
Directed Acyclic Graph (DAG) has a solution to address the issue of low transaction speed
DAG has solved this by confirming transactions on a per-transaction basis rather than on a block-to-block
base. Instead of waiting for miners to process a large block of transactions DAG makes it possible for
users to handle each other’s transactions on a microscale, thereby reducing transaction costs and making
it faster
2. Complexity
The underlying technology of blockchain is very complicated for beginners to understand since
the code consists of a lot of mathematical calculations. The technology of blockchain is at its infancy in
terms of maturity; this has many new processes, standards, and technical aspects. Also, another aspect of
blockchain is that it relies on decentralization and cryptography as the main backbone, which further adds
to its complexity. Because of this. various challenges arise in its functionalities, such as the speed of
transaction, The process the transaction, and the limits on data that can be sent or received. Another
dimension to the complexity of blockchain technology is the size of its network Just like any
decentralized system, blockchain is susceptible to fraudulent actors who be able to corrupt the network.
To have a stable blockchain network, it needs to have many users and nodes connected with a robust
network algorithm.
4. Storage Constraints
Under the blockchain, the data is stored by every full node in the network indefinitely since the
database in blockchain is append-only and immutable. Therefore, storage remains a considerable
challenge for practical applications that are built on the blockchain,
To achieve fast transaction speed in blockchain, the data and the load on the nodes have to be cut
down, which is the main challenge. As of now, each node has to store the entire data. So if the blockchain
can have a mechanism that can allow the nodes to store only the data that is mostly used or locally
relevant data for processing transactions, we can process transactions faster. Such solutions can make
blockchain more efficient, and there is a need to research on such solutions to overcome the storage
constraints.
To validate transactions, miners need to come up many mathematical solutions, and they require substantial units
of computing power to do that. Since each node has extreme limits offault tolerance to ensure zero downtime,
With high levels of security of network and data, the average cost of running the blockchain is also high based on
the robust hardware infrastructure needed. All this means heavy energy consumption.
Q. List and explain various types of nodes used in ethereum.
Q. Explain the concept of an orphaned block.(May 24, 5M)