Cuộc giải cứu Blob vĩ đại: Cách Pinax và The Graph Xoay Chuyển Cục Diện!

Pinax, The Graph By Aug 02, 2024 No Comments

Khám phá cách Pinax giúp đảm bảo lưu trữ blob lâu dài sau EIP-4844.

TL;DR: Nhờ nhóm Pinax làm việc nhanh chóng và phần mềm linh hoạt, hiệu quả do StreamingFast xây dựng, The Graph đã cứu các blobs khỏi nguy cơ bị hủy hoại bởi các phương pháp tập trung.

Đề xuất cải tiến Ethereum 4844 (EIP-4844), thường được gọi là đề xuất “blobs” hoặc “proto-danksharding”, nâng cao khả năng mở rộng của Ethereum bằng cách cho phép lưu trữ dữ liệu hàng loạt tạm thời, một thành phần quan trọng cho việc mở rộng mạng trong tương lai.

Tuy nhiên, các blobs này vốn là phù du, được lập trình để biến mất sau 18 ngày trừ khi được bảo tồn.

Khám phá cách PinaxThe Graph đã cứu các blob, chứng minh cho sự hợp tác trong web3.

Ai sẽ cứu blob?

Cách tiếp cận của Ethereum đối với lưu trữ blob được tóm tắt trong một điểm quan trọng nằm trong phần Câu hỏi thường gặp của eip4844.com. Trong số các phương pháp để lưu trữ toàn bộ lịch sử, phần Câu hỏi thường gặp đã gợi ý:

Các giao thức lập chỉ mục bên thứ ba như The Graph có khả năng sẽ lưu trữ toàn bộ lịch sử.

Kỳ vọng này đã thúc đẩy các nhà phát triển cốt lõi của The Graph hướng đến một mục tiêu chung:

Cứu blobs.

Các nhà phát triển ứng dụng phi tập trung (dApps) cần lưu trữ các blob cho dữ liệu của dApp, và các Layer-2 rollups cần lưu trữ các blob cho lịch sử rollup. The Graph dường như là một giải pháp rõ ràng để lưu trữ các blob theo cách phân cấp, phù hợp với tinh thần phân cấp của Ethereum.

Pinax Đứng Trước Thử Thách

Các nhà phát triển cốt lõi làm việc trên The Graph đã thảo luận về nhiều cách tiếp cận để lưu trữ các blob. Cuối cùng, các đội ngũ đã quyết định sử dụng công nghệ FirehoseSubstreams để lưu trữ blobs trong các tập tin flat của Firehose.

Với một đội ngũ quen thuộc với Firehose và Substreams, Pinax đã ngay lập tức vào cuộc.

Sau khi các nhà phát triển cốt lõi đồng ý về phương pháp, lập trình viên back-end của Pinax, Frederik Schöll, đã điều chỉnh công cụ thăm dò Firehose RPC (RPC poller) của StreamingFast để sử dụng với các beacon chain. Công việc nền tảng này đã đảm bảo rằng công cụ cơ bản để lưu trữ blobs đã sẵn sàng.

Việc triển khai nhanh chóng công cụ RPC poller đã đánh dấu chiến thắng ban đầu của nhóm, nhưng công việc vẫn chưa kết thúc.

Giai đoạn phát triển nhanh tiếp theo đã có những những cải tiến đáng kể, ví dụ như việc thêm thời gian khối và các siêu dữ liệu khác. Trong môi trường làm việc liên đội này, CIO của Pinax, Matthew Darwin, đã hỗ trợ điều phối, kiểm tra và giám sát các giải pháp, tổ chức công việc trong đội, và cung cấp cập nhật hàng ngày về các phiên bản GitHub mới nhất.

Lập trình viên full-stack của Pinax, Yaro Shkvorets, đã làm cho các blob trở nên dễ tiếp cận bằng cách tạo ra một API tương thích với beacon, tích hợp với một subgraph, đảm bảo việc truy cập các blob cho các thành viên trong Mạng lưới The Graph.

Vấn Đề Với Thời Gian

Dự án đã gặp phải một số rào cản kỹ thuật. Trong giai đoạn thử nghiệm, đội ngũ Edge & Node đã phải đối mặt với vấn đề đồng bộ cổng, với một số node bị chậm hàng triệu khối. Nhật ký cổng cung cấp một số chi tiết bối cảnh nhưng cũng làm vấn đề thêm phức tạp, với các lỗi vận chuyển và các khối beacon không xuất hiện trên các công cụ kiểm tra khối.

Pinax đã xác định lỗi là do sự không khớp trong các trường “timestamp” (thời gian), vấn đề này trở nên nghiêm trọng hơn vì các thông số kỹ thuật của các hard fork Phase 0Altair không bao gồm trường “timestamp”.

Sau khi khắc phục sự cố và phối hợp, các nhóm đã đề xuất và tích hợp thành công một phương pháp thay thế để tính toán thời gian, ổn định hệ thống và kích hoạt các luồng blob trong Substreams, cũng như lưu trữ trong các subgraph

Bạn có thể xem một số kết quả trên GitHub của Pinax.

Nâng cấp đã được thực hiện

Mạng Ethereum đã thực hiện hard fork Dencun ở epoch 269,568 vào ngày 13 tháng 3, với các blob được lưu từ ngày đầu tiên.

Thành công này không chỉ là kết quả của nỗ lực kỹ thuật từ Pinax và The Graph mà còn là minh chứng cho sức mạnh của sự phối hợp và hành động nhanh chóng trong cộng đồng blockchain. Cùng nhau, các đội đã giải quyết một vấn đề khẩn cấp mà không gặp phải sự gián đoạn nào, đảm bảo rằng cơ sở hạ tầng cấp 2 của Ethereum vẫn được duy trì theo cách phân quyền. Những nỗ lực này giữa các tổ chức thể hiện sự bền bỉ và khả năng thích ứng trong cộng đồng blockchain.

Bạn có ý tưởng sáng tạo cho việc sử dụng blobs? Hãy chia sẻ những ý tưởng táo bạo của bạn bên dưới, hoặc gửi phản hồi trực tiếp cho The Graph! Chúng tôi tin rằng đóng góp của bạn có thể góp phần giúp định hình tương lai của blobs.

Khám phá các blobs đã lưu hoặc thêm meme của riêng bạn tại blob.fm/gallery!

No Comments

Leave a comment

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