Bằng chứng chi tiết về tính hợp lệ Rollup và các đặc điểm kỹ thuật của Cairo VM

Nguồn: Scaling Ethereum Efficiently; Tổng hợp: Cộng đồng Starknet Trung Quốc

Tổng quan

  • Proof of Validity Rollup là cách tiềm năng nhất để tăng thông lượng của Ethereum theo cách an toàn và phi tập trung; zkEVM và Cairo VM (CVM) là hai máy ảo (VM) được sử dụng trong Rollup của loại Proof of Validity.
  • zkEVM tập trung vào khả năng tương thích Ethereum với chi phí hiệu suất và khả năng mở rộng.
  • Máy ảo Cairo được Starknet áp dụng ưu tiên hiệu suất và khả năng mở rộng hơn khả năng tương thích.

Rollup là một chủ đề nóng trong năm nay về việc mở rộng quy mô Ethereum. Trong số các loại Rollup khác nhau, chúng tôi tin rằng Rollup Bằng chứng Hiệu lực (sau đây gọi là VR hoặc zk-rollup) là giải pháp mở rộng hứa hẹn nhất để tăng thông lượng của Ethereum theo cách an toàn và phi tập trung. Cốt lõi của sơ đồ mở rộng này là việc sử dụng các bằng chứng hợp lệ cho các tính toán có thể kiểm chứng. Đây là cách nó hoạt động:

  • Không giống như xử lý từng giao dịch trên mạng chính Ethereum, nhà điều hành thực hiện giao dịch trong môi trường ngoài chuỗi. Môi trường ngoài chuỗi là L2, lớp vận hành chạy trên Ethereum.
  • Sau khi quá trình xử lý giao dịch hàng loạt hoàn tất, toán tử L2 trả kết quả về trạng thái Ethereum, cùng với bằng chứng hợp lệ để xác minh tính toàn vẹn của việc thực thi ngoại tuyến. Bằng chứng này đảm bảo rằng tất cả các giao dịch trong cùng một đợt đều hợp lệ và được xác minh tự động bằng hợp đồng xác minh trên chuỗi. Hoạt động này cho phép Ethereum áp dụng kết quả cho trạng thái của nó.

Các tính năng kỹ thuật chi tiết của Rollup và Cairo VM để chứng minh tính hợp lệ

Bản tổng hợp bằng chứng về tính hợp lệ

Xin lưu ý: Bản tổng hợp bằng chứng về tính hợp lệ thường được gọi nhầm là Bản tổng hợp không kiến thức (zkRollup), điều này không chính xác. Hầu hết các bản tổng hợp bằng chứng về tính hợp lệ không sử dụng bằng chứng không có kiến thức, chúng cũng không được sử dụng để đảm bảo quyền riêng tư. Do đó, thuật ngữ "Bản tổng hợp bằng chứng hợp lệ" chính xác hơn.

máy ảo ngoài chuỗi

Trước khi tiếp tục, chúng ta cần trả lời câu hỏi đầu tiên: máy ảo (VM) là gì? Nói tóm lại, máy ảo là một môi trường mà các chương trình có thể chạy, chẳng hạn như hệ điều hành Windows chạy trên máy Mac. VM chuyển đổi giữa các trạng thái sau khi thực hiện tính toán trên một số đầu vào. Máy ảo Ethereum (EVM) là máy ảo chạy các hợp đồng thông minh Ethereum.

Máy ảo không kiến thức (zkVM) là một môi trường thực thi chương trình, cùng với đầu ra của chương trình, tạo ra các bằng chứng về tính hợp lệ có thể kiểm chứng dễ dàng. Bằng chứng về tính hợp lệ được sử dụng để chứng minh rằng một chương trình đã được thực hiện chính xác. Khi thuật ngữ "zkEVM" được sử dụng, nó thường đề cập đến một Rollup chạy Máy ảo Ethereum (EVM) và có thể chứng thực việc thực thi EVM. Thuật ngữ này có thể gây hiểu lầm vì bản thân EVM không thể tạo ra các bằng chứng này; thay vào đó, các bằng chứng được tạo ra bởi một cơ chế chứng minh riêng biệt lấy kết quả thực thi của EVM làm điểm bắt đầu. Ngoài ra, các bằng chứng trên đều liên quan đến tính hợp lệ và không liên quan gì đến quyền riêng tư. Do đó, chính xác thì nó không thể được gọi là bằng chứng không kiến thức. Để thống nhất, thuật ngữ truyền thống "zkEVM" vẫn được sử dụng trong bài viết này.

