Mastering Blockchain: Deeper insights into decentralization, cryptography, Bitcoin, and popular Blockchain frameworks
Rate it:
Open Preview
8%
Flag icon
evolution and it will take many years before any practical benefits from blockchain come to fruition.
8%
Flag icon
the blockchain technology is currently at the peak of inflated expectations (as of July 2016) and is expected to be ready for mainstream adoption in 5 to 10 years:
8%
Flag icon
A simple trend search on Google reveals the scale of interest in the blockchain technology over the last few years:
8%
Flag icon
In 2008 a groundbreaking paper Bitcoin: A Peer-to-Peer Electronic Cash System was written on the topic of peer-to-peer electronic cash under the pseudonym Satoshi Nakamoto and introduced the term chain of blocks. This term over the years has now evolved into the word blockchain.
9%
Flag icon
Distributed systems are a computing paradigm whereby two or more nodes work with each other in a coordinated fashion in order to achieve a common outcome and it's modeled in such a way that end users see it as a single logical platform.
9%
Flag icon
The theorem states that any distributed system cannot have Consistency, Availability, and Partition tolerance simultaneously: Consistency is a property that ensures that all nodes in a distributed system have a single latest copy of data Availability means that the system is up, accessible for use, and is accepting incoming requests and responding with data without any failures as and when required Partition tolerance ensures that if a group of nodes fails the distributed system still continues to operate correctly
9%
Flag icon
In order to achieve fault tolerance, replication is used. This is a common and widely used method to achieve fault tolerance. Consistency is achieved using consensus algorithms to ensure that all nodes have the same copy of data. This is also called state machine replication. Blockchain is basically a method to achieve state machine replication.
9%
Flag icon
Proof of Work (PoW)
10%
Flag icon
hashcash as PoW to provide a secure, controlled, and decentralized method of minting digital currency. The key innovation is the idea of an ordered list of blocks composed of transactions and cryptographically secured by the PoW mechanism. This will be explained in more detail in Chapter 4, Bitcoin.
10%
Flag icon
Blockchain at its core is a peer-to-peer distributed ledger that is cryptographically secure, append-only, immutable (extremely hard to change), and updateable only via consensus or agreement among peers.
10%
Flag icon
From a business point of view a blockchain can be defined as a platform whereby peers can exchange values using transactions without the need for a central trusted arbitrator.
10%
Flag icon
This is a powerful concept and once readers understand it they will realize the tsunamic potential of blockchain technology. This allows blockchain to be a decentralized consensus mechanism where no single authority is in charge of the database.
10%
Flag icon
A genesis block is the first block in the blockchain that was hardcoded at the time the blockchain was started. The structure of a block is also dependent on the type and design of a blockchain, but generally there are a few attributes that are essential to the functionality of a block, such as the block header, pointers to previous blocks, the time stamp, nonce, transaction counter, transactions, and other attributes.
10%
Flag icon
The structure of a generic blockchain can be visualized with the help of the following diagram:
10%
Flag icon
Addresses are unique identifiers that are used in a transaction on the blockchain to denote senders and recipients. An address is usually a public key or
10%
Flag icon
A transaction is the fundamental unit of a blockchain. A transaction represents a transfer of value from one address to another.
10%
Flag icon
A block is composed of multiple transactions and some other elements such as the previous block hash (hash pointer), timestamp, and nonce.
10%
Flag icon
Peer-to-peer network As the name implies, this is a network topology whereby all peers can communicate with each other and send and receive messages.
11%
Flag icon
Smart contracts These programs run on top of the blockchain and encapsulate the business logic to be executed when certain conditions are met. The smart contract feature is not available in all blockchains but is now becoming a very desirable feature due to the flexibility and power it provides to the blockchain applications.
11%
Flag icon
Immutability This is another key feature of blockchain: records once added onto the blockchain are immutable. There is the possibility of rolling back the changes but this is considered almost impossible to do as it will require an unaffordable amount of computing resources.
11%
Flag icon
This difficulty makes the records on a blockchain practically immutable.
11%
Flag icon
How blockchains accumulate blocks A node starts a transaction by signing it with its private key. The transaction is propagated (flooded) by using much desirable Gossip protocol to peers, which validates the transaction based on pre-set criteria. Usually, more than one node is required to validate the transactions. Once the transaction is validated, it is included in a block, which is then propagated on to the network. At this point, the transaction is considered confirmed. The newly created block now becomes part of the ledger and the next block links itself cryptographically back to this ...more
11%
Flag icon
First, the three levels discussed below were originally described by Melanie Swan in her book Blockchain, Blueprint for a New Economy as tiers of blockchain categorized on the basis of applications in each category. In addition to this, Tier X or Generation X is discussed later. This is what the author thinks will become a reality when the blockchain technology becomes advanced enough. Blockchain 1.0 This was introduced with the invention of bitcoin and is basically used for cryptocurrencies. Also, as bitcoin was the first implementation of cryptocurrencies it makes sense to categorize ...more
This highlight has been truncated due to consecutive passage length restrictions.
12%
Flag icon
Distributed ledger As the name suggests, this ledger is distributed among its participants and spread across multiple sites or organizations. This type can either be private or public. The key idea is that, unlike many other blockchains, the records are stored contiguously instead of sorted into blocks. This concept is used in Ripple.
12%
Flag icon
Fully private and proprietary blockchains These blockchains perhaps have no mainstream application as they deviate from the core idea of decentralization in blockchain technology. Nonetheless in specific private settings within an organization there might be a need to share data and provide some level of guarantee of the authenticity of the data. These blockchains could be useful in that scenario. For example, for collaboration and sharing data between various government departments.
12%
Flag icon
Proof of Stake This algorithm works on the idea that a node or user has enough stake in the system; for example the user has invested enough in the system so that any malicious attempt would outweigh the benefits of performing an attack on the system. This idea was first introduced by Peercoin and is going to be used in the Ethereum blockchain. Another important concept in Proof of Stake (PoS) is coin age, which is a derived from the amount of time and the number of coins that have not been spent. In this model, the chances of proposing and signing the next block increase with the
13%
Flag icon
In this scenario, Consistency (C) on the blockchain is not achieved simultaneously with Partition tolerance (P) and Availability (A), but it is achieved over time. This is called eventual consistency, where consistency is achieved as a result of validation from multiple nodes over time. For this purpose, the concept of mining was introduced in bitcoin; this is a process that facilitates the achievement of consensus by using a consensus algorithm called PoW.
13%
Flag icon
a higher level, mining can be defined as a process that is used to add more blocks to the blockchain.
13%
Flag icon
Benefits and limitations of blockchain Numerous benefits of blockchain technology are being discussed in the industry and proposed by thought leaders around the world in blockchain space. The top 10 benefits are listed and discussed as follows. Decentralization This is a core concept and benefit of blockchain. There is no need for a trusted third party or intermediary to validate transactions; instead a consensus mechanism is used to agree on the validity of transactions. Transparency and trust As blockchains are shared and everyone can see what is on the blockchain, this allows the system to ...more
This highlight has been truncated due to consecutive passage length restrictions.
13%
Flag icon
A selection of the most sensitive challenges are presented as follows: Scalability Adaptability Regulation Relatively immature technology Privacy
13%
Flag icon
Decentralization is not a new concept; it has been used in strategy, management, and governance for a long time. The basic idea of decentralization is to distribute control and authority to peripheries instead of one central authority being in full control of the organization. This results in several benefits for organizations. such as increased efficiency, quicker decision making, better motivation, and a reduced burden on top management.
13%
Flag icon
Centralized systems are conventional (client--server) IT systems whereby there is a single authority that controls the system and is solely in-charge of all operations on the system. All users of a central system are dependent on a single source of service. Online service providers, such as eBay, Google, Amazon, Apple's App Store, and the majority of other providers, use this common model of delivering services. On the other hand, in a distributed system, the data and computation are spread across multiple nodes in the network. Sometimes, this term is confused with parallel computing. While ...more
14%
Flag icon
Different types of network/system The key difference between a decentralized system and distributed system is that in a distributed system, there still exists a central authority that governs the entire system, whereas in a decentralized system, no such authority exists. A decentralized system is a type of network whereby nodes are not dependent on a single master node; instead, control is distributed among many nodes. For example, this is analogous to a model where each department in an organization has its own database server that they are in charge of, thus taking away the power from the ...more
14%
Flag icon
Disintermediation This can be explained with the help of an example. Imagine you want to send money to your friend in another country. You go to a bank that will transfer your money to the bank in the country of your choice for a fee. In this case, the bank keeps a central database that is updated, confirming that you have sent the money. With blockchain technology, it is possible to send this money directly to your friend without the need for a bank. All you need is the address of your friend on the blockchain. This way, the intermediary is no longer required and decentralization is achieved ...more
14%
Flag icon
For example, in a decentralized system such as bitcoin or Ethereum, where security is usually provided by private keys,
14%
Flag icon
almost 12 billion dollars.
14%
Flag icon
Ethereum, which is currently the tool of choice of many developers for building decentralized applications.
14%
Flag icon
system can be decentralized. These questions are listed as follows: What is being decentralized? What level of decentralization is required? What blockchain is used? What security mechanism is used?
14%
Flag icon
Blockchain itself is a distributed ledger that runs on top of conventional systems. These
14%
Flag icon
A better alternative is to use distributed hash tables (DHTs). DHTs were originally used in peer-to-peer file sharing software, such as BitTorrent, Napster, Kazaa, and Gnutella. DHT
15%
Flag icon
It is generally considered that the Internet (the communication layer in blockchain) is decentralized.
15%
Flag icon
mail and online storage are all now based on a paradigm where the service provider is in control and users trust them to give them access to the service when required. This model is based on the trust of the central authority (the service provider) and users are not in control of their data; even passwords are stored on trusted third-party systems.
15%
Flag icon
Access to the Internet (the communication layer) is based on Internet service providers (ISPs) that act as a central hub for Internet users.
15%
Flag icon
Note An example of a Meshnet is Firechat (http://www.opengarden.com/firechat.html), which allows iPhone users to communicate with each other directly in a peer-to-peer fashion without the Internet.
15%
Flag icon
players. For example, e-mail is a decentralized system at its core; anyone can run an e-mail server with minimal effort and can start sending and receiving e-mails, but there is a better alternative available that is already providing a managed service for end users, so there is a natural inclination toward selecting a centralized service as it is more convenient and free.
15%
Flag icon
Blockchain has once again given this vision of decentralization to the world and now concerted efforts are being made to harness this technology and gain the benefits that it can provide. Computation Decentralization of computing or processing is achieved by a blockchain technology such as Ethereum, where smart contracts with embedded business logic can run on the network. Other blockchain technologies also provide similar processing layer platforms where business logic can run over the network in a decentralized manner. The following diagram shows the decentralized ecosystem overview where, ...more
This highlight has been truncated due to consecutive passage length restrictions.
15%
Flag icon
15%
Flag icon
Smart contract A smart contract can be thought of as a small decentralized program.
15%
Flag icon
These small programs reside on the blockchain and execute business logic if some specific criteria are met.
15%
Flag icon
Decentralized organizations Decentralized organization (DOs) are software programs that run on a blockchain and are based on the idea of real human organizations with people and protocols.
« Prev 1