When I was first learning about blockchain technology, I found that I had to spend a fair bit of time researching the different terms I saw thrown about just to get an understanding of how blockchains were supposed to work. Many days were spent travelling down rabbit holes to figure out what a Satoshi was, how proof of work differed from proof of stake, among others. In this article I've gathered a set of terms that I think anyone working with blockchains should know.
Let's start with the core idea behind everything. In its simplest form, a blockchain is a distributed, immutable, and public ledger. The distributed nature of the blockchain means that it is virtually free from data loss, while the immutability and public features ensure that bad actors have virtually no way to break the chain. Blocks are added to the chain through different consensus methods.
Consensus methods are used to ensure that any block added to a chain is agreed on by the network as the true block to add. There are two main ways this is done, with different networks choosing their method based on the needs of their users.
Proof of Work
One of the original consensus methods which is still used by the Bitcoin network is a proof of work (PoW) algorithm. Fundamentally this is implemented through forcing machines to solve a very complex mathematical problem (around 1 in 5.3 trillion chance) in order to add a block to the network. This is how bitcoin mining is done, since once that problem is solved the machine that did the solving gets rewarded for doing that work, and the blockchain is updated with a new block.
Proof of Stake
While PoW depends on computing power to determine what is accurate, proof of stake (PoS) relies on the weight or stake any individual machine has in the block looking to be added to the chain. This stake is typically calculated through a combination of random determination and the value of the currency on the chain (ether on Ethereum for example). This makes this more ideal for smaller chains with more trustworthy users in the network as it encourages proper voting for accurate information on the chain.
In the context of blockchains, a miner is someone who is attempting to validate a block that is being added to a blockchain. This term comes from Bitcoin miners who seek to validate blocks on the Bitcoin network in order to obtain bitcoin, though with other consensus algorithms it does necessarily mean using computing power to add a block.
Essentially a smart contract is a digital version of a traditional contract that is stored on a blockchain, along with events and code that run at the specified intervals. When a contract is added to a chain, it allows the members of that contract to see that the version of the contract is the correct one and they have a guarantee of the execution of that contract. This is what enables transactions to go through with the backing of the entire blockchain network.
Decentralized Applications (DApps) are applications that are run on blockchains, typically through the use of smart contracts. They typically don't differ from any traditional application like a desktop application or website, but because they are on a blockchain they are potentially more secure and free from modification. They also allow the use of some of the security that comes with a blockchain, since their data is stored on that same blockchain.
Instead of referring to a specific blockchain, the Hyperledger is a consortium of companies and individuals committed to advancing blockchain technology. With funding and support from the Linux foundation, Hyperledger has grown to over 250 members and a large developer network since its inception in 2017.
The blockchain landscape is constantly growing and evolving as more users and companies take advantage of the benefits it offers. As with any technology, it's important for anyone that wants to utilize it to keep up with the newest and best practices.
Are there any particular concepts that have been poorly explained to you that you'd like to know more about? Reach out and we'll be happy to point you in the right direction!