คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
การวิเคราะห์โดยย่อของ Vyper: ภาษาโปรแกรมสัญญาอัจฉริยะที่นักพัฒนานิยม
Foresight News
特邀专栏作者
2023-07-31 12:30
บทความนี้มีประมาณ 2309 คำ การอ่านทั้งหมดใช้เวลาประมาณ 4 นาที
Vyper คืออะไรกันแน่ มีบทบาทอย่างไรในโลก DeFi และเหตุใดข้อบกพร่องของมันจึงดึงดูดความสนใจของอุตสาหกรรม?

ผู้แต่ง: แฟรงก์, Foresight News

ผู้แต่ง: แฟรงก์, Foresight News

ตั้งแต่เมื่อคืนนี้ เนื่องจากความล้มเหลวในการล็อกการเข้าซ้ำของ Vyper แต่ละเวอร์ชัน พูลที่เสถียรของ Curve เช่น alETH/msETH/pETH จึงถูกแฮ็ก ซึ่งก่อให้เกิดภัยพิบัติรองของ DeFi และการกระแทกในโลกการเข้ารหัส และ วันนี้ยังคงหมักอยู่ตรงกลาง

นี่เป็นเหตุการณ์ที่เกิดขึ้นไม่บ่อยนักในโลก DeFi ที่มุ่งเป้าไปที่ข้อบกพร่องโดยตรงในชั้นภาษาของสัญญาอัจฉริยะ อย่างไรก็ตาม เมื่อเปรียบเทียบกับภาษา Solidity ที่มักพบเห็นในหนังสือพิมพ์ในโลกของการเข้ารหัสแล้ว Vyper ก็ไม่ได้เป็นที่รู้จักมากนัก

แล้ว Vyper คืออะไรกันแน่ มีบทบาทอย่างไรในโลก DeFi และเหตุใดข้อบกพร่องของมันจึงดึงดูดความสนใจของอุตสาหกรรม? ในบทความนี้ Foresight News จะพาคุณไปทำความเข้าใจกับภาษา Vyper ที่กำลังอยู่ในช่วงเริ่มต้น

Vyper: ภาษาการเขียนโปรแกรม Smart Contract ที่ได้รับความนิยมเป็นอันดับสอง

ก่อนที่ Vyper จะถูกสร้างขึ้นในปี 2560 ภาษาที่นักพัฒนาส่วนใหญ่ใช้ในการเขียนสัญญาอัจฉริยะคือ Solidity Vyper ก็เหมือนกับ Solidity คือภาษาการเขียนโปรแกรมเชิงสัญญาอัจฉริยะ ที่สามารถคอมไพล์เป็นโค้ดไบต์ของ Ethereum Virtual Machine (EVM) และทำงานบน EVM

จากมุมมองของอัตราการนำไปใช้ Vyper ปัจจุบันยังเป็น ภาษาการเขียนโปรแกรมสัญญาอัจฉริยะที่เข้ากันได้กับ EVM ที่ใหญ่เป็นอันดับสอง รองจาก Solidity สถิติล่าสุดจาก DeFiLlama ก่อนการโจมตีจะแสดง:

ในรูปแบบการพัฒนา DeFi ในปัจจุบัน (มิติสัดส่วน TVL) Solidity ครองตำแหน่งผูกขาดโดยสมบูรณ์โดยมีส่วนแบ่งตลาด 94.71% ในขณะที่ Vyper อยู่ในอันดับที่สองด้วยส่วนแบ่งตลาด 3.04%

ในรูปแบบการพัฒนา DeFi ในปัจจุบัน (มิติสัดส่วน TVL) Solidity ครองตำแหน่งผูกขาดโดยสมบูรณ์โดยมีส่วนแบ่งตลาด 94.71% ในขณะที่ Vyper อยู่ในอันดับที่สองด้วยส่วนแบ่งตลาด 3.04%

สนิม (0.9%) ไคโร (0.53%) และ Haskell (0.26%) ซึ่งเริ่มจากอันดับที่ 3 ตกลงมาจากหน้าผา

