Mô hình: Tăng Giới Hạn Gas để Giải Quyết Vấn Đề Tính Mở Rộng Của Ethereum Hashtag: Ethereum

Người mới bắt đầu5/15/2024, 2:58:42 AM
Vấn đề tăng trưởng lịch sử trong việc mở rộng của Ethereum nhấn mạnh rằng sự tích lũy các khối mới và giao dịch là điểm nghẽn lớn nhất. Sự tăng trưởng lịch sử bị giới hạn bởi mạng I/O và không gian lưu trữ của node, khác biệt so với vấn đề tăng trưởng trạng thái. Bài viết đề cập rằng mặc dù hard fork Dencun đã giới thiệu blobs để làm chậm sự tăng trưởng lịch sử, nhưng vẫn là một thách thức. Đề xuất EIP-4444 cho biết rằng mỗi node chỉ nên giữ một năm lịch sử, giảm thiểu đáng kể gánh nặng lưu trữ và ổn định nhu cầu lưu trữ.

Lịch sử tăng trưởng là gì?

Lịch sử trong Ethereum bao gồm tất cả các khối và giao dịch thực thi trong suốt quãng đời của nó. Dữ liệu này cần thiết để đồng bộ chuỗi từ khối khởi tạo đến trạng thái hiện tại của nó. Sự phát triển lịch sử đề cập đến việc tích lũy các khối và giao dịch mới theo thời gian.

Hình 1 cho thấy mối quan hệ giữa sự phát triển lịch sử, các chỉ số giao thức khác nhau và giới hạn phần cứng của nút Ethereum. Không giống như sự phát triển của trạng thái, sự phát triển lịch sử bị ràng buộc bởi một tập hợp các giới hạn phần cứng khác nhau. Sự phát triển này tạo áp lực cho I/O mạng vì các khối mới và giao dịch phải được truyền qua mạng. Nó cũng làm căng thẳng không gian lưu trữ của nút, vì mỗi nút Ethereum lưu trữ một bản sao hoàn chỉnh của hồ sơ lịch sử. Nếu sự phát triển lịch sử vượt qua các giới hạn phần cứng này, các nút sẽ không còn có khả năng đạt được sự nhất quán ổn định với đồng nghiệp của họ. Để biết tổng quan về sự phát triển của trạng thái và các rào cản mở rộng khác, xemPhần 1của loạt này.

Hình 1: Chướng ngại vật mở rộng Ethereum

Cho đến gần đây, hầu hết băng thông mạng của mỗi nút được sử dụng để truyền tải các bản ghi lịch sử (ví dụ, các khối mới và giao dịch). Điều này đã thay đổi với sự giới thiệu của blobs trong Dencunhard fork. Blobs hiện nay chiếm một phần đáng kể của hoạt động mạng node. Tuy nhiên, blobs không được xem là một phần của hồ sơ lịch sử vì 1) các node lưu trữ chúng chỉ trong 2 tuần trước khi loại bỏ chúng, và 2) chúng không cần thiết để phát lại chuỗi từ Genesis. Do (1), blobs không làm tăng đáng kể gánh nặng lưu trữ trên mỗi node Ethereum. Chúng tôi sẽ thảo luận về blobs chi tiết hơn trong bài viết này sau.

Trong bài viết này, chúng tôi sẽ tập trung vào sự phát triển của dữ liệu lịch sử và mối quan hệ của nó với sự phát triển của trạng thái. Vì sự phát triển của trạng thái và lịch sử chia sẻ một số hạn chế phần cứng trùng lắp, chúng là những vấn đề có mối liên hệ; giải quyết một vấn đề có thể giúp hạn chế vấn đề khác.

Lịch sử phát triển nhanh như thế nào?

Hình 2 cho thấy tỷ lệ tăng trưởng lịch sử theo thời gian kể từ khi Ethereum ra đời. Mỗi thanh dọc đại diện cho sự tăng trưởng trong một tháng. Trục Y đại diện cho số GB được thêm vào lịch sử trong tháng đó. Các giao dịch được phân loại theo “địa chỉ đích” của họ và kích thước được xác định bằng cách sử dụng của họRLPbiểu diễn byte. Các hợp đồng không thể được xác định dễ dàng được phân loại là “không rõ.” Danh mục “khác” bao gồm một loạt các danh mục nhỏ như cơ sở hạ tầng và game.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

  1. Tỷ lệ Tăng trưởng Lịch sử Nhanh khoảng 6 đến 8 Lần So với Tăng trưởng Của Nhà Nước: Tăng trưởng lịch sử gần đây đạt đỉnh là 36.0 GiB/tháng và hiện đang là 19.3 GiB/tháng. Tăng trưởng của nhà nước đạt đỉnh khoảng 6.0 GiB/tháng và hiện nay là 2.5 GiB/tháng. Một so sánh giữa tăng trưởng lịch sử và tăng trưởng của nhà nước, cả về tỷ lệ và kích thước tích lũy, có thể được tìm thấy sau trong bài viết này.
  2. Tỷ lệ tăng trưởng lịch sử đã tăng nhanh trước Dencun: Trong khi tốc độ tăng trưởng của bang đã gần như tuyến tính qua các năm (xem Phần 1) lịch sử phát triển đã vượt trội. Sự phát triển tuyến tính dẫn đến sự tăng gấp đôi về tổng kích thước, trong khi sự phát triển vượt trội dẫn đến sự tăng nhanh hơn so với bậc hai. Sự tăng tốc này đột ngột dừng lại sau Dencun, đánh dấu sự chậm lại đáng kể đầu tiên trong lịch sử phát triển của Ethereum.
  3. Sự Phát Triển Lịch Sử Gần Đây Chủ Yếu Đến Từ Rollups: Mỗi L2 đăng một bản sao của giao dịch của mình trở lại mainnet, tạo ra một lượng lớn dữ liệu lịch sử và làm cho rollups trở thành nguồn đóng góp lớn nhất cho sự phát triển lịch sử trong năm qua. Tuy nhiên, Dencun cho phép L2 sử dụng blobs thay vì bản ghi lịch sử để đăng dữ liệu giao dịch của họ, vì vậy rollups không còn tạo ra phần lớn các bản ghi lịch sử của Ethereum nữa. Chúng ta sẽ điều tra về rollups chi tiết hơn sau trong bài viết này.

Những đóng góp lớn nhất vào lịch sử Ethereum là gì?

Số lượng dữ liệu lịch sử được tạo ra bởi mỗi danh mục hợp đồng cho thấy cách mà mẫu sử dụng Ethereum đã phát triển theo thời gian. Hình 3 cho thấy sự đóng góp tương đối của các danh mục hợp đồng khác nhau. Điều này sử dụng cùng dữ liệu như Hình 2, được chuẩn hóa thành 100%.

Dữ liệu cho thấy bốn giai đoạn riêng biệt trong các mẫu hình sử dụng Ethereum:

