Foresight Ventures: WASM - เครื่องยนต์แห่งยุคใหม่

มือใหม่Jan 01, 2024
บทความนี้จะตรวจสอบความสัมพันธ์และกรณีการใช้งานบางส่วนระหว่าง Wasm และบล็อกเชน: สัญญาอัจฉริยะ การโต้ตอบข้ามสายโซ่ การคำนวณนอกสายโซ่ และความเป็นส่วนตัวของข้อมูล
Foresight Ventures: WASM - เครื่องยนต์แห่งยุคใหม่

TL;ดร

WebAssembly (Wasm) เป็นรูปแบบคำสั่งไบนารีแบบพกพาและประสิทธิภาพสูงที่สามารถเรียกใช้บนเว็บเบราว์เซอร์ ได้รับการออกแบบให้เป็นเป้าหมายการคอมไพล์สากลที่สามารถใช้ได้กับภาษาการเขียนโปรแกรมหลายภาษาและทำงานบนแพลตฟอร์มที่แตกต่างกัน

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

มีความสัมพันธ์และสถานการณ์การใช้งานหลายอย่างระหว่าง Wasm และ blockchain:

  1. สัญญาอัจฉริยะ: Wasm สามารถทำหน้าที่เป็นสภาพแวดล้อมการดำเนินการสำหรับสัญญาอัจฉริยะ ทำให้สัญญาทำงานบนแพลตฟอร์มบล็อกเชนที่แตกต่างกันได้ ประสิทธิภาพและความสะดวกในการพกพาที่สูงของ Wasm ช่วยให้การดำเนินการสัญญาอัจฉริยะและการใช้งานข้ามแพลตฟอร์มมีประสิทธิภาพมากขึ้น
  2. การทำงานร่วมกันแบบข้ามสายโซ่: Wasm สามารถใช้เพื่อใช้การทำงานร่วมกันแบบข้ามสายโซ่ได้ ด้วยการรวบรวมตรรกะของบล็อกเชนต่างๆ ลงในโค้ด Wasm ตรรกะเดียวกันนี้สามารถดำเนินการได้บนบล็อกเชนที่ต่างกัน ช่วยให้สามารถถ่ายโอนข้อมูลและการโต้ตอบข้ามเครือข่ายได้
  3. การคำนวณแบบออฟไลน์: Wasm สามารถใช้สำหรับการคำนวณภายนอกบล็อคเชน และส่งผลการคำนวณไปยังบล็อคเชน ช่วยให้สามารถปรับปรุงประสิทธิภาพและความยืดหยุ่นในการคำนวณ ในขณะเดียวกันก็รักษาความปลอดภัยของข้อมูลและความน่าเชื่อถือ
  4. ความเป็นส่วนตัวของข้อมูล: Wasm สามารถใช้เพื่อให้เกิดการปกป้องความเป็นส่วนตัวของข้อมูลบนบล็อกเชน ด้วยการรวบรวมตรรกะการประมวลผลของข้อมูลที่ละเอียดอ่อนลงในโค้ด Wasm และดำเนินการบนบล็อกเชน ความเป็นส่วนตัวของข้อมูลจึงสามารถรักษาไว้ได้ในขณะเดียวกันก็รับประกันความสามารถในการตรวจสอบความถูกต้องของการคำนวณ

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

1. เว็บแอสเซมบลีคืออะไร?

WebAssembly เป็นมาตรฐานชุดคำสั่งที่มีประสิทธิภาพและมีน้ำหนักเบาซึ่งพัฒนาโดย World Wide Web Consortium (W3C) ได้รับการยกย่องว่าเป็นผู้ขัดขวางเว็บและคอมพิวเตอร์ประสิทธิภาพสูง ซึ่งสนับสนุนการดำเนินการข้ามเบราว์เซอร์ ซึ่งหมายความว่าเราสามารถรวบรวมภาษาโปรแกรมต่างๆ รวมถึง C/C++, Go, Rust และอื่นๆ อีกมากมาย ให้อยู่ในรูปแบบไบนารี่มาตรฐานแบบครบวงจร และใช้แทน JavaScript โดยทำงานด้วยประสิทธิภาพของโค้ดที่ใกล้เคียงกันในเว็บเบราว์เซอร์

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

  • ประสิทธิภาพ: WASM มีชุดคุณลักษณะทางภาษาที่ครบถ้วน และเป็นรูปแบบไบนารีที่กะทัดรัดและโหลดเร็ว เป้าหมายคือการใช้ประโยชน์จากความสามารถของฮาร์ดแวร์อย่างเต็มที่เพื่อให้ได้ประสิทธิภาพภาษาแม่
  • ความปลอดภัย: WASM ทำงานในสภาพแวดล้อมการดำเนินการที่ปลอดภัยต่อหน่วยความจำและแบบแซนด์บ็อกซ์ และยังสามารถนำไปใช้งานภายในเครื่องเสมือน JavaScript ที่มีอยู่ได้อีกด้วย ในสภาพแวดล้อมของเว็บ WASM ปฏิบัติตามนโยบายต้นกำเนิดเดียวกันและนโยบายความปลอดภัยของเบราว์เซอร์อย่างเคร่งครัด ในระหว่างการคอมไพล์ WASM จะจำกัดอินเทอร์เฟซเพื่อลดความเสี่ยงด้านความปลอดภัย แอปพลิเคชัน WASM ส่วนใหญ่ไม่สามารถเข้าถึงอินเทอร์เน็ตได้ (เช่น ไม่มีการสนับสนุนซ็อกเก็ต) และจำกัดการเข้าถึงฐานข้อมูลท้องถิ่นเท่านั้น ปัญหาด้านความปลอดภัยจำนวนมากเกิดขึ้นจากการเข้าถึงหน่วยความจำโดยไม่ได้รับอนุญาต ซึ่งสามารถบรรเทาลงได้ในระหว่างการคอมไพล์ด้วย WASM
  • ความเข้ากันได้: WASM ได้รับการออกแบบมาให้ไม่มีเวอร์ชัน ทดสอบฟีเจอร์ได้ และเข้ากันได้แบบย้อนหลังบนเว็บ JavaScript สามารถเรียกใช้ ป้อนบริบท JavaScript และเข้าถึงฟังก์ชันของเบราว์เซอร์ เช่น Web API WASM สามารถทำงานได้ไม่เพียงแต่ในเว็บเบราว์เซอร์เท่านั้น แต่ยังทำงานในสภาพแวดล้อมที่ไม่ใช่เว็บด้วย เช่น Node.js อุปกรณ์ Deno และอุปกรณ์ IoT ต่างจากวิธีการแบบดั้งเดิมที่จำเป็นต้องมีการคอมไพล์หลายครั้ง WASM จำเป็นต้องได้รับการคอมไพล์เพียงครั้งเดียวเพื่อการดำเนินการแบบปลั๊กแอนด์เพลย์ทันที

นอกจากนี้ เว็บยังเป็นแพลตฟอร์มสากลที่แท้จริงเพียงแพลตฟอร์มเดียวที่อนุญาตให้เข้าถึงแอปพลิเคชันของคุณบนอุปกรณ์ใดก็ได้ นอกจากนี้ยังช่วยให้คุณสามารถรักษาฐานรหัสเดียว ลดความซับซ้อนของการอัปเดต และรับรองว่าผู้ใช้ทุกคนจะสามารถเข้าถึงแอปพลิเคชันของคุณได้ WASM รองรับการดำเนินการจำนวนเต็ม 64 บิตและ 32 บิต ซึ่งสอดคล้องกับคำสั่ง CPU โดยตรง การลบการดำเนินการจุดลอยตัวออก ทำให้สามารถบรรลุพฤติกรรมที่กำหนดได้อย่างง่ายดาย ซึ่งจำเป็นสำหรับอัลกอริธึมที่เป็นเอกฉันท์ WASM ได้รับการสนับสนุนจากโครงการโครงสร้างพื้นฐานคอมไพลเลอร์ LLVM โดยจะได้รับประโยชน์จากการปรับปรุงประสิทธิภาพของคอมไพเลอร์ใน LLVM มานานกว่าทศวรรษ WASM ได้รับการพัฒนาอย่างต่อเนื่องโดยบริษัทใหญ่ๆ เช่น Google, Apple, Microsoft, Mozilla และ Facebook และได้รับการสนับสนุนจากแบ็กเอนด์ของเบราว์เซอร์ที่พัฒนาโดยบริษัทเหล่านี้

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

