ผู้เขียนต้นฉบับ: Carl Hua หุ้นส่วนและ CTO ของ Shima Capital
หลังจากการใช้ประโยชน์จาก Curve กลับคืนสู่สภาพเดิมเมื่อเร็วๆ นี้ ฉันนึกย้อนกลับไปถึงช่วงเวลาที่ฉันอยู่ที่ JPL NASA ซึ่งฉันได้เรียนรู้หลักการสำคัญของการพัฒนาซอฟต์แวร์ที่เชื่อถือได้และมีความยืดหยุ่น สำหรับอุตสาหกรรม crypto ข้อมูลเชิงลึกเหล่านี้มีความสำคัญมากกว่าที่เคย และนี่คือเหตุผล:
ท้ายที่สุดแล้ว มีซอฟต์แวร์เพียงสองประเภทเท่านั้นที่ผู้คนสนใจจริงๆ: ซอฟต์แวร์ที่สามารถฆ่าคุณได้ และซอฟต์แวร์ที่สามารถทำให้คุณสูญเสียเงินได้
งบประมาณส่วนใหญ่ (80%+) ของซอฟต์แวร์ที่สำคัญของเครื่องจักรการบินและอวกาศไม่ได้จัดสรรให้กับการพัฒนาตัวเอง แต่เพื่อการบูรณาการและการทดสอบ หากซอฟต์แวร์ล้มเหลว ยานพาหนะที่บินได้จะตกลงมาจากท้องฟ้า เช่น เครื่องบินรบ โดรน ยานอวกาศ ฯลฯ
โค้ดส่วนใหญ่ในซอฟต์แวร์การบินและอวกาศ (หากจัดว่าเป็นโมดูลที่สำคัญ) ปฏิบัติตามมาตรฐานการทดสอบ/การพัฒนาที่เข้มงวดอย่างยิ่ง เช่น DO-178 Level BA ไม่เพียงแต่จะต้องทดสอบโค้ดทุกบรรทัดเท่านั้น แต่หากมีตรรกะที่ซ้อนกัน แต่ละเงื่อนไขเชิงตรรกะก็จะได้รับการทดสอบเป็นพิเศษเช่นกัน
ที่ JPL NASA ปรัชญาของการเขียนซอฟต์แวร์การบินอวกาศขั้นสูงไม่ใช่การเขียนโค้ดที่สวยที่สุดและสะอาดที่สุด แต่เป็นการเขียนโค้ดที่ง่ายต่อการทดสอบ ทำไม ง่ายมาก: เมื่อคุณส่งยานอวกาศขึ้นสู่อวกาศ คุณจะได้รับโอกาสเพียงครั้งเดียว และไม่มีใครอยากเสี่ยงกับโอกาสที่จะล้มเหลวสูง นี่เป็นตรรกะเดียวกับบล็อกเชน เนื่องจากโค้ดที่ไม่เปลี่ยนรูปเป็นคุณสมบัติที่สำคัญ และเรามีโอกาสเพียงครั้งเดียวเท่านั้นที่จะใช้จ่ายเงินอย่างถูกต้องในแต่ละธุรกรรม ดังนั้นทำไมเราไม่ดำเนินการพัฒนา dApps ให้จริงจังมากขึ้นล่ะ
แม้ว่าจะมีกระบวนการพัฒนา การทดสอบ และการตรวจสอบโค้ดที่เข้มงวด แต่เห็นได้ชัดว่าวิธีการเหล่านี้ไม่เพียงพอที่จะบรรเทาข้อผิดพลาดและการโจมตีทั้งหมด เนื่องจากในความเป็นจริง แทบจะเป็นไปไม่ได้เลยที่จะกำจัดข้อผิดพลาดรันไทม์ทั้งหมดผ่านการทดสอบและตรวจสอบ แล้วเราจะปกป้องซอฟต์แวร์ของเราไม่ให้ล้มเหลวได้อย่างไร?
การป้องกันรันไทม์
การป้องกันรันไทม์เป็นเทคนิคความปลอดภัยที่ปกป้องแอปพลิเคชันซอฟต์แวร์จากการโจมตีที่เป็นอันตรายในขณะที่แอปพลิเคชันกำลังทำงานอยู่ หลักการของมันคือการตรวจจับแบบเรียลไทม์เมื่อโค้ดกำลังทำงานจริง และวิเคราะห์พฤติกรรมที่แท้จริงของโปรแกรมเพื่อปกป้องโปรแกรมจากข้อมูลที่เป็นอันตรายและการโจมตี
การป้องกันรันไทม์สำหรับซอฟต์แวร์ที่มีความน่าเชื่อถือสูงต้องใช้ความพยายามและการออกแบบอย่างมาก เนื่องจากเป็นด่านสุดท้ายของการป้องกันเพื่อให้แน่ใจว่าซอฟต์แวร์จะไม่เข้าสู่สถานะที่ไม่รู้จักหรือล้มเหลว นี่ไม่ใช่แค่การโต้แย้ง แต่เป็นแนวทางปฏิบัติที่ได้รับการพิสูจน์มานานหลายทศวรรษ
ทุกวันนี้ใน Web3 ฉันคิดว่าแอปพลิเคชัน DeFi ต้องการความน่าเชื่อถือสูงเช่นเดียวกัน และควรพิจารณาแนวทางเดียวกัน อย่างไรก็ตาม เนื่องจากข้อจำกัดที่อาจเกิดขึ้น EVM จึงไม่ได้รับการออกแบบให้จัดการกับงานที่ซับซ้อน เช่น การป้องกันรันไทม์ แล้วเราจะให้การป้องกันรันไทม์ได้อย่างไร?
วิธีหนึ่งคือผ่านการเขียนโปรแกรม Aspect โดย Aspects ได้รับการออกแบบโดยเครือข่ายบล็อกเชน Artela ซึ่งสามารถสลับบริบทการดำเนินการระหว่างวงจรชีวิตของธุรกรรมสัญญาอัจฉริยะใดๆ เพื่อทำการตรวจสอบขั้นสูงเกี่ยวกับสถานะแบบเรียลไทม์ของโปรแกรม Artela มอบการออกแบบที่เป็นเอกลักษณ์ของการป้องกันรันไทม์ผ่านความเข้ากันได้ของ Aspect และ EVM และมีโอกาสที่จะกลายเป็นรากฐานในอนาคตของการรักษาความปลอดภัยสัญญาอัจฉริยะที่เข้ารหัส
Artela ได้ประกาศการใช้งาน Aspects โดยเฉพาะในการป้องกันการโจมตีกลับคืนสู่ Curve ในบทความต่อไปนี้ และหวังว่าจะได้สื่อสารร่วมกัน!


