How Much Do You Know About Blockchain Technology— December 2018 review

What you have to know about blockchain in 2018

Basic question

1. What is the blockchain? What is block? What is Chain?

  • Block: Transaction data is permanently recorded in files called blocks. They can be thought of as the individual pages of a city recorder’s recordbook (where changes to title to real estate are recorded) or a stock transaction ledger.
  • Chain: Blocks are organized into a linear sequence over time (also known as the block chain). Every block contains a hash of the previous block so Each block is guaranteed to come after the previous block chronologically because the previous block’s hash would otherwise not be known.
「blockchain block」的圖片搜尋結果
https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-code-963cc1cc0e54

2. Why is blockchain immutable?

Most people, when asked, cite “the blockchain” as the reason behind Bitcoin’s Immutable nature. However, it isn’t the “blockchain” that makes bitcoin immutable, but its Proof of Work consensus method.

The Proof Of Work that backs the Bitcoin Network is what makes it’s blockchain “the hardest thing to change in the world”. The “Work”, aka electricity/hashpower, earned bitcoin its badge of Maximum Immutability.

If a miner tries to change a transaction from history, he will have to re-mine all the blocks from that block till the current block and this will have to be reflected in every copy of the ledger in the network. Miners will have to rebuild the merkle tree of the block in which the transaction is present and redo all the proof of work for that block.

Now, since the next block stores the hash of this block, the next block will also have to be re-mined. This is because the next block will have to be edited with the new “previous block hash”. This change will result in a different block hash. The new block hash might result in a hash that does not match the set difficulty level. Thus, this block will also have to be re-mined.

The same process will have to be propagated to the latest block in the chain. While this miner is busy remining old blocks, there will be new blocks getting added to the chain. Thus to edit a historical record, the miner will have to remine the old blocks and keep up with the pace of newly generated blocks too. This is extremely difficult, close to impossible. The computing power required to achieve this is enormous and probably only theoretical.

Source : https://www.quora.com/What-makes-a-blockchain-network-immutable

3. What is mining and why is it necessary?

More details: https://coincenter.org/entry/what-is-bitcoin-mining-and-why-is-it-necessary

4. How does public/private key encryption work?

5. What is the consensus algorithm?

6. What is the public blockchain ,consortium blockchain and private blockchain?

  • Private Blockchain : the private blockchain, the inverse of a public blockchain in almost all key attributes, allows organizations or individuals to control who can see what transactions, and when those people can see them. With private blockchains, writing permissions are retained by a single person or organisation. This allows them to carry out the wishes of an individual while keeping certain transaction information private. A typical example for a private blockchain is MONAX, an open platform for developers and devops to build, ship, and run blockchain-based applications for business ecosystems.
  • Consortium blockchain: Consortium blockchain refers to blockchain with consensus procedures controlled by preset nodes. Consortium blockchains do not allow any person with an internet connection to participate nor do they grant full control to a single entity but rather a group of approved individuals. They therefore provide the efficiency and security of public blockchains while still allowing for some degree of central control, monitoring and safeguarding. Consortium blockchains are most often the banking sector, for instance Quorum is an Ethereum-powered consortium blockchain created by JP Morgan to service the needs of financial industries and beyond. Another example, Hyperledger, open source collaborative effort that unites finance, banking, Internet of Things, supply chains, manufacturing and Technology on a consortium blockchain.
Image for post
Image for post

Intermediate question

1. What’s difference between Bitcoin and Ethereum

  • Bitcoin was the first true cryptocurrency and has been in circulation since 2009. Ethereum is a far more recent development, going live in 2015.
  • Bitcoin’s average block time is 10 minutes, whereas Ethereum’s average block time is 15 seconds. Ethereum transactions can be confirmed much faster.

the main difference between the two cryptocurrencies is the ease of making programmable smart contracts on the Ethereum blockchain. Initially, the Bitcoin network was unable to process smart contracts. As Bitcoin and its blockchain evolved, support for smart contracts was added, though Bitcoin continues to play second-fiddle to Ethereum in this regard.

2. What’s the smart contract

3. What’s the difference between Account and UTXO (Unspent Transaction output)

