การสร้างสัญญาอัจฉริยะ (Smart Contract) | EP.2— รู้จักกับ Smart Contract

KongRuksiam Studio
2 min readFeb 29, 2024

--

Smart Contract หรือ สัญญาอัจฉริยะ เป็นโปรแกรมคอมพิวเตอร์ที่ทำงานใน Ethereum Blockchain โดยจะเก็บเงื่อนไขหรือข้อตกลงของสัญญาต่าง ๆ ไว้ในรูปแบบ Code คอมพิวเตอร์ ซึ่งจะทำงานอัตโนมัติทันทีที่เกิดเหตุการณ์ตามเงื่อนไขในสัญญา โดยไม่ต้องมีคนกลาง เช่น ธนาคาร รัฐบาล เป็นต้น

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

คุณสมบัติของ Smart Contract

  • เป็นการเก็บ Source Code ไว้ในแต่ละ Block ที่อยู่ใน Blockchain
  • รันโค้ดหรือคำสั่งที่เก็บภายใน Block ได้
  • โค้ดที่ถูกเก็บใน Block ไม่สามารถแก้ไขได้จึงเรียกว่า สัญญาอัจฉริยะ
  • มีกระบวนการตรวจสอบหรือ Mining Block ได้
  • ใช้ภาษา Solidity ในการสร้าง Smart Contract

จุดเด่นของ Smart Contract

  • ความปลอดภัย (Security) เนื่องจาก Smart Contract ที่ถูกพัฒนาโดยใช้เทคโนโลยี Blockchain นั้นจะถูกกระจายไปยังสมาชิกอื่น ๆ ที่อยู่ในเครือข่าย (Node) จึงทำให้มั่นใจได้ว่า Smart Contract ดังกล่าวจะไม่สูญหายหรือถูกเปลี่ยนแปลงเงื่อนไขการทำงานโดยไม่ได้รับอนุญาต
  • ความเป็นอัตโนมัติ (Automation) Smart Contract จะดำเนินการตามข้อตกลงโดยอัตโนมัติทันทีเมื่อเกิดเหตุการณ์ ตามเงื่อนไขในสัญญา ซึ่งได้มีการระบุไว้ล่วงหน้าแล้ว โดยไม่ต้อง มีคนกลางมาเกี่ยวข้อง เช่น การทำสัญญาพินัยกรรม เป็นต้น
  • ความเป็นมาตรฐาน (Standardization) การนำ Smart Contract มาใช้งานในระบบใด ๆ นั้น หมายความว่าระบบนั้นจะต้องทำงานภายใต้เงื่อนไข หรือข้อตกลงต่างที่เป็นมาตรฐานเดียวกันทั้งระบบ ตามที่ได้กำหนดไว้ใน Smart Contract

จุดด้อยของ Smart Contract

  • ความผิดพลาดที่เกิดจากมนุษย์ (Human Error) เนื่องจากการสร้าง Smart Contract คือ การเขียนโปรแกรม หากมีการทดสอบไม่เพียงพอ Smart Contract ที่สร้างขึ้นก็สามารถทำงานผิดพลาดได้ และอาจส่งผลกระทบในวงกว้าง
  • ไม่สามารถแก้ไขย้อนหลังได้ (Immutable) หลังจากที่สร้าง Smart Contract แล้วจะไม่สามารถหรือปรับปรุงโค้ดหรือโปรแกรมดังกล่าวได้ นั่นหมายถึงโปรแกรมที่พัฒนาขึ้นและสร้างเป็น Smart Contract จะมีแค่เวอร์ชั่นเดียว

Ethereum Virtual Machine (EVM)

จากคุณสมบัติของ Smart Contract ที่สามารถรันโค้ดหรือคำสั่งที่เก็บภายใน Block ได้ “อะไรทำให้โค้ดรันใน Blockchain ได้”

ใน Ethereum Blockchain จะมีส่วนที่เรียกว่า Ethereum Virtual Machine (EVM)สำหรับใช้รันโปรแกรมใน Blockchain ซึ่งได้แนวคิดมาจากภาษา Java

แนวคิดของภาษา Java

ภาษา Java มีแนวคิด คือจะมีการเปลี่ยนคำสั่งที่ถูกเขียนทั้งหมดนั้น แปลงเป็น Java Byte Code เมื่อถึงเวลาที่ต้องทำงานจริงในคอมพิวเตอร์ Java Byte Code จะถูกนำไปคอมไพล์อีกครั้งให้เป็นภาษาเครื่องเฉพาะอุปกรณ์ชนิดนั้นๆ โดยการคอมไพล์ในครั้งนี้จะใช้สิ่งที่เรียกว่า Java Virtual Machine (JVM) เพื่อให้โปรแกรมที่ถูกพัฒนาด้วยภาษา Java นั้นสามารถรองรับการทำงานได้ใน Platform นั้นๆได้

ใน Ethereum อยากให้มีโปรแกรมที่สามารถทำงานและรันใน Blockchain Network ได้ (Smart Contract) จึงได้คิดค้น Ethereum Virtual Machine (EVM) ขึ้นมา โดยอาศัยแนวคิดของ ภาษา Java โดยใช้ Java Virtual Machine (JVM) นั่นเอง

เนื้อหาที่เกี่ยวข้อง

ช่องทางการสนับสนุน
🎓 คอร์ส Blockchain & Smart Contract สำหรับผู้เริ่มต้น
🛒 ซื้อของผ่าน Shopee

🌎 ติดตามข่าวสารเพิ่มเติมได้ที่
Facebook | YouTube | TikTok

--

--

KongRuksiam Studio

🚀 เรียนรู้การเขียนโปรแกรมนอกห้องเรียน