This article has been translated from English to Thai.
Ethereum รู้จักกันว่าเป็น “แพลตฟอร์มสมาร์ทคอนแทรค“
คำว่า แพลตฟอร์ม (หรือแพลตฟอร์มการประมวลผล) คือสภาพแวดล้อมในการทำงานที่ซอฟต์แวร์ เช่น โปรแกรมหรือแอปพลิเคชัน สามารถทำงาน (หรือ “ประมวลผล”) ได้
แต่เจ้า สมาร์ทคอนแทรค มันคืออะไรกันแน่ ทำไมถึงเรียกว่าสมาร์ท?
สมาร์ทคอนแทรคคืออะไร?
สมาร์ทคอนแทรคคือโปรแกรมคอมพิวเตอร์อัตโนมัติที่ถูกโฮสต์และประมวลผลบนบล็อกเชน

ถึงชื่อจะบอกว่า “สมาร์ทคอนแทรค” แต่จริงๆแล้วมันไม่ค่อยฉลาดหรือมีผลทางกฎหมายเท่าไหร่
ถ้าเรียก “อัตโนมัติ” แทนที่จะเป็น “สมาร์ท” และ “โปรแกรม” แทนที่จะเป็น “คอนแทรค” จะดีกว่า แต่ฉันไม่ใช่คนฉลาดที่คิดค้นคำนี้ขึ้นมาหรอกนะ!
Nick Szabo ผู้ที่สร้างคำนี้ในช่วงปลายยุค 90 เปรียบเทียบสมาร์ทคอนแทรคกับเครื่องขายของอัตโนมัติ
ผู้ใช้หยอดเหรียญลงในเครื่อง และถ้าจำนวนเงินถูกต้อง เครื่องก็จะ “ทำงานอัตโนมัติ” และส่งสินค้าให้ตามที่ร้องขอ ไม่มีการเกี่ยวข้องจากบุคคลที่สาม ไม่ต้องการแม้แต่เจ้าของเครื่องขายของ
การโต้ตอบนี้ต้องการความเชื่อถือเพียงเล็กน้อย: เครื่องขายไม่มีทางเลือกอื่นนอกจากส่งสินค้าหลังจากได้รับเงิน

ลองคิดดูว่าถ้าเราสามารถเขียนข้อตกลงที่มีเงื่อนไขชัดเจนและคาดเดาได้เหมือนเครื่องขายของ และใช้เทคโนโลยีบล็อกเชนในการดำเนินการตามข้อตกลงแบบอัตโนมัติ
นั่นแหละคือสิ่งที่สมาร์ทคอนแทรคทำ
ใน Ethereum, สมาร์ทคอนแทรคคือลำดับคำสั่งโค้ดที่ถูกนำเข้าสู่บล็อกเชน เพื่อให้ผู้เข้าร่วมเครือข่ายสามารถบังคับใช้และเก็บสัญญาเหล่านี้ในรูปแบบที่ปลอดภัยและไม่ต้องการความไว้วางใจ
ในเชิงเทคนิคเล็กน้อย สมาร์ทคอนแทรคคือการรวมกันของ โค้ดและข้อมูล ที่อาศัยอยู่ที่ที่อยู่เฉพาะบนบล็อกเชนของ Ethereum
สมาร์ทคอนแทรคยังมีความ แน่นอน เพื่อให้ผู้ที่เกี่ยวข้องในการตกลงสามารถรับรู้ผลลัพธ์ที่คาดหวังเมื่อคอนแทรคได้รับการประมวลผล
ลองคิดดูว่าสมาร์ทคอนแทรคเหมือนโปรแกรมซอฟต์แวร์บนบล็อกเชนที่ทำงานอัตโนมัติเมื่อตรงตามเงื่อนไขที่กำหนดไว้ล่วงหน้า
เงื่อนไขที่กำหนดไว้ล่วงหน้าเหล่านี้ ถูกเขียนลงใน โค้ดบรรทัด เสมือนว่าเป็น “เงื่อนไขข้อตกลง” ในสัญญาทั่วไป
ตอนนี้ที่คุณรู้ว่าสมาร์ทคอนแทรคคืออะไรแล้ว มาทำความรู้จักกับเหตุผลที่ทำให้ Ethereum เป็นแพลตฟอร์มสมาร์ทคอนแทรค
EVM คืออะไร?

