Chủ đề thịnh hành
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Trong vài tuần qua, tôi không chia sẻ nhiều cập nhật về @ethrex_client, khách hàng thực thi L1 @class_lambda @ethereum và stack L2 ZK của chúng tôi.
Xin hãy theo dõi @ethrex_client để tìm hiểu thêm về mọi thứ chúng tôi đang làm.
Tại L1, chúng tôi đã thành công trong việc chạy các testnet Ethereum và tại L2, chúng tôi đang chạy các testnet cho các ứng dụng danh tính và DeFi mà chúng tôi đang xây dựng cho và với các đối tác. Tôi thực sự tin rằng chúng tôi đang gần đạt được mã nguồn và stack đơn giản nhất để duy trì, nâng cấp và sửa đổi trong Ethereum. Chúng tôi sẽ không thể đạt được điểm này nếu không kiểm tra mã của @NethermindEth và @go_ethereum.
Với các đối tác của tôi là @rj_aligned, @fran_aligned từ @alignedlayer và @SantiDiPaolo, @AguuMg từ @PolFinance_, chúng tôi sắp phát hành một trong những tài liệu trắng đầu tiên về RWA L2s sẽ được hỗ trợ bởi Ethrex và @alignedlayer. Chúng tôi còn nhiều thứ khác sắp ra mắt nhưng tôi đặc biệt hào hứng với cái này vì nó sẽ kết nối một trường hợp sử dụng rất thú vị từ TradFi và DeFi. Chúng tôi có một số đội ngũ mạnh nhất trong ngành làm cố vấn và đối tác. Tôi rất mong được chia sẻ thêm về dự án này.
Cập nhật
L1
Chúng tôi đã làm việc trên nhiều mặt trận. Chúng tôi đã cải thiện khả năng quan sát với Grafana, loại bỏ các tính năng không sử dụng để đơn giản hóa mã nguồn và thêm hỗ trợ cho endpoint `engine_getBlobsV1`.
Changelog:
feat(l1): endpoint yêu cầu `engine_getBlobsV1` (#3636)
chore(l1): loại bỏ hỗ trợ redb (#4103)
refactor(l1): loại bỏ các usizes không cần thiết từ blockchain crate (#4110)
fix(l1): loại bỏ bản sao trạng thái không cần thiết (#4117)
fix(l1): sử dụng hình ảnh docker phù hợp để khởi động localnets. (#4131)
chore(l1): thêm thời gian khối vào bảng điều khiển grafana. (#4112)
fix(l1): trừ thời gian đọc DB từ thực thi khối. (#4051)
chore(l1): cải tiến chỉ số. (#4118)
chore(levm): cải thiện tổ chức của trình chạy thử levm mới (#3958)
L2
Theo cách tiếp cận tối giản của chúng tôi, chúng tôi đã loại bỏ một lượng lớn mã từ các cơ sở dữ liệu L2 không sử dụng. Chúng tôi tiếp tục đơn giản hóa mã nguồn và loại bỏ mã chết. Thêm vào đó, CI đã được ổn định sau khi sửa một lỗi liên quan đến giá gas.
Chúng tôi đang đánh giá hiệu suất L2 trên hai mặt:
- Chi phí bảo trì mạng L2: Chúng tôi đang tinh chỉnh các tham số L2 bằng cách mô phỏng các kịch bản khác nhau với các khối lượng giao dịch và cấu hình mạng khác nhau. Mục tiêu là xác định chi phí hoa hồng bảo trì ước tính cho mỗi giao dịch mà người dùng phải chịu để mạng có thể đạt được tự duy trì.
- Các chỉ số tạo chứng minh khối độc lập: Sử dụng công cụ ethrex-replay, chúng tôi đang chứng minh các khối từ Hoodi, Sepolia và Mainnet để xác định các lỗi tiềm ẩn trong mã nguồn và đo lường hiệu suất của prover của chúng tôi.
Về phía ethrex-replay, công cụ đã đủ ổn định và chúng tôi đã thiết lập cơ sở hạ tầng để định kỳ phát lại các thực thi và chứng minh khối của các mạng công khai. Chúng tôi hiện đang giải quyết các lỗi phát sinh trong quá trình chạy này. Một số lỗi xuất phát từ các lỗi logic trong ethrex, trong khi những lỗi khác liên quan đến việc sử dụng bộ nhớ. Các lỗi trước chủ yếu đã được giải quyết, và chúng tôi đang tiến bộ đáng kể trong các lỗi sau.
Chúng tôi cũng đã bắt đầu xem xét @ziskvm và @0xLita ZKVMs cho khả năng tích hợp ngắn hạn. Chúng tôi đã hỗ trợ @RiscZero và @SuccinctLabs.
Tuần này, chúng tôi đã hợp nhất một PR ổn định ethrex-replay, cho phép chúng tôi xác định và giải quyết hai lỗi trong ethrex. Những sửa lỗi này cũng đã được hợp nhất. Lỗi đầu tiên liên quan đến một trường hợp biên trong tiền biên ecrecover của chúng tôi, nơi một đầu vào cụ thể đã khiến việc thực thi thất bại do sự không khớp gas. Sau khi điều tra kỹ lưỡng, chúng tôi đã truy tìm vấn đề đến thư viện secp256k1 đã được vá SP1 chính thức. Chúng tôi đã giải quyết nó bằng cách chuyển sang thư viện k256 đã được vá SP1. Lỗi thứ hai xuất phát từ một giả định sai về độ dài bit của loại usize trong một phần của mã nguồn. Để ngăn chặn các vấn đề tương tự, chúng tôi đã tiến hành xem xét toàn diện mã nguồn và gửi nhiều PR để hạn chế việc sử dụng usize chỉ cho hai trường hợp cụ thể: lập chỉ mục và các kịch bản bị ràng buộc bởi API hoặc thư viện. Thêm vào đó, chúng tôi đang thêm hỗ trợ để chạy các bộ kiểm tra EF, bao gồm các bài kiểm tra blockchain và trạng thái, với SP1 để nâng cao phạm vi kiểm tra của chúng tôi và đảm bảo tính chắc chắn trên các kịch bản thực thi khác nhau.
Với những lỗi này được giải quyết, các vấn đề không còn xảy ra nữa. Chúng tôi đang thành công trong việc phát lại các khối mới từ Hoodi và Sepolia, và việc thực thi khối Mainnet đã cải thiện đáng kể, với tỷ lệ thành công thực thi SP1 tăng từ 1/10 lên 6/10. Tiến bộ này mở đường cho việc giải quyết các thách thức còn lại của chúng tôi với các phát lại khối gần đây: lỗi hết bộ nhớ trong quá trình thực thi khối trong SP1 zkVM và các vấn đề về hiệu suất trong thực thi và chứng minh. Để giải quyết những vấn đề này, chúng tôi đã thiết lập crate của công cụ để phân tích bộ nhớ bằng cách sử dụng crate Jemalloc.
Chúng tôi cũng đang làm việc để hỗ trợ phát lại các khối lịch sử. Một MVP cho tính năng này đang ở trong một PR nháp và hoạt động tốt với các khách hàng ethrex, reth và geth nhưng gặp vấn đề với các khách hàng nethermind. Trước khi phát hành phiên bản đầu tiên, chúng tôi nhằm tối ưu hóa các yêu cầu RPC để đảm bảo tải xuống dữ liệu khối chính xác, ngay cả khi sử dụng các nhà cung cấp RPC miễn phí, cho phần lớn các khối.
Cải tiến DevEx:
- Chúng tôi đã sửa các bản dựng nhị phân của mình để không còn yêu cầu CUDA như một phụ thuộc mặc định trên một số hệ điều hành và kiến trúc nhất định. Sửa lỗi này đã được đưa vào bản phát hành mới nhất.
- Một PR đã được gửi để cập nhật phiên bản ethrex trong rex, đảm bảo tính tương thích với các thay đổi mới nhất trong ethrex L2.
- Chúng tôi đã bắt đầu phát triển một tab mới cho trình giám sát ethrex L2 trong các môi trường phát triển. Tab này sẽ hiển thị thông tin liên quan đến nhà phát triển, chẳng hạn như danh sách các tài khoản giàu và địa chỉ của các hợp đồng L1 và L2.
Changelog:
- refactor(l2): thay thế các hằng số khác biệt trạng thái usize.
- tính năng(l1,l2): cấu hình ethrex-replay cho phân tích bộ nhớ.
- refactor(l1): loại bỏ việc sử dụng usize không cần thiết trong blockchain crate (liên quan đến việc sửa lỗi).
- tính năng(l1,l2): thêm các lệnh mới vào nhân chứng thực thi.
- fix(levm): giải quyết các vấn đề liên quan đến kiến trúc 32-bit (liên quan đến việc sửa lỗi).
- refactor(levm): cập nhật thực hiện ecrecover để sử dụng k256 thay vì secp256k1 (liên quan đến việc sửa lỗi).
- ci(l1,l2): tách biệt các bản dựng GPU và áp dụng mục tiêu x86-64-v2.
Hiệu suất
Tuần này, chúng tôi tiếp tục tập trung vào việc tiêu thụ cpu và các chỉ số.
Về tiêu thụ CPU, chúng tôi đã xác định 2 trường hợp khác nhau, một trường hợp có xây dựng khối và một trường hợp không có. Chúng tôi đang ưu tiên những trường hợp không có xây dựng khối vì chúng luôn hiện diện và ảnh hưởng đến các nỗ lực khác (như đồng bộ snap). Theo những gì chúng tôi đã điều tra, nó hoàn toàn liên quan đến p2p. Chúng tôi sẽ tiếp tục nỗ lực trên mặt trận này.
Về các chỉ số, sau khi cải thiện hiệu suất modexp tuần trước, chúng tôi đã tập trung vào một số cải tiến được phát hiện, như codecopy và các thao tác liên quan cũng như signextend, mulmod và addmod.
Chúng tôi sẽ tiếp tục tập trung vào cả việc tiêu thụ CPU và hiệu suất của các bài kiểm tra mà chúng tôi đã xác định là các bước tiếp theo cho các cải tiến có thể, như chuyển tiền eth và các opcode levm khác.

11,51K
Hàng đầu
Thứ hạng
Yêu thích