A blockchain is a special type of database. You may also have heard the term distributed ledger technology (or DLT) – in many cases, they're referring to the same thing.
A blockchain has certain unique properties. There are rules about how data can be added, and once the data has been stored, it's virtually impossible to modify or delete it.
Data is added over time in structures called blocks. Each block is built on top of the last and includes a piece of information that links back to the previous one. By looking at the most up-to-date block, we can check that it has been created after the last. So if we continue all the way down the "chain," we'll reach our very first block – known as the genesis block.
To analogize, suppose that you have a spreadsheet with two columns. In the first cell of the first row, you put whatever data you want to hold.
The first cell's data is converted into a two-letter identifier, which will then be used as part of the next input. In this example, the two-letter identifier KP must be used to fill out the next cell in the second row (defKP). This means that if you change the first input data (abcAA), you'd get a different combination of letters in every other cell.
A database where each entry is linked to the last.
Looking at row 4 now, our most recent identifier is TH. Remember how we said you can't go back and remove or delete entries? That's because it would be easy for anyone to tell that it's been done, and they'd just ignore your attempted change.
Suppose you change the data in the very first cell – you'd get a different identifier, which would mean your second block would have different data, leading to a different identifier in row 2, and so on. TH is, in essence, a product of all the information coming before it.
What we discussed above – with our two-letter identifiers – is a simplified analogy of how a blockchain uses hash functions. Hashing is the glue that holds blocks together. It consists of taking data of any size and passing it through a mathematical function to produce an output (a hash) that's always the same length.
The hashes used in blockchains are interesting, in that the odds of you finding two pieces of data that give the exact same output are astronomically low. Like our identifiers above, any slight modification of our input data will give a totally different output.
Let's illustrate with SHA256, a function used extensively in Bitcoin. As you can see, even changing the capitalization of letters is enough to completely scramble the output.
|Input data||SHA256 output|
The fact that there aren't any known SHA256 collisions (i.e., two different inputs that give us the same output) is incredibly valuable in the context of blockchains. It means that each block can point back to the previous one by including its hash, and any attempt to edit older blocks will immediately become apparent.
Each block contains a fingerprint of the previous.
We've explained the basic structure of a blockchain. But when you hear people talking about blockchain technology, they’re likely not just talking about the database itself, but the ecosystems built around blockchains.
As standalone data structures, blockchains are only really useful in niche applications. Where things get interesting is when we use them as tools for strangers to coordinate amongst themselves. Combined with other technologies and some game theory, a blockchain can act as a distributed ledger that's controlled by no one.
What this means is that no one has the power to edit the entries outside of the rules of the system (more on the rules shortly). In that sense, you could argue that the ledger is simultaneously owned by everyone: participants reach an agreement on what it looks like at any given moment.
The real challenge standing in the way of a system like that described above is something called the Byzantine Generals Problem. Conceived in the 1980s, it describes a dilemma in which isolated participants must communicate to coordinate their actions. The specific dilemma involves a handful of army generals that surround a city, deciding whether to attack it. The generals can only communicate via messenger.
Each must decide whether to attack or retreat. It doesn't matter whether they attack or retreat, as long as all generals agree on a common decision. If they decide to attack, they will only be successful if they move in at the same time. So how do we ensure that they can pull this off?
Sure, they could communicate via messenger. But what if the messenger is intercepted with a message that says "we’re attacking at dawn," and that message is replaced with “we're attacking tonight”? What if one of the generals is malicious and intentionally misleads the others to ensure they're defeated?
All generals are successful when attacking (left). When some retreat while others attack, they will be defeated (right).
We need a strategy wherein consensus can be reached, even if participants turn malicious or messages get intercepted. Not being able to maintain a database isn't a life-and-death situation like attacking a city without reinforcements, but the same principle holds. If there's no one to oversee the blockchain and to give users “correct” information, then the users must be able to communicate amongst themselves.
To overcome the potential failure of one (or several) users, the mechanisms of the blockchain must be carefully engineered to be resistant to such setbacks. A system that can achieve this is referred to as Byzantine fault-tolerant. As we'll see shortly, consensus algorithms are used to enforce robust rules.
You could, of course, operate a blockchain by yourself. But you'd end up with a database that's clunky in comparison to superior alternatives. Its real potential can be exploited in a decentralized environment – that is, one where all users are equal. That way, the blockchain can’t be deleted or maliciously taken over. It's a single source of truth that anyone can see.
The peer-to-peer (P2P) network is our layer of users (or the generals in our previous example). There's no administrator, so instead of phoning into a central server anytime they want to exchange information with another user, the user sends it directly to their peers.
Consider the graphic below. On the left, A needs to route their message through the server to get it to F. On the right-hand side, however, they're connected without an intermediary.
A centralized network (left) vs. a decentralized one (right).
Normally, the server holds all the information that users need. When you access Binance Academy, you're asking its servers to feed you all the articles. If the website goes offline, you won't be able to see them. However, if you downloaded all of the content, you could load it on your computer without querying Binance Academy.
In essence, that's what every peer does with the blockchain: the entire database is stored on their computer. If anyone leaves the network, the remaining users will still be able to access the blockchain, and share information with each other. When a new block is added to the chain, the data is propagated across the network so that everyone can update their own copy of the ledger.
Be sure to check out Peer-to-Peer Networks Explained for a more in-depth discussion of this type of network.
Nodes are simply what we call the machines connected to the network – they're the ones that store copies of the blockchain, and share information with other machines. Users don't need to manually handle these processes. Generally, all they need to do is download and run the blockchain’s software, and the rest will be taken care of automatically.
The above describes what a node is in the purest sense, but the definition can also encompass other users that interact with the network in any way. In cryptocurrency, for instance, a simple wallet application on your phone is what's known as a light node.
As you may know, Bitcoin laid the foundation for the blockchain industry to grow into what it is today. Ever since Bitcoin has started proving itself as a legitimate financial asset, innovators have been thinking about the potential of the underlying technology for other fields. This has resulted in an exploration of blockchain for countless use cases outside of finance.
Bitcoin is what we call a public blockchain. This means that anyone can view the transactions on it, and all it takes to join is an Internet connection and the necessary software. Since there aren't any other requirements for participation, we may refer to this as a permissionless environment.
In contrast, there are other types of blockchains out there called private blockchains. These systems establish rules regarding who can see and interact with the blockchain. As such, we refer to them as permissioned environments. While private blockchains may seem redundant at first, they do have some important applications – mainly in enterprise settings.
For more on the topic, see Public, Private and Consortium Blockchains - What’s the Difference?
If Alice wants to pay Bob via bank transfer, she notifies her bank. Let’s assume that the two parties use the same bank for simplicity’s sake. The bank checks that Alice has the funds to perform the transaction, before updating its database (e.g., -$50 to Alice, +$50 to Bob).
This isn’t too dissimilar to what goes on with a blockchain. After all, it’s also a database. The key difference is that there isn’t a single party performing the checks and updating the balances. All of the nodes must do it.
If Alice wants to send five bitcoins to Bob, she broadcasts a message saying this to the network. It won’t be added to the blockchain straight away – nodes will see it, but other actions must be completed for the transaction to be confirmed. See How are blocks added to the blockchain?
Once that transaction is added to the blockchain, all of the nodes can see that it’s been made. They’ll update their copy of the blockchain to reflect it. Now, Alice can’t send those same five units to Carol (thus, double-spending), because the network knows that she’s already spent them in an earlier transaction.
There’s no concept of usernames and passwords – public-key cryptography is used to prove ownership of funds. To receive funds in the first place, Bob needs to generate a private key. That’s just a very long random number that would be virtually impossible for anyone to guess, even with hundreds of years at their disposal. But if he tells anyone his private key, they’ll be able to prove ownership over (and therefore spend) his funds. So it’s important that he keeps it secret.
What Bob can do, however, is derive a public key from his private one. He can then give the public key to anyone because it’s near-infeasible for them to reverse-engineer it to get the private key. In most cases, he’ll perform another operation (like hashing) on the public key to get a public address.
He’ll give Alice the public address so that she knows where to send funds. She constructs a transaction that says pay these funds to this public address. Then, to prove to the network that she isn’t trying to spend funds that aren’t hers, she generates a digital signature using her own private key. Anyone can take Alice’s signed message and compare it with her public key, and say with certainty that she has the right to send those funds to Bob.
To illustrate how you can make Bitcoin transactions, let’s imagine two different scenarios. The first consists of you withdrawing bitcoins from Binance, and the second of sending funds from your TrustWallet to your Electrum wallet.
2. Hover over Wallet and select Spot Wallet.
3. Click on Withdraw on the sidebar on the left.
4. Choose the coin you’d like to withdraw – in this case, BTC.
5. Copy the address you’d like to withdraw your bitcoins to, and paste it in Recipient's BTC Address.
6. Specify the amount you’d like to withdraw.
7. Click on Submit.
8. You’ll receive a confirmation email shortly. Carefully check if the address is correct. If it is, confirm the transaction in the email.
1. Open the Trust Wallet app.
2. Tap on your Bitcoin account.
3. Tap on Send.
4. Open your Electrum wallet.
5. Click on the Receive tab in Electrum and copy the address.
Alternatively, you can go back to Trust Wallet and tap on the [–] icon to scan the QR code pointing to your Electrum address.
6. Paste your Bitcoin address to Recipient Address in Trust Wallet.
7. Specify the amount.
8. If everything seems correct, confirm the transaction.
9. You’re done! Wait for your transaction to be confirmed on the blockchain. You can monitor its status by copying your address into a block explorer.
Blockchain technology was formalized in 2009 with the release of Bitcoin – the first and most popular blockchain. However, its pseudonymous creator Satoshi Nakamoto took inspiration from earlier technologies and proposals.
Blockchains make heavy use of hash functions and cryptography, which were in existence for decades prior to the release of Bitcoin. Interestingly, the blockchain’s structure could be traced back to the early 1990s, though it was merely used for timestamping documents such that they couldn’t be altered later.
For more on the subject, see History of Blockchain.
Properly-engineered blockchains solve a problem that plagues stakeholders in a number of industries, ranging from finance to agriculture. A distributed network presents many advantages over the traditional client-server model, but it also comes with some trade-offs.
One of the immediate benefits noted in the Bitcoin white paper is that payments could be transmitted without involving an intermediary. Subsequent blockchains have taken this even further, allowing users to send all kinds of information. Eliminating counterparties means that there’s less risk for users involved, and results in lower fees as there is no intermediary taking a cut.
As we mentioned earlier, a public blockchain network is also permissionless – there’s no barrier to entry since there’s no one in charge. If a prospective user can connect to the Internet, then they’re able to interact with other peers on the network.
Many would argue that the most important quality of blockchains is that they have a high degree of censorship-resistance. To cripple a centralized service, all that a malicious actor would need to do is target a server. But in a peer-to-peer network, every node acts as a server of its own.
A system like Bitcoin has over 10,000 visible nodes scattered around the world, making it virtually impossible for even a well-resourced attacker to compromise the network. It should be noted that there are many hidden nodes, too, which aren’t visible to the broader network.
Blockchains are not silver bullets to every problem. In being optimized for the advantages in the previous section, they end up lacking in other areas. The most obvious obstacle to mass adoption of blockchains is that they don’t scale very well.
This is true of any distributed network. Since all participants must stay in sync, new information can’t be added too fast as nodes would be unable to keep up. Therefore, developers tend to intentionally limit the speed at which the blockchain can update to ensure that the system remains decentralized.
For users of a network, this can manifest itself in lengthy waiting periods if too many people are trying to make transactions. Blocks can only hold so much data, and they’re not added to the chain instantly. If there are more transactions than can fit in the block, then any additional ones must wait for the next block.
Another possible con of decentralized blockchain systems is that they can’t easily be upgraded. If you’re building your own software, you can add new features as you please. You don’t need to work with others or ask for permission to make modifications.
In an environment with potentially millions of users, making changes is considerably more difficult. You could change some of the parameters of your node software, but you’d eventually find yourself separated from the network. If the modified software is incompatible with other nodes, they will recognize this and refuse to interact with your node.
Suppose you wanted to change a rule about how big blocks can be (from 1MB to 2MB). You could try sending this block to nodes you’re connected to, but they have a rule that says “do not accept blocks over 1MB”. If they receive anything bigger, they will not include it in their copy of the blockchain.
The only way to push changes is to have the majority of the ecosystem accept them. With major blockchains, there can be months – or even years – of intensive discussion in forums before changes can be coordinated. See Hard Forks and Soft Forks for more on this.
We’ve covered a lot so far. We know that nodes are interconnected and that they store copies of the blockchain. They communicate information about transactions and new blocks to each other. We’ve already discussed what nodes are, but you might be wondering: how are new blocks added to the blockchain?
There’s no single source to tell users what should be done. Because all nodes have equal power, there needs to be a mechanism for fairly deciding who can add blocks to the blockchain. We need a system that makes it expensive for users to cheat but rewards them for acting honestly. Any rational user will want to act in a way that is economically beneficial to them.
Because the network is permissionless, block creation needs to be accessible to anyone. Protocols often ensure this by requiring the user to put some “skin in the game” – they must put their own money at risk. Doing so will allow them to participate in block creation, and if they generate a valid one, they’ll be paid out a reward.
However, if they attempt to cheat, the rest of the network will know. Whatever stake they’ve put forward will be lost. We call these mechanisms consensus algorithms because they allow network participants to reach consensus on what block should be added next.
Mining is by far the most commonly-used consensus algorithm. In mining, a Proof of Work (PoW) algorithm is used. This involves users sacrificing computing power to try and solve a puzzle set out by the protocol.
The puzzle requires users to hash transactions and other information included in the block. But for the hash to be considered valid, it must fall below a certain number. Since there’s no way of predicting what a given output will be, miners have to keep hashing slightly modified data until they find a valid solution.
Evidently, repeatedly hashing data is computationally expensive. In Proof of Work blockchains, the “stake” that users put forward is the money invested in mining computers and the electricity used to power them. They do this in hopes of getting a block reward.
Remember how we said earlier that it’s practically impossible to reverse a hash, but it’s easy to check it? When a miner sends a new block to the rest of the network, all the other nodes use it as the input in a hash function. They simply need to run it once to verify that the block is valid under the rules of the blockchain. If it isn’t, the miner doesn’t receive the reward, and they’ll have wasted electricity for nothing.
The first Proof of Work blockchain was Bitcoin’s. Since its creation, many other blockchains have adopted the PoW mechanism.
In Proof of Work systems, the thing that incentivizes you to act honestly is the money you’ve paid for mining computers and electricity. You won’t get a return on your investment if you don’t mine blocks correctly.
With Proof of Stake (PoS), there’s no external cost. Instead of miners, we have validators who propose (or “forge”) blocks. They can use a regular computer to generate new blocks, but they must put a significant portion of their funds at stake for the privilege. Staking is done with a predefined amount of the blockchain’s native cryptocurrency, according to the rules of each protocol.
Different implementations have different variations, but once a validator stakes their units, they can be randomly selected by the protocol to announce the next block. In doing so correctly, they’ll receive a reward. Alternatively, there might be multiple validators that agree on the next block, and a reward is distributed proportionately to the stake each has put forward.
“Pure” PoS blockchains are less common than DPoS (Delegated Proof of Stake) ones, which require that users vote on nodes (witnesses) to validate blocks for the whole network.
Ethereum, the leading smart contracts blockchain, will soon be transitioning to Proof of Stake in its migration to ETH 2.0.
Proof of Work and Proof of Stake are the most common consensus algorithms, but there are many more. Some are hybrids that combine elements from both systems, while others are different methods altogether.
We won’t get into them here, but if you’re interested, check out the following articles:
Blockchains are, by design, very robust databases. Their inherent properties make it extremely difficult to remove or modify blockchain data after it’s been recorded. When it comes to Bitcoin and other large networks, it’s almost impossible. So, when you’re making a transaction on a blockchain, it’s best to think of it as set in stone forever.
With that said, many different implementations of blockchain exist, and the most fundamental difference between them is how they reach consensus within the network. This means that, in some implementations, a relatively small group of participants may garner enough power within the network to effectively revert transactions. This is especially concerning for altcoins that run on small networks (with low hash rates due to little mining competition).
Blockchain scalability is typically used as an umbrella term to refer to a blockchain system’s ability to serve increasing demand. While blockchains have desirable properties (such as decentralization, censorship-resistance, immutability), these come at a cost.
In contrast to decentralized systems, a centralized database can work with considerably higher speed and throughput. This makes sense since there’s no need for thousands of nodes scattered around the world to synchronize with the network each time its contents are modified. But this isn’t the case with blockchains. As a result, scalability has been a highly debated topic among blockchain developers for years.
A number of different solutions have been either proposed or implemented to mitigate some of the performance drawbacks of blockchains. At this point, however, there isn’t a clear best approach. It’s likely that many different solutions need to be trialed until there are more straightforward answers to the scalability problem.
On a broader level, there is a fundamental question concerning scalability: Should we improve the performance of the blockchain itself (on-chain scaling), or should we allow for transactions to be executed without bloating the main blockchain (off-chain scaling)?
There may be clear advantages to both. On-chain scaling solutions could be reducing the size of transactions, or even just optimizing how data is stored in blocks. On the other hand, off-chain solutions involve batching transactions off of the main blockchain, and only adding them later. Some of the most notable off-chain solutions are called sidechains and payment channels.
If you’d like to take a deeper dive into this topic, read Blockchain Scalability - Sidechains and Payment Channels.
If blockchain systems are to compete with their centralized counterparts, they need to be at least as performant as them. Realistically, though, they’ll probably have to perform even better to incentivize developers and users to switch over to blockchain-based platforms and applications.
This means that when compared to centralized systems, using blockchains needs to be faster, cheaper, and easier both for developers and users. Not an easy feat to achieve while maintaining the defining characteristics of blockchains we’ve discussed earlier.
As with any software, blockchains need upgrades to fix issues, add new rules, or remove old ones. Since most blockchain software is open-source, in theory, anyone can propose new updates to be added to the software that governs the network.
Bear in mind that blockchains are distributed networks. Once the software is upgraded, thousands of nodes scattered around the world need to be able to communicate and implement the new version. But what happens if participants can’t agree on what upgrade to implement? Typically, there isn’t an organization with an established decision flow to decide. This leads us to soft and hard forks.
If there’s a general agreement on how an upgrade should look like, it’s a relatively simple matter. In a scenario like this, the software is updated with a backward-compatible change, meaning that nodes that are updated can still interact with nodes that aren’t. In reality, though, it’s expected that nearly all nodes will upgrade over time. This is called a soft fork.
A hard fork is more complicated. Once implemented, the new rules will be incompatible with the old rules. So, if a node that’s running the new rules tries to interact with a node that’s running the old rules, they won’t be able to communicate. This results in the blockchain splitting into two – in one, the old software is running, in the other, the new rules are implemented.
After the hard fork, there are essentially two different networks running two different protocols in parallel. It’s worth noting that at the time of the fork, the balances of the blockchain’s native unit are cloned from the old network. So, if you had a balance on the old chain at the time of the fork, you’ll also have a balance on the new one.
See Hard Forks and Soft Forks for more on this.
Blockchain technology can be used for a wide range of use cases. Let’s go through some of them.
Efficient supply chains are at the core of many successful businesses and concern themselves with the handling of goods from the supplier to the consumer. The coordination of multiple stakeholders in a given industry has traditionally proven difficult. However, blockchain technology could allow for new levels of transparency in many industries. An interoperable supply chain ecosystem that revolves around an immutable database is just what many industries need to become more robust and reliable.
If you’d like to read more, check out Blockchain Use Cases: Supply Chain.
The gaming industry has become one of the biggest entertainment industries in the world, and it could greatly benefit from blockchain technology. Typically, gamers tend to be at the mercy of game developers. In most online games, gamers are forced to rely on the developers’ server space and follow their ever-changing sets of rules. In this context, blockchain could help decentralize the ownership, management, and maintenance of online games.
What might be the biggest problem, however, is that gaming items can’t exist outside of the titles, eliminating the chances of real ownership and secondary markets. By going for a blockchain-based approach, games could become more sustainable in the long-run, and in-game items issued as crypto-collectibles could garner real-world value.
If you’d like to read more, check out Blockchain Use Cases: Gaming.
Storing medical records in a reliable manner is vital for any healthcare system, and the reliance on centralized servers leaves sensitive information in a vulnerable position. The transparency and security of blockchain technology make it an ideal platform on which to store medical records.
In cryptographically securing their records on a blockchain, patients could maintain their privacy, while being able to share their medical information with any healthcare institution. If all participants of the currently fragmented healthcare system could tap into a secure, global database, information flow would be much faster between them.
If you’d like to read more, check out Blockchain Use Cases: Healthcare.
Sending money internationally is a hassle with traditional banking. Predominantly due to a convoluted network of intermediaries, the fees and settlement times make using traditional banks both expensive and unreliable for urgent transactions.
Cryptocurrencies and blockchains eliminate this ecosystem of middlemen and can allow for cheap, rapid transfers around the world. While blockchains undoubtedly sacrifice performance for some of their desirable properties, a range of projects are harnessing the technology to allow for cheap, near-instant transactions.
If you’d like to read more, check out Blockchain Use Cases: Remittance.
Securely managing identity on the Internet is in dire need of a fast solution. An extraordinary amount of our personal data is stored on centralized servers and analyzed by machine learning algorithms without our knowledge or consent.
Blockchain technology allows users to take ownership of their data and selectively reveal information to third parties only when it’s needed. This type of cryptographic magic could allow for a smoother experience online without sacrificing privacy.
If you’d like to read more, check out Blockchain Use Cases: Digital Identity.
An extraordinary amount of physical devices are getting connected to the Internet, and this number is only going to increase. Some speculate that communication and cooperation between these devices could significantly be augmented by blockchain technology. Automated machine-to-machine (M2M) micropayments could create a new economy reliant on a secure, high-throughput database solution.
If you’d like to read more, check out Blockchain Use Cases: The Internet of Things (IoT).
Distributed networks can define and enforce their own forms of regulation in the shape of computer code. It’s unsurprising then that blockchain may have a chance at disintermediating various governance processes on the local, national, or even international level.
What’s more, it could solve one of the biggest problems that open-source development environments currently face – lack of a reliable mechanism for the distribution of funding. Blockchain governance ensures that all participants can be involved in decision-making, and provides a transparent overview of which policies are being implemented.
If you’d like to read more, check out Blockchain Use Cases: Governance.
Charity organizations are often impeded by the limitations of how they can accept funds. Even more frustratingly, the ultimate destination of the donated funds can be hard to precisely track, which undoubtedly discourages many from supporting these organizations.
”Crypto-philanthropy” concerns itself with the use of blockchain technology to circumvent these limitations. Relying on the technology’s inherent properties to ensure greater transparency, global participation, and reduced expenses, the emerging field seeks to maximize the impact of charities. One such organization is the Blockchain Charity Foundation.
If you’d like to read more, check out Blockchain Use Cases: Charity.
Undoubtedly, one of the most popular uses of blockchain technology is speculation. Frictionless transfers between exchanges, non-custodial trading solutions, and a growing ecosystem of derivatives products make it an ideal playing field for all types of speculators.
Due to its inherent properties, blockchain is an excellent instrument for those willing to take the risk of participating in such a sprouting asset class. Some even think that once the technology and the surrounding regulation matures, the global speculative markets may all be tokenized on the blockchain.
If you’d like to read more, check out Blockchain Use Cases: Prediction Markets.
Online crowdfunding platforms have been laying the groundwork for the peer-to-peer economy for almost a decade now. The success of these sites shows that there’s a real interest out there for crowdfunded product development. However, as these platforms act as custodians of the funds, they may take a considerable portion of them as fees. In addition, they’ll each have their own ruleset for facilitating the agreement between the different participants.
Blockchain technology, and more specifically smart contracts, could allow for more secure, automated crowdfunding where the terms of the agreements are defined in computer code.
Another application of crowdfunding using blockchain is Initial Coin Offerings (ICOs) and Initial Exchange Offerings (IEOs). In token sales like these, investors raise funds in hopes that the network will be successful in the future, and they’ll get a return on their investment.
Distributing file storage on the Internet has many benefits compared to conventional centralized alternatives. Much of the data stored in the cloud relies on centralized servers and service providers, which tend to be more vulnerable to attacks and data loss. In some cases, users may also face accessibility problems due to censorship from centralized servers.
From the user perspective, blockchain file storage solutions work just like other cloud storage solutions – you can upload, store, and access files. What’s going on in the background, however, is quite different.
When you upload a file to a blockchain storage, it’s distributed and replicated across several nodes. In some cases, each node will store a different portion of your file. They can’t do much with the partial data, but you can later request the nodes to provide each part, so you can combine them to get the complete file back.
The storage space derives from the participants who provide their storage and bandwidth to the network. Typically, these participants are economically incentivized to provide those resources, and economically punished if they don’t follow the rules or fail to store and serve files.
You could think of this type of network as one similar to Bitcoin. In this case, however, the main goal of the network isn’t to support monetary value transfers but to enable censorship-resistant, decentralized file storage.
Other open-source protocols such as the InterPlanetary File System (IPFS) are already paving the way for this new, more permanent, and distributed Web. While the IPFS is a protocol and a peer-to-peer network, it is not precisely a blockchain. But, it applies some principles of blockchain technology to enhance security and efficiency.