Tối ưu hóa song song EVM: Nâng cao hiệu suất xử lý giao dịch Ethereum lên 5-60 lần

robot
Đang tạo bản tóm tắt

Tối ưu hóa song song EVM: Tăng cường hiệu suất xử lý giao dịch Ethereum

EVM là động cơ thực thi cốt lõi của Ethereum, với vị trí là "môi trường thực thi hợp đồng thông minh". Để đảm bảo hợp đồng thông minh có thể đạt được kết quả nhất quán trên các nút khác nhau, EVM cung cấp một môi trường máy ảo đa nền tảng, tương tự như máy ảo Java JVM.

Hợp đồng thông minh khi được triển khai sẽ được biên dịch thành mã byte EVM và lưu trữ trên chuỗi. EVM thực thi hợp đồng bằng cách đọc tuần tự các mã byte này, mỗi lệnh đều có chi phí Gas tương ứng. EVM sẽ theo dõi lượng Gas tiêu thụ trong quá trình thực hiện lệnh, lượng tiêu thụ phụ thuộc vào độ phức tạp của thao tác.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

EVM truyền thống xử lý giao dịch theo cách tuần tự, tất cả các giao dịch được thực hiện theo thứ tự xác định trong một hàng đợi duy nhất. Thiết kế này đơn giản và dễ bảo trì, nhưng khi quy mô người dùng mở rộng và ứng dụng công nghệ Rollup, các nút thắt hiệu suất của việc thực hiện tuần tự ngày càng trở nên rõ ràng.

Trong kiến trúc Rollup, Sequencer là thành phần quan trọng của Layer2 đảm nhận tất cả các nhiệm vụ tính toán. Nếu các mô-đun bên ngoài khác đủ hiệu quả, việc thực thi tuần tự của Sequencer sẽ trở thành nút thắt cổ chai lớn nhất. Có những đội ngũ thông qua tối ưu hóa cực đoan làm cho Sequencer có thể thực hiện hơn 2000 giao dịch ERC-20 mỗi giây, nhưng đối với các giao dịch phức tạp hơn, TPS vẫn sẽ giảm mạnh. Do đó, việc xử lý giao dịch song song trở thành xu hướng phát triển trong tương lai.

Ngoài EVM, một thành phần cốt lõi khác liên quan đến việc thực thi giao dịch trong go-ethereum là stateDB, được sử dụng để quản lý trạng thái tài khoản và lưu trữ dữ liệu. Ethereum sử dụng cấu trúc cây Merkle Patricia Trie làm chỉ mục cơ sở dữ liệu, EVM sẽ thay đổi dữ liệu trong stateDB mỗi lần thực thi giao dịch, cuối cùng phản ánh trong cây trạng thái toàn cầu.

stateDB chịu trách nhiệm duy trì tất cả trạng thái tài khoản Ethereum, bao gồm số dư tài khoản, mã hợp đồng thông minh, v.v. Trong quá trình thực thi giao dịch, stateDB sẽ đọc và ghi dữ liệu tài khoản tương ứng, sau khi thực thi xong sẽ nộp trạng thái mới vào cơ sở dữ liệu dưới để lưu trữ.

EVM và stateDB hợp tác xây dựng môi trường thực thi giao dịch của Ethereum. EVM chịu trách nhiệm giải thích và thực thi các lệnh hợp đồng thông minh, thay đổi trạng thái blockchain dựa trên kết quả tính toán, trong khi stateDB đóng vai trò là bộ lưu trữ trạng thái toàn cầu, quản lý tất cả các biến đổi trạng thái của tài khoản và hợp đồng.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Trong chế độ thực thi tuần tự, các giao dịch trong một khối sẽ được xử lý lần lượt. Mỗi giao dịch sử dụng một phiên bản EVM độc lập, nhưng tất cả các giao dịch đều chia sẻ cùng một stateDB. EVM trong quá trình thực thi cần liên tục tương tác với stateDB, đọc dữ liệu liên quan và ghi lại kết quả thay đổi.

