Tối ưu hóa EVM song song: Công nghệ then chốt nâng cao hiệu suất Blockchain lên 60 lần

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

Tối ưu hóa song song EVM: Chìa khóa nâng cao hiệu suất Blockchain

EVM là động cơ thực thi cốt lõi của Ethereum, luôn xử lý giao dịch theo cách tuần tự. Phương pháp này tuy đơn giản và dễ duy trì, nhưng với sự mở rộng của cộng đồng người dùng và sự tiến bộ công nghệ, những hạn chế về hiệu suất ngày càng trở nên rõ ràng. Đặc biệt trong bối cảnh công nghệ Rollup đang được ứng dụng rộng rãi, việc thực thi tuần tự của EVM đã trở thành yếu tố quan trọng kìm hãm sự phát triển của mạng lưới lớp hai.

Sequencer là thành phần cốt lõi của Layer2, đảm nhiệm tất cả các nhiệm vụ tính toán dưới hình thức một máy chủ đơn. Khi các mô-đun khác đủ hiệu quả, khả năng xử lý của chính Sequencer trở thành nút thắt cuối cùng. Một số đội nhóm đã tối ưu hóa lớp DA và mô-đun đọc ghi dữ liệu, khiến Sequencer có thể thực hiện khoảng 2000 giao dịch ERC-20 mỗi giây. Con số này có vẻ không thấp, nhưng khi đối mặt với các giao dịch phức tạp hơn, TPS chắc chắ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 tất yếu trong tương lai.

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

Trong cấu trúc mã của Ethereum, ngoài EVM, stateDB cũng là một thành phần cốt lõi liên quan chặt chẽ đến việc thực hiện giao dịch. Nó chịu trách nhiệm quản lý trạng thái tài khoản và lưu trữ dữ liệu của Ethereum. Mỗi lần EVM thực hiện giao dịch, nó sẽ thay đổi một số dữ liệu trong stateDB, những thay đổi này cuối cùng phản ánh trong cây trạng thái toàn cầu.

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

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

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

Những thiếu sót của chế độ thực thi tuần tự này rất rõ ràng: giao dịch phải xếp hàng chờ thực hiện, nếu gặp phải giao dịch hợp đồng phức tạp tốn nhiều thời gian, các giao dịch tiếp theo chỉ có thể bị ép chờ đợi, không thể tận dụng tối đa tài nguyên phần cứng, nghiêm trọng hạn chế hiệu suất xử lý.

Để vượt qua rào cản này, ngành công nghiệp đã đưa ra giải pháp tối ưu hóa đa luồng cho EVM. Ý tưởng cốt lõi là mở nhiều luồng để xử lý đồng thời nhiều giao dịch, từ đó nâng cao hiệu quả một cách đáng kể. Tuy nhiên, thách thức chính của việc thực hiện song song là cách xử lý vấn đề xung đột trạng thái.

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

Một dự án về tối ưu hóa song song EVM đáng để chú ý. Họ phân bổ một giao dịch và một cơ sở dữ liệu trạng thái tạm thời (pending-stateDB) cho mỗi luồng. Các bước cụ thể như sau:

  1. Thực hiện giao dịch song song đa luồng, các luồng không gây cản trở lẫn nhau.

  2. Mỗi luồng có một pending-stateDB độc lập, khi thực hiện giao dịch không trực tiếp sửa đổi stateDB toàn cầu, mà tạm thời lưu trữ sự thay đổi trạng thái trong pending-stateDB.

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

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

Dự án cũng đã tối ưu hóa các thao tác đọc và ghi:

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

  • Các thao tác ghi không 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 trạng thái đang chờ. Sau khi giao dịch hoàn thành, sẽ thử hợp nhất vào stateDB toàn cầu sau khi kiểm tra xung đột.

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

Để giải quyết vấn đề xung đột trạng thái, dự án này đã giới thiệu cơ chế phát hiện xung đột:

  • Trong quá trình thực hiện, giám sát ReadSet và WriteSet của các giao dịch khác nhau, khi phát hiện nhiều giao dịch đọc và ghi cùng một mục trạng thái thì được coi là xung đột.

  • Đánh dấu giao dịch xung đột là cần phải 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 xong, nhiều bản ghi thay đổi của pending-stateDB được hợp nhất vào stateDB toàn cầu. Sau khi hợp nhất thành công, trạng thái cuối cùng được nộp vào cây trạng thái toàn cầu, tạo ra một gốc trạng thái mới.

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

Tối ưu hóa song song đa luồng đã nâng cao đáng kể hiệu suất, đặc biệt là trong việc xử lý các giao dịch hợp đồng thông minh phức tạp. Nghiên cứu cho thấy, dưới tải công việc xung đột thấp, TPS của các bài kiểm tra chuẩn cao hơn 3-5 lần so với thực hiện tuần tự truyền thống. Trong tải công việc xung đột cao, lý thuyết cho rằng việc áp dụng tất cả các biện pháp tối ưu hóa thậm chí có thể đạt được mức tăng 60 lầ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 EVM này, bằng cách phân bổ thư viện trạng thái tạm thời cho mỗi giao dịch và thực hiện song song trong các luồng khác nhau, đã nâng cao đáng kể khả năng xử lý giao dịch của EVM. Thông qua việc tối ưu hóa các thao tác đọc và ghi cùng với việc giới thiệu cơ chế phát hiện xung đột, nó đã đạt được sự song song hóa quy mô lớn của giao dịch trong khi đảm bảo tính nhất quán của trạng thái, hiệu quả giải quyết nút thắt hiệu suất của chế độ thực hiện tuần tự truyền thống. Điều này đã đặt nền tảng quan trọng cho sự mở rộng tương lai của hệ sinh thái Ethereum.

Hướng nghiên cứu trong tương lai có thể bao gồm việc tối ưu hóa hiệu suất lưu trữ hơn nữa, cải thiện các giải pháp xử lý trong các trường hợp xung đột cao, và khám phá việc sử dụng GPU để tối ưu hóa. Những tiến bộ này sẽ cung cấp động lực mới cho sự phát triển liên tục của công nghệ Blockchain.

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

ETH0.26%
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
  • 7
  • Đăng lại
  • Chia sẻ
Bình luận
0/400
MEVVictimAlliancevip
· 10giờ trước
Đồng thời làm nhanh lên, tôi bị kẹt rồi.
Xem bản gốcTrả lời0
MelonFieldvip
· 10giờ trước
Vẫn còn khoe evm, ăn trông thật khó coi.
Xem bản gốcTrả lời0
MetaDreamervip
· 10giờ trước
Nâng cao hiệu suất lên 60 lần? gm lại phải làm một đơn hàng nữa.
Xem bản gốcTrả lời0
TestnetScholarvip
· 10giờ trước
Thẻ này, nhanh chóng tối ưu đi.
Xem bản gốcTrả lời0
faded_wojak.ethvip
· 10giờ trước
卡啦 并行 hóa To da moon啊
Xem bản gốcTrả lời0
BugBountyHuntervip
· 10giờ trước
Bị kẹt thì phải song song, cuốn vào nhau!
Xem bản gốcTrả lời0
DefiPlaybookvip
· 10giờ trước
Cái nút thắt này không phải đang chờ bị bóc lột sao? Robot chạy trốn mừng rỡ.
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)