Cập nhật về trình biên dịch Vyper

Rate this post

Ý tưởng đằng sau Dự án Vyper là phát triển thứ gì đó được thiết kế ở cấp độ ngôn ngữ để thể hiện mức độ an toàn cao một cách tự nhiên. Dự án ban đầu được tác giả bởi Vitalik như một sự thay thế bằng chứng về khái niệm cho Serpent, người tiền nhiệm của nó, nhưng ngay sau khi thành lập, Vyper tự nhận thấy rằng không có người bảo trì chuyên dụng. May mắn thay, có những thành viên cộng đồng nhiệt tình đã nắm lấy ngọn đuốc và tiếp tục phát triển dự án, và chúng tôi (Nhóm EF Python) đã trở lại tham gia vào dự án một thời gian vào đầu năm nay.

Vào mùa thu này, một cuộc kiểm tra bảo mật sơ bộ đã được thực hiện bởi nhóm Consensys Diligence trên trình biên dịch Vyper dựa trên Python. Bạn có thể đọc kết quả cho chính mình tại đây.

Tuy nhiên, chúng tôi khuyến khích bạn đọc báo cáo này.

  1. Có nhiều lỗi nghiêm trọng trong trình biên dịch Vyper.
  2. Cơ sở mã có mức nợ kỹ thuật cao, điều này sẽ làm cho việc giải quyết những vấn đề này trở nên phức tạp.

Vì việc triển khai Vyper dựa trên Python hiện tại chưa sẵn sàng sản xuất, nó đã được chuyển ra khỏi tổ chức github ethereum thành tổ chức của riêng mình: vyperlang. Các nhà bảo trì hiện tại đang có kế hoạch giải quyết các vấn đề một cách độc lập một lần nữa, nhưng chúng tôi sẽ tiếp tục theo dõi sát dự án tại đây:> https://github.com/vyperlang/vyper

Trong khi đó, nhóm của chúng tôi tiếp tục làm việc song song với trình biên dịch dựa trên Rust. Thông tin thêm về điều đó bên dưới, nhưng trước tiên, đây là một chút thông tin thêm về cách chúng tôi đến được vị trí của ngày hôm nay.

Trong suốt năm nay, chúng tôi đã làm việc với những người bảo trì dự án để tập trung vào việc cải thiện chất lượng mã và kiến ​​trúc của dự án. Sau một vài tháng làm việc, chúng tôi nghi ngờ rằng cơ sở mã python có khả năng thực hiện đúng ý tưởng mà Vyper đã hứa. Cơ sở mã chứa một lượng nợ kỹ thuật và kiến ​​trúc đáng kể, và theo quan điểm của chúng tôi, có vẻ như các nhà bảo trì hiện tại không tập trung vào việc sửa lỗi này.

Khám phá rỉ sét

Đầu năm nay, vào tháng 8, chúng tôi đã khám phá sản xuất một phiên bản của trình biên dịch Vyper được xây dựng trên kiến ​​trúc khác nhau về cơ bản. Mục tiêu là viết một trình biên dịch bằng Rust để thúc đẩy công việc hiện có của nhóm Solidity và sử dụng biểu diễn trung gian YUL để cho phép chúng tôi nhắm mục tiêu EVM hoặc EWASM trong quá trình biên dịch. Một trình biên dịch dựa trên Rust có thể dễ dàng được biên dịch sang WASM, làm cho trình biên dịch này linh hoạt hơn nhiều so với trình biên dịch dựa trên Python. Bằng cách xây dựng trên YUL, chúng tôi sẽ nhận được trình biên dịch EVM và EWASM miễn phí, chỉ yêu cầu trình biên dịch xử lý việc chuyển đổi từ Vyper AST sang YUL. Chúng tôi đã đủ tiến xa với trình biên dịch Vyper dựa trên Rust của mình khi bản kiểm tra Python Vyper được phát hành và tự tin vào hướng đi. Quá trình kiểm tra đã xác nhận nhiều mối quan tâm xung quanh cơ sở mã python và giúp xác thực hướng chúng tôi đã thực hiện.

Công việc vẫn tiếp tục

Điều đó nói rằng, những người duy trì cơ sở mã Python Vyper có ý định tiếp tục với dự án. Mặc dù chúng tôi không có kế hoạch tiếp tục tham gia vào cơ sở mã python, chúng tôi chúc họ may mắn nhưng cũng muốn ghi chú các sự kiện gần đây để tránh vô tình báo hiệu rằng dự án an toàn để sử dụng.

Vì vậy, hiện tại có hai trình biên dịch “Vyper”: Trình biên dịch được EF hỗ trợ hướng tới việc xây dựng trình biên dịch được viết bằng Rust để cung cấp ý tưởng ban đầu của Vyper và nỗ lực Python sẽ hoạt động độc lập hướng tới cùng mục tiêu trong cơ sở mã Python. Chúng tôi hy vọng rằng chúng tôi có thể tiếp tục làm việc cùng nhau để hướng tới một “Vyper” duy nhất với nhiều triển khai và chúng tôi sẽ cập nhật cho mọi người khi dự án tiến lên.

Thuc Quyen

Leave a Reply

Your email address will not be published.