2. เหตุใดเราจึงต้องมี Web Assembly?

2.1 เว็บ2

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

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

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

อย่างไรก็ตาม การแทนที่ JavaScript นั้นเป็นไปไม่ได้ในทางปฏิบัติ และอาจต้องใช้เวลาหลายทศวรรษกว่าจะบรรลุเป้าหมายนั้น เนื่องจากอินเทอร์เน็ตทั้งหมดต้องอาศัยสิ่งนี้ นอกจากนี้ยังมีชุมชนขนาดใหญ่ที่ปรับปรุง JavaScript อย่างต่อเนื่อง อันที่จริงเมื่อเปรียบเทียบกับภาษาอื่น JavaScript มีข้อบกพร่องบางประการเช่น null และ == อย่างไรก็ตาม ปัญหาเหล่านี้ไม่รุนแรงพอที่จะรับประกันการเปลี่ยนเทคโนโลยีทั้งหมด

ดังนั้น WebAssembly จะไม่แทนที่ JavaScript แต่นั่นไม่ได้หมายความว่า WASM จะไม่ถูกนำมาใช้ในอนาคต ในความเป็นจริง การใช้ WASM จะแพร่หลายมากขึ้นเรื่อยๆ เนื่องจาก WASM สามารถนำความสามารถในการคำนวณอันทรงพลังมาสู่เว็บ เช่น การประมวลผลภาพหรือเกม ด้วย WASM คุณสามารถสร้าง Photoshop เวอร์ชันบนเว็บที่ทำงานได้ดี หรือเกม 3 มิติที่ทำงานที่ 60 เฟรมต่อวินาทีหรืออัตราเฟรมที่สูงกว่าในเบราว์เซอร์ โดยเฉพาะอย่างยิ่งเกมที่นำเสนอความท้าทายเนื่องจากต้องใช้การประมวลผลเสียงและวิดีโอไปพร้อมๆ กัน รวมถึงการประสานเอฟเฟกต์ทางฟิสิกส์และ AI WASM มีความสามารถในการรันเกมในเบราว์เซอร์ได้อย่างมีประสิทธิภาพ โดยเปิดประตูสู่การนำแอปพลิเคชันอื่นๆ อีกมากมายมาสู่เบราว์เซอร์

รูปด้านบนแสดงการเปรียบเทียบเวิร์กโฟลว์ระหว่าง JavaScript และ WebAssembly (wasm) สังเกตได้ว่า wasm มีความกระชับมากกว่ามากเมื่อเทียบกับ JavaScript

2.2 เว็บ3

WASM VM

ในปี 2018 ระบบนิเวศ Ethereum เริ่มหารือเกี่ยวกับการใช้ WASM VM เป็นเครื่องเสมือนสัญญาอัจฉริยะ เนื่องจากถือว่ามีประสิทธิภาพที่ดีกว่า EVM Gavin Wood ผู้ประดิษฐ์ EVM ได้แสดงความเป็นไปได้ในการแทนที่ด้วย WASM และ Vitalik ยังระบุด้วยว่า Ethereum 2.0 จะได้รับการอัปเกรดเพื่อรองรับสัญญา WASM (eWASM) เพื่อตอบสนองความต้องการการพัฒนาที่มากขึ้น ปัจจุบัน การพัฒนาสัญญา WASM ได้เป็นรูปเป็นร่างแล้ว

2.3 EVM ออกแบบมาอย่างไร? เหตุใดจึงไม่มีประสิทธิภาพ?

ปัญหาขนาดสถาปัตยกรรม

คอมพิวเตอร์ทั่วไปมีชุดคำสั่งที่รับอินพุตขนาด 32 หรือ 64 บิต อย่างไรก็ตาม EVM นั้นแตกต่างและมีเอกลักษณ์เฉพาะตัวเนื่องจากเป็นคอมพิวเตอร์ 256 บิตที่ออกแบบมาเพื่อจัดการอัลกอริธึมแฮชของ Ethereum ได้ง่ายขึ้น ซึ่งสร้างเอาต์พุต 256 บิตที่ชัดเจน

อย่างไรก็ตาม คอมพิวเตอร์จริงที่ใช้งานโปรแกรม EVM จำเป็นต้องแยกคำ 256 บิตออกเป็นสถาปัตยกรรมดั้งเดิมเพื่อดำเนินการสัญญาอัจฉริยะ ส่งผลให้ระบบทั้งหมดไม่มีประสิทธิภาพและไม่สามารถใช้งานได้

นอกจากนี้ หากคุณต้องการใช้อัลกอริธึมที่ซับซ้อน เช่น SHA256 โดยใช้ OPCODES พื้นฐานของ EVM บน Ethereum คุณจะเจอกับช่วงเวลาที่ยากลำบาก! เพื่อแก้ไขปัญหาค่าใช้จ่ายสูงของการรันโปรแกรมที่ซับซ้อนผ่านชุดคำสั่ง Ethereum ได้แนะนำแนวคิดของการคอมไพล์ล่วงหน้า ซึ่งคอมไพล์โปรแกรมเป็น EVM และใช้ปริมาณก๊าซคงที่ พรีคอมไพล์ที่โดดเด่นคืออัลกอริธึมแฮชของ Ethereum เนื่องจากการใช้งานภายในเครื่องเสมือนจะส่งผลให้เกิดค่าธรรมเนียมที่แพงมากเมื่อมีการเรียกสัญญา

การรวบรวมล่วงหน้าป่อง

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

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

2.4 การเปรียบเทียบระหว่าง EVM และ WASM VM

  • ความเร็ว: WASM มุ่งหวังที่จะมอบความเร็วในการดำเนินการที่เร็วขึ้นเมื่อเทียบกับ EVM EVM อาจมีปัญหาด้านประสิทธิภาพในการคอมไพล์และดำเนินการสัญญาอัจฉริยะ ในขณะที่ WASM ปรับปรุงความเร็วในการโหลดและความสามารถในการประมวลผลโดยการแปลงเป็นโค้ดที่คอมไพล์โดยตรง
  • สัญญาที่คอมไพล์แล้ว: EVM อาศัยสัญญาที่คอมไพล์แล้วเพื่อการดำเนินการคำนวณการเข้ารหัสที่มีประสิทธิภาพ แต่อาจทำให้เกิดความเสี่ยงในการฮาร์ดฟอร์กได้ WASM ขจัดความจำเป็นในสัญญาที่คอมไพล์ล่วงหน้า ช่วยให้นักพัฒนาสามารถสร้างสัญญาอัจฉริยะที่มีประสิทธิภาพและรวดเร็ว
  • ต้นทุนการทำธุรกรรม: ด้วยเครื่องเสมือน WASM ที่เร็วขึ้น ปริมาณธุรกรรมจะเพิ่มขึ้นอย่างมาก ซึ่งนำไปสู่การปรับใช้สัญญาและต้นทุนธุรกรรมที่ลดลง สัญญา WASM แก้ไขปัญหาค่าธรรมเนียมการทำธุรกรรมที่สูงและความแออัดบนเครือข่าย Ethereum
  • ความยืดหยุ่นและการทำงานร่วมกัน: WASM ขยายขอบเขตของภาษาที่มีให้สำหรับการพัฒนาสัญญาอัจฉริยะ โดยสนับสนุนการใช้ภาษาระดับสูงใดๆ ที่คอมไพล์เป็น WASM เช่น Rust, C++ และ JavaScript ซึ่งหมายความว่านักพัฒนาสามารถเขียนสัญญาอัจฉริยะในภาษาที่ต้องการได้ รวมถึงเฟรมเวิร์กที่สมบูรณ์เช่นหมึก! เพื่อสนิมหรือถาม! สำหรับแอสเซมบลีสคริปต์

ขณะนี้ทีมงาน EWASM กำลังรวม WebAssembly บน Ethereum เพื่อให้มั่นใจว่าเลเยอร์การดำเนินการมีประสิทธิภาพและง่ายขึ้น ทำให้ Ethereum เหมาะสมเป็นแพลตฟอร์มการประมวลผลแบบกระจายอำนาจเต็มรูปแบบ WASM ถูกนำมาใช้เป็นมาตรฐานสำหรับโครงการอื่นๆ มากมาย รวมถึง Dfinity และ EOS ซึ่งทั้งสองโครงการใช้ WASM เพื่อปรับปรุงเลเยอร์การดำเนินการ

