𝙧𝘽𝙋𝙁 ใช่สมาร์ทคอนแทร็กท์เขียนด้วยภาษา #Rust รึเปล่า ? ทำไมถึงต้องมาคู่กับ 𝙗𝙧𝙞𝙗𝙚𝙨 ?
.
.
เป็นหัวข้อหนึ่งที่ไม่อยากพูดถึงในตอนแรก เพราะเมื่อหลายปีที่แล้วเคยกล่าวชมวิธีการรื้อฟื้น 𝘉𝘦𝘳𝘬𝘦𝘭𝘦𝘺 𝘗𝘢𝘤𝘬𝘦𝘵 𝘍𝘪𝘭𝘵𝘦𝘳 จากปีคศ. 𝟙𝟡𝟡𝟚 ในรูปแบบ 𝘦𝘹𝘵𝘦𝘯𝘥𝘦𝘥 เรียกว่า 𝘦𝘉𝘗𝘍 ให้สาวกคริปโต ฯ ท่านหนึ่งฟัง แล้วเขาเข้าใจผิดว่าเราลำเอียงเข้าข้างเหรียญที่ใช้ 𝘳𝘶𝘯𝘵𝘪𝘮𝘦 𝘉𝘗𝘍 ตัวหนึ่งไปแล้ว แต่ขออธิบายอย่างแรกก่อนนะครับว่าโปรแกรมที่ดัดแปลงใช้เบิร์กลี่ย์แพคเก็ตฟิลเตอร์ หาใช่สัญญาอัจฉริยะ ที่ปราศจากการแทรกแซงตรรกะแต่อย่างใดนะครับ ถ้าได้อ่านในพาดหัวก็คงจะเห็นคำว่า 𝙗𝙧𝙞𝙗𝙚𝙨 ที่แปลว่าสินบนสำหรับการแทรกแซงนำหน้า ที่เป็นเรื่องสามัญของวงการนี้ไปแล้ว เรามาทำความเข้าใจเทคโนโลยีกันก่อน แล้วชี้ให้เห็นข้อแตกต่างสำคัญกับนิยามของ 𝘚𝘮𝘢𝘳𝘵 𝘊𝘰𝘯𝘵𝘳𝘢𝘤𝘵𝘴 ที่ประกาศตัวในปีเดียวกันโดยนักพัฒนาไซเฟอร์พังก์ชื่อว่า 𝘕𝘪𝘤𝘬 𝘚𝘻𝘢𝘣𝘰
.
.
𝘦𝘉𝘗𝘍 และเทคในแขนง เป็นเวอร์ช่วลแมชชีนที่ใช้รีจิสตรี้ขึ้นตรงกับเคอร์เน่ลของ 𝘓𝘪𝘯𝘶𝘹 โดยตรง มีหน้าที่อ่านแปลความหมาย (𝘐𝘯𝘵𝘦𝘳𝘱𝘳𝘦𝘵𝘪𝘰𝘯) และคอมไพล์แบบจัสท์อินไทม์ (𝘑𝘐𝘛 𝘤𝘰𝘮𝘱𝘪𝘭𝘢𝘵𝘪𝘰𝘯) เปรียบเหมือนรันไทม์ของไพธ่อนและโหนด เว้นแต่เป็นการรันโปรแกรมของยูสเซ่อร์แบบเข้าถึงขั้นเคอร์เน่ลได้ และรับการใช้งานรอบด้านได้แบบกระจายศูนย์ระดับเล็ก (ขึ้นอยู่กับ 𝘉𝘺𝘻𝘢𝘯𝘵𝘪𝘯𝘦 𝘍𝘢𝘶𝘭𝘵 𝘛𝘰𝘭𝘦𝘳𝘢𝘯𝘤𝘦 อัลกอริธึมของเครือข่ายนั้น ๆ) นอกจากนี้ยังห้ามวงจรลูปที่ไม่มีขอบเขต (𝘶𝘯𝘣𝘰𝘶𝘯𝘥𝘦𝘥 𝘭𝘰𝘰𝘱𝘴) ได้โดยการสร้างกราฟการควบคุมการไหล (𝘊𝘰𝘯𝘵𝘳𝘰𝘭-𝘍𝘭𝘰𝘸 𝘎𝘳𝘢𝘱𝘩) และปฏิเสธโปรแกรมที่มีวงจรในนั้น เพื่อให้ผ่านการตรวจสอบนี้ หากมีลูปจะต้องคลี่ลูปออกหรือใช้ฟังก์ชันช่วยที่กำหนด
.
.
ข้อเสียของการทำงานกระจายศูนย์อย่างไม่พึ่งพาสัญญาอัจฉริยะ คือการเติบโตของ 𝘔𝘌𝘝 มูลค่าไหลขึ้น, การใช้งาน 𝘚𝘯𝘪𝘱𝘦𝘳𝘉𝘰𝘵 แทรกแซงการทำงานทางการค้าในรูปแบบแซนด์วิช (𝘴𝘢𝘯𝘥𝘸𝘪𝘤𝘩 𝘢𝘵𝘵𝘢𝘤𝘬𝘴), การสะสมข้อมูลเมต้าดาต้าของผู้ใช้งานเพราะไม่มีการ 𝘢𝘯𝘰𝘯𝘺𝘮𝘪𝘻𝘦 𝘪𝘯𝘴𝘵𝘳𝘶𝘤𝘵𝘪𝘰𝘯 𝘴𝘦𝘵𝘴, การตรวจเช็คแทรกแซงในทุกการใช้งานไม่งั้นมูลค่าสูญหาย, การโจมตีออราเคิ่ล (𝘰𝘳𝘢𝘤𝘭𝘦 𝘢𝘵𝘵𝘢𝘤𝘬𝘴) เพื่อให้แหล่งที่มาข้อมูลคลาดเคลื่อน เพราะผู้สอดส่องสามารถแทรกแซงตรรกะทัวลิ่งได้ ไม่เหมือนตรรกะสัญญาอัจฉริยะ ฯลฯ [จากลิงก์ที่แนบข้อสอง] หรือแม้กระทั่งการทำงานของการโอนมูลค่าแลมพอร์ทก็สามารถทำให้บัญชีไม่ผ่านการประมวล 𝘳𝘦𝘯𝘵-𝘦𝘹𝘦𝘮𝘱𝘵𝘪𝘰𝘯 และโดนระงับได้ เพราะ 𝘈𝘤𝘤𝘰𝘶𝘯𝘵 𝘚𝘺𝘴𝘵𝘦𝘮 แบบมีการแฝง 𝘸𝘳𝘪𝘵𝘦-𝘥𝘦𝘮𝘰𝘵𝘪𝘰𝘯 อยู่หลายโปรแกรม (โปรแกรมนะครับ ไม่ใช่สมาร์ทคอนแทร็กท์) รวมไปถึง 𝚜𝚎𝚌𝚙𝟸𝟻𝟼𝚛𝟷_𝚙𝚛𝚘𝚐𝚛𝚊𝚖 ที่ใช้กันแพร่หลายบนเมนเน็ตของระบบนิเวศน์ตัวหนึ่ง [จากลิงก์ที่แนบข้อสาม]
.
.
กลับมาเล่าเรื่อง 𝙗𝙧𝙞𝙗𝙚𝙨 กันบ้าง เพราะในระบบนิเวศน์ที่ดัดแปลงใข้งาน 𝘦𝘉𝘗𝘍 นั้น ไม่ได้เรียกสิ่งนี้ว่าบั๊กแต่เป็นฟีเจอร์นะครับ หมายถึงแรงจูงใจทางเศรษฐกิจที่ผู้ใช้หรือผู้ค้าจ่ายให้กับผู้ตรวจสอบ (𝘷𝘢𝘭𝘪𝘥𝘢𝘵𝘰𝘳𝘴) เพื่อให้ผู้ตรวจสอบเหล่านั้นจัดลำดับความสำคัญในการประมวลผลธุรกรรมของตนก่อน โดยทั่วไปสินบนนี้มาในรูปแบบของค่าธรรมเนียมลำดับความสำคัญ (𝘱𝘳𝘪𝘰𝘳𝘪𝘵𝘺 𝘧𝘦𝘦𝘴) ซึ่งเป็นค่าธรรมเนียมพิเศษที่ผู้ใช้สามารถตั้งขึ้นเพื่อจูงใจให้ธุรกรรมของพวกเขาถูกใส่ในบล็อกโดยเร็วกว่าธุรกรรมทั่วไป ค่าธรรมเนียมเหล่านี้ถูกคำนวณตามจำนวนหน่วยคอมพิวต์ที่ธุรกรรมใช้และราคาต่อหน่วยคอมพิวต์ที่ผู้ใช้พร้อมจ่าย แปลว่าเป็นระบบลำเอียงอย่างชัดเจน สร้างแรงต่อต้านการกระจายศูนย์เพื่อความเป็นกลาง (𝘯𝘦𝘶𝘵𝘳𝘢𝘭𝘪𝘵𝘺) อย่างมากมาย เพราะการเพิ่มเติมจำนวนผู้ถือหุ้นส่วนย่อมละลายค่าของผู้มาก่อนกาล
.
.
ทางลัดของการสร้างระบบกระจายศูนย์แบบไม่เป็นกลาง จึงหันมาใช้ระบบ 𝘦𝘉𝘗𝘍 แบบดัดแปลงภาษา #รัสท์ และอื่น ๆ นอกจากการใช้งานรัสท์สร้าง 𝘪𝘯𝘵𝘦𝘳𝘱𝘳𝘦𝘵𝘦𝘥 𝘴𝘰𝘧𝘵𝘸𝘢𝘳𝘦 สำหรับ 𝘦𝘉𝘗𝘍 แล้ว ในโลกของไซเฟอร์พังก์ยังมีการนิยมสร้าง 𝘞𝘦𝘣𝘈𝘴𝘴𝘦𝘮𝘣𝘭𝘺 ขนาดกะทัดรัดแพร่หลายกลไกไขรหัสได้อีกด้วยนะครับ ใครที่สนใจการใช้งาน 𝘚𝘪𝘮𝘱𝘭𝘪𝘤𝘪𝘵𝘺 ซึ่งเป็น 𝘙𝘶𝘴𝘵-𝘣𝘢𝘴𝘦𝘥 𝘉𝘭𝘰𝘤𝘬𝘤𝘩𝘢𝘪𝘯 𝘗𝘳𝘰𝘨𝘳𝘢𝘮𝘮𝘪𝘯𝘨 𝘓𝘢𝘯𝘨𝘶𝘢𝘨𝘦 สำหรับสร้าง 𝘚𝘮𝘢𝘳𝘵 𝘊𝘰𝘯𝘵𝘳𝘢𝘤𝘵𝘴 สามารถอ่านเพิ่มเติมได้จาก npub นี้นะครับ
.
.
ที่มา / แรงบันดาลใจ
1. In Rust We Trust - Berkeley Packet Filter and Rust, Anatoly Yakovenko - youtu.be/oBW2KJq3FnA
2. arxiv.org/html/2504.07419v1
3. Why Wasm came to Web3, Jakob Meier, 2024. - www.jakobmeier.ch/wasm-road-3
4. The hidden dangers of lamport transfers, Nicola Vella, 2025. - osec.io/blog/2025-05-14-king-of-the-sol
#RustProgrammersInThailand #RustThai #SimplicityLang #eBPF #rBPF