Thời kỳ đầu (Màu tím): Trong những năm đầu của Ethereum, hoạt động trên chuỗi khối là rất ít. Hầu hết các hợp đồng ban đầu này hiện tại rất khó nhận biết và được ghi nhãn là “không xác định” trên biểu đồ.

Kỷ nguyên ERC-20 (Màu xanh): tiêu chuẩn ERC-20đã hoàn thành vào cuối năm 2015 nhưng không đạt được sự chú ý đáng kể cho đến năm 2017 và 2018. Đến năm 2019, hợp đồng ERC-20 trở thành danh mục lớn nhất trong sự phát triển lịch sử.

Thời kỳ DEX/DeFi (Màu nâu): Các hợp đồng DEX và DeFi xuất hiện trên chuỗi từ sớm nhất là năm 2016 và bắt đầu thu hút sự chú ý vào năm 2017. Tuy nhiên, chúng không trở thành danh mục lớn nhất trong lịch sửđến mùa hè DeFi năm 2020. Các hợp đồng DeFi và DEX đã đạt đỉnh ở hơn 50% so với sự tăng trưởng lịch sử tại các thời điểm khác nhau trong năm 2021 và 2022.

Thời đại Rollup (Màu Xám): Đầu năm 2023, L2 Rollups bắt đầu thực thi một cách liên tụcnhiều giao dịch hơn mạng lưới chính.Điều này trùng khớp với việc hợp đồng của họ tạo ra một phần lớn dữ liệu lịch sử, chiếm khoảng hai phần ba của sự phát triển lịch sử của Ethereum trong những tháng trước khi Dencun.

Mỗi kỷ nguyên đều đại diện cho các mẫu hình sử dụng phức tạp hơn trên Ethereum. Theo thời gian, sự phức tạp này có thể được coi là một hình thức mở rộng Ethereum, không được thể hiện bởi các chỉ số đơn giản như giao dịch mỗi giây.

Trong dữ liệu mới nhất (tháng 4 năm 2024), rollups không còn tạo ra hầu hết các bản ghi lịch sử nữa. Chưa rõ liệu sự phát triển lịch sử trong tương lai sẽ được chi phối bởi DEX và DeFi hay nếu mô hình sử dụng mới sẽ nổi lên.

Về những viên bi đó sao?

Sự giới thiệu của các blobs trong hard fork Dencun đã thay đổi đáng kể động lực của sự phát triển lịch sử, cho phép Rollups sử dụng các blobs rẻ tiền thay vì các bản ghi lịch sử để đăng dữ liệu. Hình 4 phóng to lên tỷ lệ tăng trưởng lịch sử xung quanh ngày nâng cấp Dencun. Biểu đồ này tương tự như Hình 2, nhưng mỗi thanh dọc đại diện cho một ngày thay vì một tháng.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

Sự phát triển lịch sử từ Rollups đã giảm khoảng hai phần ba kể từ Dencun: Hầu hết các Rollups đã chuyển từ việc sử dụng dữ liệu gọi thành blobs, giảm đáng kể lượng dữ liệu lịch sử mà chúng tạo ra. Tuy nhiên, tính đến tháng 4 năm 2024, một sốrollupsvẫn chưa chuyển từ dữ liệu cuộc gọi sang các mảnh.

Tổng lịch sử tăng trưởng đã giảm khoảng một phần ba kể từ Dencun: Dencun chủ yếu đã giảm tăng trưởng lịch sử từ rollups. Tăng trưởng lịch sử từ các danh mục hợp đồng khác đã tăng nhẹ. Ngay cả sau Dencun, tăng trưởng lịch sử vẫn khoảng tám lần so với tăng trưởng trạng thái (chi tiết trong phần tiếp theo).

Mặc dù có sự giảm sút về tăng trưởng lịch sử, nhưng các khối vẫn là một thêm mới đối với Ethereum. Hiện tại vẫn chưa rõ tăng trưởng lịch sử sẽ ổn định ở mức nào trong sự hiện diện của các khối.

Bao nhiêu tăng trưởng lịch sử là chấp nhận được?

Tăng giới hạn gas sẽ nâng tỷ lệ tăng trưởng lịch sử. Do đó, các đề xuất để tăng giới hạn gas ( chẳng hạn như Bơm khíCần xem xét mối quan hệ giữa sự phát triển lịch sử và các rào cản phần cứng trên mỗi nút.

Để xác định một tỷ lệ tăng trưởng lịch sử chấp nhận được, việc kiểm tra xem mạng nút hiện đại và phần cứng lưu trữ nút có thể duy trì trạng thái hiện tại trong bao lâu là hữu ích. Phần cứng mạng có thể duy trì trạng thái hiện tại vô thời hạn vì tỷ lệ tăng trưởng lịch sử có thể không trở lại mức trước khi giới hạn gas tăng lên. Tuy nhiên, gánh nặng lưu trữ của hồ sơ lịch sử tăng theo thời gian. Theo chính sách lưu trữ hiện tại, ổ đĩa lưu trữ của mỗi nút sẽ cuối cùng được lấp đầy với lịch sử.

Hình 5 minh họa gánh nặng lưu trữ của các nút Ethereum theo thời gian và cũng dự đoán làm thế nào gánh nặng này có thể tăng trong vòng 3 năm tới. Dự đoán được thực hiện bằng tỷ lệ tăng trưởng từ tháng 4 năm 2024. Tỷ lệ này có thể tăng hoặc giảm trong tương lai do sự thay đổi trong mẫu sử dụng hoặc giới hạn gas.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

Không gian lưu trữ được sử dụng bởi lịch sử khoảng ba lần so với trạng thái: Sự chênh lệch này sẽ tăng theo thời gian vì tốc độ tăng trưởng của lịch sử khoảng tám lần so với trạng thái.

Ngưỡng quan trọng khoảng 1,8 TiB: Nhiều nút sẽ buộc phải nâng cấp ổ lưu trữ của chúng tại thời điểm này. Một ổ đĩa 2TB, một kích thước phổ biến, chỉ cung cấp 1,8 TiB không gian sử dụng. Lưu ý rằng TB (terabyte) và TiB (tebibyte, = 1024^4 byte) là các đơn vị khác nhau. Đối với nhiều nhà khai thác nút, ngưỡng tới hạn "thực" thậm chí còn thấp hơn vì trình xác thực phải chạy máy khách đồng thuận cùng với máy khách thực thi sau khi hợp nhất.

Ngưỡng Đã Đạt Trong 2-3 Năm: Bất kỳ tăng về giới hạn gas nào cũng sẽ tăng tốc độ thời gian này. Đạt đến ngưỡng này sẽ đặt gánh nặng bảo trì đáng kể lên người vận hành node, buộc phải mua thêm phần cứng, chẳng hạn như một Ổ NVME $300.

Lưu trữ riêng cho Dữ liệu Lịch sử: Không giống như dữ liệu trạng thái, dữ liệu lịch sử chỉ được ghi thêm và truy cập ít hơn nhiều. Do đó, lý thuyết có thể lưu trữ dữ liệu lịch sử riêng biệt khỏi dữ liệu trạng thái trên phương tiện lưu trữ rẻ tiền hơn. Một số khách hàng, như Geth, đã hỗ trợ việc phân tách này.

Mạng IO như một hạn chế vật lý: Ngoài khả năng lưu trữ, mạng IO còn là một rào cản vật lý chính cho sự phát triển lịch sử. Khác với khả năng lưu trữ, hạn chế mạng IO sẽ không gây ra vấn đề ngay lập tức cho các nút nhưng sẽ trở nên quan trọng đối với việc tăng giới hạn gas trong tương lai.

Để hiểu được mức tăng trưởng lịch sử mà khả năng mạng của một nút Ethereum điển hình có thể hỗ trợ, việc mô tả mối quan hệ giữa sự tăng trưởng lịch sử và các chỉ số sức khỏe mạng khác nhau, như tỷ lệ tái tổ chức, thiếu khe, thiếu tính chất cuối cùng, thiếu chứng nhận, thiếu ủy ban đồng bộ, và trễ đề xuất khối. Phân tích các chỉ số này vượt ra ngoài phạm vi của bài viết này nhưng có thể được tìm thấy trong các cuộc điều tra trước đó về sức khỏe tầng lớp đồng thuận.4]. Ngoài ra, Ethereum Foundation’s @ethpandaops/xatu-overview">Dự án Xatu đã xây dựng các bộ dữ liệu công cộng để hỗ trợ các phân tích như vậy.

