put()
phương pháp với BLOB hash và một phí trong ETH. Phí sẽ được phân phối dần dần cho các nhà cung cấp lưu trữ sau khi nộp chứng minh hợp lệ về việc lưu trữ off-chain BLOBs theo thời gian. Testnet EthStorage đang chạy trên Ethereum Sepolia testnet với nhiều cộng đồng tham gia thành công chứng minh lưu trữ địa phương của họ.Xác nhận: Rất cảm ơn Piper Merriam từ EF, Karthik Raju từ Polychain, Qiang từ EthStorage đã cung cấp phản hồi về bài viết.
Vào ngày 22 tháng 10 năm 2023, Péter Szilágyi, nhà phát triển hàng đầu của Go-Ethereum (Geth), đã bày tỏ sự lo lắng sâu sắc của mình trên Twitter. Anh ấy chỉ ra rằng trong khi các máy khách Geth lưu giữ tất cả dữ liệu lịch sử, các máy khách Ethereum khác như Nethermind và Besu có thể được cấu hình để hoạt động mà không có một số dữ liệu lịch sử Ethereum, chẳng hạn như các khối và tiêu đề khối lịch sử. Điều này khiến tất cả các máy khách không nhất quán và không công bằng với Geth. Điều này đã kích thích các cuộc thảo luận sôi nổi và tranh luận xoay quanh vấn đề Lưu trữ Ethereum trong lộ trình Ethereum.
Tại sao Nethermind và Besu chọn ngừng lưu trữ dữ liệu lịch sử? Những vấn đề nào nằm dưới quyết định này? Từ quan điểm của tôi, có hai nguyên nhân gốc chính:
Lý do đầu tiên xuất phát từ nhu cầu lưu trữ leo thang của việc chạy một Ethereum client. Để đi sâu vào các yêu cầu cụ thể, biểu đồ tròn sau minh họa phân phối chi phí lưu trữ cho một nút Geth mới, tính đến khối 18.779.761 vào ngày 13 tháng 12 năm 2023.
Như hình ảnh cho thấy:
Lý do thứ hai là sự vắng mặt của các động lực hoặc hình phạt trong giao thức để lưu trữ các khối lịch sử. Trong khi giao thức yêu cầu các nút lưu trữ tất cả dữ liệu lịch sử, nhưng không cung cấp bất kỳ cơ chế nào để khuyến khích việc lưu trữ hoặc trừng phạt việc không tuân thủ. Việc lưu trữ và chia sẻ dữ liệu lịch sử bởi các nút trở nên hoàn toàn lòng nhân ái, và một nút có thể cắt bỏ tất cả dữ liệu lịch sử mà không phải đối mặt với bất kỳ hậu quả tiêu cực nào. Ngược lại, các nhà xác minh, ví dụ, phải duy trì trạng thái đầy đủ mới nhất để tránh đề xuất/bỏ phiếu cho một khối không hợp lệ, rủi ro mất các động lực trong cả hai trường hợp.
Do đó, khi chi phí lưu trữ trở thành gánh nặng đáng kể đối với một nút, không ngạc nhiên khi một số nhà điều hành nút chọn cắt bỏ dữ liệu lịch sử. Việc chọn chạy mà không có dữ liệu lịch sử có thể dẫn đến tiết kiệm chi phí lưu trữ đáng kể, giảm từ khoảng 1TB xuống còn khoảng 300GB.
Minh họa: Cấu hình Nethermined để chạy một nút mà không cần lưu trữ các khối lịch sử - tiết kiệm chi phí lưu trữ khoảng ~460GB vào thời điểm hiện tại.
Thách thức về lưu trữ dự kiến sẽ trở nên gay gắt hơn với bản nâng cấp Khả năng Truy Cập Dữ Liệu Ethereum (DA) sắp tới. đườngHướng đến việc mở rộng hoàn toàn Ethereum DA bắt đầu với EIP-4844 tại DenCun, giới thiệu một đối tượng lớn nhị phân cố định (BLOB) đi kèm với một mô hình phí độc lập được biết đến là blobGasPrice. Mỗi BLOB được đặt ở 128KB, và EIP-4844 cho phép mỗi khối chứa tối đa 6 BLOB. Để tăng cường khả năng mở rộng dữ liệu, kế hoạch bao gồm việc triển khai mã Reed-Solomon 1D, cho phép 32 BLOB mỗi khối ban đầu và cuối cùng đạt 256 BLOB mỗi khối khi hoàn toàn mở rộng.
Với Ethereum DA hoạt động ở dung lượng dữ liệu đầy đủ với 256 BLOB mỗi khối, dự kiến mạng Ethereum DA trong một năm sẽ chấp nhận khoảng 80 TB dữ liệu, vượt qua khả năng lưu trữ của hầu hết các nút Ethereum.
Vitalik’stweetvề lộ trình Ethereum, trong đó Phục dọn chủ yếu xử lý vấn đề lưu trữ.
Chi phí lưu trữ gia tăng đã thu hút sự chú ý từ các nhà nghiên cứu trong hệ sinh thái Ethereum. Để giải quyết vấn đề này và đảm bảo sự phối hợp trên tất cả các client, hiện đang có một số đề xuất đang được phát triển để cắt giảm lưu trữ một cách rõ ràng. Hai đề xuất chính là:
Hậu quả của việc cắt tỉa dữ liệu lịch sử từ tất cả các khách hàng là gì? Hậu quả chính là một nút mới không thể đồng bộ hóa với trạng thái mới nhất thông qua “đồng bộ hóa đầy đủ” - một đồng bộ hóa để phát lại các giao dịch từ khối khởi tạo đến khối mới nhất. Thay vào đó, chúng ta phải chuyển sang “đồng bộ hóa nhanh” hoặc “đồng bộ hóa trạng thái” để đồng bộ hóa trạng thái mới nhất từ các đồng nghiệp Ethereum. Phương pháp này đã được triển khai trong Geth và chạy như đồng bộ mặc định.
Tương tự, hậu quả này cũng áp dụng cho tất cả các L2, tức là, một nút mới của L2 không thể hoàn toàn phát lại trạng thái mới nhất từ L2 genesis từ Ethereum bằng cách phát lại các khối L2 từ L2 genesis. Hơn nữa, vì các nút L1 không duy trì trạng thái L2, phương pháp “snap sync” cho L2 không thể tạo ra trạng thái L2 mới nhất từ L1 - phá vỡ một giả định quan trọng của L2 về việc kế thừa các cam kết bảo mật của Ethereum. Giải pháp dự kiến sẽ phụ thuộc vào các dịch vụ của bên thứ ba như Infura / Etherscan / các dự án L2 chính họ để lưu trữ một bản sao dữ liệu hoặc trạng thái L2 lịch sử, điều này tập trung với động lực gián tiếp ngoài giao thức.
Các câu hỏi cốt lõi mà chúng tôi đang đặt ra là
Mạng lưới Cổng Ethereum phục vụ như một mạng truy cập phân tán nhẹ đến giao thức Ethereum. Cung cấp giao diện JSON-RPC Ethereum như eth_call, eth_getBlockByNumber, nó dịch các yêu cầu JSON-RPC thành các yêu cầu P2P đến một bảng băm phân tán, tương tự như mạng IPFS. Khác với IPFS, cho phép lưu trữ bất kỳ loại dữ liệu nào và dễ bị spam, mạng P2P Cổng chỉ chứa dữ liệu Ethereum, như tiêu đề và thân của lịch sử. Điều này được thực hiện thông qua một kỹ thuật xác minh khách nhẹ tích hợp trong mạng lưới Cổng.
Một đặc điểm quan trọng của mạng Portal là thiết kế để hoạt động nhẹ và tương thích với các thiết bị có tài nguyên hạn chế. Nó có thể chạy trên một nút với vài megabyte bộ nhớ và bộ nhớ thấp, thúc đẩy sự phi tập trung. Ngay cả một điện thoại di động hoặc thiết bị Raspberry Pi cũng có thể tham gia vào mạng và đóng góp vào sự sẵn có của dữ liệu Ethereum.
Sự phát triển của mạng lưới Cổng phù hợp với triết lý đa dạng của khách hàng của Ethereum, với khách hàng được viết bằng Rust, JavaScript, Nim và Go. Mạng lưới đèn báo và mạng lịch sử đã sẵn sàng sử dụng, trong khi mạng lưới trạng thái đang được phát triển mạnh mẽ. Đáng chú ý, mạng lưới Cổng không cung cấp động lực trực tiếp cho việc lưu trữ dữ liệu - tất cả các nút trong mạng lưới hoạt động từ thiện.
Minh họa: Chạy một mạng lưới Cổng (Trin) với giới hạn lưu trữ 100MB.
Mạng lưu trữ EthStorage là một mạng lưu trữ khuyến khích phi tập trung, được thiết kế đặc biệt để lưu trữ BLOBs EIP-4844, được hỗ trợ bởi một học bổng từ chương trình ESP.
Từ góc độ tinh chỉnh blockchain, EthStorage hoạt động như một Lớp 2 của Ethereum, nhưng thu các khoản phí lưu trữ thay vì phí giao dịch. Bằng cách lập chỉ mục các BLOB hashes trên chuỗi, EthStorage là một lớp lưu trữ modul Ethereum với khả năng mở rộng lưu trữ đáng kể và tiết kiệm chi phí - mục tiêu khoảng 1000 lần.
Về phát triển, EthStorage đã tích hợp với EIP-4844 trên Ethereum Sepolia testnet. Một bài kiểm tra căng thẳng trên EthStorage và Ethereum Sepolia testnet đã được tiến hành, liên quan đến việc ghi khoảng hàng trăm Gigabyte của BLOBs vào EthStorage. Hơn 50 cộng đồng thành viên đã tham gia vào mạng lưới và chứng minh thành công bộ nhớ lưu trữ cục bộ của họ.
Ưu điểm chính của mạng EthStorage nằm ở việc cung cấp một động lực trực tiếp phi tập trung trên Ethereum - một tính năng tiên phong, theo kiến thức hiện tại của chúng tôi. Tuy nhiên, một hạn chế của mạng là nó được thiết kế đặc biệt cho các BLOB có kích thước cố định.
Bảng điều khiển của EthStorage trên Ethereum Devnet
Lưu trữ Ethereum, mặc dù ít được chú ý, nhưng rất quan trọng trong hệ sinh thái Ethereum. Khi mạng Ethereum đang trải qua sự phát triển nhanh chóng, việc lưu trữ và truy cập dữ liệu Ethereum trở thành thách thức quan trọng. Trong khi mạng Lối vào và mạng EthStorage đang ở giai đoạn đầu, chúng tôi hình dung một số hướng thú vị cho dài hạn:
Trong hành trình của chúng tôi, chúng tôi ước ao rằng những nỗ lực này sẽ cùng nhau đóng góp cho lộ trình Ethereum, đặt nền móng cho các giải pháp lưu trữ phi tập trung trong hệ sinh thái Ethereum trong tương lai.
Bài viết này được tái bản từ [ công nghệ dòng sâu triều]], tiêu đề gốc là “Ethereum Storage Roadmap: Thách thức và Cơ hội”, bản quyền thuộc về tác giả gốc [EthStorage], nếu bạn có bất kỳ ý kiến nào về việc sao chép, vui lòng liên hệ Đội ngũ học tập của Gate , nhóm sẽ xử lý nó càng sớm càng tốt theo các thủ tục liên quan.
Chú ý: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.
Các phiên bản ngôn ngữ khác của bài viết được dịch bởi nhóm Gate Learn, không được đề cập trong Gate.io, bài viết dịch có thể không được sao chép, phân phối hoặc đạo văn.
put()
phương pháp với BLOB hash và một phí trong ETH. Phí sẽ được phân phối dần dần cho các nhà cung cấp lưu trữ sau khi nộp chứng minh hợp lệ về việc lưu trữ off-chain BLOBs theo thời gian. Testnet EthStorage đang chạy trên Ethereum Sepolia testnet với nhiều cộng đồng tham gia thành công chứng minh lưu trữ địa phương của họ.Xác nhận: Rất cảm ơn Piper Merriam từ EF, Karthik Raju từ Polychain, Qiang từ EthStorage đã cung cấp phản hồi về bài viết.
Vào ngày 22 tháng 10 năm 2023, Péter Szilágyi, nhà phát triển hàng đầu của Go-Ethereum (Geth), đã bày tỏ sự lo lắng sâu sắc của mình trên Twitter. Anh ấy chỉ ra rằng trong khi các máy khách Geth lưu giữ tất cả dữ liệu lịch sử, các máy khách Ethereum khác như Nethermind và Besu có thể được cấu hình để hoạt động mà không có một số dữ liệu lịch sử Ethereum, chẳng hạn như các khối và tiêu đề khối lịch sử. Điều này khiến tất cả các máy khách không nhất quán và không công bằng với Geth. Điều này đã kích thích các cuộc thảo luận sôi nổi và tranh luận xoay quanh vấn đề Lưu trữ Ethereum trong lộ trình Ethereum.
Tại sao Nethermind và Besu chọn ngừng lưu trữ dữ liệu lịch sử? Những vấn đề nào nằm dưới quyết định này? Từ quan điểm của tôi, có hai nguyên nhân gốc chính:
Lý do đầu tiên xuất phát từ nhu cầu lưu trữ leo thang của việc chạy một Ethereum client. Để đi sâu vào các yêu cầu cụ thể, biểu đồ tròn sau minh họa phân phối chi phí lưu trữ cho một nút Geth mới, tính đến khối 18.779.761 vào ngày 13 tháng 12 năm 2023.
Như hình ảnh cho thấy:
Lý do thứ hai là sự vắng mặt của các động lực hoặc hình phạt trong giao thức để lưu trữ các khối lịch sử. Trong khi giao thức yêu cầu các nút lưu trữ tất cả dữ liệu lịch sử, nhưng không cung cấp bất kỳ cơ chế nào để khuyến khích việc lưu trữ hoặc trừng phạt việc không tuân thủ. Việc lưu trữ và chia sẻ dữ liệu lịch sử bởi các nút trở nên hoàn toàn lòng nhân ái, và một nút có thể cắt bỏ tất cả dữ liệu lịch sử mà không phải đối mặt với bất kỳ hậu quả tiêu cực nào. Ngược lại, các nhà xác minh, ví dụ, phải duy trì trạng thái đầy đủ mới nhất để tránh đề xuất/bỏ phiếu cho một khối không hợp lệ, rủi ro mất các động lực trong cả hai trường hợp.
Do đó, khi chi phí lưu trữ trở thành gánh nặng đáng kể đối với một nút, không ngạc nhiên khi một số nhà điều hành nút chọn cắt bỏ dữ liệu lịch sử. Việc chọn chạy mà không có dữ liệu lịch sử có thể dẫn đến tiết kiệm chi phí lưu trữ đáng kể, giảm từ khoảng 1TB xuống còn khoảng 300GB.
Minh họa: Cấu hình Nethermined để chạy một nút mà không cần lưu trữ các khối lịch sử - tiết kiệm chi phí lưu trữ khoảng ~460GB vào thời điểm hiện tại.
Thách thức về lưu trữ dự kiến sẽ trở nên gay gắt hơn với bản nâng cấp Khả năng Truy Cập Dữ Liệu Ethereum (DA) sắp tới. đườngHướng đến việc mở rộng hoàn toàn Ethereum DA bắt đầu với EIP-4844 tại DenCun, giới thiệu một đối tượng lớn nhị phân cố định (BLOB) đi kèm với một mô hình phí độc lập được biết đến là blobGasPrice. Mỗi BLOB được đặt ở 128KB, và EIP-4844 cho phép mỗi khối chứa tối đa 6 BLOB. Để tăng cường khả năng mở rộng dữ liệu, kế hoạch bao gồm việc triển khai mã Reed-Solomon 1D, cho phép 32 BLOB mỗi khối ban đầu và cuối cùng đạt 256 BLOB mỗi khối khi hoàn toàn mở rộng.
Với Ethereum DA hoạt động ở dung lượng dữ liệu đầy đủ với 256 BLOB mỗi khối, dự kiến mạng Ethereum DA trong một năm sẽ chấp nhận khoảng 80 TB dữ liệu, vượt qua khả năng lưu trữ của hầu hết các nút Ethereum.
Vitalik’stweetvề lộ trình Ethereum, trong đó Phục dọn chủ yếu xử lý vấn đề lưu trữ.
Chi phí lưu trữ gia tăng đã thu hút sự chú ý từ các nhà nghiên cứu trong hệ sinh thái Ethereum. Để giải quyết vấn đề này và đảm bảo sự phối hợp trên tất cả các client, hiện đang có một số đề xuất đang được phát triển để cắt giảm lưu trữ một cách rõ ràng. Hai đề xuất chính là:
Hậu quả của việc cắt tỉa dữ liệu lịch sử từ tất cả các khách hàng là gì? Hậu quả chính là một nút mới không thể đồng bộ hóa với trạng thái mới nhất thông qua “đồng bộ hóa đầy đủ” - một đồng bộ hóa để phát lại các giao dịch từ khối khởi tạo đến khối mới nhất. Thay vào đó, chúng ta phải chuyển sang “đồng bộ hóa nhanh” hoặc “đồng bộ hóa trạng thái” để đồng bộ hóa trạng thái mới nhất từ các đồng nghiệp Ethereum. Phương pháp này đã được triển khai trong Geth và chạy như đồng bộ mặc định.
Tương tự, hậu quả này cũng áp dụng cho tất cả các L2, tức là, một nút mới của L2 không thể hoàn toàn phát lại trạng thái mới nhất từ L2 genesis từ Ethereum bằng cách phát lại các khối L2 từ L2 genesis. Hơn nữa, vì các nút L1 không duy trì trạng thái L2, phương pháp “snap sync” cho L2 không thể tạo ra trạng thái L2 mới nhất từ L1 - phá vỡ một giả định quan trọng của L2 về việc kế thừa các cam kết bảo mật của Ethereum. Giải pháp dự kiến sẽ phụ thuộc vào các dịch vụ của bên thứ ba như Infura / Etherscan / các dự án L2 chính họ để lưu trữ một bản sao dữ liệu hoặc trạng thái L2 lịch sử, điều này tập trung với động lực gián tiếp ngoài giao thức.
Các câu hỏi cốt lõi mà chúng tôi đang đặt ra là
Mạng lưới Cổng Ethereum phục vụ như một mạng truy cập phân tán nhẹ đến giao thức Ethereum. Cung cấp giao diện JSON-RPC Ethereum như eth_call, eth_getBlockByNumber, nó dịch các yêu cầu JSON-RPC thành các yêu cầu P2P đến một bảng băm phân tán, tương tự như mạng IPFS. Khác với IPFS, cho phép lưu trữ bất kỳ loại dữ liệu nào và dễ bị spam, mạng P2P Cổng chỉ chứa dữ liệu Ethereum, như tiêu đề và thân của lịch sử. Điều này được thực hiện thông qua một kỹ thuật xác minh khách nhẹ tích hợp trong mạng lưới Cổng.
Một đặc điểm quan trọng của mạng Portal là thiết kế để hoạt động nhẹ và tương thích với các thiết bị có tài nguyên hạn chế. Nó có thể chạy trên một nút với vài megabyte bộ nhớ và bộ nhớ thấp, thúc đẩy sự phi tập trung. Ngay cả một điện thoại di động hoặc thiết bị Raspberry Pi cũng có thể tham gia vào mạng và đóng góp vào sự sẵn có của dữ liệu Ethereum.
Sự phát triển của mạng lưới Cổng phù hợp với triết lý đa dạng của khách hàng của Ethereum, với khách hàng được viết bằng Rust, JavaScript, Nim và Go. Mạng lưới đèn báo và mạng lịch sử đã sẵn sàng sử dụng, trong khi mạng lưới trạng thái đang được phát triển mạnh mẽ. Đáng chú ý, mạng lưới Cổng không cung cấp động lực trực tiếp cho việc lưu trữ dữ liệu - tất cả các nút trong mạng lưới hoạt động từ thiện.
Minh họa: Chạy một mạng lưới Cổng (Trin) với giới hạn lưu trữ 100MB.
Mạng lưu trữ EthStorage là một mạng lưu trữ khuyến khích phi tập trung, được thiết kế đặc biệt để lưu trữ BLOBs EIP-4844, được hỗ trợ bởi một học bổng từ chương trình ESP.
Từ góc độ tinh chỉnh blockchain, EthStorage hoạt động như một Lớp 2 của Ethereum, nhưng thu các khoản phí lưu trữ thay vì phí giao dịch. Bằng cách lập chỉ mục các BLOB hashes trên chuỗi, EthStorage là một lớp lưu trữ modul Ethereum với khả năng mở rộng lưu trữ đáng kể và tiết kiệm chi phí - mục tiêu khoảng 1000 lần.
Về phát triển, EthStorage đã tích hợp với EIP-4844 trên Ethereum Sepolia testnet. Một bài kiểm tra căng thẳng trên EthStorage và Ethereum Sepolia testnet đã được tiến hành, liên quan đến việc ghi khoảng hàng trăm Gigabyte của BLOBs vào EthStorage. Hơn 50 cộng đồng thành viên đã tham gia vào mạng lưới và chứng minh thành công bộ nhớ lưu trữ cục bộ của họ.
Ưu điểm chính của mạng EthStorage nằm ở việc cung cấp một động lực trực tiếp phi tập trung trên Ethereum - một tính năng tiên phong, theo kiến thức hiện tại của chúng tôi. Tuy nhiên, một hạn chế của mạng là nó được thiết kế đặc biệt cho các BLOB có kích thước cố định.
Bảng điều khiển của EthStorage trên Ethereum Devnet
Lưu trữ Ethereum, mặc dù ít được chú ý, nhưng rất quan trọng trong hệ sinh thái Ethereum. Khi mạng Ethereum đang trải qua sự phát triển nhanh chóng, việc lưu trữ và truy cập dữ liệu Ethereum trở thành thách thức quan trọng. Trong khi mạng Lối vào và mạng EthStorage đang ở giai đoạn đầu, chúng tôi hình dung một số hướng thú vị cho dài hạn:
Trong hành trình của chúng tôi, chúng tôi ước ao rằng những nỗ lực này sẽ cùng nhau đóng góp cho lộ trình Ethereum, đặt nền móng cho các giải pháp lưu trữ phi tập trung trong hệ sinh thái Ethereum trong tương lai.
Bài viết này được tái bản từ [ công nghệ dòng sâu triều]], tiêu đề gốc là “Ethereum Storage Roadmap: Thách thức và Cơ hội”, bản quyền thuộc về tác giả gốc [EthStorage], nếu bạn có bất kỳ ý kiến nào về việc sao chép, vui lòng liên hệ Đội ngũ học tập của Gate , nhóm sẽ xử lý nó càng sớm càng tốt theo các thủ tục liên quan.
Chú ý: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.
Các phiên bản ngôn ngữ khác của bài viết được dịch bởi nhóm Gate Learn, không được đề cập trong Gate.io, bài viết dịch có thể không được sao chép, phân phối hoặc đạo văn.