BLOCKCHAINS - OVERVIEW, FEATURES, STRUCTURE, PART 2 OF 2

By: Peter Chipkin


https://cdn.chipkin.com/assets/uploads/2018/apr/12-16-34-14_image.png


Article Contents

  • Do you need permission to join a chain?

  • Proof of ….

    • Proof of Work

    • Proof of Stake

    • Proof of Activity

    • Proof of Burn

    • Proof of Capacity

    • Proof of Elapsed Time
  • Scalability vs Performance
  • Blockchain as a Service
  • Glossary




Do you need permission to join a chain?


A permissioned blockchain restricts the actors who can contribute to the consensus of the system state. In a permissioned blockchain, only a restricted set of users have the rights to validate the block transactions. A permissioned blockchain may also restrict access to approved actors who can create smart contracts.

Permissionless blockchain is contrary to what you read above - Here anyone can join the network, participate in the process of block verification to create consensus and also create smart contracts. A good example of permissionless blockchain is the Bitcoin and Ethereum blockchains, where any user can join the network and start mining.

Permissioned-on-Permissionless - These systems are an odd hydra, they have all of the costs of Sybil-protected permissionless systems (e.g., high marginal costs) without the benefits of actual permissioned systems (e.g., fast confirmations, low marginal costs, direct customer service).

Informally speaking, a permissionless model has the following notable differences from the classical permissioned model:

1. Anyone can join the protocol and the network provides no authentication;

2.Nodes come and go;

3. There may not be a prior knowledge as to how many nodes will actually show up; and

4. The number of nodes participating can vary over time.

ASybil attack relies on the fact that a network of computers cannot ensure that each unknown computing element is a distinct, physical computer. A number of authorities have attempted to establish the identity of computers on a network (or nodes) by using certification software such as VeriSign, employing IP addresses to identify nodes, requiring passwords and usernames, and so forth. However, impersonation, both in the real and digital worlds, is commonplace. Friends may share passwords, communities may share website registrations and some services provide a single IP address that is shared among users.




Proof of ….

Proof of Work

Miners compete to add the next block (a set of transactions) in the chain by racing to solve a extremely difficult cryptographic puzzle. The first to solve the puzzle, wins the lottery. As a reward for his or her efforts, the miner receives 12.5 newly minted bitcoins – and a small transaction fee.A consensus algorithm, like bitcoin's proof of work (the one we hear about most often), does two things: it ensures that the next block in a blockchain is the one and only version of the truth, and it keeps powerful adversaries from derailing the system and successfully forking the chain

Proof of Stake

The most common alternative to proof of work is proof of stake. In this type of consensus algorithm, instead of investing in expensive computer equipment in a race to mine blocks, a 'validator' invests in the coins of the system. Note the term validator. That's because no coin creation (mining) exists in proof of stake. Instead, all the coins exist from day one, and validators (also called stakeholders, because they hold a stake in the system) are paid strictly in transaction fees.

Proof of Activity

To avoid hyperinflation (what happens when too much of a currency floods the system) bitcoin will only ever produce 21m bitcoins. That means, at some point, the bitcoin block reward subsidy will end and bitcoin miners will only receive transaction fees.

Some have speculated this might cause security issues resulting from a 'tragedy of the commons', where people act in self-interest and spoil the system. So, proof of activity was created as an alternative incentive structure for bitcoin. Proof of activity is a hybrid approach that combines both proof of work and proof of stake

Proof of Burn

With proof of burn, instead of pouring money into expensive computer equipment, you 'burn' coins by sending them to an address where they are irretrievable. By committing your coins to never-never land, you earn a lifetime privilege to mine on the system based on a random selection process. the protocol still wastes resources needlessly. Another criticism is that mining power simply goes to those who are willing to burn more money.

Proof of Capacity

Still have the problem of nothing at stake to deter bad actors.

Variations of proof of capacity include proof of storage and proof of space. Burstcoin is the only cryptocurrency to use a form of proof of capacity.

Proof of Elapsed Time