Cách giải quyết Sự phát triển lịch sử?

Sự phát triển lịch sử là một vấn đề dễ giải quyết hơn là tăng trưởng của quốc gia. Đề xuất EIP-4444giải quyết gần như hoàn toàn vấn đề này. EIP này thay đổi yêu cầu cho mỗi nút từ việc giữ toàn bộ lịch sử Ethereum thành việc chỉ giữ một năm lịch sử. Khi EIP-4444 được triển khai, thậm chí với sự tăng giới hạn gas đáng kể trong dài hạn, việc lưu trữ dữ liệu sẽ không còn là rào cản cho việc mở rộng Ethereum. EIP-4444 là cần thiết cho sự bền vững dài hạn của mạng, nếu không, dữ liệu lịch sử sẽ phát triển nhanh đủ để đòi hỏi việc nâng cấp phần cứng định kỳ cho các nút mạng.

Hình 6 cho thấy cách EIP-4444 sẽ ảnh hưởng đến gánh nặng lưu trữ của mỗi nút trong 3 năm tới. Đây giống như Hình 4, với sự bổ sung của các đường nét tinh tế đại diện cho gánh nặng lưu trữ sau khi triển khai EIP-4444.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

EIP-4444 Sẽ Giảm Một Nửa Gánh Nặng Lưu Trữ Hiện Tại: Gánh nặng lưu trữ sẽ giảm từ 1.2 TiB xuống còn 633 GiB.

EIP-4444 Sẽ Ổn Định Gánh Nặng Lưu Trữ Lịch Sử: Giả sử tốc độ tăng trưởng lịch sử không đổi, dữ liệu lịch sử sẽ bị loại bỏ cùng tốc độ mà nó được tạo ra.

Sau EIP-4444, sẽ mất nhiều năm để gánh nặng lưu trữ đạt đến mức hiện tại: Điều này bởi vì sự phát triển của trạng thái, mà chậm hơn so với sự tăng trưởng lịch sử, sẽ là yếu tố duy nhất làm tăng gánh nặng lưu trữ.

EIP-4444 Vẫn Sẽ Gây Ra Một Số Gánh Nặng Lưu Trữ Do Dữ Liệu Lịch Sử Một Năm: Tuy nhiên, gánh nặng này sẽ có thể quản lý được ngay cả khi Ethereum mở rộng quy mô toàn cầu. Khi phương pháp xử lý dữ liệu lịch sử chứng minh là đáng tin cậy, thời gian giữ lại một năm trong EIP-4444 có thể được rút ngắn xuống chỉ vài tháng, vài tuần, hoặc thậm chí là ít hơn.

Làm thế nào để Bảo tồn Lịch sử Ethereum?

EIP-4444 đặt ra câu hỏi: nếu các nút Ethereum không lưu giữ lịch sử, làm thế nào để lịch sử được bảo tồn? Lịch sử rất quan trọng đối với việc xác minh, kế toán và phân tích của Ethereum, vì vậy nó phải được bảo tồn. May mắn thay, việc bảo tồn lịch sử là đơn giản, chỉ cần 1/n nhà cung cấp dữ liệu trung thực, so với vấn đề đồng thuận trạng thái, cần 1/3 đến 2/3 người tham gia trung thực. Người vận hành nút có thể xác minh tính xác thực của bất kỳ tập dữ liệu lịch sử nào bằng cách: 1) phát lại tất cả giao dịch từ Genesis; và 2) kiểm tra xem những giao dịch này có tái tạo ra cùng một state root như đầu mối chuỗi hiện tại hay không.

Có nhiều phương pháp để bảo tồn lịch sử, mỗi phương pháp nên được triển khai song song để tối đa hóa cơ hội bảo tồn:

Torrents / P2P: Torrentslà phương pháp đơn giản nhất và mạnh mẽ nhất. Các nút Ethereum có thể định kỳ đóng gói các phần của lịch sử và chia sẻ chúng dưới dạng tệp torrent công cộng. Ví dụ, một nút có thể tạo một tệp torrent lịch sử mới sau mỗi 100.000 khối. Một số khách hàng nút, như Erigon, đã thực hiện quy trình này theo cách không chuẩn. Để tiêu chuẩn hóa quy trình này, tất cả khách hàng nút phải sử dụng cùng định dạng dữ liệu, tham số và mạng P2P. Các nút có thể chọn tham gia vào mạng này dựa trên khả năng lưu trữ và băng thông của họ. Ưu điểm của torrents là việc sử dụng các tiêu chuẩn mở trưởng thành được hỗ trợ bởi một hệ sinh thái công cụ dữ liệu lớn.

Mạng Cổng: Mạng CổngLà một mạng lưới mới được thiết kế đặc biệt để lưu trữ dữ liệu Ethereum. Phương pháp này tương tự như torrents nhưng cung cấp thêm các tính năng để việc xác minh dữ liệu trở nên dễ dàng hơn. Ưu điểm của Mạng Cổng là những lớp xác minh bổ sung này cung cấp cho các máy khách nhẹ cách xác minh và truy vấn hiệu quả cho các bộ dữ liệu chia sẻ.

Cloud Hosting: Dịch vụ lưu trữ đám mây như AWS S3hoặc CloudflareR2cung cấp các lựa chọn giá rẻ và hiệu suất cao để bảo tồn lịch sử. Tuy nhiên, phương pháp này đi kèm với nhiều rủi ro về pháp lý và hoạt động kinh doanh, vì các dịch vụ đám mây này có thể không luôn sẵn lòng hoặc có khả năng lưu trữ dữ liệu tiền điện tử.