ไม่ใช่เพลงอิเล็กทรอนิกส์แบบใหม่หรอกนะ
ถ้าสมาร์ทคอนแทรคคือคำสั่งที่เขียนเป็นโค้ด, มันคือ Ethereum Virtual Machine (EVM) ที่ทำการประมวลผลคำสั่งเหล่านั้นบนบล็อกเชน Ethereum
“เครื่องเสมือน” คือซอฟต์แวร์ที่ทำหน้าที่เหมือนคอมพิวเตอร์จริงที่สามารถรันโปรแกรมและปรับใช้แอปได้
มันเป็นโปรแกรมซอฟต์แวร์บนคอมพิวเตอร์จริงที่ทำงานเหมือนคอมพิวเตอร์แยกต่างหากภายในคอมพิวเตอร์หลัก
ทำไมถึงต้องการ “คอมพิวเตอร์แยกต่างหาก” เพื่อประมวลผลสมาร์ทคอนแทรค (ซึ่งก็แค่โปรแกรมคอมพิวเตอร์)?
เพราะว่าไม่ใช่ทุกโหนดของ Ethereum (ที่ก็คือคอมพิวเตอร์) ส่วนใช้ฮาร์ดแวร์ ระบบปฏิบัติการ (OS) และการตั้งค่าอื่นๆ เดียวกัน, คุณจำเป็นต้องมีวิธี “แยก” สิ่งเหล่านี้ออก เพื่อให้โค้ดของสมาร์ทคอนแทรคทำงานได้โดยไม่ต้องจัดการกับการตั้งค่าคอมพิวเตอร์ที่หลากหลายกับความต้องการเฉพาะของแต่ละประเภทคอมพิวเตอร์
ไม่เช่นนั้น คุณต้องเขียนสมาร์ทคอนแทรคในเวอร์ชันที่ต่างกันสำหรับการตั้งค่าคอมพิวเตอร์แต่ละประเภท! 👎
สมาร์ทคอนแทรคไม่อยากเจอปัญหากวนใจแบบนี้! มันต้องการเป็นอิสระจากอุปกรณ์และระบบปฏิบัติการ
นี่คือที่ที่ EVM เข้ามาเปลี่ยนเกม 💪
มันให้ สภาพแวดล้อมการประมวลผล สำหรับสมาร์ทคอนแทรค หมายความว่าสมาร์ทคอนแทรคสามารถประมวลผล (“รัน”) ใน สภาพแวดล้อมใดก็ได้ (“คอมพิวเตอร์หรือระบบปฏิบัติการใดก็ได้”)
นักพัฒนาสามารถเขียนสมาร์ทคอนแทรคและมั่นใจได้ว่ามันจะทำตามมาตรฐานอุตสาหกรรมซอฟต์แวร์ของ “Write once, run anywhere” (WORA) หรือที่รู้จักกันในชื่อ “Write once, run everywhere” (WORE)
พื้นฐานแล้ว สมาร์ทคอนแทรคจะรันบนคอมพิวเตอร์ใดๆ ที่มี EVM, เจ๋งใช่ไหม?
แต่ไม่ได้มีความเจ๋งแค่นั้นนะ
เพราะว่า EVM มีวัตถุประสงค์เพื่อเป็นเครื่องการคำนวณที่ฝังอยู่ในโหนดเต็มของ Ethereum ทั้งหมด มันจึงมีความสามารถTuring-complete
ในภาษาคอมพิวเตอร์, คำว่า “Turing-complete” หมายความว่า EVM สามารถคำนวณอะไรก็ได้ที่คุณสามารถคิดคำนวณได้
ดังนั้นในทางทฤษฎี, การประยุกต์ใช้คอมพิวเตอร์ใดๆ ก็สามารถเขียนโปรแกรมและรันบนแพลตฟอร์ม Ethereum ได้!
สมาร์ทคอนแทรคถูกเขียนในโค้ดโดยใช้ภาษาการเขียนโปรแกรมระดับสูงเช่น Solidity, Vyper, หรือ Serpent
โค้ดนี้จะถูกคอมไพล์เป็นสิ่งที่เรียกว่า “bytecode” โดย EVM ซึ่งจะถูกนำเข้าสู่บล็อกเชน Ethereum
ขอบคุณ EVM, บล็อกเชนของ Ethereum สามารถทำได้มากกว่าแค่สมาร์ทคอนแทรคและสามารถใช้สร้างแอปพลิเคชันกระจายศูนย์ (dApps) ได้
ในบทเรียนถัดไป เราจะได้เรียนรู้เพิ่มเติมเกี่ยวกับแอปพลิเคชันกระจายศูนย์ (dApps)