นอกเหนือจากฟีเจอร์ที่ใช้ Python แล้ว Vyper ไม่ได้ใช้รูปแบบเชิงวัตถุ, แอสเซมบลีแบบอินไลน์ และไม่รองรับการใช้โค้ดซ้ำ, ตัวดัดแปลง, การสืบทอด, การโอเวอร์โหลดฟังก์ชัน, การเรียกซ้ำ, การวนซ้ำที่มีความยาวไม่สิ้นสุด และจุดลอยตัวที่มีความยาวคงที่แบบไบนารี .

  • นอกจากนี้ ยังได้รับการปรับให้เหมาะสมเพื่อความปลอดภัย ความสามารถในการอ่านผล การตรวจสอบ และประสิทธิภาพของก๊าซ:

  • ความปลอดภัย: สนับสนุนการสร้างสัญญาอัจฉริยะที่ปลอดภัยใน Vyper

  • ความสามารถในการอ่าน: การใช้ภาษาสัญญาอัจฉริยะและคอมไพเลอร์ของ Vyper มุ่งมั่นที่จะทำให้ง่ายต่อการปรับปรุงความสามารถในการอ่านโค้ด โดยเฉพาะอย่างยิ่งสำหรับผู้ใช้ที่ไม่มีประสบการณ์กับ Vyper และโดยทั่วไปไม่มีประสบการณ์ในการเขียนโปรแกรม

ความสามารถในการตรวจสอบ: รหัส Vyper สามารถอ่านได้มากที่สุดเท่าที่จะเป็นไปได้ และสถาปัตยกรรมที่เรียบง่ายช่วยลดข้อผิดพลาดของซอฟต์แวร์และปรับปรุงความสามารถในการตรวจสอบของสัญญาอัจฉริยะ

John Max Skaller ผู้ก่อตั้ง Vyper ระบุว่า Vyper ถูกสร้างขึ้นด้วยเหตุผลสองประการ: ประการแรก ฉันชอบ Python โดยเฉพาะอย่างยิ่งความเรียบง่ายของมัน แต่ฉันไม่ชอบการขาดการกำหนดขอบเขต ซึ่งทุกสิ่งต้องการการเปลี่ยนแปลงมากมายเพื่อให้ก้าวหน้า ดังนั้นฉันจึงตัดสินใจแก้ไขปัญหาเหล่านี้ด้วยการสร้างภาษาการเขียนโปรแกรมระดับสูงขึ้นมาก และสร้างแนวคิดบางประการเกี่ยวกับภาษาโปรแกรมเชิงฟังก์ชันลงไป ในขณะที่ยังคงความเข้ากันได้กับ Python

เหตุผลที่สองคือประสิทธิภาพ ฉันมีโปรแกรม Python หลักที่เรียกว่า interscript ซึ่งเป็นเครื่องมือการเขียนโปรแกรมเพื่อการรู้หนังสือที่ประสบปัญหาการขาดโครงสร้างและประสิทธิภาพที่ดีใน Python

โดยทั่วไป ความตั้งใจในการออกแบบดั้งเดิมของ Vyper คือการสร้างกระบวนการที่เรียบง่ายของสัญญาอัจฉริยะที่โปร่งใส ซึ่งง่ายต่อการเข้าใจสำหรับผู้เข้าร่วมสัญญาอัจฉริยะ โดยมุ่งเน้นที่ความสามารถในการอ่านและตรวจสอบได้เพื่อความปลอดภัย

ข้อดีและข้อเสียของไวเปอร์

ข้อดีและข้อเสียของ Vyper ที่กล่าวถึงในบทนี้ส่วนใหญ่จะเปรียบเทียบกับภาษา Solidity ท้ายที่สุด จากมุมมองของส่วนแบ่งการตลาดที่กล่าวถึงข้างต้น ภาษาสัญญาอัจฉริยะอื่น ๆ ยังไม่ได้สร้างบรรยากาศขนาดใหญ่