Mặc dù tất cả các bản tổng hợp Proof-of-Validity đều nhằm mục đích mở rộng quy mô Ethereum với Proof-of-Validity, các kế hoạch khác nhau đưa ra các lựa chọn khác nhau về cách VM thực hiện các giao dịch ngoài chuỗi. Nhiều bằng chứng về tính hợp lệ Rollup đã chọn sao chép thiết kế EVM (do đó có tên là "zkEVM rollup"), cố gắng sao chép Ethereum trên L2 rollup. Starknet sử dụng máy ảo Cairo (CVM), một máy ảo hoàn toàn mới được thiết kế để tối ưu hóa hiệu quả của bằng chứng về tính hợp lệ.

Hai phương pháp trên có những ưu nhược điểm và sự đánh đổi riêng, nhưng zkEVM hy sinh hiệu suất để tương thích với Ethereum, trong khi Cairo VM đặt hiệu suất lên trên khả năng tương thích và ưu tiên khả năng mở rộng.

Hiểu cách hoạt động của zkEVM

zkEVM là một bản cập nhật bằng chứng hợp lệ được thiết kế để giới thiệu đầy đủ trải nghiệm Ethereum trên chuỗi khối L2. Mục đích là tái tạo môi trường nhà phát triển Ethereum thành Rollup. Với zkEVM, các nhà phát triển không cần điều chỉnh mã hoặc từ bỏ các công cụ EVM ban đầu (và hợp đồng thông minh) khi viết hoặc chuyển hợp đồng thông minh sang các giải pháp mở rộng.

Cách tiếp cận này có một lỗ hổng quan trọng, làm giảm khả năng mở rộng của các bằng chứng hợp lệ. Do tập trung vào việc tương thích với Ethereum, zkEVM chậm hơn và tốn nhiều tài nguyên hơn. Không giống như CVM, EVM không được thiết kế với tính hiệu quả bằng chứng. Điều này hạn chế việc sử dụng tối ưu hóa trong việc cải thiện hiệu quả và khả năng mở rộng, cuối cùng ảnh hưởng đến hiệu suất tổng thể của hệ thống.

Khả năng chứng minh của EVM

Thách thức cốt lõi của phương pháp zkEVM nằm ở bản thiết kế ban đầu ăn sâu của EVM, vốn không được thiết kế ban đầu để chạy trong môi trường chứng minh tính hợp lệ. Do đó, nếu mọi nỗ lực được dồn vào việc hiện thực hóa các chức năng của Ethereum, thì toàn bộ tiềm năng của bằng chứng hợp lệ sẽ không thể được giải phóng, dẫn đến hiệu quả không đạt yêu cầu. Sự kém hiệu quả này cuối cùng sẽ kéo hiệu suất tổng thể của hệ thống xuống. Khả năng tương thích của EVM với các bằng chứng hợp lệ bị cản trở bởi:

  • **EVM sử dụng mô hình dựa trên ngăn xếp, trong khi tính hợp lệ được chứng minh là hiệu quả hơn đối với mô hình dựa trên sổ đăng ký. **Bản chất dựa trên ngăn xếp của EVM khiến việc chứng minh tính đúng đắn của việc thực thi và cung cấp hỗ trợ trực tiếp cho chuỗi công cụ gốc của nó trở nên khó khăn hơn.
  • ** Bố cục lưu trữ Ethereum chủ yếu dựa vào cây Keccak và cây Merkle Patricia lớn, cả hai đều thân thiện với bằng chứng không hợp lệ và mang lại gánh nặng bằng chứng rất lớn. **Ví dụ: Keccak rất nhanh đối với kiến trúc x86 (thường được sử dụng để chạy EVM), nhưng phải mất 90 nghìn bước để chứng minh (yêu cầu tích hợp sẵn đặc biệt). Trong khi Pedersen (một hàm băm thân thiện với kiến thức bằng không) chỉ yêu cầu 32 bước. Ngay cả với nén đệ quy, việc sử dụng Keccak trong zkEVM vẫn tiêu tốn rất nhiều tài nguyên chứng minh và chi phí cuối cùng do người dùng chịu.