2.5 สไตลัส (อนุญาโตตุลาการ)

โครงการ Stylus เป็นความคิดริเริ่มบนเครือข่าย Arbitrum Ethereum Layer 2 ที่มีจุดมุ่งหมายเพื่อปรับปรุงประสิทธิภาพของการดำเนินการตามสัญญาอัจฉริยะโดยการแนะนำเครื่องเสมือน WebAssembly (WASM) สามารถดำเนินการตามสัญญาได้เร็วกว่าด้วย Solidity ในขณะที่ลดต้นทุนค่าน้ำมัน ทำให้ง่ายต่อการสร้างสัญญาอัจฉริยะประสิทธิภาพสูงบนเครือข่าย Arbitrum และปัจจุบันรองรับการคอมไพล์ใน C, C++ และ Rust

การสนับสนุนพรีคอมไพล์แบบกำหนดเอง: Stylus ยังรองรับพรีคอมไพล์แบบกำหนดเอง ซึ่งช่วยให้นักพัฒนาสามารถปรับใช้พรีคอมไพล์ Rust หรือ C++ ของตนเองกับเครือข่าย Arbitrum สิ่งนี้สามารถช่วยแนะนำอัลกอริธึมการเข้ารหัสใหม่หรือฟังก์ชันเฉพาะอื่นๆ บนเชนโดยไม่ต้องรอการอัพเกรดบนเชน ตัวอย่างเช่น การคำนวณเทนเซอร์สามารถคอมไพล์ล่วงหน้าเพื่อลดต้นทุนการอนุมาน ซึ่งอาจเป็นประโยชน์สำหรับการเรียนรู้ของเครื่องแบบออนไลน์

การทำงานร่วมกันกับ EVM: Stylus บรรลุการบูรณาการกับระบบนิเวศ Ethereum ที่มีอยู่ผ่านการทำงานร่วมกันกับ Ethereum Virtual Machine (EVM) ซึ่งหมายความว่าสัญญาของสไตลัสสามารถโต้ตอบกับสัญญา EVM ที่มีอยู่และแบ่งปันสถานะสากลเดียวกันกับ EVM

การกลับเข้าใหม่: แตกต่างจาก Cosmos Wasm ตรงที่ Stylus Rust SDK แนะนำคุณสมบัติการกลับเข้าใหม่ และอนุญาตให้นักพัฒนาเปิดใช้งานได้ด้วยตนเอง สิ่งนี้ทำให้สัญญามีความยืดหยุ่นมากขึ้นในการทำงานร่วมกัน แต่นักพัฒนาจำเป็นต้องจัดการรัฐอย่างระมัดระวังเพื่อความปลอดภัย

จากระบบนิเวศที่เจริญรุ่งเรืองของ Arbitrum การบูรณาการของ Stylus อาจเป็นการรวม WASM ที่มีความหมายมากที่สุด นอกจากนี้ยังช่วยเพิ่มขีดความสามารถในการแข่งขันของ Arbitrum ในสาขา zkRollup

2.6 เกียร์ (ลายจุด)

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

ก่อนหน้านี้ ค่าใช้จ่ายในการเปิดตัวบล็อกเชนนั้นสูง แต่ Gear ช่วยให้นักพัฒนา dApp มุ่งเน้นไปที่โปรเจ็กต์ของตนได้ แทนที่จะสร้างและดำเนินการบล็อกเชนทั้งหมดตั้งแต่เริ่มต้น

กลไกหลักของโปรโตคอล Gear คือโมดูลสัญญาอัจฉริยะ ในกรณีของ Gear สัญญาอัจฉริยะใดๆ ก็ตามคือโปรแกรม WebAssembly ที่คอมไพล์ในภาษาต่างๆ เช่น Rust, C และ C++ สำหรับนักพัฒนาจากนอกโลก crypto อุปสรรคในการเข้าสู่ตลาดมีน้อยเพราะพวกเขาสามารถสร้างสัญญาอัจฉริยะในสภาพแวดล้อมที่คุ้นเคยได้ นักพัฒนาพบว่าการทดลองกับภาษาการเขียนโปรแกรมสัญญาอัจฉริยะนั้นง่ายกว่า

สถาปัตยกรรมสัญญาอัจฉริยะของ Gear ใช้ Actor Model ภายใต้ประทุนและมีฟังก์ชันการทำงานดังต่อไปนี้:

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

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

2.7 CosmWasm (คอสมอส)

CosmWasm เป็นแพลตฟอร์มสัญญาอัจฉริยะที่ใช้ Wasm ที่ทันสมัยและทรงพลัง ซึ่งสามารถผสานรวมกับ Cosmos-SDK ได้อย่างง่ายดาย สิ่งนี้แสดงให้เห็นถึงข้อดีหลักประการหนึ่งของ CosmWasm: สัญญาที่เขียนด้วย CosmWasm ได้รับการบูรณาการอย่างแน่นหนากับ IBC (Inter-Blockchain Communication) โดยกำเนิด ช่วยให้นักพัฒนาและผู้ใช้สามารถเข้าสู่อนาคตของ multi-chain ปัจจุบันรองรับเฉพาะ Rust เท่านั้น

ข้อดีของ CosmWasm

  1. ความปลอดภัย: ปรับปรุงความปลอดภัยของสัญญาอัจฉริยะโดยใช้ภาษาการเขียนโปรแกรม Rust
  2. ความเข้ากันได้แบบข้ามสายโซ่: รองรับโปรโตคอล IBC (Inter-Blockchain Communication) ภายในระบบนิเวศของ Cosmos
  3. ประสิทธิภาพ: แสดงให้เห็นถึงประสิทธิภาพที่สูงขึ้นและต้นทุนการทำธุรกรรมที่ลดลงในบางกรณี เมื่อเปรียบเทียบกับ Ethereum Virtual Machine (EVM) แบบดั้งเดิม
  4. เป็นมิตรกับนักพัฒนา: คุณลักษณะด้านความปลอดภัยประเภทและหน่วยความจำของภาษา Rust ช่วยลดข้อผิดพลาดบางประเภทในสัญญาอัจฉริยะ

ความท้าทายและข้อจำกัด

  1. เส้นโค้งการเรียนรู้: Rust อาจมีเส้นโค้งการเรียนรู้ที่สูงชันกว่าเมื่อเทียบกับภาษาสัญญาอัจฉริยะที่ใช้กันทั่วไปเช่น Solidity เพื่อเพิ่มศักยภาพในการนำไปใช้อย่างแพร่หลาย CosmWasm จำเป็นต้องรองรับการคอมไพล์ในภาษาต่างๆ มากขึ้น
  2. ระบบนิเวศและเครื่องมือ: ในขณะที่กำลังเติบโต เครื่องมือการพัฒนาและระบบนิเวศสำหรับ CosmWasm อาจยังมีข้อจำกัดค่อนข้างมากเมื่อเทียบกับแพลตฟอร์มสัญญาอัจฉริยะที่เติบโตเต็มที่ เช่น Ethereum
  3. ส่วนแบ่งการตลาดและการรับรู้: ในพื้นที่แพลตฟอร์มสัญญาอัจฉริยะ CosmWasm อาจมีการรับรู้ต่ำกว่าเมื่อเทียบกับแพลตฟอร์มอย่าง Ethereum และ Binance Smart Chain ซึ่งส่งผลต่อความสามารถในการดึงดูดนักพัฒนาและผู้ใช้
  4. ความท้าทายในการบำรุงรักษาและอัปเกรด: แม้ว่า CosmWasm จะมีฟังก์ชันอัปเกรดสัญญา แต่การบำรุงรักษาและจัดการอัปเกรดสำหรับสัญญาอัจฉริยะยังคงเป็นงานที่ซับซ้อนซึ่งจำเป็นต้องได้รับการจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงช่องโหว่ด้านความปลอดภัย
  5. ปัญหาความเข้ากันได้: โปรเจ็กต์ที่คุ้นเคยกับ EVM หรือสภาพแวดล้อมสัญญาอัจฉริยะอื่นๆ อาจเผชิญกับความท้าทายด้านความเข้ากันได้เมื่อย้ายไปยัง CosmWasm