ประการแรก หนึ่งในข้อได้เปรียบที่ใหญ่ที่สุดของ Vyper เหนือ Solidity คือลักษณะที่ใช้ Python ดังนั้นแม้ว่า Vyper จะไม่ทรงพลังและได้รับความนิยมเท่ากับ Solidity แต่ก็เป็นภาษาในอุดมคติสำหรับนักพัฒนาที่คุ้นเคยกับ Python

ในเวลาเดียวกัน คอมไพเลอร์ Vyper ยังเลือกที่จะจัดเก็บตัวแปรในเครื่องไว้ในหน่วยความจำแทนบนสแต็ก ซึ่งทำให้สัญญาง่ายขึ้นและมีประสิทธิภาพมากขึ้น และแก้ปัญหาทั่วไป สแต็กลึกเกินไป ในภาษาระดับสูงอื่น ๆ

Vyper ยังมีฟังก์ชันในตัวเพิ่มเติมเพื่อให้แน่ใจว่าเกือบทุกฟังก์ชันใน Solidity และ Yul สามารถนำไปใช้ใน Vyper ได้เช่นกัน นักพัฒนาสามารถเข้าถึงการดำเนินการบิตระดับต่ำ การโทรภายนอก และการดำเนินการสัญญาพร็อกซีผ่านฟังก์ชันในตัว และสามารถใช้เค้าโครงพื้นที่จัดเก็บข้อมูลแบบกำหนดเองได้โดยจัดเตรียมไฟล์ซ้อนทับในเวลาคอมไพล์

เมื่อเปรียบเทียบกับ Solidity แล้ว Vyper มีข้อเสียที่ชัดเจน สาเหตุหลักมาจากเป็นภาษาที่ใหม่กว่า Solidity ดังนั้นจึงเป็นข้อบกพร่องโดยธรรมชาติของการบำรุงรักษานักพัฒนาและเครื่องมือชุมชนที่ต้องรับภาระหนัก:

Vyper ยังคงขาดการสนับสนุนจากชุมชนในวงกว้างเหมือนกับ Solidity จนถึงตอนนี้ - Solidity มีเครื่องมือการพัฒนาที่ยอดเยี่ยมมากมาย เช่น OpenZeppelin มอบไลบรารีโอเพ่นซอร์สสำหรับการพัฒนาสัญญาอัจฉริยะที่ปลอดภัย และ IDE เช่น Remix online IDE และสภาพแวดล้อมของนักพัฒนาในพื้นที่ Hardhat มอบให้ มีเครื่องมือและฟังก์ชันที่ช่วยให้การพัฒนา DApps เป็นเรื่องง่าย

ในขณะที่เขียนข้อมูล ข้อมูล GitHub แสดงให้เห็นว่า Solidity มีผู้มีส่วนร่วม 568 คน ในขณะที่ Vyper มี 189 คน ซึ่งต่างกัน 3 เท่า

แม้ว่า Vyper จะไม่มีชุดเครื่องมือการพัฒนาที่หลากหลาย แต่ก็มีเครื่องมือที่บูรณาการเข้าด้วยกันอย่างแน่นหนามากกว่า และยังสามารถเสียบเข้ากับเครื่องมือการพัฒนา Solidity ได้ เช่น Titanaboa reaperer ซึ่งมีเครื่องมือในตัวมากมายที่เกี่ยวข้องกับ EVM และ Vyper ซึ่งสามารถ ใช้สำหรับการทดลองและพัฒนา Dasy ซึ่งเป็น Lisp ที่ใช้ Vyper พร้อมการเรียกใช้โค้ดเวลาคอมไพล์

นอกจากนี้ จากมุมมองของรายละเอียดทางเทคนิค Vyper ยังขาดตัวดัดแปลง การสืบทอดคลาส และการเรียกแบบเรียกซ้ำ และภาษาการเขียนโปรแกรมยังไม่สมบูรณ์ของทัวริง

