Svyatoslav Dorofeev is the CEO of the technology company TheWatch.
__________
When we talk about crypto and blockchain, one of the first things that come to mind is decentralization. We love the idea of a system that works without any central authority or a single point of failure. But as it turns out, most crypto apps and wallets you know and use rely on centralized providers for their backend stack.
While blockchains themselves are praised for the decentralization they created, and many protocols are rated by how decentralized they are, most crypto apps you know and use actually have to rely on centralized providers. These services run their own nodes to connect to the blockchain and in turn provide an API (application programming interface) to their customers.
The thing is, there aren't really any good reasons for this other than wallet apps. As crypto is getting closer than ever to consumers and finally expands into even ecommerce companies realize their backend stack now needs to work closely with the blockchain. Need to track the number of wallets in Ethereum? Need to know what happened with a specific transaction? Want to know which addresses have received money from a certain address? All of these activities might be important whether you have an online store or running an investment fund.
The only way you can directly connect to the blockchain is by running a node. A node is essentially a program running on a computer that connects to other nodes in order to send information back and forth, verify the validity of transactions sent between people, and store important information about the state of the blockchain.
Nodes are the backbone of a blockchain. They’re what connects you to the network and provide you with all the data you need to make informed decisions. But there are also many other uses for nodes than just mining and validating transactions. Nodes are basically like servers that run cryptocurrency software and store a copy of the blockchain. They’re like your own personal copy of all the information on the blockchain, and they allow you to interact with it by sending or receiving transactions and interacting with smart contracts or decentralized applications (dapps).
You can also use a node as a personal wallet if you want more control over your funds; this is known as ‘full node’ because it stores all transactions from all accounts on its hard drive – but this means it needs more storage space than regular wallets.
You don’t need to run a node yourself if you want to use one of these apps – they run their own nodes and connect through them to send transactions (or get information). However, it’s possible (and sometimes preferable) for users to run their own nodes so they can interact directly with the network instead of through an app or website.
But it must be understood that you’d never be able to run a node on your phone for multiple reasons, but one of the key ones is that blockchains are just too big – Ethereum alone takes up 746,19Gb. If you wanted to run a node yourself, you’d have to dedicate your computer, and there’s no way you’d be able to do so via a browser extension or a mobile app. But you need a node in order to get reliable real-time data from the blockchain. The alternative option is to simply use someone else’s node.
The blockchain is all about trustlessness. That’s why it’s so appealing. And why you can be confident that your data is being stored on a public ledger, and anyone can have a look at it without needing to trust any entity.
But let’s be clear: while blockchains are trustless, they’re not completely immutable. They still rely on companies and individuals to provide access to the ledger, which means that if someone wants to tamper with your data, there could be ways for them to do so. That said, there are some natural deterrents against tampering with the data – and those deterrents come from other companies who want their clients to continue using their services. Any company trying to tamper with data will likely be dropped by all of their clients very quickly – so that’s one of the main reasons why we don’t need to worry about our data being tampered with too much.
You can indeed run your own node, like a lot of developers and applications actually do. While it might be difficult, it’s certainly doable.
When it comes to the Ethereum network, there are three types of nodes: full nodes, light nodes, and archive nodes. Full nodes store the entire blockchain in order to interpret data and offer fast synchronization capabilities. Light nodes only keep track of commonly accessed parts of the blockchain; they are useful for wallets but not dapps. Archive nodes don't even bother keeping a copy of the blockchain; they're useful for archiving information but not much else.
Let's take a closer look at the types of nodes:
The Ethereum Foundation maintains several different clients for different programming languages. These clients can be useful for developers because they let them interact with the network and other network nodes using various programming languages. The Foundation's most common clients include Go, Rust, Java, and C#. Various third-party developers have also created Ethereum clients for further language support. The most common uses for Ethereum clients include transaction and mining interfaces, but its use cases can go far beyond basic blockchain interactions.
You can choose from a few different apps if you want to run your own node. The list includes Geth, Nethermind, Besu, Erigon, and OpenEthereum (which is actually deprecated).
Developers who use Ethereum have options for implementing their projects. If your preferred language isn’t supported by the Ethereum Foundation, you can use one of the third-party clients available to provide additional language support. With any of these clients, you still have to regularly update the binaries and think about scaling in case of complex requests. But you will get all the benefits and confidence in your own solution.
If you’re a researcher or just a person interested in blockchain, we recommend you to try setting up and running your own node. That way you will learn more about it and can be directly involved in it.
Building an application on top of a blockchain can be a great way to add value to the network, but it's not always the best choice. If you're building an app that needs to be publicly available, it makes more sense to rely on a structured API provided by a third party which can handle the heavy lifting.
Most crypto-focused apps out there are built on the API provided by centralized operators. Instead of working as a system administrator, you can focus on building high-level applications leveraging the data from the blockchain. It can be a simple bot that sends you notifications about transactions and as complex as a payment system that will be able to receive lightning-fast data from the blockchain and notify its customers of completed transactions. Practically all analytical services and hedge funds use third-party nodes to take out gigabytes of data and build investment strategies, and study blockchain behavior, various fluctuations, and anomalies. Even in crypto compliance and AML (anti-money laundering) procedures become necessary and even expected by most customers and government agencies
Blockchain technology is still in its infancy, and the industry is just beginning to explore its potential. But one thing is certain: data on blockchains is going to be big business. We've seen how quickly a few of the largest blockchains have grown, and similar to Web 2.0, we need centralized services to provide seamless customer experiences for enterprise businesses that are just starting to dip their toes into crypto. In the end, anyone interested will still be able to connect directly with the blockchain – but we as an industry need to offer centralized services that help these traditional enterprises deliver data to their customers – developers building dapps on top of these blockchains.
In other words, we're not just talking about building applications on top of blockchains; we're talking about building applications that can easily interact with existing systems so that there are no barriers preventing businesses from adopting blockchain technologies while still being able to provide their customers with the same reliable data they've come to expect from traditional enterprise software solutions today.
Copyright © 2022.AssessCrypto All rights reserved.