2.8 ZK-WASM

นอกจากเครื่องเสมือน wasm แล้ว ยังมีเทคโนโลยีเกิดใหม่ล่าสุดที่เรียกว่า ZKWASM Delphinus Labs นักประดิษฐ์ได้เปิดซอร์สโค้ดสำหรับ ZK-WASM บน GitHub ZKWASM ช่วยให้นักพัฒนาตรวจสอบความถูกต้องของการคำนวณที่ดำเนินการโดยไม่ต้องดำเนินการซ้ำ ด้วยการใช้ประโยชน์จาก ZKWASM นักพัฒนาสามารถสร้างแอปพลิเคชัน Zero-Knowledge Proof (ZKP) ได้อย่างยืดหยุ่นโดยใช้ภาษาการเขียนโปรแกรมต่างๆ แอปพลิเคชันเหล่านี้สามารถดำเนินการได้อย่างราบรื่นบนเว็บเบราว์เซอร์

ZKWASM มาจาก ZKSNARK ซึ่งเป็นการผสมผสานระหว่าง SNARG และการพิสูจน์ความรู้แบบศูนย์ เรามาอธิบายเพิ่มเติมกันดีกว่า โดยทั่วไป หากต้องการใช้ ZKSNARK คุณจะต้องเขียนโปรแกรมในภาษาวงจรเลขคณิตหรือภาษาที่เหมาะกับวงจร เช่น Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates เป็นต้น สิ่งนี้ทำให้เกิดอุปสรรคต่อโปรแกรมที่มีอยู่ ทำให้เป็นการยากสำหรับพวกเขาที่จะใช้ประโยชน์จากพลังของ ZKSNARK อย่างไรก็ตาม มีอีกวิธีหนึ่ง ซึ่งไม่ใช่การใช้ ZKSNARK ในระดับซอร์สโค้ด แต่ใช้ในระดับไบต์โค้ดของเครื่องเสมือน จากนั้นจึงนำเครื่องเสมือนที่รองรับ ZKSNARK ไปใช้ Delphinus Labs ได้นำแนวทางหลังมาใช้โดยผสมผสานเครื่องเสมือน WASM ทั้งหมดเข้ากับวงจร ZKSNARK ด้วยเหตุนี้ แอปพลิเคชัน WASM ที่มีอยู่จึงสามารถทำงานบน ZKWASM ได้โดยตรงโดยไม่ต้องแก้ไขใดๆ ดังนั้นผู้ให้บริการคลาวด์จึงสามารถพิสูจน์ให้ผู้ใช้เห็นว่าผลการคำนวณได้รับการคำนวณอย่างตรงไปตรงมาและจะไม่เปิดเผยข้อมูลส่วนตัวใดๆ

ZKWASM มีกรณีการใช้งานที่หลากหลาย เช่น การเปิดใช้งานการตรวจสอบ on-chain ของการดำเนินการในเบราว์เซอร์ ช่วยให้สามารถโต้ตอบบนเว็บที่สามารถตรวจสอบได้บนบล็อคเชน กรณีการใช้งานอื่นๆ ได้แก่ บริการของ Oracle การคำนวณนอกเครือข่าย ระบบอัตโนมัติ การเชื่อมช่องว่างระหว่าง Web2 และ Web3 การสร้างข้อพิสูจน์สำหรับการเรียนรู้ของเครื่องและการประมวลผลข้อมูล และแม้แต่แอปพลิเคชันเกมและโซเชียล ด้วยการนำไปใช้ที่เพิ่มขึ้น zkWASM ได้ขยายความเป็นไปได้ของ Web3 และรวมนักพัฒนา Web2 เข้ากับภูมิทัศน์ที่เปลี่ยนแปลงนี้

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

3. บทสรุป

ประสิทธิภาพของเว็บและอนาคตของเลเยอร์การดำเนินการแพลตฟอร์มสัญญาอัจฉริยะมีแนวโน้มที่ดี dApps ไม่เพียงแต่จะมีประสิทธิภาพที่สูงขึ้นเท่านั้น แต่การบูรณาการ WASM ยังช่วยให้ผู้ที่คุ้นเคยกับภาษากระแสหลัก เช่น Rust และ Go พัฒนาสัญญาอัจฉริยะได้ง่ายขึ้น โดยไม่ต้องเรียนรู้ความซับซ้อนของความแข็งแกร่งหรือภาษาการพัฒนาบล็อกเชนอื่นๆ จากข้อมูลของ Evans Data Corporation มีนักพัฒนาเกือบ 27 ล้านคนทั่วโลก และจำนวนนี้เพิ่มขึ้นอย่างต่อเนื่อง โดยคาดว่าจะเพิ่มขึ้นเป็นมากกว่า 28.7 ล้านคนภายในปี 2567 อย่างไรก็ตาม จำนวนนักพัฒนาในด้านบล็อกเชนยังคงน้อยกว่า 30,000 คน ซึ่งคิดเป็นเพียงหนึ่งในพันของจำนวนนักพัฒนาทั้งหมด แม้ว่าจำนวนนี้จะเพิ่มขึ้นอย่างต่อเนื่อง แต่การเรียนรู้ภาษาสัญญาอัจฉริยะใหม่ๆ อาจยังคงเป็นอุปสรรคสำหรับนักพัฒนาในการเข้าสู่อุตสาหกรรมบล็อกเชน

แต่บล็อกเชนเริ่มรองรับ Web Assembly มากขึ้นเรื่อยๆ ในฐานะรหัสไบต์สำหรับสัญญาอัจฉริยะที่คอมไพล์แล้ว WASM นำประสิทธิภาพ การทำงานร่วมกัน และกรณีการใช้งานที่หลากหลายมาสู่บล็อกเชน นอกจากนี้ยังทำหน้าที่เป็นกุญแจสำคัญในการปลดล็อกประตูสำหรับนักพัฒนา ช่วยลดอุปสรรคในการเข้าสู่การพัฒนาบล็อกเชน ลองนึกภาพว่าในอนาคตอันใกล้นี้ เมื่อนักพัฒนา Web 2.0 ต้องการลองใช้การพัฒนาบล็อกเชน พวกเขาสามารถใช้ภาษาที่คุ้นเคย เช่น Python, C++ และ JavaScript เพื่อสร้างแอปพลิเคชันขนาดใหญ่บนบล็อกเชน เพื่อเพิ่มมูลค่าสูงสุดของเครือข่ายกระจายอำนาจ ขั้นแรก ลดอุปสรรคสำหรับผู้สร้าง (นักพัฒนา) จากนั้นลดอุปสรรคสำหรับผู้ใช้ และก้าวไปสู่การนำไปใช้ในวงกว้าง

4. ดัชนี

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introcing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

ขอขอบคุณ Maggie และ Xinyou Ji (CMU) สำหรับคำแนะนำและคำแนะนำในบทความนี้

ข้อจำกัดความรับผิดชอบ: บทความทั้งหมดจาก Foresight Ventures ไม่ได้มีจุดมุ่งหมายเพื่อเป็นคำแนะนำในการลงทุน การลงทุนมีความเสี่ยง ดังนั้นโปรดประเมินการยอมรับความเสี่ยงของคุณเองและตัดสินใจลงทุนอย่างรอบคอบ

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [Foresight Research] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [Mike@ Foresight Ventures] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว

Foresight Ventures: WASM - เครื่องยนต์แห่งยุคใหม่

มือใหม่Jan 01, 2024
บทความนี้จะตรวจสอบความสัมพันธ์และกรณีการใช้งานบางส่วนระหว่าง Wasm และบล็อกเชน: สัญญาอัจฉริยะ การโต้ตอบข้ามสายโซ่ การคำนวณนอกสายโซ่ และความเป็นส่วนตัวของข้อมูล
Foresight Ventures: WASM - เครื่องยนต์แห่งยุคใหม่

TL;ดร

WebAssembly (Wasm) เป็นรูปแบบคำสั่งไบนารีแบบพกพาและประสิทธิภาพสูงที่สามารถเรียกใช้บนเว็บเบราว์เซอร์ ได้รับการออกแบบให้เป็นเป้าหมายการคอมไพล์สากลที่สามารถใช้ได้กับภาษาการเขียนโปรแกรมหลายภาษาและทำงานบนแพลตฟอร์มที่แตกต่างกัน

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

