﻿---
title: "สัญญาอัจฉริยะ"
description: "เรียนรู้ว่าสัญญาอัจฉริยะคืออะไร โหนดดำเนินการอย่างไร ข้อมูลภายนอกและอำนาจอัปเกรดเข้ามาเกี่ยวข้องตรงไหน และควรตรวจสอบอะไรก่อนโต้ตอบ"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# สัญญาอัจฉริยะ

> เนื้อหานี้มีไว้เพื่อการศึกษาเท่านั้น ไม่ใช่คำแนะนำการลงทุน ธุรกรรมสัญญาอัจฉริยะอาจทำให้เกิดความสูญเสียที่ย้อนคืนไม่ได้

<a id="answer"></a>

## คำตอบโดยตรง

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

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

สัญญาอัจฉริยะสามารถ:

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

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

<a id="mechanism"></a>

## วิธีการทำงาน

การโต้ตอบทั่วไปมีขั้นตอนดังนี้:

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

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

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

ก่อนลงนามในการโต้ตอบ ให้ตรวจสอบ:

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

<a id="example"></a>

## ตัวอย่าง

พิจารณาสัญญาเอสโครว์สำหรับบริการดิจิทัล ผู้ซื้อฝาก 1,000 USDC และสัญญาบันทึกผู้ซื้อ ผู้ขาย จำนวน และเงื่อนไขชำระราคา หากผู้ซื้ออนุมัติการส่งมอบ สัญญาจะปล่อยเงินให้ผู้ขาย หากไม่เป็นไปตามเงื่อนไขภายใน 24 ชั่วโมง เส้นทางคืนเงินที่ตั้งโปรแกรมไว้จะพร้อมใช้งาน

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

<a id="risks"></a>

## ความเสี่ยงและการควบคุม

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

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

<a id="misconceptions"></a>

## ความเข้าใจผิดที่พบบ่อย

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

<a id="related"></a>

## หัวข้อที่เกี่ยวข้อง

- [Ethereum](/th/crypto/ethereum/)
- [เครื่องเสมือน Ethereum](/th/crypto/evm/)
- [การตรวจสอบสัญญา](/th/crypto/contract-audit/)
- [ออราเคิล](/th/crypto/oracle/)
- [สัญญาพร็อกซี](/th/crypto/proxy-contract/)

<a id="sources"></a>

## แหล่งที่มา

- [ภาพรวมเทคโนโลยีบล็อกเชน](https://doi.org/10.6028/NIST.IR.8202) - NIST (เข้าถึง: 2026-08-21)
- [บทนำเกี่ยวกับสัญญาอัจฉริยะ](https://ethereum.org/developers/docs/smart-contracts/) - Ethereum.org (เข้าถึง: 2026-08-21)
- [ข้อพิจารณาด้านความปลอดภัย](https://docs.soliditylang.org/en/latest/security-considerations.html) - Solidity documentation (เข้าถึง: 2026-08-21)

Source: https://wiki.fcontext.com/th/crypto/smart-contract/index.mdx