Intel has come up with its own alternative consensus protocol called proof of elapsed time. This system works similarly to proof of work, but consumes far less electricity. Further, instead of having participants solve a cryptographic puzzle, the algorithm uses a trusted execution environment (TEE) – such as SGX – to ensure blocks get produced in a random lottery fashion, but without the required work. requires you to put your trust in Intel requires you to put your trust in Intel





Scalability vs Performance 

https://cdn.chipkin.com/assets/uploads/2018/apr/13-10-45-24_image.png




Blockchain as a Service


First lets distinguish between a blockchain and Blockchain as a Service (BaaS), because they're two different things.

Bitcoin, and other crypto-currencies, use a distributed ledger in a peer-to-peer network - a blockchain. This is the original use of a blockchain. As you state correctly, the fundamental concept is that it is decentralized, permissionless and trustless. There is no central management, anybody can use it and it does not require trusting in a third party. For Bitcoin, and other crypto-currencies, the peer-to-peer (P2P) network propagates transactions, verifies the transactions as valid, and then adds these transactions to the blockchain. Bitcoin is the first blockchain application to create a cryptocurrency. Ethereum is a cryptocurrency which is also a platform for running distributed applications (DApps).

Software corporations like Microsoft and IBM are offering Blockchain as a Service. This is something completely different than a cryptocurrency. It's closer to what Amazon provides with it's AWS cloud platform. If you're not familiar with cloud computing platforms get up to speed on that.

Looking at Microsoft's blockchain solutions and IBM's blockchain solutions you can say that BaaS provides tools, infrastructure and/or a simulated network environment for companies to develop their own blockchain applications. These blockchains may be on an established decentralized public platform like Ethereum, or it might be a private permissioned blockchain.

"By the way, if we stop and think, then the whole "blockchain as a service" philosophy is self-defeating: it gets us farther away from a blockchain like Bitcoin, not closer. Consider this: Why do we need a provider of a "blockchain service" anyway? If it's gonna dictate consensus on the blockchain, then it's a trusted third party. And if it's not going to, then we don't need it to begin with: we can just replicate the blockchain and agree on it ourselves."


How Block Chains work –A Visual Guide

https://cdn.chipkin.com/assets/uploads/2018/apr/13-10-46-22_image.png


Block Chain Forks

The problem with decentralization is decentralization over decisions.

Governance in cryptocurrencies relates to decisions about two things: the rules of the protocol (the code) and the incentives the network is based on (the economics).

At its most basic, a fork is what happens when a blockchain diverges into two potential paths forward — either with regard to a network's transaction history or a new rule in deciding what makes a transaction valid.

As a result, those who use the blockchain have to show support for one choice over the other.

A byproduct of distributed consensus, forks happen anytime two miners find a block at nearly the same time. The ambiguity is resolved when subsequent blocks are added to one, making it the longest chain, while the other block gets "orphaned" (or abandoned) by the network.

But forks also can be willingly introduced to the network. This occurs when developers seek to change the rules the software uses to decide whether a transaction is valid or not.

Types of Forks

Soft fork: by contrast, is any change that's backward compatible.Soft forks involve optional upgrades. Like hard forks, they involve

two version of a blockchain. However, unlike hard forks, users can keep running the old version after a soft fork, and still be part of the same network as the users who have upgraded to the new version

Hard fork: is a software upgrade that introduces a new rule to the network that isn't compatible with the older software. Hard forks are deliberate, and occur when there is a major difference of opinion within the community which has built and sustained a particular blockchain, and one (or both) of the camps decides to go their own way. The group that disagrees with the original protocol 'forks' off its own version of the blockchain and the members who believe in this fork upgrade their systems to work on this new blockchain, leaving the previous one. Nodes running the previous blockchain are not accepted by the new blockchain. Users who prefer the old version can keep their systems and nodes working on it. The divergence essentially creates two competing blockchains.

User-activated soft fork (UASF): is a controversial idea that explores how a blockchain might add an upgrade that is not directly supported by those who provide the network's hashing power.

What happens when the blockchain forks?

It's actually quite simple: you get two chains with a shared genesis and are identical up until the forking point, after which they exist exclusively in parallel (unless one is completely abandoned), creating two separate networks.

