Cảnh báo rủi ro: Đề phòng huy động vốn bất hợp pháp dưới danh nghĩa 'tiền điện tử' và 'blockchain'. — Năm cơ quan bao gồm Ủy ban Giám sát Ngân hàng và Bảo hiểm
Tìm kiếm
Đăng nhập
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
Xem thị trường
Phân tích ngắn gọn về Vyper: ngôn ngữ lập trình hợp đồng thông minh được các nhà phát triển ưa chuộng
Foresight News
特邀专栏作者
2023-07-31 12:30
Bài viết này có khoảng 2309 từ, đọc toàn bộ bài viết mất khoảng 4 phút
Vyper chính xác là gì, nó đóng vai trò gì trong thế giới DeFi và tại sao lỗi của nó lại thu hút sự chú ý của ngành?

Tác giả: Frank, Tin tức tầm nhìn xa

Tác giả: Frank, Tin tức tầm nhìn xa

Kể từ đêm qua, do lỗi khóa truy cập lại của các phiên bản riêng lẻ của Vyper, các nhóm ổn định của Curve như alETH/msETH/pETH đã bị hack, điều này đã gây ra một loạt thảm họa và cú sốc thứ cấp DeFi trong thế giới mã hóa, và nó vẫn còn lên men ngày hôm nay giữa.

Đây cũng là sự cố hiếm hoi trong thế giới DeFi nhắm trực tiếp vào các lỗi trong lớp ngôn ngữ của hợp đồng thông minh. Tuy nhiên, so với ngôn ngữ Solidity thường thấy trên báo chí trong thế giới mã hóa thì Vyper thực ra không nổi tiếng đến mức đó.

Vậy Vyper chính xác là gì, nó đóng vai trò gì trong thế giới DeFi và tại sao lỗi của nó lại thu hút sự chú ý của ngành? Trong bài viết này, Foresight News sẽ đưa bạn tìm hiểu về ngôn ngữ Vyper hiện đang trên đà phát triển.

Vyper: Ngôn ngữ lập trình hợp đồng thông minh phổ biến thứ hai

Trước khi Vyper được tạo ra vào năm 2017, ngôn ngữ phổ biến nhất được các nhà phát triển sử dụng để viết hợp đồng thông minh là Solidity. Vyper, giống như Solidity, là ngôn ngữ lập trình hướng đến hợp đồng thông minh có thể được biên dịch thành mã byte của Máy ảo Ethereum (EVM) và chạy trên EVM.

Do đó, xét từ góc độ tỷ lệ chấp nhận, Vyper hiện tại cũng là “ngôn ngữ lập trình hợp đồng thông minh tương thích EVM lớn thứ hai” sau Solidity.

Trong mô hình phát triển DeFi hiện tại (chiều tỷ lệ TVL), Solidity chiếm vị trí độc quyền tuyệt đối với thị phần 94,71%, trong khi Vyper đứng thứ hai với thị phần 3,04%.

Trong mô hình phát triển DeFi hiện tại (chiều tỷ lệ TVL), Solidity chiếm vị trí độc quyền tuyệt đối với thị phần 94,71%, trong khi Vyper đứng thứ hai với thị phần 3,04%.

Rust (0,9%), Cairo (0,53%) và Haskell (0,26%), xuất phát từ vị trí thứ ba, đã rơi khỏi vách đá.

Ngoài các tính năng dựa trên Python, Vyper không sử dụng các mẫu hướng đối tượng, lắp ráp nội tuyến và không hỗ trợ tái sử dụng mã, sửa đổi, kế thừa, nạp chồng hàm, gọi đệ quy, vòng lặp có độ dài vô hạn và dấu phẩy động có độ dài cố định nhị phân .

  • Ngoài ra, nó được tối ưu hóa về tính bảo mật, khả năng đọc, khả năng kiểm toán và hiệu quả sử dụng gas:

  • Bảo mật: Hỗ trợ xây dựng hợp đồng thông minh an toàn trong Vyper;

  • Khả năng đọc: Việc triển khai trình biên dịch và ngôn ngữ hợp đồng thông minh của Vyper cố gắng trở nên đơn giản để cải thiện khả năng đọc mã, đặc biệt đối với những người dùng chưa có kinh nghiệm với Vyper và thường không có kinh nghiệm lập trình;

