Bitget App
Giao dịch thông minh hơn
Mua CryptoThị trườngGiao dịchFuturesSao chépBot‌Earn
Mô hình: Một Giải thích Chi tiết về Vấn đề và Giải pháp về Sự Phát triển Lịch sử của Ethereum

Mô hình: Một Giải thích Chi tiết về Vấn đề và Giải pháp về Sự Phát triển Lịch sử của Ethereum

Xem bài gốc
ChaincatcherChaincatcher2024/05/12 09:19
Theo:原文标题:How to Raise the Gas Limit, Part 2: History Growth

EIP-4444 có thể giải quyết vấn đề tăng trưởng lịch sử của Ethereum và tạo điều kiện cho việc tăng giới hạn Gas.

Hình 4: Tác động của Dencun đối với Sự phát triển Lịch sử

Các kết luận chính từ biểu đồ này:

  • Kể từ Dencun, sự phát triển lịch sử của Rollup đã giảm khoảng 2/3: Hầu hết các Rollup đã chuyển từ dữ liệu gọi sang blobs, giảm đáng kể lượng bản ghi lịch sử mà chúng tạo ra. Tuy nhiên, đến tháng 4 năm 2024, một số Rollup vẫn chưa chuyển từ dữ liệu gọi sang blobs.
  • Kể từ Dencun, tổng sự phát triển lịch sử đã giảm khoảng 1/3: Dencun chỉ giảm sự phát triển lịch sử của rollup. Sự phát triển lịch sử của các danh mục hợp đồng khác đã tăng nhẹ. Ngay cả sau Dencun, sự phát triển lịch sử vẫn là 8 lần so với sự phát triển trạng thái (xem phần tiếp theo để biết chi tiết).

Mặc dù blobs đã giảm tốc độ phát triển lịch sử, chúng vẫn là một tính năng mới của Ethereum. Hiện tại vẫn chưa rõ mức độ nào sẽ ổn định tốc độ phát triển lịch sử với sự tồn tại của blobs.

Tốc độ phát triển lịch sử chấp nhận được là bao nhanh?

Tăng Giới hạn Gas sẽ tăng tốc độ phát triển lịch sử. Do đó, các đề xuất tăng Giới hạn Gas (như Pump the Gas) phải xem xét mối quan hệ giữa sự phát triển lịch sử và các chướng ngại vật vật lý cho mỗi nút.

Để xác định một tốc độ phát triển lịch sử chấp nhận được, cần hiểu trước được thiết bị phần cứng nút hiện tại có thể duy trì trong mạng và lưu trữ bao lâu. Thiết bị mạng có thể duy trì tình trạng hiện tại mãi mãi vì khả năng phát triển lịch sử không thể trở lại đỉnh trước Dencun trước khi tăng Giới hạn Gas. Tuy nhiên, gánh nặng lưu trữ lịch sử sẽ tiếp tục tăng theo thời gian. Dưới chiến lược lưu trữ hiện tại, ổ đĩa lưu trữ của mỗi nút sẽ cuối cùng bị lấp đầy bởi các bản ghi lịch sử, điều không thể tránh khỏi.

Hình 5 cho thấy gánh nặng lưu trữ của các nút Ethereum theo thời gian và dự đoán về sự tăng trưởng của gánh nặng lưu trữ trong 3 năm tới. Dự đoán tham chiếu đến tỷ lệ tăng trưởng vào tháng 4 năm 2024. Với sự thay đổi trong mẫu sử dụng tương lai hoặc Giới hạn Gas, tỷ lệ tăng trưởng này có thể tăng hoặc giảm.

Hình 5: Kích thước của bản ghi lịch sử, trạng thái và gánh nặng lưu trữ nút đầy đủ

Từ hình này, chúng ta có thể rút ra một số kết luận chính:

  • Không gian lưu trữ bị chiếm bởi các bản ghi lịch sử khoảng 3 lần so với trạng thái. Sự khác biệt này sẽ tăng theo thời gian vì tốc độ phát triển lịch sử khoảng 8 lần so với trạng thái.
  • 1,8 TiB là một ngưỡng quan trọng, và nhiều nút sẽ bị buộc phải nâng cấp ổ đĩa lưu trữ của họ. 2 TB là kích thước ổ đĩa lưu trữ phổ biến, chỉ cung cấp 1,8 TiB không gian khả dụng. Lưu ý rằng TB (1 nghìn tỷ byte) và TiB (= 1024^4 byte) là các đơn vị khác nhau. Đối với nhiều nhà điều hành nút, ngưỡng quan trọng "thực sự" thấp hơn vì các validator hợp nhất phải chạy các khách hàng đồng thuận cùng với khách hàng thực thi.
  • Ngưỡng quan trọng sẽ đạt được trong vòng 2 đến 3 năm. Tăng bất kỳ lượng Giới hạn Gas nào sẽ tương ứng tăng tốc độ đến thời điểm này. Đạt đến ngưỡng này sẽ mang lại gánh nặng bảo trì đáng kể cho các nhà điều hành nút và yêu cầu mua thêm phần cứng (ví dụ, ổ NVME 300 đô la).

