Blockchain และอุตสาหกรรม crypto ได้ปฏิวัติภาคการเงินและโลก บริษัทสตาร์ทอัพหลายแห่งถือกำเนิดขึ้นเพื่อช่วยการเติบโตของอุตสาหกรรมและสร้างการใช้งานสกุลเงินดิจิทัลอย่างแพร่หลาย หลายโครงการได้สร้างแพลตฟอร์มใหม่ที่ดึงดูดผู้ใช้กระแสหลักเพื่อดึงดูดผู้ชมที่กว้างขึ้น
โครงการเหล่านี้ขับเคลื่อนโดยกลไกหลายอย่างที่รับประกันการดำเนินงานที่ราบรื่น มั่นใจได้ว่าเป็นแพลตฟอร์มที่ปลอดภัย มั่นคง และมีประสิทธิภาพ สัญญาอัจฉริยะ ซึ่งเป็นโปรแกรมคอมพิวเตอร์เป็นองค์ประกอบสำคัญเนื่องจากควบคุมกิจกรรมและเหตุการณ์ของสัญญา เพื่อให้แน่ใจว่า Move smart contract ถูกสร้างขึ้นเพื่อช่วยให้นักพัฒนาสร้างซอฟต์แวร์ที่ปรับเปลี่ยนได้ ซึ่งช่วยให้การพัฒนาโปรแกรมง่ายขึ้น
บทความนี้จะตรวจสอบคุณสมบัติ การใช้งาน ส่วนประกอบของ Move และความลับเบื้องหลังความนิยมล่าสุด
Move เป็นภาษา bytecode ที่ใช้งานได้ซึ่งใช้สัญญาอัจฉริยะและธุรกรรมที่ปรับแต่งได้ ได้รับการพัฒนาเพื่อจัดการกับปัญหาทั่วไปที่ส่งผลกระทบต่อภาษาโปรแกรมบล็อกเชน ด้วยข้อได้เปรียบที่เพิ่มขึ้นของการรักษาความปลอดภัยและการป้องกัน Move จึงสร้างช่องทางสำหรับนักพัฒนาในการสร้างโปรแกรมที่ยืดหยุ่นซึ่งจัดการและถ่ายโอนสินทรัพย์ดิจิทัลได้อย่างง่ายดาย
แม้ว่าจะมีประโยชน์อื่นๆ แต่เป้าหมายหลักของทีมพัฒนา Move คือการสร้างภาษาที่รับประกันว่าเนื้อหาดิจิทัลหนึ่งๆ อาจถูกใช้เพียงครั้งเดียวและสามารถถือครองได้ทีละคนเท่านั้น
Move ได้รับการพัฒนาให้เป็นภาษาการเขียนโปรแกรมที่ปลอดภัยและเรียบง่ายสำหรับ Diem blockchain ที่พัฒนาโดย Facebook Libra ได้รับการพัฒนาให้เป็นบล็อกเชนที่ใช้งานง่าย ราคาถูก และเป็นที่นิยมใช้กันทั่วโลก ได้รับการพัฒนาเป็นสินทรัพย์ดิจิทัลที่ใช้บล็อกเชนต้นทุนต่ำและยืดหยุ่น ดังนั้น Move ได้รับการออกแบบมาเพื่อทำธุรกรรมบล็อกเชนและอนุญาตให้นักพัฒนาสร้างแอปที่เข้ากันได้กับ Libra
ก่อนสิ้นปี 2020 Libra เผชิญกับปัญหาและฟันเฟืองจากสมาชิกเศรษฐกิจจากประเทศต่างๆ และปัญหาเกี่ยวกับชื่อและโลโก้ ซึ่งทำให้เปลี่ยนชื่อเป็น Diem การเปิดตัวบล็อกเชนล้มเหลวในเดือนมกราคม 2022 เนื่องจากความกังวลของมหาอำนาจระดับโลกเกี่ยวกับปัญหาด้านความปลอดภัยและการฟอกเงินที่การเปิดตัว Libra จะก่อตัวขึ้น
ย้ายถูกเขียนโดยใช้ ภาษา RUST ; ภาษาโปรแกรมแบบหลายกระบวนทัศน์ยอดนิยมที่โปรแกรมเมอร์ทั่วโลกต้องการอย่างมากในปี 2018 ภาษาการเขียนโปรแกรมของ Rust ให้ความสำคัญกับความปลอดภัยของหน่วยความจำและการป้องกันการแย่งชิงข้อมูลพร้อมกัน ได้รับการพัฒนาโดย Graydon Hoare ในปี 2549 ในขณะที่เขาทำงานให้กับ Mozilla Research
การออกแบบของ Move สำหรับ Diem blockchain มุ่งเน้นไปที่การสร้างแพลตฟอร์มที่ปลอดภัยและตั้งโปรแกรมได้ง่าย เพื่อแสดงให้เห็นว่า Move ต้องแสดงกฎหมาย Diem blockchain และสกุลเงินด้วยวิธีที่เรียบง่าย แม่นยำ และตรวจสอบได้
ด้วยเหตุนี้ นักพัฒนาซอฟต์แวร์ Move จึงเลือกเป้าหมายการออกแบบเฉพาะเพื่อรองรับการเติบโตของโปรแกรมและยังคงมีความเกี่ยวข้องในอนาคต เป้าหมายการออกแบบบางส่วนมีดังต่อไปนี้:
Move ช่วยให้ผู้ใช้สามารถประกาศเนื้อหาที่กำหนดเองเป็นประเภททรัพยากรได้ ทรัพย์สินเหล่านี้เรียกว่าทรัพยากรชั้นหนึ่งและได้รับสิทธิพิเศษและเพิ่มความปลอดภัย ทรัพยากรระดับเฟิร์สคลาสจะได้รับการควบคุมการเข้าถึงโดยอัตโนมัติ ดังนั้นเฉพาะผู้ใช้ที่มีรหัสความปลอดภัยที่ถูกต้องเท่านั้นที่จะสามารถปรับขนาดผ่านจุดเชื่อมต่อได้ Move ยังมีโมดูลต่างๆ เช่น Ethereum smart contract ( Solidity ) ที่เป็นที่นิยม โมดูลเหล่านี้เป็นบล็อคโค้ดที่เก็บทรัพยากรและประเภทและขั้นตอนต่างๆ
บิลด์พิเศษของ Move ทำให้ทรัพยากรสามารถโปร่งใสอย่างสมบูรณ์ในโมดูล ในขณะที่ทึบต่อการเรียกใช้ภายนอกไปยังโมดูล คุณสมบัติที่สำคัญอีกประการของภาษา Move คือทรัพยากรไม่สามารถคัดลอกหรือลบออกได้ทั้งหมด สามารถย้ายจากที่เก็บข้อมูลหนึ่งไปยังอีกที่หนึ่งเท่านั้น
สคริปต์การทำธุรกรรมจะรวมอยู่ในธุรกรรม Diem (Libra) ทุกรายการ สคริปต์การทำธุรกรรมเหล่านี้ใช้ในโมดูลเพื่อทำการโทรและขั้นตอนการเรียก โพรซีเดอร์หลักเดียวสามารถประกอบด้วยโค้ดที่ปรับแต่งได้เองและตามอำเภอใจ สคริปต์ธุรกรรมเดียวสามารถเรียกใช้ขั้นตอนต่างๆ
โมดูล Move ช่วยให้โปรแกรมเมอร์มีความยืดหยุ่นพร้อมโอกาสในการสร้างรหัสที่ปลอดภัย Move สามารถเปรียบได้กับภาษาการเขียนโปรแกรมเชิงวัตถุ เนื่องจากมีความสัมพันธ์ที่เหมือนกันระหว่าง "คลาส วิธีการ อ็อบเจกต์" และ "โมดูล ขั้นตอน และทรัพยากร"
MOVE อนุญาตให้ใช้เครื่องมือการตรวจสอบแบบออฟไลน์แม้ว่าจะมีระบบที่เปิดใช้งานการตรวจสอบแบบออนไลน์อยู่แล้วก็ตาม เนื่องจากการตรวจสอบแบบออนไลน์ไม่เหมาะสมสำหรับบล็อกเชนระดับสูง การแนะนำการตรวจสอบแบบออฟไลน์จะช่วยลดขั้นตอนที่ซับซ้อนของการตรวจสอบแบบออนไลน์ เพื่อให้บรรลุเป้าหมายนี้ ภาษาโปรแกรมย้ายจะมุ่งเน้นไปที่การออกแบบที่แตกต่างกันสามแบบ:
สิ่งนี้ใช้เพื่อหลีกเลี่ยงการสร้างกราฟการโทรที่ซับซ้อนและอนุญาตให้กำหนดไซต์การโทรแบบคงที่
MOVE ด้วยความช่วยเหลือของโมดูลาร์ ทำให้สามารถแยกโมดูลสำหรับการตรวจสอบการทำงานได้ ย้ายโมดูลจะช่วยในการแยกข้อมูลและโลคัลไลซ์การดำเนินการทรัพยากรที่สำคัญ
การออกแบบนี้เหมาะสำหรับกรณีที่มุ่งเน้นไปที่การใช้ประเภทการอ้างอิงที่คล้ายกับ C ++ อนุญาตให้มีการอ้างอิงที่ไม่แน่นอนได้สูงสุดหนึ่งรายการต่อจุด
คุณสมบัติด้านความปลอดภัยสามประการมีความสำคัญในภาษาโปรแกรม Move; ประเภทความปลอดภัย ความปลอดภัยของทรัพยากร และความปลอดภัยของหน่วยความจำ มีหลายวิธีที่เป็นไปได้ที่ Move สามารถใช้เพื่อให้แน่ใจว่าโปรแกรมที่ไม่ปฏิบัติตามคุณสมบัติด้านความปลอดภัยเหล่านี้จะไม่ได้รับการยอมรับ
วิธีแรกคือให้ Move ใช้ภาษาโปรแกรมระดับสูงพร้อมกับคอมไพเลอร์ที่มีหน้าที่ตรวจสอบคุณสมบัติต่างๆ
วิธีที่สองคือการใช้ชุดประกอบที่ไม่มีการพิมพ์ในระดับต่ำพร้อมกับการตรวจสอบความปลอดภัย Move นำแนวทางทั้งสองมาใช้และอาศัยการดำเนินการซึ่งเป็น bytecode ที่พิมพ์ขั้นสูงเมื่อเทียบกับ bytecode และไม่สูงเท่าภาษาต้นทาง
ภาษาเฉพาะของ Move ได้รับการพัฒนาโดยใช้ตรรกะเชิงเส้น ซึ่งจำกัดการใช้ทรัพยากรเพียงครั้งเดียว และทำให้สินทรัพย์ดิจิทัลไม่สามารถลบหรือทำซ้ำได้ สิ่งนี้ทำให้นักพัฒนาสามารถเข้ารหัสประเภททรัพยากรที่กำหนดเองซึ่งไม่สามารถลบหรือคัดลอกโดยปริยายได้ เนื่องจากประเภททรัพยากรนั้นถือเป็นระดับเฟิร์สคลาส
Move ใช้ระบบแบบสแตติกที่กำหนดตัวแปรในภาษาโปรแกรมเป็นประเภทหนึ่ง (เช่น ตัวเลขหรือคำ) Move ยังคงรักษาความปลอดภัยของทรัพยากร แต่ยังมีที่ว่างเพียงพอสำหรับใช้งานเหมือนกับทรัพยากรอื่นๆ ที่ไม่ใช่ชั้นหนึ่ง สามารถจัดเก็บได้ง่ายภายในโครงสร้างข้อมูลหรือส่งผ่านเป็นค่าในการคำนวณ
ซึ่งหมายความว่าทรัพยากรใน Move มีความปลอดภัยสูง และในขณะเดียวกันก็สามารถทำงานได้โดยไม่มีข้อจำกัด รหัสให้ระดับความปลอดภัย แต่ยังสามารถใช้สำหรับการดำเนินการอื่น ๆ ทั้งหมดได้อย่างง่ายดาย นี่เป็นส่วนผสมที่ลงตัวสำหรับโปรแกรมบล็อกเชน เนื่องจากช่วยแก้ปัญหาด้านความปลอดภัยและความสามารถในการปรับขนาดที่บล็อกเชนส่วนใหญ่ต้องเผชิญ
โครงการ cryptocurrency ส่วนใหญ่มีคุณลักษณะหรือแอตทริบิวต์บางอย่างนอกเหนือจากชื่อที่กำหนดให้แตกต่างจากแพลตฟอร์มและคู่แข่งอื่น ๆ ทั้งหมด การเคลื่อนไหวไม่แตกต่างกันในด้านนั้น มันมาพร้อมกับคุณสมบัติบางอย่างที่ทำให้เป็นตัวเลือกที่ดีกว่าสำหรับโครงการที่มีอยู่ ต่อไปนี้เป็นคุณสมบัติบางอย่างที่ทำให้ Move แตกต่างจากที่เหลือ
คุณสมบัติเฉพาะของ Move ไม่ใช่ทั้งหมดที่ทำให้ภาษาโปรแกรมทำงาน นอกจากนี้ยังประกอบด้วยองค์ประกอบหลายอย่างที่ปรับให้เหมาะกับกระบวนการของโปรแกรม ต่อไปนี้เป็นองค์ประกอบบางส่วนที่ผู้ใช้สามารถค้นหาได้ใน MOVE
ใน MOVE หมายถึงชนิดข้อมูลดั้งเดิมที่รองรับ บูลีน, จำนวนเต็มที่ไม่มีเครื่องหมาย 64 บิต, อาร์เรย์ไบต์ขนาดคงที่ และแอดเดรส 256 บิต เป็นตัวอย่างทั้งหมด
โครงสร้างมีสองประเภท ประเภทแรกเรียกว่า Kind ซึ่งหมายถึงโครงสร้างทรัพยากร ส่วนที่สองเรียกว่าไม่จำกัดหมายถึงโครงสร้างทั่วไป
ภายใต้องค์ประกอบนี้ เรามีสองวิธีหลัก ได้แก่ สาธารณะและภายใน การพึ่งพาโมดูล acyclic ช่วยป้องกันการโจมตีซ้ำ
ส่วนประกอบนี้ได้รับมอบหมายให้ตรวจสอบลักษณะความปลอดภัยก่อนที่จะเผยแพร่โมดูล โปรแกรมบน Move จะต้องผ่านการตรวจสอบก่อนเผยแพร่ การตรวจสอบแบ่งออกเป็นขั้นตอนต่างๆ
เมื่อกระบวนการตรวจสอบเสร็จสิ้น โปรแกรมทั้งหมดจะต้องผ่านล่าม การทำงานของโปรแกรมเปรียบได้กับ Ethereum เนื่องจากทั้งสองแพลตฟอร์มใช้พารามิเตอร์ก๊าซ
เครื่องเสมือนของ Move ไม่ได้ทำงานแตกต่างจากบล็อกเชนทั่วไปของคุณ ประกอบด้วยหลายบล็อกที่มีธุรกรรมหลายรายการ และแต่ละธุรกรรมเมื่อดำเนินการแล้ว จะสร้างเอฟเฟกต์ของธุรกรรม เอฟเฟ็กต์จะสร้างสถานะส่วนกลางที่อัปเดตของบล็อกเชน โดยแยกเอฟเฟกต์ออกจากการเปลี่ยนสถานะ
ใครๆ ก็คาดหวังว่า Move จะกลายเป็นภาษาโปรแกรมยอดนิยมในตอนนี้ แต่เนื่องจากปัญหาที่ Diem (เดิมชื่อ Libra) เผชิญอยู่ การเติบโตของมันจึงสั้นลง เมื่อเร็ว ๆ นี้ได้รับรสชาติของไฟแก็ซด้วย Aptos
Aptos เป็นเลเยอร์หนึ่งบล็อกเชนที่สร้างขึ้นโดยใช้ภาษาโปรแกรม Move ได้รับการพัฒนาโดยนักพัฒนา Meta ที่ตัดสินใจพัฒนา blockchain หลังจากที่ Meta ยกเลิกโครงการ Diem (เดิมชื่อ Libra) blockchain มันรวมการทำธุรกรรมแบบขนานและภาษาโปรแกรม Move เพื่อสร้างความเร็วการทำธุรกรรมทางทฤษฎีที่ 100,00 ธุรกรรมต่อวินาที
การตัดสินใจของ Aptos ในการใช้ภาษาโปรแกรม Move ได้สร้างแพลตฟอร์มที่ตามทฤษฎีแล้วสามารถทำธุรกรรมได้รวดเร็วและปรับขนาดได้สูงโดยไม่ละทิ้งความปลอดภัยของบล็อกเชน Aptos ได้สร้างตัวเองด้วยส่วนประกอบที่จะช่วยให้ blockchain โดดเด่นกว่าที่อื่น
ย้ายและภาษาโปรแกรมอื่น ๆ
[Move ไม่ใช่ภาษาโปรแกรมเดียวที่มีให้ใช้งาน มักถูกเปรียบเทียบกับความแข็งแกร่งและความชัดเจน ภาษาการเขียนโปรแกรมทั้งสามนี้ถูกใช้มากที่สุดในแพลตฟอร์มต่างๆ ในพื้นที่บล็อกเชน ด้านล่างนี้คือการวิเคราะห์การเปรียบเทียบของ Move เมื่อเทียบกับอีกสองรายการ
Solidity เป็นภาษาการเขียนโปรแกรมที่สร้างขึ้นสำหรับการสร้างสัญญาอัจฉริยะบนเครือข่าย Ethereum เท่านั้น ด้วยเหตุนี้ สมาชิกที่อยู่เบื้องหลังบล็อกเชน Ethereum ทำให้ Solidity เป็นตัวเลือกหลักสำหรับการนำสัญญาอัจฉริยะไปใช้กับ Ethereum Virtual Machines รวมถึงแพลตฟอร์มการพัฒนาบล็อกเชนที่เข้ากันได้กับ EVM ภาษาวงเล็บปีกการะดับสูงได้รับแรงบันดาลใจจากภาษาโปรแกรมอื่นๆ เช่น Javascript, C++ และ Python
การออกแบบให้มีความแข็งแกร่งช่วยให้นักพัฒนาสามารถสคริปต์แอปพลิเคชันที่ใช้ตรรกะที่บังคับตนเองได้ นอกจากนี้ Solidity ที่ใช้ไวยากรณ์ของจาวาสคริปต์เป็นแรงบันดาลใจทำให้ Javascript เข้าใจได้ง่ายและนำไปใช้โดยนักพัฒนา
ระดับความปลอดภัยเมื่อเผชิญกับการโจมตีที่กลับเข้ามาใหม่คือความแตกต่างอย่างมากระหว่าง Move และ Solidity Solidity เป็นที่ทราบกันทั่วไปว่ามีความเสี่ยงที่จะถูกโจมตีซ้ำหากรหัสที่สร้างด้วยภาษานั้นอ่อนแอ ในทางกลับกัน Move ไม่ได้รับการโจมตีแบบ Re-entrance เนื่องจากคุณสมบัติการรักษาความปลอดภัยของสินทรัพย์ (การกำหนดทรัพยากรและการแยกหน่วยงานควบคุม การพิมพ์แบบคงที่ ข้อมูลทั่วไป ระบบโมดูล และการตรวจสอบอย่างเป็นทางการ)
ประการสุดท้าย ปัจจัยสำคัญสำหรับนักพัฒนาในการเลือกภาษาโปรแกรมคือความง่ายในการใช้งาน Solidity เป็นที่รู้จักว่าเป็นหนึ่งในภาษาที่มีความยืดหยุ่นมากที่สุด และนั่นคือสาเหตุที่ยังคงใช้กันอย่างแพร่หลายในปัจจุบัน โชคไม่ดีที่ Move นั้นไม่ยืดหยุ่น แต่ก็ยังใช้งานได้ง่าย
Blockstack เป็นแพลตฟอร์มที่พัฒนาอินเทอร์เน็ตของตนเองและให้บริการสัญญาอัจฉริยะและสิ่งอำนวยความสะดวกต่างๆ เพื่ออำนวยความสะดวกนั้น Blockstack ได้แนะนำ Clarity เป็นภาษาโปรแกรมสัญญาอัจฉริยะสำหรับ Stacks Blockchain ของพวกเขาเอง Clarity เป็นภาษาโปรแกรมที่ช่วยให้ผู้ใช้สามารถพัฒนาเงื่อนไขพิเศษของตนเองสำหรับสัญญา แทนที่จะตั้งโปรแกรมไว้ล่วงหน้า
ความชัดเจนยังช่วยขจัดโอกาสที่จะเกิดธุรกรรมที่ไม่คาดคิด ทำให้มีความปลอดภัยเพิ่มขึ้นอีกระดับ คุณสมบัติที่สำคัญประการหนึ่งของความชัดเจนคือแง่มุมของความแน่นอนที่มีภาษาโปรแกรมที่ "ตัดสินใจได้" ซึ่งระบุว่าคอมพิวเตอร์จะทำอะไรกับโค้ดนั้น
Move ขึ้นอยู่กับ Diem ซึ่งเป็นบล็อกเชนที่ปรับขนาดได้สูง ปลอดภัย และยืดหยุ่น ในขณะที่ Clarity ใช้ Stack 2.0 ซึ่งเป็นเครือข่ายโอเพ่นซอร์สสำหรับ dApps ต่างๆ ที่ใช้เครือข่าย Ethereum เพื่อสร้างเครือข่ายใหม่
การรวบรวม Move ทำให้แตกต่างจาก Clarity Move ใช้คอมไพเลอร์ในการประมวลผลโค้ด ซึ่งแตกต่างจาก Move, Clarity ไม่ใช้คอมไพเลอร์ในขณะที่รันโค้ด
Move ได้แสดงให้เห็นว่าเป็นภาษาโปรแกรมประเภทพิเศษที่จะปฏิวัติอุตสาหกรรมบล็อกเชนโดยรวม จนถึงตอนนี้ มันดึงดูดความสนใจของ Aptos บล็อกเชนใหม่ และเวลาเท่านั้นที่จะบอกได้ว่าการรวมกันจะประสบความสำเร็จเพียงใด
Blockchain และอุตสาหกรรม crypto ได้ปฏิวัติภาคการเงินและโลก บริษัทสตาร์ทอัพหลายแห่งถือกำเนิดขึ้นเพื่อช่วยการเติบโตของอุตสาหกรรมและสร้างการใช้งานสกุลเงินดิจิทัลอย่างแพร่หลาย หลายโครงการได้สร้างแพลตฟอร์มใหม่ที่ดึงดูดผู้ใช้กระแสหลักเพื่อดึงดูดผู้ชมที่กว้างขึ้น
โครงการเหล่านี้ขับเคลื่อนโดยกลไกหลายอย่างที่รับประกันการดำเนินงานที่ราบรื่น มั่นใจได้ว่าเป็นแพลตฟอร์มที่ปลอดภัย มั่นคง และมีประสิทธิภาพ สัญญาอัจฉริยะ ซึ่งเป็นโปรแกรมคอมพิวเตอร์เป็นองค์ประกอบสำคัญเนื่องจากควบคุมกิจกรรมและเหตุการณ์ของสัญญา เพื่อให้แน่ใจว่า Move smart contract ถูกสร้างขึ้นเพื่อช่วยให้นักพัฒนาสร้างซอฟต์แวร์ที่ปรับเปลี่ยนได้ ซึ่งช่วยให้การพัฒนาโปรแกรมง่ายขึ้น
บทความนี้จะตรวจสอบคุณสมบัติ การใช้งาน ส่วนประกอบของ Move และความลับเบื้องหลังความนิยมล่าสุด
Move เป็นภาษา bytecode ที่ใช้งานได้ซึ่งใช้สัญญาอัจฉริยะและธุรกรรมที่ปรับแต่งได้ ได้รับการพัฒนาเพื่อจัดการกับปัญหาทั่วไปที่ส่งผลกระทบต่อภาษาโปรแกรมบล็อกเชน ด้วยข้อได้เปรียบที่เพิ่มขึ้นของการรักษาความปลอดภัยและการป้องกัน Move จึงสร้างช่องทางสำหรับนักพัฒนาในการสร้างโปรแกรมที่ยืดหยุ่นซึ่งจัดการและถ่ายโอนสินทรัพย์ดิจิทัลได้อย่างง่ายดาย
แม้ว่าจะมีประโยชน์อื่นๆ แต่เป้าหมายหลักของทีมพัฒนา Move คือการสร้างภาษาที่รับประกันว่าเนื้อหาดิจิทัลหนึ่งๆ อาจถูกใช้เพียงครั้งเดียวและสามารถถือครองได้ทีละคนเท่านั้น
Move ได้รับการพัฒนาให้เป็นภาษาการเขียนโปรแกรมที่ปลอดภัยและเรียบง่ายสำหรับ Diem blockchain ที่พัฒนาโดย Facebook Libra ได้รับการพัฒนาให้เป็นบล็อกเชนที่ใช้งานง่าย ราคาถูก และเป็นที่นิยมใช้กันทั่วโลก ได้รับการพัฒนาเป็นสินทรัพย์ดิจิทัลที่ใช้บล็อกเชนต้นทุนต่ำและยืดหยุ่น ดังนั้น Move ได้รับการออกแบบมาเพื่อทำธุรกรรมบล็อกเชนและอนุญาตให้นักพัฒนาสร้างแอปที่เข้ากันได้กับ Libra
ก่อนสิ้นปี 2020 Libra เผชิญกับปัญหาและฟันเฟืองจากสมาชิกเศรษฐกิจจากประเทศต่างๆ และปัญหาเกี่ยวกับชื่อและโลโก้ ซึ่งทำให้เปลี่ยนชื่อเป็น Diem การเปิดตัวบล็อกเชนล้มเหลวในเดือนมกราคม 2022 เนื่องจากความกังวลของมหาอำนาจระดับโลกเกี่ยวกับปัญหาด้านความปลอดภัยและการฟอกเงินที่การเปิดตัว Libra จะก่อตัวขึ้น
ย้ายถูกเขียนโดยใช้ ภาษา RUST ; ภาษาโปรแกรมแบบหลายกระบวนทัศน์ยอดนิยมที่โปรแกรมเมอร์ทั่วโลกต้องการอย่างมากในปี 2018 ภาษาการเขียนโปรแกรมของ Rust ให้ความสำคัญกับความปลอดภัยของหน่วยความจำและการป้องกันการแย่งชิงข้อมูลพร้อมกัน ได้รับการพัฒนาโดย Graydon Hoare ในปี 2549 ในขณะที่เขาทำงานให้กับ Mozilla Research
การออกแบบของ Move สำหรับ Diem blockchain มุ่งเน้นไปที่การสร้างแพลตฟอร์มที่ปลอดภัยและตั้งโปรแกรมได้ง่าย เพื่อแสดงให้เห็นว่า Move ต้องแสดงกฎหมาย Diem blockchain และสกุลเงินด้วยวิธีที่เรียบง่าย แม่นยำ และตรวจสอบได้
ด้วยเหตุนี้ นักพัฒนาซอฟต์แวร์ Move จึงเลือกเป้าหมายการออกแบบเฉพาะเพื่อรองรับการเติบโตของโปรแกรมและยังคงมีความเกี่ยวข้องในอนาคต เป้าหมายการออกแบบบางส่วนมีดังต่อไปนี้:
Move ช่วยให้ผู้ใช้สามารถประกาศเนื้อหาที่กำหนดเองเป็นประเภททรัพยากรได้ ทรัพย์สินเหล่านี้เรียกว่าทรัพยากรชั้นหนึ่งและได้รับสิทธิพิเศษและเพิ่มความปลอดภัย ทรัพยากรระดับเฟิร์สคลาสจะได้รับการควบคุมการเข้าถึงโดยอัตโนมัติ ดังนั้นเฉพาะผู้ใช้ที่มีรหัสความปลอดภัยที่ถูกต้องเท่านั้นที่จะสามารถปรับขนาดผ่านจุดเชื่อมต่อได้ Move ยังมีโมดูลต่างๆ เช่น Ethereum smart contract ( Solidity ) ที่เป็นที่นิยม โมดูลเหล่านี้เป็นบล็อคโค้ดที่เก็บทรัพยากรและประเภทและขั้นตอนต่างๆ
บิลด์พิเศษของ Move ทำให้ทรัพยากรสามารถโปร่งใสอย่างสมบูรณ์ในโมดูล ในขณะที่ทึบต่อการเรียกใช้ภายนอกไปยังโมดูล คุณสมบัติที่สำคัญอีกประการของภาษา Move คือทรัพยากรไม่สามารถคัดลอกหรือลบออกได้ทั้งหมด สามารถย้ายจากที่เก็บข้อมูลหนึ่งไปยังอีกที่หนึ่งเท่านั้น
สคริปต์การทำธุรกรรมจะรวมอยู่ในธุรกรรม Diem (Libra) ทุกรายการ สคริปต์การทำธุรกรรมเหล่านี้ใช้ในโมดูลเพื่อทำการโทรและขั้นตอนการเรียก โพรซีเดอร์หลักเดียวสามารถประกอบด้วยโค้ดที่ปรับแต่งได้เองและตามอำเภอใจ สคริปต์ธุรกรรมเดียวสามารถเรียกใช้ขั้นตอนต่างๆ
โมดูล Move ช่วยให้โปรแกรมเมอร์มีความยืดหยุ่นพร้อมโอกาสในการสร้างรหัสที่ปลอดภัย Move สามารถเปรียบได้กับภาษาการเขียนโปรแกรมเชิงวัตถุ เนื่องจากมีความสัมพันธ์ที่เหมือนกันระหว่าง "คลาส วิธีการ อ็อบเจกต์" และ "โมดูล ขั้นตอน และทรัพยากร"
MOVE อนุญาตให้ใช้เครื่องมือการตรวจสอบแบบออฟไลน์แม้ว่าจะมีระบบที่เปิดใช้งานการตรวจสอบแบบออนไลน์อยู่แล้วก็ตาม เนื่องจากการตรวจสอบแบบออนไลน์ไม่เหมาะสมสำหรับบล็อกเชนระดับสูง การแนะนำการตรวจสอบแบบออฟไลน์จะช่วยลดขั้นตอนที่ซับซ้อนของการตรวจสอบแบบออนไลน์ เพื่อให้บรรลุเป้าหมายนี้ ภาษาโปรแกรมย้ายจะมุ่งเน้นไปที่การออกแบบที่แตกต่างกันสามแบบ:
สิ่งนี้ใช้เพื่อหลีกเลี่ยงการสร้างกราฟการโทรที่ซับซ้อนและอนุญาตให้กำหนดไซต์การโทรแบบคงที่
MOVE ด้วยความช่วยเหลือของโมดูลาร์ ทำให้สามารถแยกโมดูลสำหรับการตรวจสอบการทำงานได้ ย้ายโมดูลจะช่วยในการแยกข้อมูลและโลคัลไลซ์การดำเนินการทรัพยากรที่สำคัญ
การออกแบบนี้เหมาะสำหรับกรณีที่มุ่งเน้นไปที่การใช้ประเภทการอ้างอิงที่คล้ายกับ C ++ อนุญาตให้มีการอ้างอิงที่ไม่แน่นอนได้สูงสุดหนึ่งรายการต่อจุด
คุณสมบัติด้านความปลอดภัยสามประการมีความสำคัญในภาษาโปรแกรม Move; ประเภทความปลอดภัย ความปลอดภัยของทรัพยากร และความปลอดภัยของหน่วยความจำ มีหลายวิธีที่เป็นไปได้ที่ Move สามารถใช้เพื่อให้แน่ใจว่าโปรแกรมที่ไม่ปฏิบัติตามคุณสมบัติด้านความปลอดภัยเหล่านี้จะไม่ได้รับการยอมรับ
วิธีแรกคือให้ Move ใช้ภาษาโปรแกรมระดับสูงพร้อมกับคอมไพเลอร์ที่มีหน้าที่ตรวจสอบคุณสมบัติต่างๆ
วิธีที่สองคือการใช้ชุดประกอบที่ไม่มีการพิมพ์ในระดับต่ำพร้อมกับการตรวจสอบความปลอดภัย Move นำแนวทางทั้งสองมาใช้และอาศัยการดำเนินการซึ่งเป็น bytecode ที่พิมพ์ขั้นสูงเมื่อเทียบกับ bytecode และไม่สูงเท่าภาษาต้นทาง
ภาษาเฉพาะของ Move ได้รับการพัฒนาโดยใช้ตรรกะเชิงเส้น ซึ่งจำกัดการใช้ทรัพยากรเพียงครั้งเดียว และทำให้สินทรัพย์ดิจิทัลไม่สามารถลบหรือทำซ้ำได้ สิ่งนี้ทำให้นักพัฒนาสามารถเข้ารหัสประเภททรัพยากรที่กำหนดเองซึ่งไม่สามารถลบหรือคัดลอกโดยปริยายได้ เนื่องจากประเภททรัพยากรนั้นถือเป็นระดับเฟิร์สคลาส
Move ใช้ระบบแบบสแตติกที่กำหนดตัวแปรในภาษาโปรแกรมเป็นประเภทหนึ่ง (เช่น ตัวเลขหรือคำ) Move ยังคงรักษาความปลอดภัยของทรัพยากร แต่ยังมีที่ว่างเพียงพอสำหรับใช้งานเหมือนกับทรัพยากรอื่นๆ ที่ไม่ใช่ชั้นหนึ่ง สามารถจัดเก็บได้ง่ายภายในโครงสร้างข้อมูลหรือส่งผ่านเป็นค่าในการคำนวณ
ซึ่งหมายความว่าทรัพยากรใน Move มีความปลอดภัยสูง และในขณะเดียวกันก็สามารถทำงานได้โดยไม่มีข้อจำกัด รหัสให้ระดับความปลอดภัย แต่ยังสามารถใช้สำหรับการดำเนินการอื่น ๆ ทั้งหมดได้อย่างง่ายดาย นี่เป็นส่วนผสมที่ลงตัวสำหรับโปรแกรมบล็อกเชน เนื่องจากช่วยแก้ปัญหาด้านความปลอดภัยและความสามารถในการปรับขนาดที่บล็อกเชนส่วนใหญ่ต้องเผชิญ
โครงการ cryptocurrency ส่วนใหญ่มีคุณลักษณะหรือแอตทริบิวต์บางอย่างนอกเหนือจากชื่อที่กำหนดให้แตกต่างจากแพลตฟอร์มและคู่แข่งอื่น ๆ ทั้งหมด การเคลื่อนไหวไม่แตกต่างกันในด้านนั้น มันมาพร้อมกับคุณสมบัติบางอย่างที่ทำให้เป็นตัวเลือกที่ดีกว่าสำหรับโครงการที่มีอยู่ ต่อไปนี้เป็นคุณสมบัติบางอย่างที่ทำให้ Move แตกต่างจากที่เหลือ
คุณสมบัติเฉพาะของ Move ไม่ใช่ทั้งหมดที่ทำให้ภาษาโปรแกรมทำงาน นอกจากนี้ยังประกอบด้วยองค์ประกอบหลายอย่างที่ปรับให้เหมาะกับกระบวนการของโปรแกรม ต่อไปนี้เป็นองค์ประกอบบางส่วนที่ผู้ใช้สามารถค้นหาได้ใน MOVE
ใน MOVE หมายถึงชนิดข้อมูลดั้งเดิมที่รองรับ บูลีน, จำนวนเต็มที่ไม่มีเครื่องหมาย 64 บิต, อาร์เรย์ไบต์ขนาดคงที่ และแอดเดรส 256 บิต เป็นตัวอย่างทั้งหมด
โครงสร้างมีสองประเภท ประเภทแรกเรียกว่า Kind ซึ่งหมายถึงโครงสร้างทรัพยากร ส่วนที่สองเรียกว่าไม่จำกัดหมายถึงโครงสร้างทั่วไป
ภายใต้องค์ประกอบนี้ เรามีสองวิธีหลัก ได้แก่ สาธารณะและภายใน การพึ่งพาโมดูล acyclic ช่วยป้องกันการโจมตีซ้ำ
ส่วนประกอบนี้ได้รับมอบหมายให้ตรวจสอบลักษณะความปลอดภัยก่อนที่จะเผยแพร่โมดูล โปรแกรมบน Move จะต้องผ่านการตรวจสอบก่อนเผยแพร่ การตรวจสอบแบ่งออกเป็นขั้นตอนต่างๆ
เมื่อกระบวนการตรวจสอบเสร็จสิ้น โปรแกรมทั้งหมดจะต้องผ่านล่าม การทำงานของโปรแกรมเปรียบได้กับ Ethereum เนื่องจากทั้งสองแพลตฟอร์มใช้พารามิเตอร์ก๊าซ
เครื่องเสมือนของ Move ไม่ได้ทำงานแตกต่างจากบล็อกเชนทั่วไปของคุณ ประกอบด้วยหลายบล็อกที่มีธุรกรรมหลายรายการ และแต่ละธุรกรรมเมื่อดำเนินการแล้ว จะสร้างเอฟเฟกต์ของธุรกรรม เอฟเฟ็กต์จะสร้างสถานะส่วนกลางที่อัปเดตของบล็อกเชน โดยแยกเอฟเฟกต์ออกจากการเปลี่ยนสถานะ
ใครๆ ก็คาดหวังว่า Move จะกลายเป็นภาษาโปรแกรมยอดนิยมในตอนนี้ แต่เนื่องจากปัญหาที่ Diem (เดิมชื่อ Libra) เผชิญอยู่ การเติบโตของมันจึงสั้นลง เมื่อเร็ว ๆ นี้ได้รับรสชาติของไฟแก็ซด้วย Aptos
Aptos เป็นเลเยอร์หนึ่งบล็อกเชนที่สร้างขึ้นโดยใช้ภาษาโปรแกรม Move ได้รับการพัฒนาโดยนักพัฒนา Meta ที่ตัดสินใจพัฒนา blockchain หลังจากที่ Meta ยกเลิกโครงการ Diem (เดิมชื่อ Libra) blockchain มันรวมการทำธุรกรรมแบบขนานและภาษาโปรแกรม Move เพื่อสร้างความเร็วการทำธุรกรรมทางทฤษฎีที่ 100,00 ธุรกรรมต่อวินาที
การตัดสินใจของ Aptos ในการใช้ภาษาโปรแกรม Move ได้สร้างแพลตฟอร์มที่ตามทฤษฎีแล้วสามารถทำธุรกรรมได้รวดเร็วและปรับขนาดได้สูงโดยไม่ละทิ้งความปลอดภัยของบล็อกเชน Aptos ได้สร้างตัวเองด้วยส่วนประกอบที่จะช่วยให้ blockchain โดดเด่นกว่าที่อื่น
ย้ายและภาษาโปรแกรมอื่น ๆ
[Move ไม่ใช่ภาษาโปรแกรมเดียวที่มีให้ใช้งาน มักถูกเปรียบเทียบกับความแข็งแกร่งและความชัดเจน ภาษาการเขียนโปรแกรมทั้งสามนี้ถูกใช้มากที่สุดในแพลตฟอร์มต่างๆ ในพื้นที่บล็อกเชน ด้านล่างนี้คือการวิเคราะห์การเปรียบเทียบของ Move เมื่อเทียบกับอีกสองรายการ
Solidity เป็นภาษาการเขียนโปรแกรมที่สร้างขึ้นสำหรับการสร้างสัญญาอัจฉริยะบนเครือข่าย Ethereum เท่านั้น ด้วยเหตุนี้ สมาชิกที่อยู่เบื้องหลังบล็อกเชน Ethereum ทำให้ Solidity เป็นตัวเลือกหลักสำหรับการนำสัญญาอัจฉริยะไปใช้กับ Ethereum Virtual Machines รวมถึงแพลตฟอร์มการพัฒนาบล็อกเชนที่เข้ากันได้กับ EVM ภาษาวงเล็บปีกการะดับสูงได้รับแรงบันดาลใจจากภาษาโปรแกรมอื่นๆ เช่น Javascript, C++ และ Python
การออกแบบให้มีความแข็งแกร่งช่วยให้นักพัฒนาสามารถสคริปต์แอปพลิเคชันที่ใช้ตรรกะที่บังคับตนเองได้ นอกจากนี้ Solidity ที่ใช้ไวยากรณ์ของจาวาสคริปต์เป็นแรงบันดาลใจทำให้ Javascript เข้าใจได้ง่ายและนำไปใช้โดยนักพัฒนา
ระดับความปลอดภัยเมื่อเผชิญกับการโจมตีที่กลับเข้ามาใหม่คือความแตกต่างอย่างมากระหว่าง Move และ Solidity Solidity เป็นที่ทราบกันทั่วไปว่ามีความเสี่ยงที่จะถูกโจมตีซ้ำหากรหัสที่สร้างด้วยภาษานั้นอ่อนแอ ในทางกลับกัน Move ไม่ได้รับการโจมตีแบบ Re-entrance เนื่องจากคุณสมบัติการรักษาความปลอดภัยของสินทรัพย์ (การกำหนดทรัพยากรและการแยกหน่วยงานควบคุม การพิมพ์แบบคงที่ ข้อมูลทั่วไป ระบบโมดูล และการตรวจสอบอย่างเป็นทางการ)
ประการสุดท้าย ปัจจัยสำคัญสำหรับนักพัฒนาในการเลือกภาษาโปรแกรมคือความง่ายในการใช้งาน Solidity เป็นที่รู้จักว่าเป็นหนึ่งในภาษาที่มีความยืดหยุ่นมากที่สุด และนั่นคือสาเหตุที่ยังคงใช้กันอย่างแพร่หลายในปัจจุบัน โชคไม่ดีที่ Move นั้นไม่ยืดหยุ่น แต่ก็ยังใช้งานได้ง่าย
Blockstack เป็นแพลตฟอร์มที่พัฒนาอินเทอร์เน็ตของตนเองและให้บริการสัญญาอัจฉริยะและสิ่งอำนวยความสะดวกต่างๆ เพื่ออำนวยความสะดวกนั้น Blockstack ได้แนะนำ Clarity เป็นภาษาโปรแกรมสัญญาอัจฉริยะสำหรับ Stacks Blockchain ของพวกเขาเอง Clarity เป็นภาษาโปรแกรมที่ช่วยให้ผู้ใช้สามารถพัฒนาเงื่อนไขพิเศษของตนเองสำหรับสัญญา แทนที่จะตั้งโปรแกรมไว้ล่วงหน้า
ความชัดเจนยังช่วยขจัดโอกาสที่จะเกิดธุรกรรมที่ไม่คาดคิด ทำให้มีความปลอดภัยเพิ่มขึ้นอีกระดับ คุณสมบัติที่สำคัญประการหนึ่งของความชัดเจนคือแง่มุมของความแน่นอนที่มีภาษาโปรแกรมที่ "ตัดสินใจได้" ซึ่งระบุว่าคอมพิวเตอร์จะทำอะไรกับโค้ดนั้น
Move ขึ้นอยู่กับ Diem ซึ่งเป็นบล็อกเชนที่ปรับขนาดได้สูง ปลอดภัย และยืดหยุ่น ในขณะที่ Clarity ใช้ Stack 2.0 ซึ่งเป็นเครือข่ายโอเพ่นซอร์สสำหรับ dApps ต่างๆ ที่ใช้เครือข่าย Ethereum เพื่อสร้างเครือข่ายใหม่
การรวบรวม Move ทำให้แตกต่างจาก Clarity Move ใช้คอมไพเลอร์ในการประมวลผลโค้ด ซึ่งแตกต่างจาก Move, Clarity ไม่ใช้คอมไพเลอร์ในขณะที่รันโค้ด
Move ได้แสดงให้เห็นว่าเป็นภาษาโปรแกรมประเภทพิเศษที่จะปฏิวัติอุตสาหกรรมบล็อกเชนโดยรวม จนถึงตอนนี้ มันดึงดูดความสนใจของ Aptos บล็อกเชนใหม่ และเวลาเท่านั้นที่จะบอกได้ว่าการรวมกันจะประสบความสำเร็จเพียงใด