Những thách thức về triển khai còn lại đều nằm trong mảng xã hội hơn là kỹ thuật. Cộng đồng Ethereum cần phối hợp về các chi tiết triển khai cụ thể để chúng có thể được tích hợp trực tiếp vào mọi client node. Đáng chú ý, việc đồng bộ hoàn toàn từ Genesis (thay vì đồng bộ từ snapshot) sẽ yêu cầu lấy lại lịch sử từ các nhà cung cấp dữ liệu lịch sử thay vì từ các node Ethereum. Những thay đổi này không đòi hỏi một hard fork và có thể được triển khai trước hard fork tiếp theo của Ethereum, Pectra.

L2 cũng có thể sử dụng tất cả các phương pháp này để bảo tồn dữ liệu blob mà họ công bố lên mainnet. Việc bảo tồn blob khó khăn hơn do tổng dung lượng dữ liệu lớn hơn; ít quan trọng hơn vì blob không cần thiết để phát lại lịch sử mainnet. Tuy nhiên, việc bảo tồn blob là cần thiết cho mỗi L2 phát lại lịch sử của riêng mình. Do đó, một hình thức bảo tồn blob là rất quan trọng cho toàn bộ hệ sinh thái Ethereum. Hơn nữa, nếu các L2 phát triển cơ sở hạ tầng lưu trữ blob mạnh mẽ, họ cũng có thể dễ dàng lưu trữ dữ liệu lịch sử L1.

Việc so sánh trực tiếp các bộ dữ liệu được lưu trữ bởi các cấu hình node khác nhau trước và sau EIP-4444 rất hữu ích. Hình 7 cho thấy gánh nặng lưu trữ của các loại node Ethereum. Dữ liệu trạng thái bao gồm tài khoản và hợp đồng, dữ liệu lịch sử bao gồm các khối và giao dịch, và dữ liệu lưu trữ là một tập hợp các chỉ mục dữ liệu tùy chọn. Số byte trong bảng dựa trên bản snapshot reth gần đây, nhưng con số này có thể tương đối so sánh qua các client node khác.

Hình 7: Gánh nặng lưu trữ của các loại nút Ethereum

Trong ngôn ngữ,

  1. Các nút lưu trữ lưu trữ dữ liệu trạng thái, dữ liệu lịch sử và dữ liệu lưu trữ. Chúng được sử dụng khi cần truy vấn dễ dàng về trạng thái chuỗi lịch sử.
  2. Các nút đầy đủ chỉ lưu trữ dữ liệu lịch sử và dữ liệu trạng thái. Hầu hết các nút hiện nay đều là nút đầy đủ. Gánh nặng lưu trữ của các nút đầy đủ chỉ khoảng một nửa so với các nút lưu trữ lưu trữ.
  3. Sau EIP-4444, các nút đầy đủ chỉ lưu trữ dữ liệu trạng thái và dữ liệu lịch sử của năm cuối cùng. Điều này sẽ giảm gánh nặng lưu trữ từ 1,2 TiB xuống còn 633 GiB và ổn định việc sử dụng lưu trữ cho dữ liệu lịch sử.
  4. Các nút không trạng thái, còn được gọi là “nút nhẹ,” không lưu trữ bất kỳ bộ dữ liệu nào và có thể xác thực tại đỉnh chuỗi ngay lập tức. Loại nút này trở thành khả thi khi Verkle thửhoặc các hệ thống cam kết khác được thêm vào Ethereum.

Cuối cùng, còn có các đề xuất hệ sinh thái bổ sung nhằm mục tiêu hạn chế tốc độ tăng trưởng lịch sử thay vì chỉ đơn giản là thích nghi với tốc độ hiện tại. Những đề xuất này hữu ích để duy trì giới hạn IO mạng trong thời gian ngắn và giới hạn lưu trữ trong thời gian dài. Trong khi EIP-4444 là quan trọng cho tính bền vững dài hạn của mạng, những EIP khác này sẽ giúp Ethereum mở rộng một cách hiệu quả hơn trong tương lai:

EIP-7623: Đề xuất này gợi ý điều chỉnh giá cước cuộc gọi dữ liệu để giao dịch với dữ liệu cuộc gọi quá mức trở nên đắt đỏ hơn. Làm cho mẫu hình sử dụng này đắt đỏ hơn sẽ khuyến khích một số người chuyển từ dữ liệu cuộc gọi sang blobs, từ đó giảm tỷ lệ tăng trưởng lịch sử.

EIP-4488: Đề xuất này áp đặt giới hạn về tổng lượng dữ liệu gọi có thể được bao gồm trong mỗi khối, áp dụng kiểm soát nghiêm ngặt hơn về tốc độ tăng trưởng lịch sử.

Các EIP này dễ triển khai hơn EIP-4444 và có thể được sử dụng như các biện pháp tạm thời trước khi EIP-4444 sẵn sàng cho sản xuất.

Kết luận

Mục tiêu của bài viết này là cung cấp một hiểu biết dựa trên dữ liệu về cách mà sự phát triển lịch sử hoạt động và cách giải quyết vấn đề này. Rất nhiều dữ liệu được trình bày trong bài viết này thường khó truy cập, vì vậy chúng tôi nhắm đến việc cung cấp cái nhìn mới mẻ vào vấn đề sự phát triển lịch sử.

Sự phát triển lịch sử như một rào cản đối với tính mở rộng của Ethereum chưa nhận đủ sự chú ý. Ngay cả khi không tăng giới hạn gas, việc lưu giữ lịch sử trên Ethereum hiện tại sẽ yêu cầu nhiều node nâng cấp phần cứng của họ trong vài năm tới. May mắn thay, đây không phải là một vấn đề đặc biệt khó giải quyết. Các giải pháp rõ ràng đã được đề xuất trong EIP-4444. Chúng tôi tin rằng nên có sự tăng tốc trong việc triển khai EIP này để mở đường cho việc tăng giới hạn gas trong tương lai.

Nếu bạn quan tâm đến nghiên cứu về khả năng mở rộng của Ethereum, vui lòng liên hệ storm@paradigm.xyzgeorgios@paradigm.xyz.Chúng tôi rất mong được nghe ý kiến của bạn về vấn đề này và khám phá cơ hội hợp tác tiềm năng. Dữ liệu và mã nguồn được sử dụng trong bài viết này có thể được tìm thấy trênGithub.

Cảm ơn

Lời cảm ơn lớn tới Thomas ThieryNhóm BeikoToni WahrstaetterOliver NordbjergRoman Krasiukđể họ xem xét và phản hồi. Cảm ơn bạn lAchal Srinivasancho các con số được cung cấp trong Hình 1 và Hình 7.

Thông báo:

  1. Bài viết này được sao chép từ [ Marsbit]. Tất cả bản quyền thuộc về tác giả gốc [Storm Slivkoff, Georgios Konstantopoulos]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Học Cổngđội của họ và họ sẽ xử lý nhanh chóng.
  2. Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cung cấp bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là cấm.