Khác với dữ liệu trạng thái, dữ liệu lịch sử chỉ được thêm vào và ít được truy cập hơn nhiều. Do đó, lý thuyết, dữ liệu lịch sử có thể được lưu trữ riêng biệt so với dữ liệu trạng thái trên phương tiện lưu trữ rẻ tiền hơn. Điều này có thể được thực hiện bởi một số khách hàng như Geth.

Ngoài khả năng lưu trữ, IO mạng cũng là một ràng buộc lớn khác đối với sự phát triển lịch sử. Khác với khả năng lưu trữ, các ràng buộc IO mạng sẽ không gây vấn đề cho các nút trong tương lai ngắn hạn, nhưng những ràng buộc này 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 xem mức độ phát triển lịch sử của các nút Ethereum điển hình có bao nhiêu dung lượng mạng

Để hỗ trợ, cần phải biết mối quan hệ giữa sự phát triển lịch sử và các chỉ số sức khỏe mạng khác nhau, như tỷ lệ reorg, slot misses, finality misses, proof misses, sync committee misses và block submission delays. 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 khảo sát trước đó về sức khỏe tầng lớp đồng thuận. Ngoài ra, dự án Xatu của Ethereum Foundation đã xây dựng các bộ dữ liệu công cộng để tăng tốc quá trình phân tích đó.

Làm thế nào để giải quyết vấn đề 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 so với sự phát triển trạng thái. Nó có thể được giải quyết gần như hoàn toàn bằng EIP-4444 được đề xuất. EIP này sẽ thay đổi mỗi nút từ việc lưu trữ toàn bộ dữ liệu lịch sử Ethereum sang việc chỉ lưu trữ một năm dữ liệu lịch sử. Sau khi triển khai EIP-4444, việc lưu trữ dữ liệu sẽ không còn là rào cản cho khả năng mở rộng của Ethereum, và việc tăng giới hạn Gas sẽ không còn bị ràng buộc trong dài hạn. EIP-4444 là cần thiết cho sự bền vững lâu dài của mạng; nếu không, tỷ lệ tăng trưởng lịch sử sẽ nhanh chóng đòi hỏi các cập nhật định kỳ cho phần cứng nút mạng. Hình 6 cho thấy tác động của EIP-4444 đối với gánh nặng lưu trữ của mỗi nút trong 3 năm tới. Điều này tương tự như Hình 4 nhưng có thêm các đường nhẹ để đại diện cho gánh nặng lưu trữ sau khi triển khai EIP-4444. Hình 6: Tác động của EIP-4444 đối với gánh nặng lưu trữ của nút Ethereum Từ hình này, có thể rút ra một số kết luận chính: - 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ỷ lệ tăng trưởng lịch sử không đổi, dữ liệu lịch sử sẽ bị loại bỏ theo tỷ lệ nó được tạo ra. - Sau EIP-4444, sẽ mất nhiều năm để gánh nặng lưu trữ nút đạt đến mức hiện tại. Điều này bởi vì sự phát triển trạng thái sẽ là yếu tố duy nhất làm tăng gánh nặng lưu trữ, và tỷ lệ tăng trưởng của trạng thái chậm hơn so với sự phát triển lịch sử. Ngay cả sau khi triển khai EIP-4444, sự phát triển lịch sử vẫn sẽ mang lại một mức độ gánh nặng lưu trữ nhất định vì các nút sẽ lưu trữ một năm dữ liệu lịch sử. Tuy nhiên, ngay cả khi Ethereum đạt một quy mô toàn cầu, gánh nặng này không khó khăn để giải quyết. Khi phương pháp lưu trữ dữ liệu lịch sử được chứng minh là đáng tin cậy, thời gian hết hạn một năm của EIP-4444 có thể được rút ngắn xuống vài tháng, tuần hoặc thậm chí ngắn hơn.

Làm thế nào để lưu trữ các bản ghi lịch sử của Ethereum?