The problem comes when some sort of political impasse arises, and a portion of the community decides to stick by the old rules no matter what. The hash rate, or network computing power, behind the old chain is irrelevant. What matters is that its data (and ruleset) is still perceived to have value, meaning miners still want to mine a chain and developers still want to support it.

Who controls blockchain forks ?

For example Bitcoin

Is there anything comparable to a "board of directors" for Bitcoin or is the software on complete cruise-control?

A common and understandable concern about Bitcoin is that it might become corrupted at the protocol level to serve special interests rather than the unwashed masses

However, the software itself remains open source. This means that anyone can take it and modify it. Although this is more for personal use, rather than for making changes to the software publicly, it does mean that changes can happen within the Bitcoin system that are beyond the developer's control.

There are a number of "core" developers. And the ones who have access to commit directly to the Github project obviously have more "power" than other people. Since the software is open source you can of course make your own copy of it and modify it to your liking but you won't be able to change any of the "rules" of the network unless you get the rest of the Bitcoin world to follow you and use your client.

According to bitcoin.org the core developers are Satoshi Nakamoto, Gavin Andresen, Pieter Wuille, Nils Schneider and Jeff Garzik. According to a recent message on the Bitcoin Development mailing list Wladimir (J. van der Laan?) is now also part of the core development team


How to Avoid Blockchain Forks

Choose a blockchain that is controlled by a vendor like Microsoft or IBM. Its not open source and they control the software.


https://cdn.chipkin.com/assets/uploads/2018/apr/13-10-51-09_image.png





Glossary

51% Attack: The ability of someone or an organization to control a majority of the network hash rate to review transaction history and prevent new transaction from confirming.


Address: A Cryptocurrency address is used to receive and send transactions on a network. It is usually represented as a string of alphanumerical characters or wallets.


Bitcoin: Bitcoin is a type of digital currency, created and held electronically. Encryption techniques are used to regulate the generation of units of currency and verify the transfer of funds.


Block: Blocks can be thought of as individual pages of a record book that permanently store transaction data.


Blockchain: A blockchain is a digitized, decentralized, public ledger for all cryptocurrency transactions. It is constantly growing as 'completed' blocks and added to the chain in chronological order.


Block Explorer: The Block Explorer is an online block chain browser that displays the content of an individual block. Each block provides information such as network hash rate and transaction histories.


Block Height: Block Height is the number of blocks in the chain between it and the genesis (first) block.


Block Reward: A form of incentive for the miner who successfully calculated the hash in a block during mining. Verification of transactions on the blockchain generates new coins in the process, and the miner is rewarded a portion of those.


Central Ledger: A Central Ledger, also known as a General Ledger, is a ledger maintained by a central group.


Confirmation: The successful act of hashing a transaction and adding it to the blockchain.


Consensus: Consensus is achieved when all participants of the network agree on the validity of the transactions, ensuring that the ledgers are exact copies of each other.


Cryptocurrency: Also known as tokens, cryptocurrencies are representations of digital assets.


Cryptography: Cryptography is a type of method used to keep hide information and/or keeps it secure from a third party.


Cryptographic Hash Function: A Cryptographic Hash Function is a has function which takes a 'message' and returns an unique alphanumeric string.


Dapp: A decentralized application is an application that run on a P2P network of computers (instead of a single compute). It operates autonomously, has its data stored on a blockchain, is incentivised in the form of cryptographic tokens, and operates on a protocol that shows proof of value.


DAO: A Decentralized Autonomous Organization is an organization that is run through ruled encoded as computer programs called smart contracts. All their financial transaction records and program rules are maintained on a blockchain making them incorruptible.


Distributed Ledger: A Distributed Ledger is a database that is shared and synchronized across a network across sites, institutions, geographies etc. It does not have to have its own currency and can be either private or permissioned.


Distributed Network: Distributed networking is a type of network that spreads the programming and data to be worked on onto however many different networks.


Difficulty: This refers to how easily a data block of transaction information can be mined successfully.


