What Real-World Impact can Blockchain Have?

While blockchain was created as a solution for the Bitcoin financial network, the concept has been adopted across a range of sectors and is expected to make a major impact in the way that we handle data storage.

You can visit out Industry Impacts section for profiles of some up and coming blockchain applications.

 

Did you know?

Blockchain systems are currently in development in every major sector of the Forbes 500 list!

What is Decentralization?

A blockchain is a technical design pattern which allows networks to exist without relying on a central authority for network management and maintenance. A cryptocurrency is usually (but not always) a required part of a blockchain ecosystem, and is used to incentivize value within the network.

 

Did you know?

While the Bitcoin whitepaper was the first proposal for a blockchain based system, the word blockchain does not appear anywhere in the document!

 

More Information

The Blockchain Institute was founded to help teach people how to build the next wave of decentralized technology. You might find our web3 and downloads section useful, or for more in-depth content please check out our courses portal.

What is Blockchain?

A blockchain is a ledger system which is distributed across a wide network of peers. A ledger in this context is any database system which is write-only, meaning that a record cannot be changed once it has been added to the chain.

Did you know?

While the Bitcoin whitepaper was the first proposal for a blockchain based system, the word blockchain does not appear anywhere in the document!

Fun Fact:

Blockchain networks are kept secure by distributing the responsibility for security across a large network of nodes. As a result, the bigger the network grows, the more secure it becomes!

More Information

The Blockchain Institute was founded to explain blockchain, so naturally we have a lot of content about it. You might find our industry impacts and downloads section useful, or for more in-depth content please check out our courses portal.

What is Decentralized Computing?

Distributed computing has been around for a long time in computer science, but in 2015 the Ethereum foundation changed that. Ethereum’s innovation was to create an economic incentive for nodes to join and help maintain a global, distributed, computer system.

Since 2015, Ethereum has risen to be the second largest cryptocurrency community, and a range of other similar projects have launched to provide more specialized versions of the same concept. Visit our downloads section for a full list of decentralized computing resources!

Also see Decentralized Storage for more interesting ideas about building distributed computing ecosystems.

What is Decentralized Storage?

Since the decentralized computing concept has taken root, it’s been hard to escape the centralization of storage and computing resources. Major providers have come to support the majority of the internet with enormous data centres, and matching their efficiency has been a difficult challenge.

Despite this, there are a wide range of solutions now available that offer decentralized systems developers the ability to provide truly secure, distributed storage withe end to end encryption.

Check out our IPFS Demo here, or our free Decentralized Storage course here!

What is Forking?

What are forks?

A public blockchain can only exist by many node computers running the same software, which collectively maintains the record of the past of the network. If either the collective record or the software that maintains it become contentious, then there can be a fork in the network. There are three main types of forks:

 

Temporary Forks:

The most common way in which a fork occurs is when two separate groups of nodes reach consensus on the history of the blockchain. This can happen during when there’s a high transaction volume, and nodes find multiple new blocks which can be confirmed within the rules of the system. In Proof of Work models, the longest chain will always win, so the network will ultimately return to a global consensus quite quickly.

 

Permanent Forks:

Soft Forks:

If a change is proposed to the network software, then all of the nodes must update their respective copies and begin running the new version. If some nodes do not update their version of the software, they will effectively no longer be participating in the same network as those who did update. In the event that this happens with a large split in the network, then there will now be one network running different versions of the same software. In these cases, miners using the old software will slowly cease to earn rewards as their version of network consensus is slowly obfuscated.

 

Hard Forks:

In some cases, such as the Ethereum DAO hack in 2016, it is not possible for the network to continue with the current blockchain or consensus rules. In the event of such a change, some nodes may prefer not to adopt the new model, and will thereby have an entirely different version of the blockchain and different rules will be used going forwards. Hard forks will always lead to the development of a new chain, and will result in the network being briefly more vulnerable to 51% attacks as there will be less nodes maintaining the security of the network. Ethereum Classic is one such example, it maintains a record of the previous version of the system, along with much lower hashing power than the primary Ethereum chain.

 

What is Ethereum’s Gas?

FAQ: What is Ethereum’s Gas?

Gas is not a token or coin. Gas is a pricing mechanism used to determine how much Ethereum should be required to purchase computing power on the Ethereum Virtual Machine

When someone pays for a transaction or smart contract execution, the Gas price is determined based on current network volume. The user then pays for Gas with their Ethereum in order to execute the transaction or smart contract computation.

It may help to think of Gas as a compute credit, which can be purchased initially to fund a smart contract, but which changes in value over time depending on network availability.

 

Tips and Tricks

When funding a smart contract or choosing a gas limit for a transaction, it may help to think of it like fuelling a car for a long road trip. It’s hard to know exactly how much you’ll need for the trip, so it’s always good to budget for slightly more than you’ll need.

In just the same way; however, only the gas you use will be consumed, and the rest will be returned to you if it isn’t.

 