Mô hình: Tăng Giới Hạn Gas để Giải Quyết Vấn Đề Tính Mở Rộng Của Ethereum Hashtag: Ethereum

Người mới bắt đầu5/15/2024, 2:58:42 AM
Vấn đề tăng trưởng lịch sử trong việc mở rộng của Ethereum nhấn mạnh rằng sự tích lũy các khối mới và giao dịch là điểm nghẽn lớn nhất. Sự tăng trưởng lịch sử bị giới hạn bởi mạng I/O và không gian lưu trữ của node, khác biệt so với vấn đề tăng trưởng trạng thái. Bài viết đề cập rằng mặc dù hard fork Dencun đã giới thiệu blobs để làm chậm sự tăng trưởng lịch sử, nhưng vẫn là một thách thức. Đề xuất EIP-4444 cho biết rằng mỗi node chỉ nên giữ một năm lịch sử, giảm thiểu đáng kể gánh nặng lưu trữ và ổn định nhu cầu lưu trữ.

Lịch sử tăng trưởng là gì?

Lịch sử trong Ethereum bao gồm tất cả các khối và giao dịch thực thi trong suốt quãng đời của nó. Dữ liệu này cần thiết để đồng bộ chuỗi từ khối khởi tạo đến trạng thái hiện tại của nó. Sự phát triển lịch sử đề cập đến việc tích lũy các khối và giao dịch mới theo thời gian.

Hình 1 cho thấy mối quan hệ giữa sự phát triển lịch sử, các chỉ số giao thức khác nhau và giới hạn phần cứng của nút Ethereum. Không giống như sự phát triển của trạng thái, sự phát triển lịch sử bị ràng buộc bởi một tập hợp các giới hạn phần cứng khác nhau. Sự phát triển này tạo áp lực cho I/O mạng vì các khối mới và giao dịch phải được truyền qua mạng. Nó cũng làm căng thẳng không gian lưu trữ của nút, vì mỗi nút Ethereum lưu trữ một bản sao hoàn chỉnh của hồ sơ lịch sử. Nếu sự phát triển lịch sử vượt qua các giới hạn phần cứng này, các nút sẽ không còn có khả năng đạt được sự nhất quán ổn định với đồng nghiệp của họ. Để biết tổng quan về sự phát triển của trạng thái và các rào cản mở rộng khác, xemPhần 1của loạt này.

Hình 1: Chướng ngại vật mở rộng Ethereum

Cho đến gần đây, hầu hết băng thông mạng của mỗi nút được sử dụng để truyền tải các bản ghi lịch sử (ví dụ, các khối mới và giao dịch). Điều này đã thay đổi với sự giới thiệu của blobs trong Dencunhard fork. Blobs hiện nay chiếm một phần đáng kể của hoạt động mạng node. Tuy nhiên, blobs không được xem là một phần của hồ sơ lịch sử vì 1) các node lưu trữ chúng chỉ trong 2 tuần trước khi loại bỏ chúng, và 2) chúng không cần thiết để phát lại chuỗi từ Genesis. Do (1), blobs không làm tăng đáng kể gánh nặng lưu trữ trên mỗi node Ethereum. Chúng tôi sẽ thảo luận về blobs chi tiết hơn trong bài viết này sau.

Trong bài viết này, chúng tôi sẽ tập trung vào sự phát triển của dữ liệu lịch sử và mối quan hệ của nó với sự phát triển của trạng thái. Vì sự phát triển của trạng thái và lịch sử chia sẻ một số hạn chế phần cứng trùng lắp, chúng là những vấn đề có mối liên hệ; giải quyết một vấn đề có thể giúp hạn chế vấn đề khác.

Lịch sử phát triển nhanh như thế nào?

Hình 2 cho thấy tỷ lệ tăng trưởng lịch sử theo thời gian kể từ khi Ethereum ra đời. Mỗi thanh dọc đại diện cho sự tăng trưởng trong một tháng. Trục Y đại diện cho số GB được thêm vào lịch sử trong tháng đó. Các giao dịch được phân loại theo “địa chỉ đích” của họ và kích thước được xác định bằng cách sử dụng của họRLPbiểu diễn byte. Các hợp đồng không thể được xác định dễ dàng được phân loại là “không rõ.” Danh mục “khác” bao gồm một loạt các danh mục nhỏ như cơ sở hạ tầng và game.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

  1. Tỷ lệ Tăng trưởng Lịch sử Nhanh khoảng 6 đến 8 Lần So với Tăng trưởng Của Nhà Nước: Tăng trưởng lịch sử gần đây đạt đỉnh là 36.0 GiB/tháng và hiện đang là 19.3 GiB/tháng. Tăng trưởng của nhà nước đạt đỉnh khoảng 6.0 GiB/tháng và hiện nay là 2.5 GiB/tháng. Một so sánh giữa tăng trưởng lịch sử và tăng trưởng của nhà nước, cả về tỷ lệ và kích thước tích lũy, có thể được tìm thấy sau trong bài viết này.
  2. Tỷ lệ tăng trưởng lịch sử đã tăng nhanh trước Dencun: Trong khi tốc độ tăng trưởng của bang đã gần như tuyến tính qua các năm (xem Phần 1) lịch sử phát triển đã vượt trội. Sự phát triển tuyến tính dẫn đến sự tăng gấp đôi về tổng kích thước, trong khi sự phát triển vượt trội dẫn đến sự tăng nhanh hơn so với bậc hai. Sự tăng tốc này đột ngột dừng lại sau Dencun, đánh dấu sự chậm lại đáng kể đầu tiên trong lịch sử phát triển của Ethereum.
  3. Sự Phát Triển Lịch Sử Gần Đây Chủ Yếu Đến Từ Rollups: Mỗi L2 đăng một bản sao của giao dịch của mình trở lại mainnet, tạo ra một lượng lớn dữ liệu lịch sử và làm cho rollups trở thành nguồn đóng góp lớn nhất cho sự phát triển lịch sử trong năm qua. Tuy nhiên, Dencun cho phép L2 sử dụng blobs thay vì bản ghi lịch sử để đăng dữ liệu giao dịch của họ, vì vậy rollups không còn tạo ra phần lớn các bản ghi lịch sử của Ethereum nữa. Chúng ta sẽ điều tra về rollups chi tiết hơn sau trong bài viết này.

Những đóng góp lớn nhất vào lịch sử Ethereum là gì?

Số lượng dữ liệu lịch sử được tạo ra bởi mỗi danh mục hợp đồng cho thấy cách mà mẫu sử dụng Ethereum đã phát triển theo thời gian. Hình 3 cho thấy sự đóng góp tương đối của các danh mục hợp đồng khác nhau. Điều này sử dụng cùng dữ liệu như Hình 2, được chuẩn hóa thành 100%.

Dữ liệu cho thấy bốn giai đoạn riêng biệt trong các mẫu hình sử dụng Ethereum:

Thời kỳ đầu (Màu tím): Trong những năm đầu của Ethereum, hoạt động trên chuỗi khối là rất ít. Hầu hết các hợp đồng ban đầu này hiện tại rất khó nhận biết và được ghi nhãn là “không xác định” trên biểu đồ.