Sau khi tất cả các giao dịch trong khối được thực hiện xong, dữ liệu trong stateDB sẽ được gửi đến cây trạng thái toàn cầu, tạo ra một trạng thái gốc mới. Điểm nghẽn chính của chế độ tuần tự này là các giao dịch phải xếp hàng để thực hiện, không thể tận dụng tối đa tài nguyên phần cứng, đặc biệt là khi đối mặt với các giao dịch hợp đồng thông minh phức tạp, hiệu suất sẽ thấp.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Để nâng cao hiệu quả xử lý giao dịch, một số dự án bắt đầu thử nghiệm tối ưu hóa đa luồng song song EVM. Điều này giống như việc ngân hàng mở nhiều quầy phục vụ khách hàng cùng lúc, có thể tăng tốc độ xử lý lên vài lần, nhưng cần giải quyết vấn đề xung đột trạng thái có thể xảy ra.

Một dự án ZKRollup đang tối ưu hóa đồng thời EVM bằng cách phân bổ một cơ sở dữ liệu trạng thái tạm thời cho mỗi luồng (pending-stateDB). Cách thực hiện cụ thể bao gồm:

  1. Thực hiện giao dịch song song đa luồng, không can thiệp lẫn nhau.

  2. Mỗi luồng có một pending-stateDB độc lập, khi thực hiện giao dịch sẽ ghi lại sự thay đổi trạng thái tại đây.

  3. Sau khi tất cả các giao dịch được thực hiện xong, sẽ đồng bộ các thay đổi trong pending-stateDB vào stateDB toàn cầu.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Giải pháp này đã tối ưu hóa các thao tác đọc và ghi:

  • Khi thực hiện thao tác đọc, trước tiên kiểm tra ReadSet của pending-stateDB, nếu có dữ liệu cần thiết thì đọc trực tiếp, nếu không thì đọc trạng thái lịch sử từ stateDB toàn cầu.

  • Các thao tác ghi không được ghi trực tiếp vào stateDB toàn cầu, mà trước tiên được ghi lại vào WriteSet của pending-stateDB.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Để xử lý xung đột trạng thái, đã giới thiệu cơ chế phát hiện xung đột:

  • Giám sát ReadSet và WriteSet của các giao dịch khác nhau, xem xét các giao dịch đọc và ghi cùng một mục trạng thái là xung đột.

  • Giao dịch xung đột sẽ được đánh dấu là cần thực hiện lại.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Sau khi tất cả các giao dịch được thực hiện, nhiều bản ghi thay đổi của pending-stateDB sẽ được hợp nhất vào stateDB toàn cầu, sau khi thành công sẽ được gửi đến cây trạng thái toàn cầu và tạo ra gốc trạng thái mới.

Nghiên cứu cho thấy, trong khối lượng công việc xung đột thấp, TPS của EVM song song đã tăng 3-5 lần so với thực hiện tuần tự truyền thống. Trong khối lượng công việc xung đột cao, lý thuyết có thể đạt tối đa 60 lần cải thiện.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Giải pháp tối ưu hóa đa luồng song song này, thông qua kho trạng thái tạm thời và thực thi song song, đã nâng cao đáng kể khả năng xử lý giao dịch của EVM. Tối ưu hóa các thao tác đọc và ghi đồng thời giới thiệu cơ chế phát hiện xung đột, giúp thực hiện song song quy mô lớn giao dịch trong khi đảm bảo tính nhất quán trạng thái, giải quyết nút thắt hiệu suất của việc thực thi tuần tự, đặt nền tảng cho sự phát triển trong tương lai của Ethereum Rollup.

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

Lấy Reddio làm ví dụ, giải thích con đường tối ưu hóa EVM song song

Lấy Reddio làm ví dụ, trình bày con đường tối ưu hóa EVM song song

ETH-0.72%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • 5
  • Chia sẻ
Bình luận
0/400
AirdropHunterZhangvip
· 07-29 02:07
Không còn nữa, mỗi ngày 60 lần, bánh mỏng vẫn giá này.
Xem bản gốcTrả lời0
GateUser-afe07a92vip
· 07-28 22:11
Cũng chỉ là điểm nâng cao TPS mà thôi.
Xem bản gốcTrả lời0
ZKProofEnthusiastvip
· 07-28 22:09
Đại sư phụ tps nhanh như vậy còn có thể on-chain bảo mật?
Xem bản gốcTrả lời0
¯\_(ツ)_/¯vip
· 07-28 21:56
Tiếp tục khai thác thôi, chỉ muốn như vậy.
Xem bản gốcTrả lời0
GateUser-aa7df71evip
· 07-28 21:48
nhập một vị thế rồi các anh em TPS bơm lớn sẽ đến
Xem bản gốcTrả lời0
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)