In this article, we will take a look at what details will happen in the process of synchronizing Ethereum nodes?
Synchronizing Ethereum nodes is a very painful thing for many people. Everyone who comes into contact with Ethereum feels very upset about this.
The current default synchronization mode of the Ethereum wallet is called fast synchronization. Unlike starting from the genesis block, reprocessing all the transfers (which will take several weeks), the block is downloaded quickly, and then only the data related to the proof of work is verified. Downloading all the blocks is straightforward, but the fast process will reconstitute the entire blockchain relatively quickly. Many people mistakenly believe that because they have blocks, they are synchronizing.
Unfortunately, this is not the point of the problem, because no transfer has been performed (that is, no transfer has been made in order to verify the validity of the blockchain), so we do not have any account status (that is, balance, record , Smart contract code and data). These requirements are downloaded separately and cross-checked with the latest block. This part is called the download of the state prefix tree, and it actually runs at the same time as the block download; at the same time, it takes longer than downloading the block.
So, what is a state prefix tree? In the Ethereum mainnet, there are countless accounts, which will track each user’s balance, data, etc.,
These accounts themselves are not enough to run the node, they need to be encrypted with each block, so that the node can verify that the account is not fraudulent. This encrypted connection is completed by creating a tree-like data structure on the account, each level is connected to the lower level, and then connected to a smaller level, until you reach a single root data. This huge data structure contains all the accounts and the encryption proof in the middle, and is called the state prefix tree.
So why do you want to ask this question? This tree-like data structure is connected by millions of small encryption certificates. In order to obtain synchronization nodes, you need to download the data of all accounts. At the same time, these encryption certificates will also verify that nothing in the network is trying to deceive you. . This in itself is already very exaggerated data. The part where it becomes more confusing is that this data is constantly changing: for each block (15 seconds), about 1000 nodes will be removed from the tree structure, and then about 2000 new nodes will be added. This means that the nodes that need to synchronize the database are changing at a rate of 200 times per second. The worst part is that when you synchronize, the network is still advancing, and the status of your download may be as small as when you are downloading, so your node needs to keep following the network, and you also need to get all the latest The data. But when you actually get all the data, your local node cannot be used because it cannot encrypt any information that proves any account.
If you see 64 blocks behind the mainnet, you have not fully synchronized, or even far away. You have only completed the part of the block download and are still downloading in the state. You can pass endless Imported state entries [. ..], come and see your own status. Before your nodes are online, you also need to wait for them to come out.
Q: The node only depends on the state of the input?
A: The node will not be paused, it just won't know how big the entire state prefix tree is in advance, so it will keep going until it finds and downloads the entire data.
The reason is that there is only the root of the state in the Ethereum block, a single hash of the root node. When the node starts to synchronize, it will fully reach 1 node and try to download. That node, you can benchmark up to 16 new nodes, and try to download those. As we continue to download, most of the nodes will be benchmarked with new nodes, and we did not know them at the time. This is why you need to think about why it gets stuck at the same number. Over time, nodes are discovering and downloading tree data.
Q: I am stuck in 64 blocks behind the mainnet?
A: As explained above, you are no longer the card owner. You have just completed the block download stage and are waiting for the status download to complete. This part of the time spent is much longer than downloading the block.
Q: Why does it take so long to download the status and I have a high bandwidth?
A: State synchronization is subject to disk input and output, not bandwidth.
The state prefix tree of Ethereum contains millions of nodes, most of which correspond to up to 16 other hashes according to a single hash. On disk, this is a terrible storage method, because it has almost no structure, just random numbers to reflect even more random numbers. This will make the underlying database confusing, because it cannot optimize storage and use any meaningful way to find data.
Not only is it very undesirable to store data, but because of 200 changes per second and modifications to the past data, we cannot even download it. This is a correct preprocessing method to make it import faster, and the underlying database is not many. The final result is that even rapid updates lead to high disk input and output costs, which is a very big challenge for mechanical hard drives.
Q: So, I can't use a hard drive to run a full node?
A: Unfortunately, it is not possible. Fast synchronization on the hard drive will take more time than waiting for the current data. Although you did wait, the hard drive cannot keep up with the read and write needs of the mainnet transfer processing.
However, you should be able to use the hard drive in a light client because it will minimize the impact on system resources. If you want to run a full node, then solid state drives are the only option.
This liquid-cooled cabinet uses stable and customized insulating oil. The circulating insulating oil can absorb the heat generated by the high-power heating equipment immersed in the oil. The final heat is transferred by the high-efficiency water-cooling device. No fans are involved in the whole process (remove the cooling fan and the power supply fan) , Oil circulation uses silent high temperature resistant oil pump, efficient water circulation heat dissipation, achieves the best energy efficiency ratio of machine and liquid cooling cabinet, quiet and stable, and brings higher benefits to your business!
4 Advantages of immersion oil cooling system
1. +50% profit
2. 80% Reduced failure rate
3. Easy to install &Safe
4. Noiseless running
No fans = no noise, more profit , less downtime & less maintenance.
immersion cooling,oil immersion cooling,immersion cooling mining,immersion cooling asic,immersion cooling s19
Shenzhen YLHM Technology Co., Ltd. , https://www.sggminer.com