Khả năng kiểm tra: Mã Vyper càng dễ đọc càng tốt và kiến ​​trúc đơn giản của nó giúp giảm lỗi phần mềm và cải thiện khả năng kiểm toán của hợp đồng thông minh;

Người sáng lập Vyper, John Max Skaller, đã tuyên bố rằng Vyper được xây dựng vì hai lý do: Đầu tiên, tôi thích Python, đặc biệt là tính đơn giản của nó, nhưng tôi không thích việc nó thiếu tính xác định phạm vi, nơi mọi thứ đòi hỏi nhiều thay đổi để đạt được tiến bộ. , vì vậy tôi quyết định khắc phục những vấn đề này bằng cách xây dựng một ngôn ngữ lập trình cấp cao hơn nhiều và xây dựng một số khái niệm về ngôn ngữ lập trình chức năng vào đó, đồng thời vẫn giữ được khả năng tương thích với Python.

Lý do thứ hai là hiệu suất. Tôi có một chương trình Python chính có tên là interscript, một công cụ lập trình xóa mù chữ nhưng thiếu các vấn đề về cấu trúc và hiệu suất tốt trong Python.

Nhìn chung, mục đích thiết kế ban đầu của Vyper là tạo ra một quy trình đơn giản hóa các hợp đồng thông minh minh bạch, dễ hiểu cho người tham gia hợp đồng thông minh, tập trung vào khả năng đọc và kiểm toán để đảm bảo an ninh.

Ưu và nhược điểm của Vyper

Ưu điểm và nhược điểm của Vyper được đề cập trong chương này chủ yếu được so sánh với ngôn ngữ Solidity, xét cho cùng, xét từ góc độ thị phần nêu trên, các ngôn ngữ hợp đồng thông minh khác vẫn chưa hình thành được môi trường rộng lớn.

Đầu tiên, một trong những lợi thế lớn nhất của Vyper so với Solidity là tính chất dựa trên Python của nó, vì vậy, mặc dù Vyper không mạnh mẽ và phổ biến như Solidity, nhưng đây là ngôn ngữ lý tưởng được các nhà phát triển quen thuộc với Python lựa chọn.

Đồng thời, trình biên dịch Vyper cũng chọn lưu trữ các biến cục bộ trong bộ nhớ thay vì trên ngăn xếp, điều này giúp cho hợp đồng trở nên đơn giản và hiệu quả hơn, đồng thời giải quyết được vấn đề ngăn xếp quá sâu thường gặp trong các ngôn ngữ cấp cao khác.

Vyper cũng cung cấp nhiều chức năng tích hợp hơn để đảm bảo rằng hầu hết mọi chức năng trong Solidity và Yul cũng có thể được triển khai trong Vyper. Nhà phát triển có thể truy cập các hoạt động bit cấp thấp, lệnh gọi bên ngoài và hoạt động hợp đồng proxy thông qua các chức năng tích hợp sẵn và có thể triển khai bố cục lưu trữ tùy chỉnh bằng cách cung cấp tệp lớp phủ tại thời điểm biên dịch.

So với Solidity, Vyper có những nhược điểm rõ ràng, chủ yếu là do đây là ngôn ngữ mới hơn Solidity, nên đương nhiên những thiếu sót trong công cụ cộng đồng và bảo trì dành cho nhà phát triển sẽ phải gánh chịu:

Vyper vẫn thiếu sự hỗ trợ cộng đồng rộng rãi mà Solidity có cho đến nay - Solidity có sẵn một số lượng lớn các công cụ phát triển tuyệt vời, chẳng hạn như OpenZeppelin cung cấp các thư viện nguồn mở để phát triển hợp đồng thông minh an toàn và các IDE như Remix trực tuyến IDE và môi trường nhà phát triển địa phương mà Hardhat cung cấp Nó cung cấp các công cụ và chức năng cho phép phát triển DApps dễ dàng.