มีความสัมพันธ์และสถานการณ์การใช้งานหลายอย่างระหว่าง Wasm และ blockchain:

  1. สัญญาอัจฉริยะ: Wasm สามารถทำหน้าที่เป็นสภาพแวดล้อมการดำเนินการสำหรับสัญญาอัจฉริยะ ทำให้สัญญาทำงานบนแพลตฟอร์มบล็อกเชนที่แตกต่างกันได้ ประสิทธิภาพและความสะดวกในการพกพาที่สูงของ Wasm ช่วยให้การดำเนินการสัญญาอัจฉริยะและการใช้งานข้ามแพลตฟอร์มมีประสิทธิภาพมากขึ้น
  2. การทำงานร่วมกันแบบข้ามสายโซ่: Wasm สามารถใช้เพื่อใช้การทำงานร่วมกันแบบข้ามสายโซ่ได้ ด้วยการรวบรวมตรรกะของบล็อกเชนต่างๆ ลงในโค้ด Wasm ตรรกะเดียวกันนี้สามารถดำเนินการได้บนบล็อกเชนที่ต่างกัน ช่วยให้สามารถถ่ายโอนข้อมูลและการโต้ตอบข้ามเครือข่ายได้
  3. การคำนวณแบบออฟไลน์: Wasm สามารถใช้สำหรับการคำนวณภายนอกบล็อคเชน และส่งผลการคำนวณไปยังบล็อคเชน ช่วยให้สามารถปรับปรุงประสิทธิภาพและความยืดหยุ่นในการคำนวณ ในขณะเดียวกันก็รักษาความปลอดภัยของข้อมูลและความน่าเชื่อถือ
  4. ความเป็นส่วนตัวของข้อมูล: Wasm สามารถใช้เพื่อให้เกิดการปกป้องความเป็นส่วนตัวของข้อมูลบนบล็อกเชน ด้วยการรวบรวมตรรกะการประมวลผลของข้อมูลที่ละเอียดอ่อนลงในโค้ด Wasm และดำเนินการบนบล็อกเชน ความเป็นส่วนตัวของข้อมูลจึงสามารถรักษาไว้ได้ในขณะเดียวกันก็รับประกันความสามารถในการตรวจสอบความถูกต้องของการคำนวณ

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

1. เว็บแอสเซมบลีคืออะไร?

WebAssembly เป็นมาตรฐานชุดคำสั่งที่มีประสิทธิภาพและมีน้ำหนักเบาซึ่งพัฒนาโดย World Wide Web Consortium (W3C) ได้รับการยกย่องว่าเป็นผู้ขัดขวางเว็บและคอมพิวเตอร์ประสิทธิภาพสูง ซึ่งสนับสนุนการดำเนินการข้ามเบราว์เซอร์ ซึ่งหมายความว่าเราสามารถรวบรวมภาษาโปรแกรมต่างๆ รวมถึง C/C++, Go, Rust และอื่นๆ อีกมากมาย ให้อยู่ในรูปแบบไบนารี่มาตรฐานแบบครบวงจร และใช้แทน JavaScript โดยทำงานด้วยประสิทธิภาพของโค้ดที่ใกล้เคียงกันในเว็บเบราว์เซอร์

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

  • ประสิทธิภาพ: WASM มีชุดคุณลักษณะทางภาษาที่ครบถ้วน และเป็นรูปแบบไบนารีที่กะทัดรัดและโหลดเร็ว เป้าหมายคือการใช้ประโยชน์จากความสามารถของฮาร์ดแวร์อย่างเต็มที่เพื่อให้ได้ประสิทธิภาพภาษาแม่
  • ความปลอดภัย: WASM ทำงานในสภาพแวดล้อมการดำเนินการที่ปลอดภัยต่อหน่วยความจำและแบบแซนด์บ็อกซ์ และยังสามารถนำไปใช้งานภายในเครื่องเสมือน JavaScript ที่มีอยู่ได้อีกด้วย ในสภาพแวดล้อมของเว็บ WASM ปฏิบัติตามนโยบายต้นกำเนิดเดียวกันและนโยบายความปลอดภัยของเบราว์เซอร์อย่างเคร่งครัด ในระหว่างการคอมไพล์ WASM จะจำกัดอินเทอร์เฟซเพื่อลดความเสี่ยงด้านความปลอดภัย แอปพลิเคชัน WASM ส่วนใหญ่ไม่สามารถเข้าถึงอินเทอร์เน็ตได้ (เช่น ไม่มีการสนับสนุนซ็อกเก็ต) และจำกัดการเข้าถึงฐานข้อมูลท้องถิ่นเท่านั้น ปัญหาด้านความปลอดภัยจำนวนมากเกิดขึ้นจากการเข้าถึงหน่วยความจำโดยไม่ได้รับอนุญาต ซึ่งสามารถบรรเทาลงได้ในระหว่างการคอมไพล์ด้วย WASM
  • ความเข้ากันได้: WASM ได้รับการออกแบบมาให้ไม่มีเวอร์ชัน ทดสอบฟีเจอร์ได้ และเข้ากันได้แบบย้อนหลังบนเว็บ JavaScript สามารถเรียกใช้ ป้อนบริบท JavaScript และเข้าถึงฟังก์ชันของเบราว์เซอร์ เช่น Web API WASM สามารถทำงานได้ไม่เพียงแต่ในเว็บเบราว์เซอร์เท่านั้น แต่ยังทำงานในสภาพแวดล้อมที่ไม่ใช่เว็บด้วย เช่น Node.js อุปกรณ์ Deno และอุปกรณ์ IoT ต่างจากวิธีการแบบดั้งเดิมที่จำเป็นต้องมีการคอมไพล์หลายครั้ง WASM จำเป็นต้องได้รับการคอมไพล์เพียงครั้งเดียวเพื่อการดำเนินการแบบปลั๊กแอนด์เพลย์ทันที

นอกจากนี้ เว็บยังเป็นแพลตฟอร์มสากลที่แท้จริงเพียงแพลตฟอร์มเดียวที่อนุญาตให้เข้าถึงแอปพลิเคชันของคุณบนอุปกรณ์ใดก็ได้ นอกจากนี้ยังช่วยให้คุณสามารถรักษาฐานรหัสเดียว ลดความซับซ้อนของการอัปเดต และรับรองว่าผู้ใช้ทุกคนจะสามารถเข้าถึงแอปพลิเคชันของคุณได้ WASM รองรับการดำเนินการจำนวนเต็ม 64 บิตและ 32 บิต ซึ่งสอดคล้องกับคำสั่ง CPU โดยตรง การลบการดำเนินการจุดลอยตัวออก ทำให้สามารถบรรลุพฤติกรรมที่กำหนดได้อย่างง่ายดาย ซึ่งจำเป็นสำหรับอัลกอริธึมที่เป็นเอกฉันท์ WASM ได้รับการสนับสนุนจากโครงการโครงสร้างพื้นฐานคอมไพลเลอร์ LLVM โดยจะได้รับประโยชน์จากการปรับปรุงประสิทธิภาพของคอมไพเลอร์ใน LLVM มานานกว่าทศวรรษ WASM ได้รับการพัฒนาอย่างต่อเนื่องโดยบริษัทใหญ่ๆ เช่น Google, Apple, Microsoft, Mozilla และ Facebook และได้รับการสนับสนุนจากแบ็กเอนด์ของเบราว์เซอร์ที่พัฒนาโดยบริษัทเหล่านี้

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

2. เหตุใดเราจึงต้องมี Web Assembly?

2.1 เว็บ2

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

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

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

อย่างไรก็ตาม การแทนที่ JavaScript นั้นเป็นไปไม่ได้ในทางปฏิบัติ และอาจต้องใช้เวลาหลายทศวรรษกว่าจะบรรลุเป้าหมายนั้น เนื่องจากอินเทอร์เน็ตทั้งหมดต้องอาศัยสิ่งนี้ นอกจากนี้ยังมีชุมชนขนาดใหญ่ที่ปรับปรุง JavaScript อย่างต่อเนื่อง อันที่จริงเมื่อเปรียบเทียบกับภาษาอื่น JavaScript มีข้อบกพร่องบางประการเช่น null และ == อย่างไรก็ตาม ปัญหาเหล่านี้ไม่รุนแรงพอที่จะรับประกันการเปลี่ยนเทคโนโลยีทั้งหมด