EIP-4444 đặt ra một câu hỏi: nếu các bản ghi lịch sử không được lưu trữ bởi các nút Ethereum chính mình, chúng nên được lưu trữ như thế nào? Các bản ghi lịch sử đóng một vai trò quan trọng trong việc xác minh, kế toán và phân tích của Ethereum, vì vậy việc lưu trữ các bản ghi lịch sử là cần thiết. May mắn thay, việc lưu trữ các bản ghi lịch sử là một vấn đề đơn giản chỉ cần 1/n nhà cung cấp dữ liệu trung thực. Điều này hoàn toàn trái ngược với vấn đề đồng thuận trạng thái cần 1/3 đến 2/3 số người tham gia là trung thực. Các nhà điều hành nút có thể xác minh tính xác thực của các bộ dữ liệu lịch sử bằng cách 1) phát lại tất cả các giao dịch từ khối khởi tạo và 2) kiểm tra xem các giao dịch này có tạo ra cùng một state root như điểm cuối chuỗi khối hiện tại hay không. Có nhiều phương pháp để lưu trữ các bản ghi lịch sử. - Torrents/P2P: Torrents là phương pháp đơn giản và đáng tin cậy nhất. Các nút Ethereum có thể định kỳ đóng gói các phần của các bản ghi lịch sử và chia sẻ chúng dưới dạng các 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. Các khách hàng nút như erigon đã triển khai quy trình này một cách không chuẩn. Để chuẩn hóa quy trình này, tất cả cá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 sẽ có thể chọn xem có 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ọ.
  • Kỹ năng. Ưu điểm của Torrents là tiêu chuẩn mở Lindy cao được hỗ trợ bởi một lượng lớn các công cụ dữ liệu.
  • Mạng Cổng thông tin: Mạng Cổng thông tin là một mạng mới được thiết kế để lưu trữ dữ liệu Ethereum. Đây là một phương pháp tương tự như Torrents nhưng cũng cung cấp một số tính năng bổ sung để việc xác minh dữ liệu dễ dàng hơn. Ưu điểm của Mạng Cổng thông tin là các lớp xác minh bổ sung này cung cấp tiện ích cho các máy khách nhẹ để xác minh và truy vấn tập dữ liệu được chia sẻ một cách hiệu quả.
  • Lưu trữ Đám mây: Dịch vụ lưu trữ đám mây như S3 của AWS hoặc R2 của Cloudflare cung cấp một lựa chọn giá rẻ và hiệu suất cao để lưu trữ hồ sơ lịch sử. Tuy nhiên, phương pháp này mang lại nhiều rủi ro pháp lý và vận hành vì các dịch vụ đám mây này không thể đảm bảo rằng họ luôn sẵn lòng và có khả năng lưu trữ dữ liệu tiền điện tử.

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

Tất cả các phương pháp lưu trữ lịch sử này cũng có thể được sử dụng bởi L2 để lưu trữ dữ liệu blob của họ được phát hành lên mainnet. So với lưu trữ lịch sử, lưu trữ blob 1) khó khăn hơn vì tổng dung lượng dữ liệu lớn hơn nhiều; 2) ít quan trọng hơn vì các blob không cần thiết để phát lại lịch sử mainnet. Tuy nhiên, lưu trữ blob vẫn cần thiết cho mỗi L2 để phát lại lịch sử của chính họ. Do đó, một dạng lưu trữ blob nào đó quan trọng cho toàn bộ hệ sinh thái Ethereum. Ngoài ra, nếu 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 tập dữ liệu được lưu trữ bởi các cấu hình nút khác nhau trước và sau EIP-4444 sẽ hữu ích. Hình 7 cho thấy gánh nặng lưu trữ của các loại nút Ethereum khác nhau. 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 này dựa trên bản snapshot reth mới nhất, nhưng các con số cho các máy khách nút khác nên tương đương.

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

Nói cách khác,

  • Các nút lưu trữ lưu trữ cả dữ liệu trạng thái, dữ liệu lịch sử và dữ liệu lưu trữ. Khi ai đó muốn truy vấn trạng thái chuỗi lịch sử một cách dễ dàng, họ có thể sử dụng một nút lưu trữ lưu trữ.
  • 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 một nút đầy đủ khoảng một nửa so với một nút lưu trữ lưu trữ.
  • Sau EIP-4444, các nút đầy đủ chỉ lưu trữ dữ liệu trạng thái và năm gần đây nhất của dữ liệu lịch sử. Điều này giảm gánh nặng lưu trữ của nút từ 1,2 TiB xuống còn 633 GiB và ổn định không gian lưu trữ cho dữ liệu lịch sử.
  • Các nút không trạng thái, còn được biết đến với tên gọi "nút nhẹ," không lưu trữ bất kỳ tập dữ liệu nào và có thể xác minh ngay tại cuối chuỗi. Khi các cơ chế cam kết trạng thái Verkle hoặc các cơ chế cam kết trạng thái khác được thêm vào Ethereum, loại nút này trở nên khả thi.