Kỷ nguyên ERC-20 (Màu xanh): tiêu chuẩn ERC-20đã hoàn thành vào cuối năm 2015 nhưng không đạt được sự chú ý đáng kể cho đến năm 2017 và 2018. Đến năm 2019, hợp đồng ERC-20 trở thành danh mục lớn nhất trong sự phát triển lịch sử.

Thời kỳ DEX/DeFi (Màu nâu): Các hợp đồng DEX và DeFi xuất hiện trên chuỗi từ sớm nhất là năm 2016 và bắt đầu thu hút sự chú ý vào năm 2017. Tuy nhiên, chúng không trở thành danh mục lớn nhất trong lịch sửđến mùa hè DeFi năm 2020. Các hợp đồng DeFi và DEX đã đạt đỉnh ở hơn 50% so với sự tăng trưởng lịch sử tại các thời điểm khác nhau trong năm 2021 và 2022.

Thời đại Rollup (Màu Xám): Đầu năm 2023, L2 Rollups bắt đầu thực thi một cách liên tụcnhiều giao dịch hơn mạng lưới chính.Điều này trùng khớp với việc hợp đồng của họ tạo ra một phần lớn dữ liệu lịch sử, chiếm khoảng hai phần ba của sự phát triển lịch sử của Ethereum trong những tháng trước khi Dencun.

Mỗi kỷ nguyên đều đại diện cho các mẫu hình sử dụng phức tạp hơn trên Ethereum. Theo thời gian, sự phức tạp này có thể được coi là một hình thức mở rộng Ethereum, không được thể hiện bởi các chỉ số đơn giản như giao dịch mỗi giây.

Trong dữ liệu mới nhất (tháng 4 năm 2024), rollups không còn tạo ra hầu hết các bản ghi lịch sử nữa. Chưa rõ liệu sự phát triển lịch sử trong tương lai sẽ được chi phối bởi DEX và DeFi hay nếu mô hình sử dụng mới sẽ nổi lên.

Về những viên bi đó sao?

Sự giới thiệu của các blobs trong hard fork Dencun đã thay đổi đáng kể động lực của sự phát triển lịch sử, cho phép Rollups sử dụng các blobs rẻ tiền thay vì các bản ghi lịch sử để đăng dữ liệu. Hình 4 phóng to lên tỷ lệ tăng trưởng lịch sử xung quanh ngày nâng cấp Dencun. Biểu đồ này tương tự như Hình 2, nhưng mỗi thanh dọc đại diện cho một ngày thay vì một tháng.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

Sự phát triển lịch sử từ Rollups đã giảm khoảng hai phần ba kể từ Dencun: Hầu hết các Rollups đã chuyển từ việc sử dụng dữ liệu gọi thành blobs, giảm đáng kể lượng dữ liệu lịch sử mà chúng tạo ra. Tuy nhiên, tính đến tháng 4 năm 2024, một sốrollupsvẫn chưa chuyển từ dữ liệu cuộc gọi sang các mảnh.

Tổng lịch sử tăng trưởng đã giảm khoảng một phần ba kể từ Dencun: Dencun chủ yếu đã giảm tăng trưởng lịch sử từ rollups. Tăng trưởng lịch sử từ các danh mục hợp đồng khác đã tăng nhẹ. Ngay cả sau Dencun, tăng trưởng lịch sử vẫn khoảng tám lần so với tăng trưởng trạng thái (chi tiết trong phần tiếp theo).

Mặc dù có sự giảm sút về tăng trưởng lịch sử, nhưng các khối vẫn là một thêm mới đối với Ethereum. Hiện tại vẫn chưa rõ tăng trưởng lịch sử sẽ ổn định ở mức nào trong sự hiện diện của các khối.

Bao nhiêu tăng trưởng lịch sử là chấp nhận được?

Tăng giới hạn gas sẽ nâng tỷ lệ tăng trưởng lịch sử. Do đó, các đề xuất để tăng giới hạn gas ( chẳng hạn như Bơm khíCần xem xét mối quan hệ giữa sự phát triển lịch sử và các rào cản phần cứng trên mỗi nút.

Để xác định một tỷ lệ tăng trưởng lịch sử chấp nhận được, việc kiểm tra xem mạng nút hiện đại và phần cứng lưu trữ nút có thể duy trì trạng thái hiện tại trong bao lâu là hữu ích. Phần cứng mạng có thể duy trì trạng thái hiện tại vô thời hạn vì tỷ lệ tăng trưởng lịch sử có thể không trở lại mức trước khi giới hạn gas tăng lên. Tuy nhiên, gánh nặng lưu trữ của hồ sơ lịch sử tăng theo thời gian. Theo chính sách lưu trữ hiện tại, ổ đĩa lưu trữ của mỗi nút sẽ cuối cùng được lấp đầy với lịch sử.

Hình 5 minh họa gánh nặng lưu trữ của các nút Ethereum theo thời gian và cũng dự đoán làm thế nào gánh nặng này có thể tăng trong vòng 3 năm tới. Dự đoán được thực hiện bằng tỷ lệ tăng trưởng từ tháng 4 năm 2024. Tỷ lệ này có thể tăng hoặc giảm trong tương lai do sự thay đổi trong mẫu sử dụng hoặc giới hạn gas.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

Không gian lưu trữ được sử dụng bởi lịch sử khoảng ba lần so với trạng thái: Sự chênh lệch này sẽ tăng theo thời gian vì tốc độ tăng trưởng của lịch sử khoảng tám lần so với trạng thái.

Ngưỡng quan trọng khoảng 1,8 TiB: Nhiều nút sẽ buộc phải nâng cấp ổ lưu trữ của chúng tại thời điểm này. Một ổ đĩa 2TB, một kích thước phổ biến, chỉ cung cấp 1,8 TiB không gian sử dụng. Lưu ý rằng TB (terabyte) và TiB (tebibyte, = 1024^4 byte) là các đơn vị khác nhau. Đối với nhiều nhà khai thác nút, ngưỡng tới hạn "thực" thậm chí còn thấp hơn vì trình xác thực phải chạy máy khách đồng thuận cùng với máy khách thực thi sau khi hợp nhất.

Ngưỡng Đã Đạt Trong 2-3 Năm: Bất kỳ tăng về giới hạn gas nào cũng sẽ tăng tốc độ thời gian này. Đạt đến ngưỡng này sẽ đặt gánh nặng bảo trì đáng kể lên người vận hành node, buộc phải mua thêm phần cứng, chẳng hạn như một Ổ NVME $300.

Lưu trữ riêng cho Dữ liệu Lịch sử: Không giống như dữ liệu trạng thái, dữ liệu lịch sử chỉ được ghi thêm và truy cập ít hơn nhiều. Do đó, lý thuyết có thể lưu trữ dữ liệu lịch sử riêng biệt khỏi dữ liệu trạng thái trên phương tiện lưu trữ rẻ tiền hơn. Một số khách hàng, như Geth, đã hỗ trợ việc phân tách này.

Mạng IO như một hạn chế vật lý: Ngoài khả năng lưu trữ, mạng IO còn là một rào cản vật lý chính cho sự phát triển lịch sử. Khác với khả năng lưu trữ, hạn chế mạng IO sẽ không gây ra vấn đề ngay lập tức cho các nút nhưng sẽ trở nên quan trọng đối với việc tăng giới hạn gas trong tương lai.

Để hiểu được mức tăng trưởng lịch sử mà khả năng mạng của một nút Ethereum điển hình có thể hỗ trợ, việc mô tả mối quan hệ giữa sự tăng trưởng lịch sử và các chỉ số sức khỏe mạng khác nhau, như tỷ lệ tái tổ chức, thiếu khe, thiếu tính chất cuối cùng, thiếu chứng nhận, thiếu ủy ban đồng bộ, và trễ đề xuất khối. Phân tích các chỉ số này vượt ra ngoài phạm vi của bài viết này nhưng có thể được tìm thấy trong các cuộc điều tra trước đó về sức khỏe tầng lớp đồng thuận.4]. Ngoài ra, Ethereum Foundation’s @ethpandaops/xatu-overview">Dự án Xatu đã xây dựng các bộ dữ liệu công cộng để hỗ trợ các phân tích như vậy.

