Ethereum: Syncing bitcoin node with multiple cores

Here is the article:

Ethereum: Bitcoin Node Synchronization with Multiple Cores

I’m syncing my node on 32 processors and it’s very slow.

It is obvious that the synchronization is not parallel. I wonder if there are any fundamental obstacles to the divide-and-conquer method?

So, let’s say I have a big blockchain to sync, like 100MB or more. If I used the traditional method of synchronizing all the nodes at the same time, it would take a ridiculous amount of time – maybe even days or weeks.

But what if I could divide this task into smaller parts? For example, I could create several processes to quickly synchronize some nodes, while others would continue to work independently.

This is how some people implemented this approach, using the divide and rule method. Here’s a schematic of what it might look like:

  • Get part of the data: take part of the blockchain and synchronize it with the help of one node.
  • Create a new process: start a new process that will start working on the synchronization of this smaller piece of data.
  • Use multiple cores: Use as many CPU cores as possible to perform this new task.
  • Move parts

    Ethereum: Syncing bitcoin node with multiple cores

    : periodically move parts of the data from the focus area of ​​the old process back to a node with less load so that the new process can work with them.

This approach allows nodes to synchronize at their own pace without waiting for everyone else to catch up. However, there are some fundamental obstacles that make this method difficult:

  • Inter-process interaction: Interaction between processes can be complex, especially when working with large amounts of data.
  • Resource Management: Coordinating the allocation and use of resources (for example, CPU cores) is necessary, but it can be difficult to manage effectively.
  • Global Consensus

    : Ensuring that all nodes agree on the latest data and synchronization process requires a certain level of coordination that can be difficult to achieve.

Despite these problems, some experienced developers are experimenting with this divide-and-conquer approach. For example:

  • Binance Smart Chain: Binance uses a similar method, dividing the blockchain into smaller parts and processing them in parallel.
  • Polygon: Polygon is another project that implemented a divide-and-conquer synchronization strategy, using multiple processes to run some nodes quickly.

While this approach may not be suitable for all use cases, it is an interesting example of how people are exploring alternative ways to make synchronization more efficient and scalable.

ETHEREUM ISSUES ISSUES

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • เปิดใช้งานตลอด

บันทึกการตั้งค่า