Blockchain 101

Getting started with Blockchain.
A Developer's intro

Blockchain 101

A blockchain is a decentralized digital ledger.

Think of a blockchain as a massive, timestamped spreadsheet that keeps track of a bunch of data (most notably, transactions) that no one can manipulate. Blockchains are useful because they are transparent, immutable sources of truth, allowing many people to interact with each other without needing to trust a third-party intermediary.

This is possible due to "decentralization", meaning that no single party has complete power over a blockchain. Instead, blockchains are managed by thousands of distributed computer clusters. Blockchains are useful for any situation in which one desires to securely transfer information (including currency) without a third party. Immediate applications of blockchain include digital identity, decentralized finance, and asset tokenization.

What are blockchains made of?

Blockchains are made of "blocks" of data (composed of transactions) that are chained together using cryptography. It is quite literally a timestamped chain of blocks.

The hierarchy is as follows: a list of transfers (literal transfers of currency from one address to another) and accompanying actions make up transactions . A list of these transactions make up a block, and a chain of blocks make a blockchain.

How do blockchains work?

Updates to the ledger are made through confirmed public transactions. For example, imagine that I want to pay you one bitcoin. I will send bitcoin from my wallet to your public address (think of this public address like your email address) and that transaction will be publicly displayed on the next block, immutably updating whatever previous amount was assigned to each account (fun fact: There are no account "balances", just a tally of past transactions. This means that there is actually no such thing as "a bitcoin" that's being exchanged between parties, just a growing ledger of all past transactions). In order to broadcast my desired transaction to the network, I must cryptographically sign that transaction using my private key (think of this private key like an email password). That transaction is then submitted to the network and waits to be included into a block. It can take anywhere from a few seconds to a few days for a transaction to be included in a block, and this is dependent on many factors, such as: the blockchain network itself, the fee attached to the transaction, and current network congestion.

Eventually, the new transaction is included into a block, along with thousands of other pending transactions. That block is appended to the ever-growing blockchain, and now benefits from the extremely low probability of reversal, high degree of transparency, and shared-truth that only a blockchain can provide.

Where Blockset comes in

The current problem for interacting with blockchains from a developer perspective is when if you want to deal with many blockchains at once (such as when creating a multi-currency crypto wallet), your technical demands can quickly become complicated. This is because nodes from different blockchains have different APIs for accessing data - even Litecoin, Bitcoin and Bitcoin Cash (which were forked from each other) have grown so far apart to the point that you can not treat them identically.

If you want to support many currencies, you need a way to abstract away the implementation differences between them. That's the beauty of Blockset. Blockset defines the hierarchy of data and the transformations from the native blockchains into its own standardized data format for you, the developer, to easily interact with, headache free.

Here are Blockset's Data Endpoints broken down (notice that it is the exact hierarchy of a blockchain, presented before).

Blockchain: These represent the blockchains supported by Blockset. Keep in mind that "bitcoin" is really a pair of blockchains, testnet and mainnet - each of which is represented separately. "ethereum" is an even bigger family - including several different testnets.

Block: The units that comprise a blockchain. You can retrieve them one by one or a bunch at once. Blocks are full of timestamped Transactions.

Transfer: Transfers of value (Currency) between different addresses.

Currencies: The different "types" of value that can be represented in the Blockset system. Some currencies (e.g. bitcoin, litecoin) support only one ("native") currency, while others can support arbitrarily many (e.g. ethereum, EOS).

Glossary

Address

An address is a string of alphanumeric characters used to send and receive transactions on a network. Think of an address like an email account or P.O. box.

Blockchain

A distributed, digital ledger in which entries are time-stamped and confirmed by a decentralized system of computers. A blockchain is made up of blocks, which consist of transactions. Blockchains are transparent, immutable, and decentralized, making them useful for any transfer of important data that needs to be secure and verified without going through a third party.

Block

A Block consists of a batch of transactions that gets hashed and appended to the end of the blockchain.

Block Explorer

A visual & interactive way to read and analyze the data contained on a blockchain. Useful for finding data such as if a transaction has been confirmed or past activity of a specific address.

Confirmation

When a transaction is included in a block, which has been appended to the blockchain. Every subsequent block adds one more confirmation to a transaction.

Digital Signature

A digital code created through public/private key encryption used for verifying the owner of a piece of data, and is required to make a transaction valid. A digital signature allows a blockchain network to know that a transaction is being created by the rightful owner of the currency it is attempting to spend.

Hash

A hash is a function that takes various input data, of any size, and converts them into a randomized output of a fixed length. Hashes can not be "reversed" or undone. Given a hash, it's impossible to figure out the data which it came from. Given the same input, the same hash output will be produced every time. Hashes are the backbone of referencing data on the blockchain.

Mainnet

The fully developed, main blockchain protocol that is being publicly verified and utilized for confirmed transactions. Currency on "mainnet" blockchains have real financial value. Think of it like the master branch of a git repo. When you hear "the bitcoin blockchain", it's referring to the bitcoin mainnet.

Node

A device (usually a computer) that validates blocks and transactions. Nodes do this by making a local copy of the blockchain and conducting distributed consensus of updates to the blockchain (confirming transactions on the recent block). This is what makes a blockchain decentralized and trustless- the more nodes in the network, the more secure and resilient it is. A node is a fully autonomous member of the blockchain, and all nodes are equal. If you control a node, and know how to use it, you don't need any other service provider to confirm any information about that blockchain.

Private Key

A private key is a string of characters that act as a key to an address. In the email analogy, think of a private key like the password to the email account. A private key is completely secret, and never lives on any device other than your own.

Public Key

A public key, which is derived from a private key, is used to sign transactions. An address (which allows transactions to be received) is derived from a public key. Signatures can be verified as having been created by a private key, by using the public key which was derived by that private key. Math is neat!

Testnet

A public test blockchain used by developers to prevent expending assets on the actual blockchain (mainnet). You can think of this as similar to a staging website or develop branch in a git repo.

Transaction

Transactions are the atomic units that users interact with blockchains with - they may include multiple transfers of value which get executed with an all-or-nothing approach and actions which execute specific functions.

Transfer

A transfer of value (currency) between different addresses. Multiple transfers make up a Transaction. They execute in an all-or-nothing approach.

Transaction Fee

Every transaction includes a fee that works as an incentive for nodes to provide the computing power required to verify and confirm transactions. The node which creates a block that includes a transaction receives the fee (now a mining reward) attached to that transaction.

Wallet

A digital wallet for storing crypto assets. In its simplest form, a wallet is a file that holds private keys.  Usually, a wallet comes with a GUI that makes it easy to send and receive currencies to other addresses.

Need help? Contact us
Blockset both powers, and is brought to you by BRD , the world’s oldest and most trusted mobile wallet.