Did you know?

Ethereum implemented the use of gas in order to prevent smart contracts from running wild. Because there’s no central management of a blockchain, the gas price is adjusted to automatically prevent smart contracts from consuming an unfair amount of the network’s resources.

 

For more information, you may want to watch this video from our partners at Blockchain.WTF.

What is the difference between coins, tokens, and crypto-assets?

In the brave new world of cryptographic assets, it can be confusing to determine what is what.

Coins – Bitcoin, Ethereum, Monero etc.

  • Are highly divisible and can be traded
  • Have their own blockchain network
  • Can be earned as rewards for mining or maintaining the network

Tokens – Golem, 0x Protocol, Gemini Dollar

  • Are highly divisible and can be traded
  • Do not have their own blockchain network
  • Cannot be earned for mining or network maintenance
  • Can be earned for providing specific on-chain services

Assets Cryptokitties, Property Titles

  • Are not divisible but can be traded
  • Cannot be earned for mining or network maintenance
  • Can represent real-world items

II. Technical Fundamentals

GETTING STARTED

As with anything truly revolutionary, IPFS takes some getting used to. In this module we’ll cover how to set up your own node and push / pull files from the network.

1. INSTALL IPFS
Since IPFS is a new protocol, you’ll need to install their bundle so that your device will be able to communicate with other IPFS nodes.

After downloading, untar the archive, and move the ipfs binary somewhere in your executables $PATHusing the install.sh script:

$ tar xvfz go-ipfs.tar.gz
$ cd go-ipfs
$ ./install.sh

Test it out:

$ ipfs help
USAGE:

    ipfs - Global p2p merkle-dag filesystem.
...

Congratulations! You now have a working IPFS installation on your computer.

After downloading, unzip the archive, and move ipfs.exe somewhere in your %PATH%.

Test it out:

$ ipfs help
USAGE:

    ipfs - Global p2p merkle-dag filesystem.
...

Congratulations! You now have a working IPFS installation on your computer.

This will cover your needs for this tutorial, but for more info on setting up IPFS you can also visit their portal here.

2. Initialize Your Node

Now that you have installed the IPFS software, you’ll need to configure your local node. For the sake of this example, you can use the defaults. For more information on configuring nodes for different environments click here.

> ipfs init
initializing ipfs node at /Users/jbenet/.go-ipfs
generating 2048-bit RSA keypair...done
peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z

Congratulations – you’re now the proud owner of your very own IPFS node!
Your node’s address is shown in the last line as ‘peer identity’.

You can test that your node is working by contacting the IPFS core node to download the readme or quick-start guide:

ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/readme
ipfs cat /ipfs/QmYwAPJzv5CZsnA625s3Xf2nemtYgPpHdWEz79ojWnPbdG/quick-start

3. GOING ONLINE

Now that you have IPFS installed and your node has an address, you can take the node online and join the network. You may want to use a separate shell window for this.

> ipfs daemon 

Initializing daemon... 

API server listening on /ip4/127.0.0.1/tcp/5001 

Gateway server listening on /ip4/127.0.0.1/tcp/8080 

You can also see other peers on the network:

> ipfs swarm peers 
/ip4/104.131.131.82/tcp/4001/ipfs/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ 
/ip4/104.236.151.122/tcp/4001/ipfs/QmSoLju6m7xTh3DuokvT3886QRYqxAzb1kShaanJgW36yx 
/ip4/134.121.64.93/tcp/1035/ipfs/QmWHyrPWQnsz1wxHR219ooJDYTvxJPyZuDUPSDpdsAovN5 
/ip4/178.62.8.190/tcp/4002/ipfs/QmdXzZ25cyzSF99csCQmmPZ1NTbWTe8qtKFaZKpZQPdTFB

4. Retrieving Files

We’re now online, so we can try downloading a file from the network.

ipfs cat /ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg > cat.jpg
open cat.jpg

If everything is working properly you should now see a cat! This image file is now on your computer, but you didn’t get it over HTTP, and it may have been downloaded from any of hundreds of IPFS nodes around the world. 

> ipfs init
initializing ipfs node at /Users/jbenet/.go-ipfs
generating 2048-bit RSA keypair...done
peer identity: Qmcpo2iLBikrdf1d6QU6vXuNb6P7hwrbNPW9kLAH8eG67z

5. STORING Files

You can also push files to the network:

> hash=`echo "I <3 The Blockchain Institute -$(whoami)" | ipfs add -q`

This will generate a hash of your string message and store it at a new ipfs hash url. 

> curl "https://ipfs.io/ipfs/$hash"

This should now return:

I <3 The Blockchain Institute -<your username>

6. Dashboard View

Now that you’re up and running, you may want to also check out the localhosted network that shows connected peers and files stored.

You can view the dashboard whenever the daemon is running at http://localhost:5001/webui

The webUI View has lots of additional features for non-command line users!