Cách giải quyết Sự phát triển lịch sử?

Sự phát triển lịch sử là một vấn đề dễ giải quyết hơn là tăng trưởng của quốc gia. Đề xuất EIP-4444giải quyết gần như hoàn toàn vấn đề này. EIP này thay đổi yêu cầu cho mỗi nút từ việc giữ toàn bộ lịch sử Ethereum thành việc chỉ giữ một năm lịch sử. Khi EIP-4444 được triển khai, thậm chí với sự tăng giới hạn gas đáng kể trong dài hạn, việc lưu trữ dữ liệu sẽ không còn là rào cản cho việc mở rộng Ethereum. EIP-4444 là cần thiết cho sự bền vững dài hạn của mạng, nếu không, dữ liệu lịch sử sẽ phát triển nhanh đủ để đòi hỏi việc nâng cấp phần cứng định kỳ cho các nút mạng.

Hình 6 cho thấy cách EIP-4444 sẽ ảnh hưởng đến gánh nặng lưu trữ của mỗi nút trong 3 năm tới. Đây giống như Hình 4, với sự bổ sung của các đường nét tinh tế đại diện cho gánh nặng lưu trữ sau khi triển khai EIP-4444.

Có thể rút ra một số kết luận quan trọng từ biểu đồ này:

EIP-4444 Sẽ Giảm Một Nửa Gánh Nặng Lưu Trữ Hiện Tại: Gánh nặng lưu trữ sẽ giảm từ 1.2 TiB xuống còn 633 GiB.

EIP-4444 Sẽ Ổn Định Gánh Nặng Lưu Trữ Lịch Sử: Giả sử tốc độ tăng trưởng lịch sử không đổi, dữ liệu lịch sử sẽ bị loại bỏ cùng tốc độ mà nó được tạo ra.

Sau EIP-4444, sẽ mất nhiều năm để gánh nặng lưu trữ đạt đến mức hiện tại: Điều này bởi vì sự phát triển của trạng thái, mà chậm hơn so với sự tăng trưởng lịch sử, sẽ là yếu tố duy nhất làm tăng gánh nặng lưu trữ.

EIP-4444 Vẫn Sẽ Gây Ra Một Số Gánh Nặng Lưu Trữ Do Dữ Liệu Lịch Sử Một Năm: Tuy nhiên, gánh nặng này sẽ có thể quản lý được ngay cả khi Ethereum mở rộng quy mô toàn cầu. Khi phương pháp xử lý dữ liệu lịch sử chứng minh là đáng tin cậy, thời gian giữ lại một năm trong EIP-4444 có thể được rút ngắn xuống chỉ vài tháng, vài tuần, hoặc thậm chí là ít hơn.

Làm thế nào để Bảo tồn Lịch sử Ethereum?

EIP-4444 đặt ra câu hỏi: nếu các nút Ethereum không lưu giữ lịch sử, làm thế nào để lịch sử được bảo tồn? Lịch sử rất quan trọng đối với việc xác minh, kế toán và phân tích của Ethereum, vì vậy nó phải được bảo tồn. May mắn thay, việc bảo tồn lịch sử là đơn giản, chỉ cần 1/n nhà cung cấp dữ liệu trung thực, so với vấn đề đồng thuận trạng thái, cần 1/3 đến 2/3 người tham gia trung thực. Người vận hành nút có thể xác minh tính xác thực của bất kỳ tập dữ liệu lịch sử nào bằng cách: 1) phát lại tất cả giao dịch từ Genesis; và 2) kiểm tra xem những giao dịch này có tái tạo ra cùng một state root như đầu mối chuỗi hiện tại hay không.

Có nhiều phương pháp để bảo tồn lịch sử, mỗi phương pháp nên được triển khai song song để tối đa hóa cơ hội bảo tồn:

Torrents / P2P: Torrentslà phương pháp đơn giản nhất và mạnh mẽ nhất. Các nút Ethereum có thể định kỳ đóng gói các phần của lịch sử và chia sẻ chúng dưới dạng tệp torrent công cộng. Ví dụ, một nút có thể tạo một tệp torrent lịch sử mới sau mỗi 100.000 khối. Một số khách hàng nút, như Erigon, đã thực hiện quy trình này theo cách không chuẩn. Để tiêu chuẩn hóa quy trình này, tất cả khách hàng nút phải sử dụng cùng định dạng dữ liệu, tham số và mạng P2P. Các nút có thể chọn tham gia vào mạng này dựa trên khả năng lưu trữ và băng thông của họ. Ưu điểm của torrents là việc sử dụng các tiêu chuẩn mở trưởng thành được hỗ trợ bởi một hệ sinh thái công cụ dữ liệu lớn.

Mạng Cổng: Mạng CổngLà một mạng lưới mới được thiết kế đặc biệt để lưu trữ dữ liệu Ethereum. Phương pháp này tương tự như torrents nhưng cung cấp thêm các tính năng để việc xác minh dữ liệu trở nên dễ dàng hơn. Ưu điểm của Mạng Cổng là những lớp xác minh bổ sung này cung cấp cho các máy khách nhẹ cách xác minh và truy vấn hiệu quả cho các bộ dữ liệu chia sẻ.

Cloud Hosting: Dịch vụ lưu trữ đám mây như AWS S3hoặc CloudflareR2cung cấp các lựa chọn giá rẻ và hiệu suất cao để bảo tồn lịch sử. Tuy nhiên, phương pháp này đi kèm với nhiều rủi ro về pháp lý và hoạt động kinh doanh, vì các dịch vụ đám mây này có thể không luôn sẵn lòng hoặc có khả năng lưu trữ dữ liệu tiền điện tử.