Image for post
Image for post
image source: https://bitcoin.org

The Account/Balance Model keeps track of the balance of each account as a global state. The balance of an account is checked to make sure it is larger than or equal to the spending transaction amount.This is the same as in banking, the account balance is the amount of money an individual has available in his checking or savings account.

4. What’s POS(Proof of state) , POW (proof of work) and POA( Proof of Authority?

Proof of work(POW) is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and which satisfies certain requirements. Producing a proof of work can be a random process with low probability so that a lot of trial and error is required on average before a valid proof of work is generated. Bitcoin uses the Hashcash proof of work system.

Proof-of-authority (PoA) is an algorithm used with blockchains that delivers comparatively fast transactions through a consensus mechanism based on identity as a stake.In PoA-based networks, transactions and blocks are validated by approved accounts, known as validators. Validators run software allowing them to put transactions in blocks. The process is automated and does not require validators to be constantly monitoring their computers.

5. Why is there a public blockchain to mine?

6. What’s mining pool? Why it need mining pool?

Why it need mining pool ? With the increase in the number of people involved in mining, the chances of successfully packing the blocks are getting lower and lower. Therefore, combined with everyone’s calculation of mining and increasing the probability of successful mining, there is an opportunity to allocate more stable income.

7. What’s ERC?

Source : https://medium.com/coinmonks/all-about-erc-token-standards-9c759efdc791

8. What’s difference between ERC20 and ERC721?

Source : https://medium.com/pureinvestments/difference-between-erc20-and-erc721-tokens-9b476df1ca11

9. What’s difference between Decentralized exchange and Centralized exchange?

A decentralized exchange like Herdius works in a distributed way through a blockchain, with orders and information routed in a peer-to-peer protocol. This way, you are entrusting a system of hundreds of independent nodes instead of a single centralized entity, like an exchange like idex https://idex.market/

10. What’s double spending? How does Bitcoin handle it ?

Bitcoin manages the double spending problem by implementing a confirmation mechanism and maintaining a universal ledger (called “blockchain”), similar to the traditional cash monetary system. Bitcoin’s blockchain maintains a chronologically-ordered, time-stamped transaction ledger from the very start of its operation in 2009.

11. What’s sybil attack?

12. What’s 51% attack?

13. What’s soft fork? what’s hard fork ?

Advance question

1. Why bitcoin generate a block every ten minutes?

2. Why it take around a hour for a bitcoin transaction to be confirmed?

3. What’s Orphan block ?

4. What’s sharding, extension block and sidechain?

In case of the blockchain, each node will have only a part of the data on the blockchain, and not the entire information, when sharding is implemented. Nodes that maintain a shard maintain information only on that shard in a shared manner, so within a shard, the decentralization is still maintained. However, each node doesn’t load the information on the entire blockchain, thus helping in scalability.

Extension blocks
Extension blocks were actually first proposed by Bitcoin Core developer Johnson Lau in 2013 (as “auxiliary blocks”), and again earlier this year . The extension blocks is a way to increase in the Bitcoin block size.
The solution generally shares many of the virtues of hard forks: extension blocks allow for almost any protocol change. But they share one significant benefit with soft forks: extension blocks are backward compatible.

Sidechains are emerging mechanisms that allow tokens and other digital assets from one blockchain to be securely used in a separate blockchain and then be moved back to the original blockchain if needed. Sidechain functionality holds tremendous potential to enhance the capabilities of existing blockchains.

A sidechain is a separate blockchain that is attached to its parent blockchain using a two-way peg. The two-way peg enables interchangeability of assets at a predetermined rate between the parent blockchain and the sidechain. The original blockchain is usually referred to as the ‘main chain’ and all additional blockchains are referred to as ‘sidechains’.

5. What problem does the existing blockchain application face?

Almost all of the well-known first-generation blockchain systems have hard limits on the number of transactions. Bitcoin limits the maximum block size, Ethereum limits the total amount of gas in a block, as examples. Due to the increased adoption of cryptocurrencies in recent years, the number of users and transactions have skyrocketed, testing the limits of first-generation blockchain systems.

Scalability issues have given rise to significant transaction fees, clogged mempools and long drawn debates resulting in forks and community splits. Ethereum’s ambitions are currently constrained by the transactions per second (TPS) factor. For it to replace Visa, it should have a TPS of 45,000; however at its current TPS of 15 — one popular application like CryptoKitties suffices to make the network unusable.

5.2 Limited Programming Ecosystem:

Although Ethereum created the application development aspect on a blockchain, building complex applications remains very difficult. Ethereum Virtual Machine was a significant step-up from the highly limited (by design) Bitcoin programming environment. However, with increasing adoption; the EVM has hit design limits and security pitfalls.

5.3 Blockchain Security Vulnerabilities:

Although Very few instances of the Bitcoin protocol or the Ethereum protocol being vulnerable have been reported, Smart contract has resulted in multiple incidents. It started with the DAO hack (~$60M). There is room for improvement in this. Developers keep up with all the security knowledge and tools like Code Analysers, Formal Verification, Manual Validation and so on.

5.4 Usability

Currently, mobile applications or web applications interacting with blockchains are still extremely low in numbers and most are not user-friendly enough. Tools for secure smart contract development and for Dapps are still in progress. We still have a long way to go .

source : https://blockchainreview.io/blockchain-bitcoin-problems-limitations-issues-weaknesses/

6. What is Byzantine Generals Problem?

7. What’s IPFS?

Like this — https://ipfs.io/ipfs/QmbCy5xhKADFYzYDKbzphNrvVmKWm7YTiZ42dtdwGs3X2e

I made a ERC721 by using IPFS

https://opensea.io/assets/0x323a3e1693e7a0959f65972f3bf2dfcb93239dfe/1218

8. What DAG?

Image for post
Image for post

A directed acyclic graph (DAG) a finite directed graph with no directed cycles. That is, it consists of finitely many vertices and edges, with each edge directed from one vertex to another, such that there is no way to start at any vertex v and follow a consistently-directed sequence of edges that eventually loops back to v again. Equivalently, a DAG is a directed graph that has a topological ordering, a sequence of the vertices such that every edge is directed from earlier to later in the sequence.

IOTA is not a blockchain and it is based on a different technology called Tangle (DAG). The DAG network chooses an existing later transaction to link to when a new transaction happens. The goal is to keep the network width within a certain range that can support quick transaction validation. IOTA also proposed its own algorithm controlling the width on the tangle network. Simply say, Each transaction is a block, which greatly improves the transaction throughput. The trader is also a miner. The transaction process participates in the consensus of the block, so there is no need to pay transaction fees.

source : https://steemit.com/tangle/@shefalideshwali/blockchain-iota-tangle-and-dag-what-exactly-is-the-new-buzz-around-these

9. What’s Merkle Tree?

The implementation of Merkle trees in blockchains has multiple effects. It allows them to scale while also providing the hash-based architecture for them to maintain data integrity and a trivial way to verify the integrity of data. Cryptographic hash functions are the underlying technology that allow for Merkle trees to work.

Image for post
Image for post
An example of a binary hash tree, Image from Wikipedia

10. What is CAP Theorem? What does CAP stand for ?

CAP Theorem is a concept that a distributed database system can only have 2 of the 3: Consistency, Availability and Partition Tolerance. CAP Theorem is very important in the Big Data world, especially when we need to make trade off’s between the three, based on our unique use case.

Image for post
Image for post

Consistency : The system continues to run, despite the number of messages being delayed by the network between nodes. A system that is partition-tolerant can sustain any amount of network failure that doesn’t result in a failure of the entire network.

Availability : all nodes see the same data at the same time. Simply put, performing a read operation will return the value of the most recent write operation causing all nodes to return the same data. A system has consistency if a transaction starts with the system in a consistent state, and ends with the system in a consistent state.

Partition Tolerance : Every request gets a response on success/failure. Achieving availability in a distributed system requires that the system remains operational 100% of the time. Every client gets a response, regardless of the state of any individual node in the system.

Written by

撰寫任何事情,O型水瓶混魔羯,咖啡愛好者,Full stack/blockchain developer,Founder of Blockchain&Dapps meetup and DeFi-Decentralized-Finance-SG meetup,Udemy teacher。

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store