ดังนั้น WebAssembly จะไม่แทนที่ JavaScript แต่นั่นไม่ได้หมายความว่า WASM จะไม่ถูกนำมาใช้ในอนาคต ในความเป็นจริง การใช้ WASM จะแพร่หลายมากขึ้นเรื่อยๆ เนื่องจาก WASM สามารถนำความสามารถในการคำนวณอันทรงพลังมาสู่เว็บ เช่น การประมวลผลภาพหรือเกม ด้วย WASM คุณสามารถสร้าง Photoshop เวอร์ชันบนเว็บที่ทำงานได้ดี หรือเกม 3 มิติที่ทำงานที่ 60 เฟรมต่อวินาทีหรืออัตราเฟรมที่สูงกว่าในเบราว์เซอร์ โดยเฉพาะอย่างยิ่งเกมที่นำเสนอความท้าทายเนื่องจากต้องใช้การประมวลผลเสียงและวิดีโอไปพร้อมๆ กัน รวมถึงการประสานเอฟเฟกต์ทางฟิสิกส์และ AI WASM มีความสามารถในการรันเกมในเบราว์เซอร์ได้อย่างมีประสิทธิภาพ โดยเปิดประตูสู่การนำแอปพลิเคชันอื่นๆ อีกมากมายมาสู่เบราว์เซอร์

รูปด้านบนแสดงการเปรียบเทียบเวิร์กโฟลว์ระหว่าง JavaScript และ WebAssembly (wasm) สังเกตได้ว่า wasm มีความกระชับมากกว่ามากเมื่อเทียบกับ JavaScript

2.2 เว็บ3

WASM VM

ในปี 2018 ระบบนิเวศ Ethereum เริ่มหารือเกี่ยวกับการใช้ WASM VM เป็นเครื่องเสมือนสัญญาอัจฉริยะ เนื่องจากถือว่ามีประสิทธิภาพที่ดีกว่า EVM Gavin Wood ผู้ประดิษฐ์ EVM ได้แสดงความเป็นไปได้ในการแทนที่ด้วย WASM และ Vitalik ยังระบุด้วยว่า Ethereum 2.0 จะได้รับการอัปเกรดเพื่อรองรับสัญญา WASM (eWASM) เพื่อตอบสนองความต้องการการพัฒนาที่มากขึ้น ปัจจุบัน การพัฒนาสัญญา WASM ได้เป็นรูปเป็นร่างแล้ว

2.3 EVM ออกแบบมาอย่างไร? เหตุใดจึงไม่มีประสิทธิภาพ?

ปัญหาขนาดสถาปัตยกรรม

คอมพิวเตอร์ทั่วไปมีชุดคำสั่งที่รับอินพุตขนาด 32 หรือ 64 บิต อย่างไรก็ตาม EVM นั้นแตกต่างและมีเอกลักษณ์เฉพาะตัวเนื่องจากเป็นคอมพิวเตอร์ 256 บิตที่ออกแบบมาเพื่อจัดการอัลกอริธึมแฮชของ Ethereum ได้ง่ายขึ้น ซึ่งสร้างเอาต์พุต 256 บิตที่ชัดเจน

อย่างไรก็ตาม คอมพิวเตอร์จริงที่ใช้งานโปรแกรม EVM จำเป็นต้องแยกคำ 256 บิตออกเป็นสถาปัตยกรรมดั้งเดิมเพื่อดำเนินการสัญญาอัจฉริยะ ส่งผลให้ระบบทั้งหมดไม่มีประสิทธิภาพและไม่สามารถใช้งานได้

นอกจากนี้ หากคุณต้องการใช้อัลกอริธึมที่ซับซ้อน เช่น SHA256 โดยใช้ OPCODES พื้นฐานของ EVM บน Ethereum คุณจะเจอกับช่วงเวลาที่ยากลำบาก! เพื่อแก้ไขปัญหาค่าใช้จ่ายสูงของการรันโปรแกรมที่ซับซ้อนผ่านชุดคำสั่ง Ethereum ได้แนะนำแนวคิดของการคอมไพล์ล่วงหน้า ซึ่งคอมไพล์โปรแกรมเป็น EVM และใช้ปริมาณก๊าซคงที่ พรีคอมไพล์ที่โดดเด่นคืออัลกอริธึมแฮชของ Ethereum เนื่องจากการใช้งานภายในเครื่องเสมือนจะส่งผลให้เกิดค่าธรรมเนียมที่แพงมากเมื่อมีการเรียกสัญญา

การรวบรวมล่วงหน้าป่อง

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

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

2.4 การเปรียบเทียบระหว่าง EVM และ WASM VM

  • ความเร็ว: WASM มุ่งหวังที่จะมอบความเร็วในการดำเนินการที่เร็วขึ้นเมื่อเทียบกับ EVM EVM อาจมีปัญหาด้านประสิทธิภาพในการคอมไพล์และดำเนินการสัญญาอัจฉริยะ ในขณะที่ WASM ปรับปรุงความเร็วในการโหลดและความสามารถในการประมวลผลโดยการแปลงเป็นโค้ดที่คอมไพล์โดยตรง
  • สัญญาที่คอมไพล์แล้ว: EVM อาศัยสัญญาที่คอมไพล์แล้วเพื่อการดำเนินการคำนวณการเข้ารหัสที่มีประสิทธิภาพ แต่อาจทำให้เกิดความเสี่ยงในการฮาร์ดฟอร์กได้ WASM ขจัดความจำเป็นในสัญญาที่คอมไพล์ล่วงหน้า ช่วยให้นักพัฒนาสามารถสร้างสัญญาอัจฉริยะที่มีประสิทธิภาพและรวดเร็ว
  • ต้นทุนการทำธุรกรรม: ด้วยเครื่องเสมือน WASM ที่เร็วขึ้น ปริมาณธุรกรรมจะเพิ่มขึ้นอย่างมาก ซึ่งนำไปสู่การปรับใช้สัญญาและต้นทุนธุรกรรมที่ลดลง สัญญา WASM แก้ไขปัญหาค่าธรรมเนียมการทำธุรกรรมที่สูงและความแออัดบนเครือข่าย Ethereum
  • ความยืดหยุ่นและการทำงานร่วมกัน: WASM ขยายขอบเขตของภาษาที่มีให้สำหรับการพัฒนาสัญญาอัจฉริยะ โดยสนับสนุนการใช้ภาษาระดับสูงใดๆ ที่คอมไพล์เป็น WASM เช่น Rust, C++ และ JavaScript ซึ่งหมายความว่านักพัฒนาสามารถเขียนสัญญาอัจฉริยะในภาษาที่ต้องการได้ รวมถึงเฟรมเวิร์กที่สมบูรณ์เช่นหมึก! เพื่อสนิมหรือถาม! สำหรับแอสเซมบลีสคริปต์

ขณะนี้ทีมงาน EWASM กำลังรวม WebAssembly บน Ethereum เพื่อให้มั่นใจว่าเลเยอร์การดำเนินการมีประสิทธิภาพและง่ายขึ้น ทำให้ Ethereum เหมาะสมเป็นแพลตฟอร์มการประมวลผลแบบกระจายอำนาจเต็มรูปแบบ WASM ถูกนำมาใช้เป็นมาตรฐานสำหรับโครงการอื่นๆ มากมาย รวมถึง Dfinity และ EOS ซึ่งทั้งสองโครงการใช้ WASM เพื่อปรับปรุงเลเยอร์การดำเนินการ

2.5 สไตลัส (อนุญาโตตุลาการ)

โครงการ Stylus เป็นความคิดริเริ่มบนเครือข่าย Arbitrum Ethereum Layer 2 ที่มีจุดมุ่งหมายเพื่อปรับปรุงประสิทธิภาพของการดำเนินการตามสัญญาอัจฉริยะโดยการแนะนำเครื่องเสมือน WebAssembly (WASM) สามารถดำเนินการตามสัญญาได้เร็วกว่าด้วย Solidity ในขณะที่ลดต้นทุนค่าน้ำมัน ทำให้ง่ายต่อการสร้างสัญญาอัจฉริยะประสิทธิภาพสูงบนเครือข่าย Arbitrum และปัจจุบันรองรับการคอมไพล์ใน C, C++ และ Rust

