Blockchain technology is a special case of database and one of distributed ledger representatives heavily protected by mathematical encryption and hashing functions. All solutions in this direction belong to such a field of science and technology as the IT, which is full of questions, problems and solutions related to software. At the same time, each program has its own combination of these elements.
The functionality of proposed software is diverse and can be used in different ways depending on the specific expectations and goals of the crypto community members. By studying the community in more detail, we can divide its participants and their nodes into several categories
Since 2009, when the first Bitcoin block was mined by Satoshi Nakamoto, several alternative software proposals have been created to process the Bitcoin blockchain. All of them get along with common Bitcoin rules and at the same time contain changes proposed by the network creators. According to statistical data, the Bitcoin Core wallet officially supported by the Bitcoin development team is the most popular client, which is not a big surprise.
Other wallets belongs to different groups of enthusiasts. Their differences is in the program implementation — they are written in other programming languages or other platforms. However some nodes might support different block combination rules, although accepted by everyone.
Another important issue is the depth of participant involvement. Each crypto project recommends using software that fully supports blockchain. The reason lies in the safety of funds. If you can control and verify the whole blockchain on your own, then you are protected from third party attacks. Nevertheless, some participants can’t or don’t want to use fully-functional software. Everyone has their own reasons for such behavior but the results are about the same — a partial membership software with reduced functionality.
From this point of view, we may distinguish the following roles:
From the point of view of software functionality, there are no other options as all participants that use websites in fact do not possess any nodes at all.
The last issue is the potential and actual functionality of a single node. Basically, each full node can execute the following main functions: blockchain storage, network activity, mining, assets management. Also, the mining pool coordinator performs additional tasks for managing pool members. All of these activities can be described individually or in combination. Even though some combinations make no sense, their total number is 15, not counting the role of the mining pool.
The information mentioned above is valid mostly for Bitcoin and similar projects. The main idea is that the block content here is similar for anyone. There are no autonomous systems, and no special consensus related functions are required. In our next articles, we will examine other projects and their peculiarities.