Cuối cùng, còn một số EIPs bổ sung có thể giới hạn tỷ lệ tăng trưởng lịch sử, không chỉ thích nghi với tỷ lệ tăng trưởng hiện tại. Điều này giúp duy trì trong các ràng buộc IO mạng trong ngắn hạn và trong các ràng buộc lưu trữ trong dài hạn. Mặc dù EIP-4444 vẫn cần thiết cho tính bền vững dài hạn của mạng, những EIPs khác này sẽ giúp Ethereum mở rộng hiệu quả hơn trong tương lai:

  • EIP-7623: Điều chỉnh giá dữ liệu cuộc gọi để làm cho các giao dịch có dữ liệu cuộc gọi quá mức trở nên đắt hơn. Làm cho việc sử dụng này trở nên đắt hơn
  • EIP-4488: Á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. Điều này sẽ áp đặt các giới hạn nghiêm ngặt về tốc độ tăng trưởng hồ sơ lịch sử.

Các EIP này dễ triển khai hơn so với EIP-4444, vì vậy chúng có thể phục vụ như các biện pháp ngắn hạn trước khi EIP-4444 được triển khai vào sản xuất.

Kết luận

Mục đích của bài viết này là để hiểu 1) cách tăng trưởng lịch sử hoạt động và 2) các phương pháp để giải quyết vấn đề này thông qua dữ liệu. Nhiều dữ liệu trong bài viết này khó có thể thu thập thông qua các phương tiện truyền thống, vì vậy chúng tôi hy vọng cung cấp một số cái nhìn mới vào vấn đề tăng trưởng lịch sử.

Tăng trưởng lịch sử như một rào cản cho khả năng mở rộng của Ethereum chưa nhận được đủ sự chú ý. Ngay cả khi không tăng giới hạn Gas, thực tiễn hiện tại của Ethereum lưu trữ các hồ sơ lịch sử sẽ buộc nhiều nút phải 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 đề không thể vượt qua. Đã có một giải pháp rõ ràng trong EIP-4444. Chúng tôi tin rằng việc triển khai EIP này nên được đẩy nhanh để tạo điều kiện cho việc tăng giới hạn Gas trong tương lai.

0

Tuyên bố miễn trừ trách nhiệm: Mọi thông tin trong bài viết đều thể hiện quan điểm của tác giả và không liên quan đến nền tảng. Bài viết này không nhằm mục đích tham khảo để đưa ra quyết định đầu tư.

PoolX: Khóa để nhận token mới.
APR lên đến 12%. Luôn hoạt động, luôn nhận airdrop.
Khóa ngay!

Bạn cũng có thể thích

Cuộc trò chuyện với Đồng sáng lập Farcaster: Làm thế nào Mạng xã hội Phi tập trung có thể phát triển từ 100,000 lên 1 tỷ người dùng

Các nhà đồng sáng lập Farcaster, Dan Romero và Varun Srinivasan, đã chia sẻ quan điểm của họ về một loạt các chủ đề.

Chaincatcher2024/05/23 02:37

Hệ sinh thái Ethereum bùng nổ trở lại: Giải thích chi tiết về ERC-7683 do Uniswap dẫn đầu

Thế giới đã phải chịu đựng các vấn đề liên chuỗi từ lâu.

Chaincatcher2024/05/23 01:40

FUD Lan Tràn Như Cháy Rừng: Liệu Vị Vua AI Mới Bittensor Có Sụp Đổ?

Mỗi thế hệ đều có câu chuyện và anh hùng của riêng mình; không có triều đại nào tồn tại mãi mãi.

Chaincatcher2024/05/22 13:14

Giao thức Ràng buộc Nostr

Trong bài viết này, chúng tôi đề xuất một giao thức kết hợp các cấu trúc dữ liệu cơ bản của giao thức Nostr với blockchain CKB. Thông qua sự kết hợp này, chúng tôi cho phép dữ liệu gốc của Nostr thừa hưởng các đặc điểm của UTXO/Cell trên blockchain CKB, mang lại những khả năng mới cho giao thức Nostr dựa trên các cơ chế trên chuỗi. Một trường hợp sử dụng tiềm năng là phát hành tài sản gốc trên Nostr. Giao thức kết hợp Nostr cũng giới thiệu một mô hình phát triển mới cho dApps. Thay vì chia dApp của bạn thành hai hệ thống (một là máy chủ ngoài chuỗi và một là hợp đồng thông minh trên chuỗi), chúng tôi sử dụng một hệ thống thống nhất với các mức dữ liệu khác nhau để xây dựng dApps. Điều này khác biệt cơ bản so với mô hình Ethereum.

Chaincatcher2024/05/22 12:52