Do đó, nhiều loại zkEVM khác nhau được thiết kế để cung cấp các mức hỗ trợ khác nhau cho các công cụ Ethereum, nhưng khả năng tương thích của zkEVM với Ethereum càng cao thì hiệu suất càng thấp. (xem phần cuối bài viết để biết thêm các loại zkEVM)

Các tính năng kỹ thuật chi tiết của Rollup và Cairo VM để chứng minh tính hợp lệ

Hiểu cách hoạt động của Cairo-VM

Giải pháp zkEVM đã đầu tư rất nhiều thời gian phát triển vào việc "làm cho EVM phù hợp với Rollup Bằng chứng Hiệu lực", ưu tiên khả năng tương thích hơn hiệu suất dài hạn và khả năng mở rộng. Có một tùy chọn khác: sử dụng một máy ảo chuyên dụng mới và thêm một lớp bổ sung để hỗ trợ các công cụ Ethereum. Đó là bước mà Starknet đang thực hiện, ra mắt bản cập nhật bằng chứng hợp lệ không cần xin phép vào tháng 11 năm 2021. Starknet là Rollup chứng minh tính hợp lệ đầu tiên triển khai nền tảng hợp đồng thông minh có mục đích chung trong một mạng hoàn toàn có thể kết hợp được.

Starknet sử dụng Cairo-VM (CVM) và tạo ngôn ngữ cấp cao Cairo cùng tên. Cairo-VM được thiết kế để tạo ra các bằng chứng hiệu lực về việc thực thi chương trình một cách hiệu quả.

Với Cairo (VM và ngôn ngữ lập trình), có thể:

  1. Chứng minh hiệu quả tối ưu hóa, mỗi lệnh có một biểu thức đại số hợp lệ
  2. Một ngôn ngữ giống như Rust hiện đại để viết các chương trình có thể kiểm chứng được
  3. Các biểu thức trung gian (Sierra) giữa ngôn ngữ Cairo cấp cao và hợp ngữ Cairo (chỉ lệnh VM), có thể thực thi mã Cairo một cách hiệu quả

Việc phát triển một ngôn ngữ hoàn toàn mới có thể được điều chỉnh theo nhu cầu cụ thể, có thể bao gồm các tính năng không có sẵn trước đây và đáp ứng các nhu cầu mới.

Cairo và chủ nghĩa đa nguyên mã hóa

Để tạo ra một bằng chứng về tính hợp lệ của một phép tính nào đó, phép tính đó trước tiên phải được thể hiện dưới dạng một loạt các ràng buộc toán học mô tả phép tính đó. Quá trình này rất phức tạp, khó khăn nằm ở việc tối ưu hóa các tính toán để đạt hiệu quả và cần có các công cụ cụ thể.

Ngôn ngữ Cairo được thiết kế để đơn giản hóa nhiệm vụ này để StarkEx có thể dễ dàng thêm chức năng và logic kinh doanh phức tạp. Các chương trình Cairo được biên dịch thành mã máy đại số, một dãy số, được thực thi bởi một máy ảo cố định duy nhất. Với Cairo, quy trình phức tạp tạo ra các ràng buộc toán học mô tả các tính toán (rất phức tạp để chứng minh tính hợp lệ) được trừu tượng hóa và thể hiện dưới dạng một tập hợp các ràng buộc cố định (tổng cộng ít hơn 50 ràng buộc). Điều này cho phép các nhà phát triển mở rộng các ứng dụng có bằng chứng hợp lệ bằng cách viết mã theo cú pháp quen thuộc mà không cần hiểu cơ sở hạ tầng và toán học cơ bản.