แน่นอนว่าสิ่งเหล่านี้ส่วนใหญ่เป็น Vyper จงใจให้ฟังก์ชันน้อยลง โดยมีเป้าหมายเพื่อปรับปรุงความปลอดภัยและการตรวจสอบ เพื่อให้สัญญาปลอดภัยยิ่งขึ้นและง่ายต่อการตรวจสอบ แต่สิ่งนี้ยังต้องการให้นักพัฒนาแก้ไขข้อจำกัดเหล่านี้ด้วย ซึ่งหมายความว่า Vyper ซึ่งทำ ไม่มีข้อได้เปรียบด้านกำลังคน ถูกกำหนดให้มีประสิทธิภาพการพัฒนาต่ำ

อิทธิพลของ Vyper มาจากไหน?

ในปัจจุบัน ความล้มเหลวของ Vyper เกี่ยวข้องกับเวอร์ชันเฉพาะบางเวอร์ชันเท่านั้น เช่น 0.2.15, 0.2.16 และ 0.3.0 และจะเห็นได้จากด้านบนว่าปริมาณของโปรเจ็กต์ DeFi หลักที่เขียนโดย Vyper มีไม่มาก มีส่วนแบ่งการตลาด TVL น้อยกว่า 5%

แล้วเหตุใดความล้มเหลวของ Vyper จึงส่งผลกระทบใหญ่หลวงเช่นนี้?

กล่าวโดยย่อ แม้ว่าในบรรดาโปรโตคอล DeFi กระแสหลัก จะมีโครงการไม่มากนักที่ใช้ภาษา Vyper เพื่อการพัฒนา และปัญหาในครั้งนี้คือ Vyper เวอร์ชันเฉพาะบางเวอร์ชัน แต่มีโครงการ DeFi ชั้นนำที่พัฒนาโดยใช้ Vyper:

ใช่แล้ว มันคือ Curve เหตุผลหลักดูเหมือนจะเกี่ยวข้องกับคุณสมบัติการปรับให้เหมาะสมของ Gas ที่กล่าวถึงข้างต้น - เนื่องจากสัญญา Curve นั้นซับซ้อนกว่า Vyper ทำให้ความซับซ้อนเหล่านี้จัดการได้ง่ายขึ้นและประหยัด Gas ต่อไป (การพัฒนาที่ใช้ Vyper ที่รู้จักกันดีอื่น ๆ ที่นั่น เป็นเพียงโครงการเพียงไม่กี่โครงการ เช่น เวอร์ชัน Uniswap v1, สัญญาฝาก ETH 2.0 ฉบับแรก เป็นต้น)

อย่างไรก็ตาม Vyper เวอร์ชันใหม่ได้แก้ไขช่องโหว่นี้แล้ว แต่เนื่องจากสัญญาพูลเสถียรของ Curve ที่ได้รับผลกระทบไม่สามารถอัปเกรดได้ จึงไม่สามารถปรับใช้และอัปเกรดได้ ดังนั้นจึงสามารถเลือกได้ว่าจะยกเลิกสัญญาที่เกี่ยวข้องและถอนเงินออกเท่านั้น

สรุป

สรุป

โดยทั่วไป เหตุผลที่ทุกคนยังคงหวาดกลัวเกี่ยวกับเหตุการณ์ด้านความปลอดภัยนี้ สาเหตุหลักมาจากความเสี่ยงของข้อบกพร่องในชั้นภาษาของสัญญาอัจฉริยะนั้นเกินขอบเขตของโปรโตคอล DeFi หรือตรรกะของสัญญาอัจฉริยะไปมาก

ลองจินตนาการดูว่าคราวนี้ไม่เพียงแต่ Vyper เท่านั้น แต่แม้แต่ Solidity ก็ประสบปัญหาเดียวกัน โปรโตคอล DeFi ทั้งหมดในเชนก็อาจจะหลีกเลี่ยงได้ยาก และเรายังต้องเผชิญกับความเสี่ยงของ DeFi ไม่มีอยู่อีกต่อไป อีกด้วย

สัญญาที่ชาญฉลาด
นักพัฒนา
ความรู้พื้นฐาน
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
Vyper คืออะไรกันแน่ มีบทบาทอย่างไรในโลก DeFi และเหตุใดข้อบกพร่องของมันจึงดึงดูดความสนใจของอุตสาหกรรม?
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android