Tính đến thời điểm viết bài, dữ liệu GitHub cho thấy Solidity có 568 người đóng góp, trong khi Vyper có 189, chênh lệch gấp 3 lần.

Mặc dù Vyper không có bộ công cụ phát triển phong phú nhưng nó có các công cụ tích hợp chặt chẽ hơn và cũng có thể được tích hợp vào các công cụ phát triển Solidity - chẳng hạn như trình thông dịch Titanaboa, có nhiều công cụ tích hợp liên quan đến EVM và Vyper, có thể được sử dụng để thử nghiệm và phát triển; Dasy, Lisp dựa trên Vyper với khả năng thực thi mã thời gian biên dịch.

Ngoài ra, từ góc độ chi tiết kỹ thuật, Vyper thiếu các công cụ sửa đổi, kế thừa lớp và các lệnh gọi đệ quy, đồng thời ngôn ngữ lập trình không hoàn chỉnh bằng Turing.

Tất nhiên, hầu hết trong số này Vyper cố tình cung cấp ít chức năng hơn, nhằm cải thiện tính bảo mật và khả năng kiểm toán, để làm cho hợp đồng an toàn hơn và dễ kiểm toán hơn, nhưng điều này cũng yêu cầu các nhà phát triển phải giải quyết những hạn chế này, có nghĩa là Vyper, không có lợi thế về nhân lực thì hiệu quả phát triển thấp.

Ảnh hưởng của Vyper đến từ đâu?

Hiện tại, lỗi Vyper chỉ liên quan đến một số phiên bản cụ thể như 0.2.15, 0.2.16 và 0.3.0, và có thể thấy từ trên rằng khối lượng dự án DeFi đứng đầu do Vyper viết không lớn. Chiếm dưới 5% thị phần TVL.

Vậy tại sao thất bại của Vyper lại có tác động lớn như vậy?

Tóm lại, mặc dù trong số các giao thức DeFi chính thống, không có nhiều dự án tích cực sử dụng ngôn ngữ Vyper để phát triển và vấn đề lần này là một vài phiên bản cụ thể của Vyper, nhưng có một dự án DeFi hàng đầu được phát triển dựa trên Vyper:

Đúng rồi, chính là Curve. Nguyên nhân chính có vẻ liên quan đến tính năng tối ưu hóa Gas đã đề cập ở trên - vì hợp đồng Curve phức tạp hơn nên Vyper làm cho những sự phức tạp này trở nên dễ quản lý hơn và tiết kiệm Gas hơn nữa (sự phát triển dựa trên Vyper nổi tiếng khác ở đó chỉ là một số ít dự án, chẳng hạn như phiên bản Uniswap v1, hợp đồng tiền gửi ETH 2.0 đầu tiên, v.v.).

Tuy nhiên, phiên bản mới của Vyper đã khắc phục lỗ hổng này nhưng do hợp đồng nhóm ổn định Curve bị ảnh hưởng không thể nâng cấp nên không thể triển khai và nâng cấp nên chỉ có thể chọn loại bỏ hợp đồng tương ứng và rút tiền.

bản tóm tắt

bản tóm tắt

Nhìn chung, lý do khiến mọi người còn lo ngại về sự cố bảo mật này chủ yếu là do nguy cơ xảy ra lỗi trong lớp ngôn ngữ của hợp đồng thông minh đã vượt xa phạm vi của chính giao thức DeFi hoặc logic của hợp đồng thông minh.

Hãy tưởng tượng, nếu lần này không chỉ Vyper mà ngay cả Solidity cũng gặp phải vấn đề tương tự, thì tất cả các giao thức DeFi trên chuỗi có thể khó thoát ra được, thậm chí chúng ta sẽ thực sự đối mặt với nguy cơ “DeFi không tồn tại nữa”.

hợp đồng thông minh
nhà phát triển
kiến thức cơ bản
Chào mừng tham gia cộng đồng chính thức của Odaily
Nhóm đăng ký
https://t.me/Odaily_News
Tài khoản chính thức
https://twitter.com/OdailyChina