การสนับสนุนพรีคอมไพล์แบบกำหนดเอง: Stylus ยังรองรับพรีคอมไพล์แบบกำหนดเอง ซึ่งช่วยให้นักพัฒนาสามารถปรับใช้พรีคอมไพล์ Rust หรือ C++ ของตนเองกับเครือข่าย Arbitrum สิ่งนี้สามารถช่วยแนะนำอัลกอริธึมการเข้ารหัสใหม่หรือฟังก์ชันเฉพาะอื่นๆ บนเชนโดยไม่ต้องรอการอัพเกรดบนเชน ตัวอย่างเช่น การคำนวณเทนเซอร์สามารถคอมไพล์ล่วงหน้าเพื่อลดต้นทุนการอนุมาน ซึ่งอาจเป็นประโยชน์สำหรับการเรียนรู้ของเครื่องแบบออนไลน์

การทำงานร่วมกันกับ EVM: Stylus บรรลุการบูรณาการกับระบบนิเวศ Ethereum ที่มีอยู่ผ่านการทำงานร่วมกันกับ Ethereum Virtual Machine (EVM) ซึ่งหมายความว่าสัญญาของสไตลัสสามารถโต้ตอบกับสัญญา EVM ที่มีอยู่และแบ่งปันสถานะสากลเดียวกันกับ EVM

การกลับเข้าใหม่: แตกต่างจาก Cosmos Wasm ตรงที่ Stylus Rust SDK แนะนำคุณสมบัติการกลับเข้าใหม่ และอนุญาตให้นักพัฒนาเปิดใช้งานได้ด้วยตนเอง สิ่งนี้ทำให้สัญญามีความยืดหยุ่นมากขึ้นในการทำงานร่วมกัน แต่นักพัฒนาจำเป็นต้องจัดการรัฐอย่างระมัดระวังเพื่อความปลอดภัย

จากระบบนิเวศที่เจริญรุ่งเรืองของ Arbitrum การบูรณาการของ Stylus อาจเป็นการรวม WASM ที่มีความหมายมากที่สุด นอกจากนี้ยังช่วยเพิ่มขีดความสามารถในการแข่งขันของ Arbitrum ในสาขา zkRollup

2.6 เกียร์ (ลายจุด)

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

ก่อนหน้านี้ ค่าใช้จ่ายในการเปิดตัวบล็อกเชนนั้นสูง แต่ Gear ช่วยให้นักพัฒนา dApp มุ่งเน้นไปที่โปรเจ็กต์ของตนได้ แทนที่จะสร้างและดำเนินการบล็อกเชนทั้งหมดตั้งแต่เริ่มต้น

กลไกหลักของโปรโตคอล Gear คือโมดูลสัญญาอัจฉริยะ ในกรณีของ Gear สัญญาอัจฉริยะใดๆ ก็ตามคือโปรแกรม WebAssembly ที่คอมไพล์ในภาษาต่างๆ เช่น Rust, C และ C++ สำหรับนักพัฒนาจากนอกโลก crypto อุปสรรคในการเข้าสู่ตลาดมีน้อยเพราะพวกเขาสามารถสร้างสัญญาอัจฉริยะในสภาพแวดล้อมที่คุ้นเคยได้ นักพัฒนาพบว่าการทดลองกับภาษาการเขียนโปรแกรมสัญญาอัจฉริยะนั้นง่ายกว่า

สถาปัตยกรรมสัญญาอัจฉริยะของ Gear ใช้ Actor Model ภายใต้ประทุนและมีฟังก์ชันการทำงานดังต่อไปนี้:

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

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

2.7 CosmWasm (คอสมอส)

CosmWasm เป็นแพลตฟอร์มสัญญาอัจฉริยะที่ใช้ Wasm ที่ทันสมัยและทรงพลัง ซึ่งสามารถผสานรวมกับ Cosmos-SDK ได้อย่างง่ายดาย สิ่งนี้แสดงให้เห็นถึงข้อดีหลักประการหนึ่งของ CosmWasm: สัญญาที่เขียนด้วย CosmWasm ได้รับการบูรณาการอย่างแน่นหนากับ IBC (Inter-Blockchain Communication) โดยกำเนิด ช่วยให้นักพัฒนาและผู้ใช้สามารถเข้าสู่อนาคตของ multi-chain ปัจจุบันรองรับเฉพาะ Rust เท่านั้น

ข้อดีของ CosmWasm

  1. ความปลอดภัย: ปรับปรุงความปลอดภัยของสัญญาอัจฉริยะโดยใช้ภาษาการเขียนโปรแกรม Rust
  2. ความเข้ากันได้แบบข้ามสายโซ่: รองรับโปรโตคอล IBC (Inter-Blockchain Communication) ภายในระบบนิเวศของ Cosmos
  3. ประสิทธิภาพ: แสดงให้เห็นถึงประสิทธิภาพที่สูงขึ้นและต้นทุนการทำธุรกรรมที่ลดลงในบางกรณี เมื่อเปรียบเทียบกับ Ethereum Virtual Machine (EVM) แบบดั้งเดิม
  4. เป็นมิตรกับนักพัฒนา: คุณลักษณะด้านความปลอดภัยประเภทและหน่วยความจำของภาษา Rust ช่วยลดข้อผิดพลาดบางประเภทในสัญญาอัจฉริยะ

ความท้าทายและข้อจำกัด

  1. เส้นโค้งการเรียนรู้: Rust อาจมีเส้นโค้งการเรียนรู้ที่สูงชันกว่าเมื่อเทียบกับภาษาสัญญาอัจฉริยะที่ใช้กันทั่วไปเช่น Solidity เพื่อเพิ่มศักยภาพในการนำไปใช้อย่างแพร่หลาย CosmWasm จำเป็นต้องรองรับการคอมไพล์ในภาษาต่างๆ มากขึ้น
  2. ระบบนิเวศและเครื่องมือ: ในขณะที่กำลังเติบโต เครื่องมือการพัฒนาและระบบนิเวศสำหรับ CosmWasm อาจยังมีข้อจำกัดค่อนข้างมากเมื่อเทียบกับแพลตฟอร์มสัญญาอัจฉริยะที่เติบโตเต็มที่ เช่น Ethereum
  3. ส่วนแบ่งการตลาดและการรับรู้: ในพื้นที่แพลตฟอร์มสัญญาอัจฉริยะ CosmWasm อาจมีการรับรู้ต่ำกว่าเมื่อเทียบกับแพลตฟอร์มอย่าง Ethereum และ Binance Smart Chain ซึ่งส่งผลต่อความสามารถในการดึงดูดนักพัฒนาและผู้ใช้
  4. ความท้าทายในการบำรุงรักษาและอัปเกรด: แม้ว่า CosmWasm จะมีฟังก์ชันอัปเกรดสัญญา แต่การบำรุงรักษาและจัดการอัปเกรดสำหรับสัญญาอัจฉริยะยังคงเป็นงานที่ซับซ้อนซึ่งจำเป็นต้องได้รับการจัดการอย่างระมัดระวังเพื่อหลีกเลี่ยงช่องโหว่ด้านความปลอดภัย
  5. ปัญหาความเข้ากันได้: โปรเจ็กต์ที่คุ้นเคยกับ EVM หรือสภาพแวดล้อมสัญญาอัจฉริยะอื่นๆ อาจเผชิญกับความท้าทายด้านความเข้ากันได้เมื่อย้ายไปยัง CosmWasm

2.8 ZK-WASM

นอกจากเครื่องเสมือน wasm แล้ว ยังมีเทคโนโลยีเกิดใหม่ล่าสุดที่เรียกว่า ZKWASM Delphinus Labs นักประดิษฐ์ได้เปิดซอร์สโค้ดสำหรับ ZK-WASM บน GitHub ZKWASM ช่วยให้นักพัฒนาตรวจสอบความถูกต้องของการคำนวณที่ดำเนินการโดยไม่ต้องดำเนินการซ้ำ ด้วยการใช้ประโยชน์จาก ZKWASM นักพัฒนาสามารถสร้างแอปพลิเคชัน Zero-Knowledge Proof (ZKP) ได้อย่างยืดหยุ่นโดยใช้ภาษาการเขียนโปรแกรมต่างๆ แอปพลิเคชันเหล่านี้สามารถดำเนินการได้อย่างราบรื่นบนเว็บเบราว์เซอร์