Cam kết đổi mới của Starknet thể hiện rõ ràng trong cách tiếp cận đa dạng hóa mã. Cairo áp dụng công nghệ STARK để đạt được các chức năng mở rộng tối ưu, không giới hạn trong việc viết hợp đồng với môi trường địa phương Cairo. Các nhà phát triển cũng có thể chọn phương pháp phù hợp nhất:

  • **Mã hóa cục bộ tại Cairo:**Cairo 1.0 được lấy cảm hứng từ Rust, phù hợp hơn với thói quen sử dụng của nhà phát triển và an toàn hơn. Viết logic chương trình trở nên dễ dàng hơn và ít bị lỗi hơn.
  • **Khả năng tương thích của Solidity: **Các nhà phát triển Solidity có thể viết mã hỗ trợ Cairo VM. Cách tiếp cận này cung cấp trải nghiệm dành cho nhà phát triển tương tự như Ethereum và hỗ trợ di chuyển các hợp đồng thông minh Solidity sang Starknet. Có hai cách để thực hiện di chuyển:
  • **Dịch thuật: **Dịch thuật là quá trình chuyển đổi mã nguồn của một ngôn ngữ lập trình sang ngôn ngữ khác. Nhóm Nethermind đã xây dựng bộ chuyển mã Warp để chuyển mã Solidity sang Cairo. Warp làm cho các hợp đồng thông minh của Solidity có thể di chuyển đến Starknet, khiến nó trở thành loại zkEVM thứ tư một cách hiệu quả. Nó hiện được sử dụng để dịch và triển khai các hợp đồng Uniswap với những thay đổi tối thiểu.
  • zkEVM trên Starknet: Máy ảo Cairo có thể được sử dụng để chứng thực việc thực thi máy ảo khác. Kakarot là một zkEVM được viết ở Cairo có thể được sử dụng để chạy các hợp đồng thông minh Ethereum trên Starknet. Cairo VM và zkEVM không cạnh tranh, thay vì chọn giữa hai bên, tốt hơn là có cả hai!

Mặc dù Cairo mới xuất hiện chưa lâu nhưng theo bảng xếp hạng của TVL, Cairo là ngôn ngữ lập trình hợp đồng thông minh phổ biến thứ tư, với mức định giá hơn 350 triệu USD.

Tóm tắt

zkEVM nhằm mục đích tái tạo môi trường nhà phát triển Ethereum thành Rollup và cho phép các nhà phát triển sử dụng các công cụ Ethereum quen thuộc. Nhưng cách tiếp cận này hạn chế khả năng chứng minh tính hợp lệ và tốn nhiều tài nguyên.

Máy ảo Cairo, được thiết kế để chứng minh tính hợp lệ, không tuân theo các giới hạn của EVM. Cairo VM hỗ trợ Cairo 1.0. Lấy cảm hứng từ ngôn ngữ Rust, Cairo 1.0 phù hợp hơn với thói quen của nhà phát triển và an toàn hơn, tạo thành một công cụ mạnh mẽ được thiết kế để sử dụng STARK nhằm chứng minh khả năng mở rộng hiệu quả của Ethereum.

Thật thú vị khi thấy Cairo phát triển như thế nào mỗi tuần và các tùy chọn dành cho các nhà phát triển như Kakarot zkEVM và Warp đang tăng lên. Với các ứng dụng dApp của Starknet đang được sản xuất, thể hiện sức mạnh của Cairo, chúng tôi tin chắc rằng trong tương lai, Cairo sẽ tạo ra những dự án nổi bật chưa từng thấy trước đây.

Ba con đường để mở rộng SATRK đã được vạch ra ở trên và chắc chắn sẽ có nhiều đổi mới hơn trong những tháng tới. Các nhà phát triển hiện có quyền kiểm soát chưa từng có đối với các chuỗi khối mở rộng.

loại zkEVM

Vitalik chia zkEVM thành bốn loại chính:

  • **Toàn bộ Ethereum tương đương với loại đầu tiên: **Không thay đổi bất kỳ phần nào của hệ sinh thái Ethereum.
  • **Loại EVM hoàn toàn tương đương thứ hai: ** có thể tương thích với các dApp hiện có và thực hiện một số điều chỉnh đối với thiết kế của Ethereum để tăng tốc độ tạo bằng chứng.
  • **Loại thứ ba gần tương đương với EVM: **Hỗ trợ hầu hết các opcode EVM, loại bỏ một số chức năng mà zkEVM khó thực hiện (chẳng hạn như chức năng tiền biên dịch và hàm băm).
  • **Loại ngôn ngữ cấp cao tương đương thứ tư: **Sử dụng Solidity/Vyper để viết mã hợp đồng thông minh và dịch nó sang ngôn ngữ thân thiện với bằng chứng hợp lệ.
Xem bản gốc
Nội dung chỉ mang tính chất tham khảo, không phải là lời chào mời hay đề nghị. Không cung cấp tư vấn về đầu tư, thuế hoặc pháp lý. Xem Tuyên bố miễn trừ trách nhiệm để biết thêm thông tin về rủi ro.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
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.io
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)