Những thách thức về triển khai còn lại đều nằm trong mảng xã hội hơn là kỹ thuật. Cộng đồng Ethereum cần phối hợp về các chi tiết triển khai cụ thể để chúng có thể được tích hợp trực tiếp vào mọi client node. Đáng chú ý, việc đồng bộ hoàn toàn từ Genesis (thay vì đồng bộ từ snapshot) sẽ yêu cầu lấy lại lịch sử từ các nhà cung cấp dữ liệu lịch sử thay vì từ các node Ethereum. Những thay đổi này không đòi hỏi một hard fork và có thể được triển khai trước hard fork tiếp theo của Ethereum, Pectra.

L2 cũng có thể sử dụng tất cả các phương pháp này để bảo tồn dữ liệu blob mà họ công bố lên mainnet. Việc bảo tồn blob khó khăn hơn do tổng dung lượng dữ liệu lớn hơn; ít quan trọng hơn vì blob không cần thiết để phát lại lịch sử mainnet. Tuy nhiên, việc bảo tồn blob là cần thiết cho mỗi L2 phát lại lịch sử của riêng mình. Do đó, một hình thức bảo tồn blob là rất quan trọng cho toàn bộ hệ sinh thái Ethereum. Hơn nữa, nếu các L2 phát triển cơ sở hạ tầng lưu trữ blob mạnh mẽ, họ cũng có thể dễ dàng lưu trữ dữ liệu lịch sử L1.

Việc so sánh trực tiếp các bộ dữ liệu được lưu trữ bởi các cấu hình node khác nhau trước và sau EIP-4444 rất hữu ích. Hình 7 cho thấy gánh nặng lưu trữ của các loại node Ethereum. Dữ liệu trạng thái bao gồm tài khoản và hợp đồng, dữ liệu lịch sử bao gồm các khối và giao dịch, và dữ liệu lưu trữ là một tập hợp các chỉ mục dữ liệu tùy chọn. Số byte trong bảng dựa trên bản snapshot reth gần đây, nhưng con số này có thể tương đối so sánh qua các client node khác.

Hình 7: Gánh nặng lưu trữ của các loại nút Ethereum

Trong ngôn ngữ,

  1. Các nút lưu trữ lưu trữ dữ liệu trạng thái, dữ liệu lịch sử và dữ liệu lưu trữ. Chúng được sử dụng khi cần truy vấn dễ dàng về trạng thái chuỗi lịch sử.
  2. Các nút đầy đủ chỉ lưu trữ dữ liệu lịch sử và dữ liệu trạng thái. Hầu hết các nút hiện nay đều là nút đầy đủ. Gánh nặng lưu trữ của các nút đầy đủ chỉ khoảng một nửa so với các nút lưu trữ lưu trữ.
  3. Sau EIP-4444, các nút đầy đủ chỉ lưu trữ dữ liệu trạng thái và dữ liệu lịch sử của năm cuối cùng. Điều này sẽ giảm gánh nặng lưu trữ từ 1,2 TiB xuống còn 633 GiB và ổn định việc sử dụng lưu trữ cho dữ liệu lịch sử.
  4. Các nút không trạng thái, còn được gọi là “nút nhẹ,” không lưu trữ bất kỳ bộ dữ liệu nào và có thể xác thực tại đỉnh chuỗi ngay lập tức. Loại nút này trở thành khả thi khi Verkle thửhoặc các hệ thống cam kết khác được thêm vào Ethereum.

Cuối cùng, còn có các đề xuất hệ sinh thái bổ sung nhằm mục tiêu hạn chế tốc độ tăng trưởng lịch sử thay vì chỉ đơn giản là thích nghi với tốc độ hiện tại. Những đề xuất này hữu ích để duy trì giới hạn IO mạng trong thời gian ngắn và giới hạn lưu trữ trong thời gian dài. Trong khi EIP-4444 là quan trọng cho tính bền vững dài hạn của mạng, những EIP khác này sẽ giúp Ethereum mở rộng một cách hiệu quả hơn trong tương lai:

EIP-7623: Đề xuất này gợi ý điều chỉnh giá cước cuộc gọi dữ liệu để giao dịch với dữ liệu cuộc gọi quá mức trở nên đắt đỏ hơn. Làm cho mẫu hình sử dụng này đắt đỏ hơn sẽ khuyến khích một số người chuyển từ dữ liệu cuộc gọi sang blobs, từ đó giảm tỷ lệ tăng trưởng lịch sử.

EIP-4488: Đề xuất này áp đặt giới hạn về tổng lượng dữ liệu gọi có thể được bao gồm trong mỗi khối, áp dụng kiểm soát nghiêm ngặt hơn về tốc độ tăng trưởng lịch sử.

Các EIP này dễ triển khai hơn EIP-4444 và có thể được sử dụng như các biện pháp tạm thời trước khi EIP-4444 sẵn sàng cho sản xuất.

Kết luận

Mục tiêu của bài viết này là cung cấp một hiểu biết dựa trên dữ liệu về cách mà sự phát triển lịch sử hoạt động và cách giải quyết vấn đề này. Rất nhiều dữ liệu được trình bày trong bài viết này thường khó truy cập, vì vậy chúng tôi nhắm đến việc cung cấp cái nhìn mới mẻ vào vấn đề sự phát triển lịch sử.

Sự phát triển lịch sử như một rào cản đối với tính mở rộng của Ethereum chưa nhận đủ sự chú ý. Ngay cả khi không tăng giới hạn gas, việc lưu giữ lịch sử trên Ethereum hiện tại sẽ yêu cầu nhiều node nâng cấp phần cứng của họ trong vài năm tới. May mắn thay, đây không phải là một vấn đề đặc biệt khó giải quyết. Các giải pháp rõ ràng đã được đề xuất trong EIP-4444. Chúng tôi tin rằng nên có sự tăng tốc trong việc triển khai EIP này để mở đường cho việc tăng giới hạn gas trong tương lai.

Nếu bạn quan tâm đến nghiên cứu về khả năng mở rộng của Ethereum, vui lòng liên hệ storm@paradigm.xyzgeorgios@paradigm.xyz.Chúng tôi rất mong được nghe ý kiến của bạn về vấn đề này và khám phá cơ hội hợp tác tiềm năng. Dữ liệu và mã nguồn được sử dụng trong bài viết này có thể được tìm thấy trênGithub.

Cảm ơn

Lời cảm ơn lớn tới Thomas ThieryNhóm BeikoToni WahrstaetterOliver NordbjergRoman Krasiukđể họ xem xét và phản hồi. Cảm ơn bạn lAchal Srinivasancho các con số được cung cấp trong Hình 1 và Hình 7.

Thông báo:

  1. Bài viết này được sao chép từ [ Marsbit]. Tất cả bản quyền thuộc về tác giả gốc [Storm Slivkoff, Georgios Konstantopoulos]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ với Học Cổngđội của họ và họ sẽ xử lý nhanh chóng.
  2. Miễn trừ trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không cung cấp bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi được nêu, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là cấm.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!