ZKWASM มาจาก ZKSNARK ซึ่งเป็นการผสมผสานระหว่าง SNARG และการพิสูจน์ความรู้แบบศูนย์ เรามาอธิบายเพิ่มเติมกันดีกว่า โดยทั่วไป หากต้องการใช้ ZKSNARK คุณจะต้องเขียนโปรแกรมในภาษาวงจรเลขคณิตหรือภาษาที่เหมาะกับวงจร เช่น Pinocchio, TinyRAM, Buffet/Pequin, Geppetto, xJsnark framework, ZoKrates เป็นต้น สิ่งนี้ทำให้เกิดอุปสรรคต่อโปรแกรมที่มีอยู่ ทำให้เป็นการยากสำหรับพวกเขาที่จะใช้ประโยชน์จากพลังของ ZKSNARK อย่างไรก็ตาม มีอีกวิธีหนึ่ง ซึ่งไม่ใช่การใช้ ZKSNARK ในระดับซอร์สโค้ด แต่ใช้ในระดับไบต์โค้ดของเครื่องเสมือน จากนั้นจึงนำเครื่องเสมือนที่รองรับ ZKSNARK ไปใช้ Delphinus Labs ได้นำแนวทางหลังมาใช้โดยผสมผสานเครื่องเสมือน WASM ทั้งหมดเข้ากับวงจร ZKSNARK ด้วยเหตุนี้ แอปพลิเคชัน WASM ที่มีอยู่จึงสามารถทำงานบน ZKWASM ได้โดยตรงโดยไม่ต้องแก้ไขใดๆ ดังนั้นผู้ให้บริการคลาวด์จึงสามารถพิสูจน์ให้ผู้ใช้เห็นว่าผลการคำนวณได้รับการคำนวณอย่างตรงไปตรงมาและจะไม่เปิดเผยข้อมูลส่วนตัวใดๆ

ZKWASM มีกรณีการใช้งานที่หลากหลาย เช่น การเปิดใช้งานการตรวจสอบ on-chain ของการดำเนินการในเบราว์เซอร์ ช่วยให้สามารถโต้ตอบบนเว็บที่สามารถตรวจสอบได้บนบล็อคเชน กรณีการใช้งานอื่นๆ ได้แก่ บริการของ Oracle การคำนวณนอกเครือข่าย ระบบอัตโนมัติ การเชื่อมช่องว่างระหว่าง Web2 และ Web3 การสร้างข้อพิสูจน์สำหรับการเรียนรู้ของเครื่องและการประมวลผลข้อมูล และแม้แต่แอปพลิเคชันเกมและโซเชียล ด้วยการนำไปใช้ที่เพิ่มขึ้น zkWASM ได้ขยายความเป็นไปได้ของ Web3 และรวมนักพัฒนา Web2 เข้ากับภูมิทัศน์ที่เปลี่ยนแปลงนี้

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

3. บทสรุป

ประสิทธิภาพของเว็บและอนาคตของเลเยอร์การดำเนินการแพลตฟอร์มสัญญาอัจฉริยะมีแนวโน้มที่ดี dApps ไม่เพียงแต่จะมีประสิทธิภาพที่สูงขึ้นเท่านั้น แต่การบูรณาการ WASM ยังช่วยให้ผู้ที่คุ้นเคยกับภาษากระแสหลัก เช่น Rust และ Go พัฒนาสัญญาอัจฉริยะได้ง่ายขึ้น โดยไม่ต้องเรียนรู้ความซับซ้อนของความแข็งแกร่งหรือภาษาการพัฒนาบล็อกเชนอื่นๆ จากข้อมูลของ Evans Data Corporation มีนักพัฒนาเกือบ 27 ล้านคนทั่วโลก และจำนวนนี้เพิ่มขึ้นอย่างต่อเนื่อง โดยคาดว่าจะเพิ่มขึ้นเป็นมากกว่า 28.7 ล้านคนภายในปี 2567 อย่างไรก็ตาม จำนวนนักพัฒนาในด้านบล็อกเชนยังคงน้อยกว่า 30,000 คน ซึ่งคิดเป็นเพียงหนึ่งในพันของจำนวนนักพัฒนาทั้งหมด แม้ว่าจำนวนนี้จะเพิ่มขึ้นอย่างต่อเนื่อง แต่การเรียนรู้ภาษาสัญญาอัจฉริยะใหม่ๆ อาจยังคงเป็นอุปสรรคสำหรับนักพัฒนาในการเข้าสู่อุตสาหกรรมบล็อกเชน

แต่บล็อกเชนเริ่มรองรับ Web Assembly มากขึ้นเรื่อยๆ ในฐานะรหัสไบต์สำหรับสัญญาอัจฉริยะที่คอมไพล์แล้ว WASM นำประสิทธิภาพ การทำงานร่วมกัน และกรณีการใช้งานที่หลากหลายมาสู่บล็อกเชน นอกจากนี้ยังทำหน้าที่เป็นกุญแจสำคัญในการปลดล็อกประตูสำหรับนักพัฒนา ช่วยลดอุปสรรคในการเข้าสู่การพัฒนาบล็อกเชน ลองนึกภาพว่าในอนาคตอันใกล้นี้ เมื่อนักพัฒนา Web 2.0 ต้องการลองใช้การพัฒนาบล็อกเชน พวกเขาสามารถใช้ภาษาที่คุ้นเคย เช่น Python, C++ และ JavaScript เพื่อสร้างแอปพลิเคชันขนาดใหญ่บนบล็อกเชน เพื่อเพิ่มมูลค่าสูงสุดของเครือข่ายกระจายอำนาจ ขั้นแรก ลดอุปสรรคสำหรับผู้สร้าง (นักพัฒนา) จากนั้นลดอุปสรรคสำหรับผู้ใช้ และก้าวไปสู่การนำไปใช้ในวงกว้าง

4. ดัชนี

https://blog.scottlogic.com/2022/06/20/state-of-wasm-2022.html

https://www.notion.so/18f67cee15c147dfae68b06269a455c0?pvs=21

https://wiki.polkadot.network/docs/learn-wasm

https://docs.arbitrum.io/stylus/stylus-gentle-introduction

https://medium.com/@gear_techs/introcing-gear-easy-to-use-polkadot-parachain-9ccd05437a9c

https://medium.com/cosmwasm/cosmwasm-for-ctos-f1ffa19cccb8

https://www.cncf.io/wp-content/uploads/2023/09/The-State-of-WebAssembly-2023.pdf

https://github.com/DelphinusLab/zkWasm

ขอขอบคุณ Maggie และ Xinyou Ji (CMU) สำหรับคำแนะนำและคำแนะนำในบทความนี้

ข้อจำกัดความรับผิดชอบ: บทความทั้งหมดจาก Foresight Ventures ไม่ได้มีจุดมุ่งหมายเพื่อเป็นคำแนะนำในการลงทุน การลงทุนมีความเสี่ยง ดังนั้นโปรดประเมินการยอมรับความเสี่ยงของคุณเองและตัดสินใจลงทุนอย่างรอบคอบ

ข้อสงวนสิทธิ์:

  1. บทความนี้พิมพ์ซ้ำจาก [Foresight Research] ลิขสิทธิ์ทั้งหมดเป็นของผู้เขียนต้นฉบับ [Mike@ Foresight Ventures] หากมีการคัดค้านการพิมพ์ซ้ำนี้ โปรดติดต่อทีมงาน Gate Learn แล้วพวกเขาจะจัดการโดยเร็วที่สุด
  2. การปฏิเสธความรับผิด: มุมมองและความคิดเห็นที่แสดงในบทความนี้เป็นเพียงของผู้เขียนเท่านั้น และไม่ถือเป็นคำแนะนำในการลงทุนใดๆ
  3. การแปลบทความเป็นภาษาอื่นดำเนินการโดยทีมงาน Gate Learn เว้นแต่จะกล่าวถึง ห้ามคัดลอก แจกจ่าย หรือลอกเลียนแบบบทความที่แปลแล้ว
เริ่มตอนนี้
สมัครและรับรางวัล
$100