Digital Signature: A digital code generated by public key encryption that is attached to an electronically transmitted document to verify its contents and the sender's identity.

A digital signature is a type of electronic signature that is generated by public key encryption and is attached to a document being transmitted to verify contents and sender's identity.


Ethereum: Ethereum is an open software platform based on blockchain technology that enables developers to create decentralized applications.


EVM: The Ethereum Virtual Machine is a 'Turning complete' virtual machine that can execute code of any algorithmic complexity. It is designed to serve as a runtime environment for smart contracts. Every Ethereum node runs on the EVM to maintain consensus across the blockchain.


Fork: A fork is what happens when a blockchain splits into two individual chains which leaves them to run simultaneously on various parts of the network.


Genesis Block: The genesis block of a block of a blockchain.


Hard Fork: A hard fork is a type of fork that splits a blockchain into two incompatible separate chains. It is a radical change to the protocol and makes previously invalid transactions valid (or vice-versa) requiring all nodes and users to upgrade to the latest version of the protocol software.


Hash: Hashes are large numbers used to confirm transactions.


Hash Rate: A Hash Rate is the speed that measures, in hashes per second, the performance of a mining rig.


Hybrid PoS/PoW: A hybrid PoS/PoW allows for both Proof of Stake and P roof of Work as consensus distribution algorithms on the network. In this method, a balance between miners and voters (holders) may be achieved, creating a system of community-based governance by both insiders (holders) and outsiders (miners).


Ledger: A ledger is a collection of files or database that is consensually shared and synchronised across networks spread across multiple sites, institutions, or geographies.


Mining: Mining is the processing of transactions in the digital currency system. Records of transactions (blocks) are added to the blockchain. Miners use software that accesses their processing capacity to solve transaction-related algorithms and are reworded, usually in the forms of coins.


Multi-Signature: A Multi-signature is a signature scheme requires more than one user to sign a document in a transaction and therefor provides an addition security layer.


Node: A copy of the ledger operated by a participant of the blockchain network.


Oracles: Oracles work as a bridge between the real world and the blockchain by providing data to the smart contracts.


Peer to Peer: Peer-to-peer is a decentralized communication model between two parties or more in a highly-interconnected network. All the participants can initiate a communication session and have the same capabilities.


Public Address: A public address is an address with a public key pair. A public key is a cryptographic key that can be used by anyone to encrypt messages intended for a specific recipient. These messages can only be unlocked using a private key that is only known to the recipient.


Private Key: A private key is a secret number every Bitcoin wallet contains. They are used as 'tickets' to allow someone to spend their coins so it's important they are kept secure.


Proof of Stake: Proof of Stake is an algorithm where a blockchain network tries to obtain a distributed consensus. The more coins a miner has, the more they can mine.


Proof of Work: Proof of Work is an consensus distribution algorithm that requires an active role in mining data blocks. It is a system where the probability of mining a block is dependent on how much work has been done by the miner.


SHA-256: SHA-256 is one of the strongest hash function available. It's a cryptographic algorithm used by cryptocurrencies.


Smart Contracts: Smart contracts are self-executing contracts that have the terms of agreement between the buyer and the seller written directly into the lines of code on a decentralized blockchain network.


Soft Fork: A soft fork differs from a hard fork in that previously valid blocks/transactions are made invalid. Old nodes recognize the new blocks as valid so a soft fork is backward-compatible.


Solidity: Solidity is Ethereum's programming language for developing smart contracts.


Testnet: Testnet is blockchain used for testing. It allows application developers to test equipment without having to use bitcoins or breaking the main chain.


Transaction Block: A collection of transactions gathered into a block that can then be hashed and added to the blockchain.


Turing Complete: Turning complete means that you can write programs that can solve any reasonable computation problem.


Wallet: A file that houses private keys. It usually contains a software client which allows access to view and create transactions on a specific blockchain that the wallet is designed for.

A wallet is a software program that stores public and private keys as well as interacting with a specific blockchain to let users create and view transactions.


Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
8:00am - 12:00pm 12:00pm - 5:00pm
Message Sent Successfully